SMALL LINUX CYRILLIC HOW-TO

For some time now, I've been struggling to get cyrillic support under Linux. I thought it was end time to summarize what I have learned in one page.

I use Red Hat 5.2, and I don't guarantee that these instructions are valid for other Linux distributions.

A lot of work has been done on the NET. Stanislav Tzolovski's page is a good source of information. You can download some of his files from this page too (only thos that I have tried):
 

From Stanislav Tzolovski:

  • Installation (I have tested it, and it works.)
  • The X Windowing System (I have tested it, and it works )
  • Netscape

  •  

     
     
     

    My notes:

  • KDE
  • StarOffice
  • Fonts
  • AbiWord
  • LaTeX
  • TODO

  •  

     
     
     
     

    You should also take a look at www.freetype.org. Based on their work a True-Type font server was developed. The latter allows you to use directly the True-Type fonts from MS Windows. If you want to increase the amount of cyrillic fonts you could use the True Type Font to Post Script type1 converter from http://www.netspace.net.au/~mheath/ttf2pt1/.
     

    More information can be found at :

    http://nagual.pp.ru/~ache/koi8.html (Devoted primarily to KOI8-R)
    http://www.dtcc.edu/~berlin/fonts.html (Fonts resource)
    http://ftp.kiae.su/pub/ (Russian ftp archive with a search engine)
          You can take a look at :
          http://ftp.kiae.su/pub/cyrillic/
    http://people.bulgaria.com/lug-bg/ (Bulgarian Linux User Group)

    http://www.math.bas.bg/~nkirov/tex.html (Bulgarian LaTeX for EmTeX (DOS and Windows))



     

                                         & nbsp;         Cyrillic (cp1251)

    To setup the Cyrillic stuff, one should do the following things:

    I. Installation

       1.Download the package - cp-1251 and koi-8 (482 KB)
       2.Unzip and untar the package:
         gzcat cp1251+koi8.tar.gz | tar xvf -
         or if you do not have gzcat:
         gunzip cp1251+koi8.tar.gz
         tar -xvf cp1251+koi8.tar
         Directory xcyr will be automatically created.
       3.Set up file permissions
         cd xcyr
         chmod go+rx .../xcyr/
         chmod go+r *



    II. The X Window system

       1.Run in xcyr directory:
         xset fp+ `pwd`
       2.Test fonts by doing
         xlsfonts -fn "*cyr*"
         or
         xterm -font cyr &
         And in the new xterm window type:
         more Bulgarian.alphabet
       3.If fonts look OK, you can add the line
         xset fp+ [path]/xcyr
         to your ..xinitrc file, so that the cyrillic fonts will be automatically loaded every time you start X
         Windows.
       4.The switching between the different input translations is set up by the xmodmap program. You should run the
         command:
              for X Version 11 Release 5:
              xmodmap CapsLockCyr.xmm
              and then use the key CapsLock to change layouts us/bg;
              for X Version 11 Release 6.3:
              xkbcomp bg.xkb -o $DISPLAY
              and then press the keys Ctrl + Alt + Space to change the layouts us/bg.



    IV. Netscape Navigator

    - Version 3.0 select Options.GeneralPreference.Fonts

    - Version 4.0 or later select Edit.Preferences.Fonts

    In the new window:

       1.Set the Encoding: Western (iso-8859-1)
       2.Set the Proportional Font: Times(Adobecyr)
       3.Set the Fixed Font: Courier(Adobecyr)




    I. KDE
      KDE versions 1.1 and 1.1.1 has a built-in multi-language support. The name of the application is "International keyboard". and can be found in the sub-menu "system". After you start it, add a new keyboard layout "bulgarian charset cp1251". It is based on the above mentioned package cp-1251 and koi-8. The supplied layout is a "PHOENETIC" layout. Unfortunately I have a Danish keyboard and I cannot make a BDS layout. The file to be changed resided in /opt/kde/share/apps/kikbd. The name of the file is bg.kimap. If someone makes such a layout, please send it to me, to include it in this page.


    II. Star Office 5.1

        NOTE : You must first install the Cyrillic Type 1 fonts in your X-Windows and
               then set them up in Star Office.

    In case you have cyrillic fonts :

        1. Start "SPAdmin" (/usr/local/Office51/bin/spadmin).

        2. Press "Add fonts"

        3. Press "Initialize Font Paths".
           A list with the currently available font paths
           (with fonts.dir inside it) will appear. In the text box
           specify the screen number (usually 0.0)

        4. Select the cyrillic fonts.

    In case you don't have cyrillic fonts, here are some fonts you can use for the purpose - Helvdl (Helvetica like), Journal, Journal - serif . To install them

        1. Download cyr_fonts00.tar.gz,
           cyr_fonts01.tar.gz, cyr_fonts02.tar.gz,
           cyr_fonts03.tar.gz, cyr_fonts04.tar.gz ) .
        Put them in one directory.

        These files are parts of one archive, so you have to
        download all of them. I have broken them into parts
        of approximately 220 KB each. They contain pfb, pfa, and t1a files.

        2. In theory it is a StarOffice utility producing
           the metrics files. In case they are wrong, there is a mismatch
           between what you see on the screen and what is printed.
           You can get the correct ones from here. This file must be downloaded
           in the same directory as the files from item 1.

        3. Unzip them
        > gunzip *
        > tar -x -v -M -f cyr_fonts00.tar -f cyr_fonts01.tar -f cyr_fonts02.tar -f
          cyr_fonts03.tar -f  cyr_fonts04.tar

        If you have downloaded the metrics file :
        > tar -xvf afm.tar.gz

        A new directory "fromttf1" will appear.

        3. Set the proper read/write rights.
           To enable the X Server to view them add the path to the
           list of the directories in you "/etc/X11/XF86Config" file.
        FontPath    "/the_directory/fromttf1"

        4. Restart your XWindows system.
     

    Here is a sample result from StarOffice in post script.



    III AbiWord ( http://www.abisource.com or  www.gnome.org)

        For more information about fonts in AbiWord take a look at:
        http://www.abisource.com/dev_unixfonts.phtml

        By default AbiSuite resides in :
        /usr/local/AbiSuite/

        To make it
        1. Download the fonts, described in the section Start Ofiice.
        2. Download the fonts.dir file from here (fonts.dir)
        3. Install them in your X windows.
        4. If your download directory is /download/ then execute :
           > cd /usr/local/AbiSuite/fonts
           > cp fonts.dir fonts.dir.orig
           > cp /download/fromttf1/* .
           > cp /download/fonts.dir .
        5. Run AbiWord. You should be able to see the fonts and use them.

        6. In case AbiWord complains about missing fonts, recover the old file.

     NOTE: The "fonts.dir" file is for version 0.7. If your version is different,
           you should edit the original fonts.dir file, by adding the fonts.
     



    IV. LaTeX

      DISCLAIMER : I have tried this only on a limited amount of computers.
                   They all run RedHat 5.2. I am not a LaTeX expert.

        This package allows you to type in cyrllic, and create the LaTeX
        documents. The supported encoding is cp1251. You can modify the
        encoding table yourself, since it is in an easy to read format.

        1. Download new cyrillic fonts lhfnt.tar.gz(450 KB)

        2. Download bulgarian support to7bit-v0.1-i386.tar.gz(50KB).
           Download the bulgarian hyphenation table (bghyph.tex)

        3. Become superuser.

        4. Gunzip and untar them
        > gunzip lhfnt.tar.gz
        > tar -xvf lhfnt.tar
        > gunzip to7bit-v0.1-i386.tar.gz
        > tar -xvf to7bit-v0.1-i386.tar.gz
        Let the name of your download directory be "/download/".
        Two subdirectories appear :
        /download/lh
        /download/to7bit-v0.1

        5. Install the LH package
          > cd lh
          > ../ins-lh.sh
          > cd /usr/bin
          > cp mktexmf mktexmf.orig
          > patch < /download/lh/mktexmf.dif
          > cd /usr/share/texmf/web2c/
          > cp mktexnam mktexnam.orig
          > patch < /download/lh/mktexnam.dif

     Up to here you have almost installed the cyrillic
    support. At least the fonts.

        6. Copy the language definition files to the Babel directory :
           > cp /download/to7bit-v0.1/bulgarian* /usr/share/texmf/tex/generic/babel/
           > cp /download/bghyph.tex  /usr/share/texmf/tex/generic/hyphen/

        7. Edit the file :
           "/usr/share/texmf/tex/generic/babel/babel.sty"
           by adding after the british and before the catalan languages the following line :
           \DeclareOption{bulgarian}{\input{bulgarianb.ldf}}
     

        8. In "/usr/share/texmf/tex/generic/config/language.dat"

           Inser the line (line # 40)
           bulgarian bghyph.tex

           remove the comment in front of
           "russian ruhyph.tex"
           This is approximately line number 54 from
           the beginning of the file.

        9. Run "texconfig". It should be in the path.
           This is a utility with a nice user interface.
           Select the following two items :
         9.1 renew the hyphenation table.
         9.2 rebuild the ls-R database.
           Baically you only have to press <ENTER>.

        10. The description of the fonts is there.
            However when you compile cyrillic documents some
            of the fonts must be created by mktexmf, and usually you,
            as a user don't have the permission to create teh necessary files.
            There are 2 solutions:

            In the beginning compile your documents as "root"
            until you have created most of the fonts or just
            allow the users to create them by :

            chmod a+w -R /usr/share/texmf
     

        You can test your latex by creating this document. The source code and the directions are included in to7bit-v0.1-i386.tar.gz.



    TODO
    1) As soon as someone confirms that the LaTeX installation works, I will make a script that makes it automatic.
    2) Create more Type1 fonts to be used by such programs like WordPerfect.

    Comments send to sn@it.dtu.dk