[tex-live] Serious (?) problem with Babel and language attributes

Ulrike Fischer news3 at nililand.de
Tue Jun 3 13:43:29 CEST 2014

Am Tue, 3 Jun 2014 18:09:47 +0900 schrieb Norbert Preining:

> Thanks, I can confirm that the new russianb.ldf works with pdflatex
> as it should be.
> But then .... this is TL2014 (original),
> 	lualatex
> 	xelatex
> on the minimal input file fail badly, no cyrillic output whatsoever...
> Where does this come from?
> To repeat, here is the input:
> \documentclass[12pt,russian]{article}                                           
> \usepackage[T2A]{fontenc}                                                       
> \usepackage{babel}                                                              
> \begin{document}                                                                
> \today                                                                          
> \end{document}    
> which I run with either lualatex or xelatex, in both cases the only 
> output I see in the PDF is
> 	3 2014 .
> Which is not very good a thing ...
> Anyone having idea where *this* bug again comes from?

When unicode engine are used the month names are not defined with
\cyri... but with the actual cyrillic chars: июня.

This chars are not active and so are simply maped to their unicode
positions - and on this positions there is nothing in a T2A-encoded
font and so you don't get nothing. 

With pdflatex you can get the same effect if you use OT1 + non-ascii
chars without inputenc:

müäöb %üäö are not printed

And as with pdflatex the solution is the same: If you really want to
use T2A-encoding with luatex (not a good idea) then you must map и
to a position where the glyph exist in the font.

%chars should be made active before babel loads russian.ldf
\catcode`\и=\active \defи{\cyri}

With lualatex you can "activate" all the char by loading
\usepackage[utf8]{luainputenc}. With xelatex there is imho no
similar package. 

Ulrike Fischer 

More information about the tex-live mailing list