[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