<div dir="ltr">2017-12-03 11:58 GMT+01:00 jfbu <span dir="ltr"><<a href="mailto:jfbu@free.fr" target="_blank">jfbu@free.fr</a>></span>:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;">Thanks Zdeněk!<div><br></div><div>Should I thus conclude from this that polyglossia + French is currently broken ?</div><div>indeed the file gloss-french.ldf uses hardcoded 255 at various locations.</div></div></blockquote><div><br></div><div>Yes, everything with hardcoded 255 is broken since TL 2016. It was long enough available in the pre-release and mentioned in the lists for developers. Please, report it to the maintainer of gloss-french.ldf</div><div><br clear="all"><div><div class="gmail_signature">Zdeněk Wagner<br><a href="http://ttsm.icpf.cas.cz/team/wagner.shtml" target="_blank">http://ttsm.icpf.cas.cz/team/wagner.shtml</a><br><a href="http://icebearsoft.euweb.cz" target="_blank">http://icebearsoft.euweb.cz</a></div></div>
<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;"><div><br></div><div>I am a bit lost though because my test mwe</div><span class="gmail-"><div><br></div><div><div><div>\catcode`@ 11</div><div>\XeTeXinterchartokenstate=1</div><div>\newXeTeXintercharclass\<wbr>french@punctthin </div><div>\XeTeXcharclass `\; \french@punctthin</div><div>     \XeTeXinterchartoks 255 \french@punctthin = {\nobreak\thinspace}%</div><div>\catcode`;\active</div><div>\def;{\discretionary{\char`\;}<wbr>{}{\char`\;}}</div><div>a;b</div><div>\bye</div><div><br></div></div></div></span><div>compiles fine with current XeTeX, but not with TL2015 XeTeX.</div><div><br></div><div>(the @ thing is only to stay close to control sequence names from gloss-french.ldf)</div><div><br></div><div>To clarify, the \def;{\discretionary{\char`\;}<wbr>{}{\char`\;}} is analogous to</div><div>the kind of things Sphinx does in verbatim listings to allow linebreaks,</div><div>but isn't the exact thing.</div><div><br></div><div>Anyway, it does not originate from polyglossia nor</div><div>gloss-french.ldf but is a Sphinx add-on inside code listings.</div><div><br></div><div>If the problem can be solved by a patch at macro level, that would</div><div>be best, because it would allow the CPython internationalization</div><div>team to build their PDF docs without worrying about which XeTeX</div><div>they use, I notice some of their team uses Debian 2013.</div><div><br></div><div>Best</div><div><br></div><div>Jean-François</div><div><div class="gmail-h5"><div><br></div><div><div><div>Le 3 déc. 2017 à 11:01, Zdenek Wagner <<a href="mailto:zdenek.wagner@gmail.com" target="_blank">zdenek.wagner@gmail.com</a>> a écrit :</div><br class="gmail-m_739254902244769442Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><div><div>Hi,<br><br></div>please, notice that the number of character classes was increased from 256 to 4096, so 255 no longer works as a boundary but 4095 must be used. I use the following code that I took from some other package:<br><br>\edef\CSat{\the\catcode`\@} % in order to work in plain XeTeX<br>\catcode`\@=11<br>\ifdefined\e@alloc@<wbr>intercharclass@top<br>  \chardef\CSboundary=\e@alloc@<wbr>intercharclass@top<br>\else<br>  \ifdefined\<wbr>XeTeXinterwordspaceshaping<br>    \chardef\CSboundary=4095 %<br>    \def\newXeTeXintercharclass{%<br>      \e@alloc\XeTeXcharclass\<wbr>chardef<br>              \xe@alloc@intercharclass\m@ne\<wbr>@ucharclass@boundary}<br>  \else<br>    \chardef\CSboundary=255<br>  \fi<br>\fi<br>\catcode`\@=\CSat<br><br></div>Afterwards I use \CSboundary instead of a fixed number. It thus works both with the old and new XeTeX.<br><br><div class="gmail_extra"><br clear="all"><div><div class="gmail-m_739254902244769442gmail_signature">Zdeněk Wagner<br><a href="http://ttsm.icpf.cas.cz/team/wagner.shtml" target="_blank">http://ttsm.icpf.cas.cz/team/<wbr>wagner.shtml</a><br><a href="http://icebearsoft.euweb.cz/" target="_blank">http://icebearsoft.euweb.cz</a></div></div>
<br><div class="gmail_quote">2017-12-03 10:19 GMT+01:00 jfbu <span dir="ltr"><<a href="mailto:jfbu@free.fr" target="_blank">jfbu@free.fr</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
I need some help to identify which XeTeX release fixed<br>
that problem, the mwe is<br>
<br>
\catcode`@ 11<br>
\XeTeXinterchartokenstate=1<br>
\newXeTeXintercharclass\french<wbr>@punctthin<br>
\XeTeXcharclass `\; \french@punctthin<br>
     \XeTeXinterchartoks 255 \french@punctthin = {\nobreak\thinspace}%<br>
\catcode`;\active<br>
\def;{\discretionary{\char`\;}<wbr>{}{\char`\;}}<br>
a;b<br>
\bye<br>
<br>
In  real life it appeared in a Polyglossia+French context<br>
with the semi-colon make active to insert a \discretionary<br>
similar to the above. There is no issue in lualatex.<br>
<br>
It is currently seen at Python upstream (CPython) when<br>
they try to build French docs (via Sphinx)<br>
<br>
<a href="https://bugs.python.org/issue31589" rel="noreferrer" target="_blank">https://bugs.python.org/issue3<wbr>1589</a><br>
<br>
and it would be nice to pinpoint which XeTeX release<br>
precisely is ok. I know 0.99992 is bad and 0.99996 is good,<br>
but can't easily bisect.<br>
<br>
Best,<br>
<br>
Jean-François<br>
<br>
<br>
<br>
<br>
------------------------------<wbr>--------------------<br>
Subscriptions, Archive, and List information, etc.:<br>
  <a href="http://tug.org/mailman/listinfo/xetex" rel="noreferrer" target="_blank">http://tug.org/mailman/listinf<wbr>o/xetex</a><br>
</blockquote></div><br></div></div>
</blockquote></div><br></div></div></div></div></blockquote></div><br></div></div>