Some characters take up two cells and a terminal though, double wide. And some characters will take up one cell. If you want to do any kind of formating, say to draw a line or panel around it, you need to know exactly how many cells a piece of text will take up. You might have a function which em takes a character and returns either one or two. That's what m rich does. But am some characters you can't know, because they will render differently on different terminals. Are rendered differently on e term, and in windows m a and linnox. It gets even more complicated when you get multiple characters, so multiple wat the multiple code points in character