Notes on the Cp_20866.nls resource (for programmers)

Microsoft supplies the \Windows\System\Cp_20866.nls file with some of their products such as Internet Explorer. The NLS in this file is KOI8-R, so current Microsoft CodePage number for KOI8-R apparently is 20866. IBM has officially registered KOI8-R character set as Code Page 878, but at the moment of adding KOI8-R support Microsoft was unaware about CP878 registration by IBM and uses its own code page number 20866 to represent KOI8-R encoding. There must be some connection between CodePage, UNICODE decode table number from gdi.exe, and the Locale ID but I don't know it.

I chose 00000819 as Locale ID for KOI8-R keyboard by guessing how other languages' Locale IDs are made up.

Also, in place of RC_DATA238 (Central European UNICODE translation) I had to substitute a KOI8-R UNICODE translation table because in Windows 95, any translation table is rigidly mapped to a particular keyboard switcher.

If you know the proper Locale ID and gdi.exeRC_DATA number for Cp_20866.nls or any other way to use this resource, please hint me. It seems that there is a UNICODE translation table in it, but Win95 uses gdi.exe for this purpose instead. Maybe this resource is somehow useful only under Windows NT.

See also

How to properly set up Win95 for KOI8-R, How to set up native Win95 keyboard driver for KOI8-R.