[XeTeX] Hyphenation around „ß“
Ulrike Fischer
news3 at nililand.de
Mon Jan 27 10:47:58 CET 2014
Am Mon, 13 Jan 2014 08:24:30 +0000 schrieb Jonathan Kew:
>> So is it relly true, that XeTeX is not able to apply the TeX hyphenation
>> mechnanism correctly to some unicode characters like „ß“?
>> I can't believe it.
> That seems unlikely. It's almost certainly being affected by something
> that latex or babel or whatever is setting up.
The problem seems to be the \lccode and \uccode of ß:
During format generation of xelatex (just before the pattern are
read) they are are set to 255 and 223 by "\reserved at a{"C0}{"DF}".
But latter on xelatex.ini resets them both to 223 and this disturbs
the hyphenation:
\documentclass{article}
\textwidth=1in
\usepackage{fontspec}
\usepackage[german]{babel}
\begin{document}
\showthe\lccode`\ß
\showthe\uccode`\ß
\noindent wußte geißeln wußte geißeln wußte geißeln
wußte geißeln wußte geißeln wußte geißeln
wußte geißeln wußte geißeln wußte geißeln
wußte geißeln wußte geißeln wußte geißeln
\par
%Setting values active at format generation works:
\lccode`\ß=255
\uccode`\ß=223
\noindent wußte geißeln wußte geißeln wußte geißeln
wußte geißeln wußte geißeln wußte geißeln
wußte geißeln wußte geißeln wußte geißeln
wußte geißeln wußte geißeln wußte geißeln
\par
\end{document}
I don't know if it is an expected behaviour or a bug of xetex that
the lccode/uccode matters. But you get the same behaviour with
lualatex only the "other way round": As the pattern are read only at
the begin of document the first paragraph in my example works fine,
but the second with the changed lccode/uccode fails.
So this probably means that the code at the end of xelatex.ini which
resets catcodes and lccode/uccodes etc should move to the begin of
hyphen.cfg so that the correct codes are active when the patterns
are read.
--
Ulrike Fischer
http://www.troubleshooting-tex.de/
More information about the XeTeX
mailing list