RoboForm Fills Out Web Forms For You
Advertise on SovInformBureau






X Windows




for any OS






Russify X Windows

Good For

X Windows version X11R6 on most UNIX platforms. We also have an old package for X11R5 but we really really recommend upgrade to X11R6.

NOTE: Official name for X Windows is X Window System or X Version 11 or X. We also use the name X Windows because this name is the most widely used.

Installing KOI8-R Fonts

Here we describe Xrus package that comes both in source and binary form. It contains a corrected version of both proportional and fixed KOI8-R fonts. These fonts do have letter "Yo" () in the correct position..

Xrus KOI8-R Fonts (in BDF format)

(1a) Download 370 Kb file xrus-src.tar.gz to your home directory.
Gunzip and untar Xrus: gunzip xrus-src.tar.gz ; tar xvf xrus-src.tar

(1b) If you do not have gunzip, get it right here and compile it.
Or else you can download 540 Kb compressed file xrus-src.tar.Z to your home directory.
Uncompress and untar Xrus: uncompress xrus-src.tar.Z ; tar xvf xrus-src.tar

(2) Directory xrus will be automatically created.
Go to this directory and run make from there.

(3) In xrus directory run xset fp+ `pwd`
It is important to run this command on a computer that has your X server (that is X server responsible for displaying things on your terminal) running on it. Otherwise it will not work. See details in Troubleshooting.

(4) Test fonts by doing xlsfonts -fn "*-koi8-r" and/or xfd -fn koi9x15.

(5) If fonts look OK, you can add line xset fp+ ~/xrus to your .xinitrc file, so that cyrillic fonts are automatically loaded every time you start X.

Xrus CP-1251 Fonts (in BDF format)

Yes, now you can have CP-1251 fonts on your X Window system.

We had to put them under the iso8859-5 because buggy Netscape would not allow these fonts to work under official CP-1251 name.

(1a) Download file xrus-1251.tar.gz to your home directory.
Ungzip and untar it: gunzip xrus-1251.tar.gz ; tar xvf xrus-1251.tar

(2) Directory xrus-1251 is automatically created.
Go to this directory and run mkfontdir from there.

(3) In xrus-1251 directory run xset fp+ `pwd`

(4) Test fonts by doing xlsfonts -fn "*-iso8859-5" and/or xfd -fn 1251-9x15.

(5) If fonts look OK, you can add line xset fp+ ~/xrus-1251 to your .xinitrc file, so that cyrillic fonts are automatically loaded every time you start X.

Font Troubleshooting

So you tried hard and it did not work. It happens.

If "xset fp+ `pwd`" complains about something, then fonts are not installed and there is a problem that you need to fix.

Most likely, you are trying to install fonts on machine on which you do not own the console and therefore the X server. Say, you are at console of machine adroit, and you login to machine elan using rlogin. In this case you need to run "xset fp+" on adroit, not on elan!

X terminals and X emulators. Many people ask why they cannot install these fonts on X terminals. The answer is: because they try to install it not on X terminal itself, but rather on computer that they get connected to by means of X terminal.

Going into detail, X terminal is a diskless computer whose sole function is to be an X server that you use. Since you should say "xset fp+ ..." *only to your X server* and since operating system of X terminal is usually invisible to the user, it may be difficult or impossible to add cyrillic fonts to X terminal.

Alexander Belopolsky offers his Advice on Xterm russification here on SovInformBureau.
You can use his advice or read manual for your specific X terminal and find out how fonts are added to it, and do as it says (yeah, guys and gals, read manuals, it helps more often than people think).

More advice on X terminals from Pavel Potylitsyn at
1. Nado ispolxzovatx spechialxnuju programmu dlja preobrazovanija fontov iz BDF formata. V mojom sluchae eto byla "ncdbdftosnf" vmesto standartnoj "bdftosnf".
2. Naskolxko ja znaju X-Terminal-y ispolxzujut tftp dlja izvlechenija fontov s servera. Poetomu nado laskovo poprositx sistemnogo administratora otkrytx directoriju s russkimi fontami dlja tftp.

PCs with X emulation is yet another kind of X terminal. I used to have one at work. Again, saying "xset fp+ ..." will not work, since PCs (the ones running MSDOS) do not have shell and they do not have xset and all other UNIX stuff. But Xconfig has a Fonts section that you can use to add new fonts. Also eXceed (X emulator often used these days) can convert *.bdf files to its own font format.

More wisdom on russifying Exceed from Leonid Reyzin :

1) Using the steps described in "Installing KOI8-R Fonts" here, get all the .bdf files in some directory in your PC (I did it by downloading xrus-bin.tar.gz and unzipping and untarring it -- WinZip shareware program is excellent for that; or you can do it on Unix and ftp the .bdf files over to the PC.) 2) Create a new directory named "koi8" under c:\program files\exceed.nt\font 3) Run xconfig (it is one of the executables in the eXceed directory). You should get a window with a number of icons; double-click on Font; you will get another window with buttons in it; 4) Click on "Font Database"; in the window that pops-up, click on "Add" In the dialogue window that pops-up, enter "c:\program files\exceed.nt\font\koi8" for the directory and "koi8" for the fdb file. Click "ok" and "ok" again. You should be back to a window that you got at the end of step 3. 5) Click "Compile Fonts." For the input directory, select the one where you put all the .bdf files in Step 1. You should see all the .bdf files listed. Click "Select All." For the output directory, select "c:\program files\exceed.nt\font\koi8". Click "Compile." This will take a while, but should proceed with no errors or warning. Once it is done, click "Done." You should get a dialogue box saying "Font database file c:\program files\exceed.nt\\koi8.fdb has been updated" (or something similar). Click "Ok" to dismiss the dialogue box; then click "close." You should be back to the window that you got at the end of step 3. 6) To verify that it all worked, click again on "Font Database" and in the window that pops-up double click on the line for which the font database file is "koi8" and the font directory is "c:\program files\exceed.nt\font\koi8" A list of fonts should pop-up, with koi and crox fonts, in particular. If you do not see it, click "ok" to dismiss the list of fonts and click "Rebuild Database" in the font database window. Click "yes" to actually go ahead and rebuild the database. 7) Close all the windows and exit xconfig and eXceed, if it is running. Once you restart eXceed, you should have KOI8. To test, run xterm -fn koi8x13 and see if you can read this word: "" (it should say "privet" in Russian and not some nonsense).

Sun OpenWindows. If your work with SUN OpenWindows, then run:
convertfont -b *.bdf
It converts .BDF X11 fonts to .FB X11/NewS fonts.

bldfamily makes Families.list file (advice by (Dmitrii Manin)).

Universal Keyboard Switcher XrusKb

We recommend everybody to use XrusKb keyboard switcher. Its main advantage is that it provides uniform keyboard switching environment on all platforms and therefore you do not have to infinitely play with cryptic XMM commands trying to make your layout work directly on X.

That is, XrusKb is less dependent on "features" and bugs of your particular X server implementation than a regular *.xmm file, because it is a separate application that translates your keyboard input.

Another big advantage is that CapsLock key is not used for switching language -- it is used (can you believe it!) for locking Caps mode. LeftShift+RightShift switches the language.

And a little disadvantage that cannot stop a real programmer: you need to have make and C compiler to compile the xrus application.

This package was written by Alexander V. Lukaynov (
Vadim Maslov added a letter "Yo" to the layout.

Installation instructions:
(1) Download file xruskb-1.4.2.tar.gz to your home directory.
(2) Ungzip and untar xrus: gunzip xruskb-1.4.2.tar.gz ; tar xvf xruskb-1.4.2.tar
(3) Go to the newly created directory xruskb-1.4.2
(4) Run ./configure
(5) Run make

If configure and compilation have completed without errors, then xruskb is ready for work.
Type xrus yawerty-koi8-xrus.xmm and you can switch between Latin and Cyrillic keyboard by pushing LeftShift+RightShift. Or you can specify another *.xmm file for a different keyboard layout.

Please note that letter "Yo" is available only in yawerty-koi8-xrus.xmm layout.

Regular Keyboard Switcher

If you decided not to use XrusKb for some reason, you can try the old way -- beating your X system into accepting cyrillic XMM file.

Installing *.xmm files from the X fonts distribution:

Once you unzipped the Xrus distribution file into xrus directory, the xrus directory also contains Cyrillic keyboard mappings (*.xmm files).

(1a) If you want your Cyrillic keyboard to have YaWERTbI () layout, run xmodmap ~/xrus/yawerty.koi8.xmm
(1b) If you want your Cyrillic keyboard to have JTsUKENG () layout, run xmodmap ~/xrus/jcuken.koi8.xmm
(1c) When you want to return to the original latin keyboard mapping, run xmodmap ~/xrus/default.xmm

(2) Cyrillic/Latin register is switched by CapsLock key.

(3) If cyrillic keyboard works OK, you can add line xmodmap ~/xrus/yawerty.koi8.xmm to your .xinitrc file, so that cyrillic keyboard is loaded every time you start X.

Adjusting Shell

If you want to use non-X applcation that accept their input via shell, you need to tell shell to let 8-bit characters go thru. Most shells by default do not like characters with codes between 128 and 256.

Use stty pass8 or stty cs8 to make this happen.

Keyboard Troubleshooting

Keyboard mapping in X is not easy, because keycodes are different on different platforms, and even modifiers work slightly differently. So you may have to fix *.xmm files to make them work on a particular platform. You are welcome to send fixes back to me, and they will appear here.

Accelerated X. Please note that *.xmm files in my distribution contain 2 setups: one that works for most X systems, and the other that works for Accelerated X (tested on BSDI 2.1 and Linux). The setup for Accelerated X sits in file yawerty-AccelX.koi8.xmm. I did it for one particular *.xmm file, but you can easily propagate it to other files.

CTRL in Cyrillic mode. Does not work, because of bug in X. To use CTRL modifier, switch back to latin mode by hitting CapsLock.

HPUX 10.20. Use the yawerty-koi8-hpux1020-xrus1.xmm file that was modified by Ryan R Gibby ( to work on HPUX 10.20.

Sources Note

Xrus package was written by A. Vakulenko and/or Cronyx Ltd. Then it was fixed by A. Chernov. After that I fixed several bugs.
Vadim Maslov fixed several bugs/features:
(1) Fixed character bounding boxes for some characters in KOI fixed fonts. For instance, some characters in 9x15 fixed font had BBX of width 10.
(2) Returned old koi* names to KOI-8 fonts. For instance, font in file koi9x15.bdf used to have name koi9x15. Later this fonts was renamed to -cronyx-fixed-medium-r-normal--15-140-75-75-c-90-koi8-r. For some reason, BSDI 2.1 with Accelerated X cannot normally display this font and other fixed KOI fonts when they have long names, but with short names everything is OK. You still can get the font by its long name, it is an alias now.
(3) Made *.xmm keyboard mappings work on BSDI 2.1 with Accelerated X 2.1.
(4) Put the letter "Yo" into the right KOI8-R position both in fonts and in keyboard layouts.

Fonts and Keyboard Switchers for X11R5

If you have X11R5, I would recommend to just upgrade it to X11R6. If it is not possible, use older package xwin-cyr-fonts.tar.gz with installation instructions in xwin-cyr-fonts.README.

Russifying X applications

xterm, emacs, ...
For all applications that use only fixed fonts, type something like this:
xterm -fn koi9x15.

The following fixed fonts are available:

klop:~ xlsfonts -fn "koi*" koi10x16b koi12x24 koi6x13 koi9x15 koi10x20 koi6x10 koi8x13 klop:~ xlsfonts -fn "1251*" 1251-10x16b 1251-12x24 1251-6x13 1251-9x15 1251-10x20 1251-6x10 1251-8x13

To make emacs accept cyrillic characters that you type, execute command (standard-display-european 1).

Valery Alexeev offers a cyrillic mode for emacs here:

Netscape Navigator 3.0
(1) Install Cyrillic fonts and keyboard switchers as described above.

(2) In Netscape Navigator select Options.GeneralPreference.Fonts.

(3a) Set Encoding to Western(iso-8859-1).
For ProportionalFont choose font Times(Cronyx).
For FixedFont choose font Courier(Cronyx).

(3b) Set Encoding to Cyrillic(koi8-r).
For ProportionalFont choose font Times(Cronyx).
For FixedFont choose font Courier(Cronyx).

(3b) Set Encoding to Cyrillic(iso-8859-5).
For ProportionalFont choose font Times(Cronyx).
For FixedFont choose font Courier(Cronyx).

(4) Push OK button.

(5) Select Options.SaveOptions.

Now when browsing both Cyrillic KOI8-R HTML pages and English-only HTML pages, you will see beautiful English and Cyrillic characters.

When you browse KOI8-R Cyrillic pages, default Western encoding setting should be OK, but you also may select Options.DocumentEncoding.Cyrillic(KOI8-R).

When you browse CP-1251 Cyrillic pages, select Options.DocumentEncoding.Cyrillic(ISO 8859-5).

Some HTML pages will set the correct encoding automatically in your browser, if version of the browser is new enough. But if this does not happen, you need to set the correct encoding manually.

Netscape Navigator 2.0
(0) You are still using it? Upgrade to 3.0.
(1) Start Netscape and go to Options.GeneralPreferences.Fonts.
Select Times (Cronyx) as a proportional font and Courier (Cronyx) as a fixed font.
(2) You are done. You do not have to create font aliases that make cyrillic fonts look like iso8859-1 fonts to Netscape, because these aliases are already created in my version of Xrus package.

To make Netscape use KOI8-R fonts for menus, dialogues, bookmarks, mail, news add these lines to your .Xdefaults file.

Printing. It is not possible to make Netscape 2.0 and 3.0 use cyrillic fonts for printing. So solution to this problem is not known yet. Maybe, Netscape will do something in version 4.0.

Netscape Navigator 1.x
Add the following lines to your .Xdefaults file:

Netscape*documentFonts.latin1*registry: koi8r
Netscape*documentFonts.latin1*encoding: *

or change registry and encoding lines in your /usr/X11/lib/X11/app-defaults/Netscape file to (requires root authority):

*documentFonts.latin1*registry: koi8r
*documentFonts.latin1*encoding: *


All converters for UNIX come in C source, so check them out at Converters section.


Most UNIX applications do not readily print cyrillic text. However, using one of the following converters you can do it:
  • a2ps converts plain KOI-8 file to PostScript file that you can print. Read README* files. Compiling and installing it is easy (I improved it). Recommended.
  • rtxt2ps also converts a KOI-8/ALT file to PostScript. This converter uses only fixed font or bold fixed font to produce "moderately" looking output. First you need to compile it, it is written in C. Not recommended.
  • r2tex converts KOI-8 to LaTeX. Then you LaTeX the resulting using russified LaTeX and then print it using russified TeX machinery. Recommended to TeX lovers only.


Miscellaneous cyrillic-enabled applications for UNIX and/or X Windows:
  • ytalk is 8-bit enabled talk application. Download it, ungzip it, read README file and do as it says. Please direct all question about ytalk to Alexei Ermakov.

Copyright © 1993-2003 by Vadim Maslov.   Updated January 20, 2000.