[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:

\documentclass{article}
\begin{document}
müäöb %üäö are not printed
\end{document}

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.

\documentclass[12pt,russian]{article}
\usepackage[T2A]{fontenc}
%chars should be made active before babel loads russian.ldf
\catcode`\и=\active \defи{\cyri}
\usepackage{babel}
\begin{document}
\today 
\end{document} 

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


-- 
Ulrike Fischer 
http://www.troubleshooting-tex.de/





More information about the tex-live mailing list