[tex-live] xindy vs utf8 latex

Heiko Oberdiek heiko.oberdiek at googlemail.com
Sun May 11 16:30:33 CEST 2014

On 11.05.2014 15:23, Joachim Schrod wrote:
> Akira Kakuto writes:
>> Dear Joachim,
>>> Yes, addition of support of "-C utf8" for texindy (for Latin
>>> scripts only) was meant, not "-L utf8". Sorry.
>> After updating latex,
>> iconv -t UTF-8 -f LATIN3 latin3.xdy >latin3-utf8.xdy
>> in xindy/xindy-2.5.0/make-rules/inputenc/
>> fails in making xindy.
>> If I use the previous latex,
>> iconv -t UTF-8 -f LATIN3 latin3.xdy >latin3-utf8.xdy
>> works ok.
> Hmm, I don't have the new LaTeX installed yet.
> Can you please send me the new latin3.def from LaTeX and the generated
> latin3.xdy by email as attachments? Reply-To is set, no need to send
> this via the list.

The changes in latin3.def are trivial:
* Removal of \makeatletter/\makeatother, because it is now handled
  in \inputencoding with restoring the previous catcode of `@'.
  Seems irrelevant here.
* Copyright years/version number, also irrelevant.

However inputenc.sty has changed, e.g.:

  % \changes{v1.2a}{2014/04/20}{add \cs{protect} so undefined characters
are robust (pr/4182)}%

Therefore undefined slots now generates such lines in latin3.idx:

  \indexentry{\@inpenc at undefined@ {latin3}--80}{1}
  \indexentry{\@inpenc at undefined@ {latin3}--81}{1}
  \indexentry{\@inpenc at undefined@ {latin3}--82}{1}


  \indexentry{\GenericError  {(inputenc)                }{Package
inputenc Error: Keyboard character used is undefined\MessageBreak in
inputencoding }{See the inputenc package documentation for
explanation.}{You need to provide a definition with \def {o}\def {}\edef
{}\@inpenc at test \bgroup \uccode `\~\MessageBreak \uppercase {\egroup
\def \nobreakspace  {}}{o}r \@inpenc at test \bgroup \uccode `\~b\uppercase
{\egroup \def \nobreakspace  {}}efore using this key.}--80}{1}

And make-inp-rules.pl filters out lines with "inputenc Error":

    if (!($1 =~ /inputenc Error/)) {

Refinement for the "robust" error messages, e.g.:

    if (!($1 =~ /inputenc Error|\@inpenc\@undefined/)) {

Then I get the same latin3.xdy file as before.

The Makefile wants also to remove the error lines for %.raw
files. Another `grep -v' for the new text helps.

Yours sincerely
  Heiko Oberdiek

More information about the tex-live mailing list