[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