# /usr/bin/ee does not show cyrillic letters while typing



## cjayho (Apr 17, 2021)

Greetings.

Have bug with console text editor /usr/bin/ee :
opening cyrillic text files OK, but when typing it only shows *~M~~M* and so on. After saving and opening again typed chars are OK.
Changing settings to 8-bit characters: OFF, 16-bit characters: ON changes letters to normal, also repaint screen option in ee menu makes already typed chars OK. But while typing it anyways creates *~M* constructions.
How can I fix that?

Thanks.


----------



## memreflect (Apr 20, 2021)

> ee supports single-byte character code sets (eight-bit clean), or the Chinese Big-5 code set. (Other multi-byte code sets may function, but the reason Big-5 works is that a two-byte character also takes up two columns on the screen.)


Basically that says if a character takes up 1 column on the screen, it must be 1 byte, and if a character takes up 2 columns on the screen, it must be made up of 2 bytes.  This means variable-length character encodings such as UTF-8 aren't guaranteed to work.  For example, ç is 2 bytes in UTF-8, but it only takes up 1 column on the screen, which results in incorrect rendering.  But if I execute `LC_ALL=en_US.ISO8859-15 xterm -e ee`, then ç is rendered properly as I type because it is 1 byte in ISO-8859-15 and takes up 1 column on the screen.

On the other hand, I just tried the character ¿ and that resulted in M being displayed.  M-? is what gets displayed when the screen is redrawn, except the -? is overwritten with text when I continue typing.  However, it does recognize that <191> (character code BF in hexadecimal) was used when I set 8-bit characters: OFF, so that ¿ should have been displayed…  Based on that, I wouldn't use ee(1) for anything other than 7-bit ASCII text.

Out of all of the "normal" console text editors I tried, only editors/mined detected the character encoding for both UTF-8 and ISO-8859-15, regardless of the system locale, and correctly displayed things…in X.  When I tried it in a FreeBSD TTY with my drm-kmod graphics driver loaded, it seems to work well when the locale's character encoding is UTF-8, even for Cyrillic text, but there is a noticeable delay when it initially starts.  Of course, it defaults to ISO-8859-1 if you open up a KOI8-R text file unless the locale's character encoding is KOI8-R already, which means Cyrillic characters are broken in the TTY because the locale's character encoding must be set to UTF-8 for Cyrillic characters to render properly; that's actually true for vi(1) as well, so it's not just editors/mined that has a problem with rendering.  editors/mined works a lot faster in a tmux session in the TTY, but you lose most color support and Cyrillic characters didn't work at all.  Other than that, editors/mined works great, though you might say it has too many options hidden throughout its many menus.

Of course, if you use UTF-8 everywhere, you can use pretty much any editor, but something like editors/nano is reasonably friendly and doesn't have too many features and keybindings to learn.  editors/micro and editors/uemacs both seem to work well too, if you are using a UTF-8 character encoding in your file and your locale's character encoding is UTF-8.

If there's a problem with any of these editors, it is the fact that many of the keybindings aren't displayed on-screen, so you will have a small bit of learning to do, unlike when using an editor such as ee(1).  But at least they can display Cyrillic characters, unlike ee(1)


----------

