9

I can no longer compile files with the polutonikogreek language option to babel in TexLive 2013. Everything was fine in TL2012. There is another question showing the same problem: Ancient Greek hyphenation in LuaLaTeX but the solution given there does nto work for me. In fact, the minimal example given in the answer does not compile on my system. I just upgraded to TL2013 from TL2012 and asked the installer to bring over my old settings from TL2012. Perhaps that's the problem?

Help appreciated.

EDIT: Problem has been fixed by babel-greek maintainer in version 1.5a

stefano
  • 439

1 Answers1

6

greek.ldf 2013/05/17 v1.4

The example file in egreg's answer in question "Ancient Greek hyphenation in LuaLaTeX" breaks with greek.ldf 2013/05/17 v1.4 with LuaLaTeX because of 8-bit characters:

l.74 \DeclareTextCompositeCommand{\"}{LGR}{
                                         �}{\accdialytika}
? 
! String contains an invalid utf-8 sequence.

Using ^^-notation instead of the 8-bit characters might fix the issue.

Update: I have reported it as bug babel/4303.

Fix suggestion

The five lines with the 8-bit byte encoded in ^^-notation:

\DeclareTextCompositeCommand{\"}{LGR}{^^9f}{\accdialytika}
\DeclareTextCompositeCommand{\'}{LGR}{^^9f}{\@hiatus}
\DeclareTextCompositeCommand{\`}{LGR}{^^9f}{\@hiatus}
\DeclareTextCompositeCommand{\<}{LGR}{^^9f}{\@hiatus}
\DeclareTextCompositeCommand{\>}{LGR}{^^9f}{\@hiatus}

However, it depends, how greek.ldf was unpacked. It depends on the TeX compiler and its options, whether the 8-bit characters of the .dtx file are passed through as 8-bit characters or whether the TeX compiler converts them to the ^^-notation.

greek.ldf 2013/06/21 v1.5

This version additionally breaks with a different error:

! Undefined control sequence.
\greek@attr@polutoniko ...{\extraspolutonikogreek 

Thus I made a new bug report babel/4305.

Heiko Oberdiek
  • 271,626
  • It breaks also with version 1.5 recently uploaded. – egreg Jun 30 '13 at 15:59
  • Heiko, thanks for the quick answer, but I'm afraid I don't know what you mean by ^^-notation. A Google search did not bring up anything. – stefano Jun 30 '13 at 16:07
  • @Heiko: thanks for the pointers. I read both and now know a bit more about ^^xy notation. But as this stuff is still way over my head, could you (or anyone else more conversant with (Lua)TeX internals than me) confirm the following: (1) the problem is in those 4 lines (94-97) in greek.ldf that use 8 bit characters. (2) The problem could be solved (at least for LuaTeX) by replacing the troublesome characters with their appropriate equivalents in ^^-notation. If (1) and (2) are true, then the obvious question is: what are the hex code of those characters? – stefano Jun 30 '13 at 17:49
  • @stefano No, the problem is not solvable by changing the explicit 0x9F characters into ^^9f, because this combination is illegal in UTF-8. It has to do with accents inside \MakeUppercase. However, this shouldn't be needed with Unicode engines such as XeTeX or LuaTeX. – egreg Jun 30 '13 at 19:33
  • @egreg Thanks for the clarification. Rolling back to Tl2012 as we speak... – stefano Jun 30 '13 at 20:20
  • @HeikoOberdiek I tried the same fix, but LuaLaTeX still balks. – egreg Jun 30 '13 at 21:10
  • @egreg: For greek.ldf v1.4 the fix worked for me. In greek.ldf v1.5 this is also fixed in this way. But I got a different error about undefined \extraspolutonikogreek. – Heiko Oberdiek Jun 30 '13 at 21:49
  • On my system, version 1.5 still has the same 0x9F character, not ^^9f; if I try to change it to ^^9f the problem remains (malformed UTF-8 sequence). – egreg Jun 30 '13 at 21:52
  • @egreg: I had tried with a fresh copy from CTAN and had used tex greek.ins to unpack the files. That had automatically replaced the 8-bit characters to ^^9f. – Heiko Oberdiek Jun 30 '13 at 22:02
  • @egreg imho changing to ^^9f should not give an illegal utf8-message as ^^9f is not interpreted as a byte sequence but as an unicode code point - at least I know from an old discussion that's how xetex is interpreting this. E.g. ^^a2 will give "CENT SIGN". ^^9f is naturally the wrong code point for the accent with luatex but this shouldn't matter much as LGR encoding shouldn't be used anyway. – Ulrike Fischer Jul 01 '13 at 09:39
  • @Heiko: same here. If I change the codes to ^^9F in greek.ldf compilation of the test file stops on: \greek@attr@polutoniko ...{\extraspolutonikogreek }\let \captionsgreek \capt... l.293 \ProcessOptions* – stefano Jul 01 '13 at 12:46