From ConTeXt wiki
Revision as of 23:15, 11 August 2005 by Mojca Miklavec (talk | contribs) (added Category "Fonts", "International")

< Fonts | Encodings and Regimes >

Russian (Cyrillic) fonts and UTF

It is now possible (from ConTeXt version 2005.01.26 or 2005-01-31) to type Russian (cyrillic) letters directly in your .tex file using UTF-8 encoding. I have only tested this on TeXLive 2004, but I guess it would work on any distribution as long as you have the cm-super fonts installed (On TeXLive you had to generate the tfm files needed using the afm2tfm application (see furhter down on this page for a small python script that enables you to create all tfm files), or by using the fonts in LaTeX). Here is a minimal(?) working file.


\definetypeface [russian]
  [rm] [serif] [computer-modern] [default] [encoding=t2a]

Мама и Папа % Some Russian characters

Russian (Cyrillic) fonts and Windows 1251

The following example should work if you save your file in the Windows 1251 encoding:

\definetypeface [russian]
  [rm] [serif] [computer-modern] [default] [encoding=t2a]

\definetypeface [swedish]
  [rm] [serif] [latin-modern] [default] [encoding=texnansi]

Some russian text:
Там можно встретить медведей.

Some swedish text:
{\switchtobodyfont[swedish]D\"ar kan man m\"ota bj\"ornar.}


At least it works here with TeXLive 2004.

Russian (Cyrillic) fonts and koi8-r (koi8r)

This is not done yet. Will be updated when it works.

The python script

Ok, I am not a programmer, so this could probably be done in a cleaner way. However, it works for me.

import os, string

# Set these paths to what they should be in your case

f=open(mapfile, 'r')

# First read a line that is a comment.
print a

# Loop over the rest of the lines
for currentline in rest:
  splitspace=string.split(currentline," ")
  commandtorun="afm2tfm " + afmname + ".afm -T " + encfile + " " + tfmoutdir + tfmname + ".tfm"
  print "Running: " + commandtorun