[lltx] Luatex and multiple pattern files

Claudio Beccari claudio.beccari at gmail.com
Mon Apr 11 16:43:55 CEST 2016


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://tug.org/pipermail/lualatex-dev/attachments/20160411/2ec03582/attachment.html>


More information about the lualatex-dev mailing list