# [NTG-context] Does ConTeXt really support russian language?

Mojca Miklavec mojca.miklavec.lists at gmail.com
Thu Dec 25 13:21:13 CET 2008

On Thu, Dec 25, 2008 at 10:01 AM, Andrey Riabushenko wrote:
> So far I have tried using pdfetex:
>
> Sample 1:
> \enableregime[utf]
> \usemodule[lang-cyr]
>
> \mainlanguage[ru]
>
> \usetypescript[postscript][t2a]
> \setupbodyfont[postscript, 12pt]
>
> This one doesn't work on any of three systems described earlier. Latin
> transliteration instead of Cyrillic letters.

\enableregime[utf-8]
\mainlanguage[ru]
\usetypescript[postscript][t2a]
\setupbodyfont[postscript,12pt]

Just to make it clear:
- you need to forget about trying to make it work on teTeX unless you
are willing to handle *lots* of issues on your own
- you can make most examples work on TeX Live 2008, but you might need
to update ConTeXt
- minimals don't include cm-super fonts, but if you add them yoursef,
they should work
- there might be some patches needed in ConTeXt - very few people use
Cyrillic with ConTeXt, thus it's not too well tested, but this can be
changed within hours or days; if you use minimals, you can update
almost instantly

To make this example work, you need to change the following definitions:

In type-one.tex ([minimals or
/usr/local/texlive/2008/texmf-dist]/tex/context/base/type-one.tex)
change this line:

\starttypescript [postscript] [texnansi,ec,qx,t5,8r,t2a] % add t2a
\definetypeface [postscript] [rm] [serif] [times]     [default]
[encoding=\typescripttwo]
\definetypeface [postscript] [ss] [sans]  [helvetica] [default]
[rscale=.9,encoding=\typescripttwo]
\definetypeface [postscript] [tt] [mono]  [courier]   [default]
[rscale=1.1,encoding=\typescripttwo]
\definetypeface [postscript] [mm] [math]  [times]     [default]
\usemathcollection[default]
\quittypescriptscanning
\stoptypescript

then run "texexec --make en". This will still give you some problems
like this one:

! Font \*postscript7ptrmscrm*:=t2a-qtmr-sc at 7.0pt not loadable: Metric (TFM)

(You may ignore those messages.) Hans/Taco, where's the best place to
fix Small Caps mapping for Cyrillic?

> Sample 2:
>
> \enableregime[utf]
> \mainlanguage[ru]
>
> \usetypescript[antykwa-torunska][t2a]
> \setupbodyfont[antykwa, 12pt]
>
> Works on ConTeXt Minimals, but does not work on TeX Live 2008 and teTeX 3.0.
> Latin transliteration instead of Cyrillic letters.

You may forget teTeX. I'm impressed that it fails on TeX Live 2008. It
works here, but I updated ConTeXt at some point (quite a while ago).
Can you send me the log?

> Sample 3:
> \enableregime[utf]
> \mainlanguage[ru]
> \definetypeface [russian] [rm] [serif] [computer-modern] [default]
> [encoding=t2a]
> \setupbodyfont [russian]
>
> This one doesn't work on any of three systems described earlier. Latin
> transliteration instead of Cyrillic letters.

This needs to be fixed in ConTeXt core.

> In there a solution that will work on every of three distributions?

It can be made to work on minimals and TeX Live 2008, but you need to
keep one thing in mind: if the issues get fixed, you need to update
ConTeXt. From that point of view you can automatically fetch updates
if you are using minimals, while you need to update ConTeXt
semi-manually on TeX Live.

(The problem of LaTeX is that such fixes would not be updated for a
long time. The problem of ConTeXt is that if you need updates, these
updates get into the core rather quickly, but if you want to convince
other people to use your code you need to convince them to update
first.)

Mojca