Dear friends,
I am facing a serious problem with luatex and its policy tho load pattern file only in demand, English excluded. The synonyms keyword in language.dat.lua contains the list of language names for which a given pattern file is applicable. The analogous hyphennames keyword in polyglossia does more or less the same thing.

But there are language variants that require different hyphenation rules, and therefore different pattern files.

You cannot select the proper hyphenation pattern file with any specific variant of the same language.

The problem is real also in English that has several variant names and pattern files. The gloss-english.ldf is very clear about this: if the variant name involves small changes such as the way of typesetting the current date but does not involve pattern variants, the variant option (english, american, usenglish, US,english) just sets suitable boolean switches (toggles) to do the job; but variants usenglishmax, british, uk, britishmax, australian, newzeland, for example, require different hyphenation pattern files. All these switches are valid for xetex, but are excluded with luatex through such statements as \ifluatex\else...\fi.

Gloss-greek.ldf that does not have any test for checking the luatex engine, has only statements valid for xetex, and if some document containing a specification for the Greek language is typeset with luatex, the various \l@*** commands are undefined and the three Greek variants are all equated to nohyphenation.

You know that I am trying to set up Latin to be configured for several variants and I need to use at least three different pattern files for 4 language variants (modern, medieval, classic, liturgical) that do not imply simple typesetting spelling changes. I cannot manage the variant settings for more than modern vs medieval that share the same patterns set, and I cannot select the proper pattern set for classic or liturgical Latin by means of "variant=..." options as it would be natural. I can only specify those variants by means of new individual language names and new gloss-<language>.ldf files. But it is always Latin, simply a different variety. The same would be for English or Greek: it would be the same language with different varieties.

It would be necessary to have a *new* keyword for \PolyglosssiaSetup such that specifies one or more different sets of synonyms or hyphen names that allow luatex to load at the *beginning* of the execution of the .ldf file all the pattern variants, so that the various \l@*** language counter values are defined and the same tests valid for xetex produce the same results also with luatex. At least English, Greek, and Latin language description files could be slightly modified to produce the correct line breaks with any language variety: i recall the language is the same, its spelling, its typographical regulations, its hyphenations rules might be different, bu the language is and remains the same. In TeX jargon these variants are NOT dialects of one mater language.

The luatex policy of not loading pattern file for unused languages remains valid, but at least the same language has available all its own hyphenations variants, even if they are not all used in a given document. There is a little waste of memory, but there is not that huge waste of memory connected to the 80 or so languages handled by xetex and pdftex, that contain all their hashed versions in their format files.

Thank you for your attention.
Claudio Beccari

Reply via email to