Notes for users of Cyrillic languages

In order to type Russian (and similarly for other Cyrillic languages) text, you have several options:

If your X server uses the xkb extension, and is instructed to switch between the Latin and Russian keyboard modes, you need not do anything special. Just switch your keyboard to the Russian mode, and go ahead. All the software needed for this is included in modern Linux distributions, and the xkb extension is enabled by default in XF86Config. With the xkb extension, keysyms are 2-byte, and Russian letters are at 0x6??. The keyboard is configured by setxkbmap. When X starts, it issues this command with the system-wide Xkbmap file (usually living in /etc/X11/xinit), if it exists; and then with the user's ~/.Xkbmap, if it exists. A typical ~/.Xkbmap may look like

    ru basic grp:shift_toggle

This means that the keyboard mode is toggled by l-shift r-shift. Other popular choices are control shift or control alternate, see /usr/X11R6/lib/X11/xkb/ for more details. This is the preferred keyboard setup for modern Linux systems, if you plan to use Russian often.

In older Linux systems, the xkb extension is often disabled. Keysyms are 1-byte, and are configured by xmodmap. When X starts, it issues this command with the system-wide Xmodmap (usually living in /etc/X11/xinit), if it exists; and then with the user's ~/.Xmodmap, if it exists. You can configure the mode toggling key combination, and use a 1-byte Russian encoding (such as koi8-r) in the Russian mode. It is easier to download the package xruskb, and just run

    xrus jcuken-koi8

at the beginning of your X session. This sets the layout jcuken (see below) and the encoding koi8-r for your keyboard in the Russian mode. If you use such keyboard setup, you should select Options → international keyboard → russian → koi8-r.

It is also possible to use the Windows cp1251 encoding instead of koi8-r, though this is rarely done in UNIX. If you do use xrus jcuken-cp1251, select cp1251 instead of koi8-r.

All the methods described above require some special actions to “russify” the keyboard. This is not difficult, see the Cyrillic-HOWTO or, better, its updated version

http://www.inp.nsk.su/~baldin/Cyrillic-HOWTO-russian/Cyrillic-HOWTO-russian.html

Also, all of the above methods globally affect all X applications: text editors (emacs, nedit, kedit...), xterms, TeXmacs etc.

If you need to type Russian only once, or very rarely, a proper keyboard setup may be more trouble than it's worth. For the benefit of such occasional users, TeXmacs has methods of Russian input which require no preliminary work. Naturally, such methods affect only TeXmacs, and no other application.

The simplest way to type some Russian on the standard US-style keyboard with no software setup is to select EditPreferencesKeyboardCyrillic input methodtranslit. Then, typing a Latin letter will produce “the most similar” Russian one. In order to get some Russian letters, you have to type 2- or 3-letter combinations:

Shorthand for Shorthand(s) for
A-" e ij A-" E IJ
y o ij Y o Y O IJ
z h æ Z h Z H Æ
j tab æ J tab Æ
c h œ C h C H Œ
s h ø S h S H Ø
s c h ù S c h S C H Ù
e tab ý E tab Ý
y u þ Y u Y U Þ
y a ß Y a Y A SS

Table 1. Typing Cyrillic text on a Roman keyboard.

If you want to get, e.g., “ñõ”, and not “ø”, you have to type s / h. Of course, the choice of “optimal” mapping of Latin letters to Russian ones in not unique. You can investigate the mapping supplied with TeXmacs and, if you don't like something, override it in your ~/.TeXmacs/progs/my-init-texmacs.scm.

If you select jcuken instead of translit, you get the “official” Russian typewriter layout. It is so called because the keys “qwerty” produce “éöóêåí”. This input method is most useful when you have a Russian-made keyboard, which has additional Russian letters written on the key caps in red, in the jcuken layout (a similar effect can be achieved by attaching transparent stickers with red Russian letters to caps of a US-style keyboard). It is also useful if you are an experienced Russian typist, and your fingers remember this layout.

Those who have no Russian letters indicated at the key caps often prefer the yawerty layout, where the keys “qwerty” produce “ßâåðòû”. Each Latin letter is mapped into a “similar” Russian one; some additional Russian letters are produced by shift-digits. TeXmacs comes with a slightly modified yawerty layout, because it does not redefine the keys $, £, \, which are important for TeXmacs, are not redefined. The corresponding Russian letters are produced by some shift-digit combinations instead.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".