On 2017-07-22, Kornel Benko wrote: > Am Samstag, 22. Juli 2017 um 15:04:06, schrieb Guenter Milde > <mi...@users.sf.net> >> On 2017-07-21, Kornel Benko wrote: >> > Am Freitag, 21. Juli 2017 um 22:08:48, schrieb Guenter Milde >> > <mi...@users.sf.net>
... >> The default fonts used with fontspec (LatinModern) miss ZWNJ in serif, >> sans, and mono! >> >> * Actually, in the case of ZWNJ, just dropping the missing character >> >> results >> >> in correct output. ... >> The core of the problem can be described as a combination of >> a) Since TeXLive 2016, "fontspec" maps \textcompwordmark to the ZWNJ >> character. This character is missing in many fonts, leading to a >> warning in the output. >> b) LyX turns "missing character" warnings into errors. ... >> If there is no time for a correct fix, then the common procedure is to >> file a bug report. Done. https://www.lyx.org/trac/ticket/10727. Jürgen provided a patch, let's see if it works. (OK, if the locale encoding is UTF8, fails here on Linux with LANG=en_GB). >> ... >> > No, DejaVu is selected because of endless latex loop, nothing to do >> > with \\textcompwordmark >> I don't get the loop with LatinModern, only a long list of >> Missing character: There is no in font >> [lmroman12-regular]:mapping=tex-text;! >> for lmroman, lmsans, and lmmono. > Therefore lmodern is not good here to be used for tests, don't you think too? Once #10727 is fixed, the document should compile fine with default non-TeX fonts. > Try with Free-font. The error message is > lualatex && xelatex: > Package varioref Error: \vref at page boundary 14-15 (may loop). ... > The underlying problem is the use of Free-font in the test machinery. We have actually 2 independent problems with de/Additional.lyx: 1. "missing ZWNJ treated as error": this is now LyX bug #10727 2. \vref at page boundary with FreeFonts and fontspec. This is a "TeX issue", a generic shortcoming of the varioref package. In this document, it shows up with FreeFont because the combination of the content and the font metrics result in a \vref at a page boundary. These problems only affect the secondary use (tests). None of them is a problem for the primary use (documentation) of the file. Therefore, there is no need to change the document. > It was your suggestion to use Dejavu for this case, Indeed, this was my first try, because the standard workaround for missing characters (switching the font to Free* in a script) did not work and there were cases where DejaVu helped. However, also with DejaVu problem 1 prevents successfull compilation until #10727 is fixed. > so why are you insisting? If all three, the default fonts (Latin Modern), the standard replacement fonts (Free*) and the custom replacement fonts (DejaVu) fail, it is IMO better to do without special casing and use the default fonts. >> If the bug cannot be fixed soon, I propose to invert affected tests as >> "LyXbug" or to temporarily add them to the "missing chars" exception list. > I dare to cite you: > "This is a rare running-condition that depends on the selected > font (because this influences page-breaks)" This is why I suggest to solve problem 1 (and temporarily invert the test if required), not to work around problem 2. Günter