It is commendable that some programs support KOI8-R<->CP1251 translation automatically, but:
- Such programs are very rare and a lot of interesting Internet software is unaware about the necessary decoding.
- Emulating KOI8-R via CP1251 can't be complete because character repertoires are different. Properly done, this would require UNICODE intermediation.
In this situation, it would be useful to have KOI8-R as the separate Code Page 878 (officially registered by IBM) for Windows until some critical mass of decoding programs is reached.
As a matter of fact, we don't need KOI8-R fonts at all, as .TTF fonts from Microsoft are always in UNICODE, and we only need to make use of them. The only limitation of Win3.11 is that a single .TTF can't contain more than 256 character glyphs. The only thing to do is to add a KOI8-R -> UNICODE translation table as a resource to
\Windows\System\gdi.exe. This resource is a simple array with 256 entries of word size: index is te ANSI code of character, value is the Unicode code.
ID=1000 in American Win3.1x, while PanEuropean
gdi.exe has that resource for some of CP125* code pages, controlled by a
[boot] wincodepage=for Win3.1*. Currently Windows uses this resource to translate from CP1251 to UNICODE.
So, the proper way to handle KOI8-R for Win3.11 is not installing KOI8-R fonts, but running a program which can change ANSI -> UNICODE mapping to KOI8-R and restore the old values by request or a hot key.
If you understand what this stuff means and have an experience in Windows programming and have enough free time and inclination to write such a program, you can become a real hero saving lots of poor souls crying for help. Please contact me in this case.
This material is provided by Walter Kondrashov <Walt@gecko.crec.mipt.ru>, thanks to him.