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
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to