Re: [NTG-context] mkii and xetex with tl2008: invalid fontname errors
Taco:
... does it actually work, and can you explain why?
I don't get the "error" any more with that fix (and it's not an error anyway). The problem is that if there is no "file:" prefix in font synonyms, then ConTeXt asks for \font\whatever="texgyre-whatever:options" and XeTeX first asks fontconfig, font not there, and then asks kpathsea and kpathsea complains about "font not present". With minimals I don't get that complaint printed out. It used to complain in some other way some time ago, but let's forget that for a moment. Then, since ConTeXt figures out that font doesn't exist, it asks for \font\whatever="[texgyge-whatever]:options" and then XeTeX finds the font and ConTeXt uses it. There's a third iteration asking for a font without quotes, but I should check the exact order of those three attempts, and maybe attempt without quotes is not needed any more since Jonathan fixed the behaviour of quoted filenames to also look for kpathsea fonts, not only system fonts if I recall correctly. If there is "file:" prefix, the first iteration is skipped, so it's more efficient to load fonts. We have fixed that (added "file:" in front of names) in number of font definitions some time ago (most important being LM since it's really used each time when one compiles a XeTeX document), but those "palatino"/"times" synonyms were not fixed at the time of major changes for some reason (overseen, me being lazy, it worked anyway?, ... I don't quite remember). However, there is still "problem" with "+trep" (a missing/unneeded mapping, depends on how you treat it) in this font call: texgyrepagella-italic:+liga;+kern;mapping=tlig;+trep; trep and tlig both happened to map to tex-text some time ago. Then I asked Hans to optimize the behaviour a bit since some mappings of " and ` were really cruel and lead to inability to use grave accents at all. He removed some mappings, but left both tlig and trep there. In luatex, tlig does a mapping of -- and --- and trep does a mapping of apostrophe. In XeTeX +tlig option in "features=default" gets replaced by "mapping=tlig" which has all the three replacements (--, --- and ') font-ini.tex: \remapfontfeature tlig yes mapping=tlig while +trep is passed unmodified to xetex. So the behaviour is inconsistent in LuaTeX and XeTeX (no reason why it should be), but it just happens that nobody cares/complains. The second option would be useful if one really wanted to recall all the other TeX ligatures and replacements back (`, ``, ", >>, <<, `<, `> or whatever else is there), else I think that having two options is really not needed. tlig and trep used to have all the other old TeX replacements & ligatures there, but I asked Hans to remove most of them exactly for the reason mentioned above (grave accents were gone). XeTeX just happens not to complain about "+trep", but that "+trep" should be removed one day. Maybe just font-ini.tex: \remapfontfeature trep yes [empty] Mojca
participants (1)
-
Mojca Miklavec