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

Reply via email to