Am Freitag, 21. Juli 2017 um 22:08:48, schrieb Guenter Milde <mi...@users.sf.net> > On 2017-07-20, Kornel Benko wrote: > > Am Mittwoch, 19. Juli 2017 um 22:23:32, schrieb Kornel Benko > > <kor...@lyx.org> > >> Am Mittwoch, 19. Juli 2017 um 19:48:49, schrieb Guenter Milde > >> <mi...@users.sf.net> > >> > On 2017-07-19, Kornel Benko wrote: > >> > > >> > > [-- Type: text/plain, Encoding: 7bit --] > >> > > >> > > Am Mittwoch, 19. Juli 2017 um 15:00:16, schrieb Kornel Benko > >> > > <kor...@lyx.org> > >> > >> So, maybe better we could omit \textcompwordmark in mono fonts. > >> > > >> > > This patch works for me. It uses vphantom{}, but only between '<<' and > >> > > '>>'. > >> > > >> > See my other post for alternatives solving the "missing character" error > >> > with Unicode fonts for \textcompwordmark. > > >> I have read it. I understand the usage and I don’t insist on removing > >> textcompwordmark any longer. > > >> I don't insist. I would insist on removing textcompwordmark in mono > >> fonts, but did not see an easy way. > > > It turned out, it is easy. > > But it is still wrong: > > * It is LyX policy to keep LaTeX output stable (unless it turns out to be > wrong). > > * \textcompwordmark is the correct LaTeX internal character > representation (LICR) for u200C (zero width non joiner, ZWNJ).
OK > If some fonts are missing this character this is a bug in the fonts or > in the code calling this missing character (here tu1enc.def in latex/base/). > > * The workaround should fix the command, not use a different > one. Power users are then still able to override our workaround with > their own re-definition of \textcompwordmark. Mark, that the change is done only for mono fonts. > > * Actually, in the case of ZWNJ, just dropping the missing character results > in correct output. > --> We don't even need to add a workaround, if we remove > the "warning to error conversion for missing characters" for this case. > Please not now. Who may do the work? > > > Output for desired ligatures with the attached patch is: > > "\\vphantom{}" if mono mono-fonts > > "\\textcompwordmark " else. > > This will only help for documents using DejaVu. OTOH, it is not required > for Free* and no help for LatinModern. > No, DejaVu is selected because of endless latex loop, nothing to do with \\textcompwordmark > > ... > > > diff --git a/lib/doc/de/Additional.lyx b/lib/doc/de/Additional.lyx > > index 5ccd07b..539aa6d 100644 > > --- a/lib/doc/de/Additional.lyx > > +++ b/lib/doc/de/Additional.lyx > > @@ -41,9 +41,9 @@ shapepar > > \language_package default > > \inputencoding auto > > \fontencoding global > > -\font_roman "lmodern" "default" > > -\font_sans "lmss" "default" > > -\font_typewriter "lmtt" "default" > > +\font_roman "lmodern" "DejaVu Serif [bitstream]" > > +\font_sans "lmss" "DejaVu Sans [bitstream]" > > +\font_typewriter "lmtt" "DejaVu Sans Mono [bitstream]" > > \font_math "auto" "auto" > > \font_default_family default > > \use_non_tex_fonts false > > This fixes the test case but not the problem. This fixes the lyx file which we provide. > The correct fix is either an exception to the "error-on-missing-chars" > feature, or providing the workaround (re-defining to the original default): > > % ZWNJ missing in many Unicode fonts: > \DeclareTextCommand{\textcompwordmark}{\UnicodeEncodingName}{% > \leavevmode\kern\z@} > > in LaTeXFeatures.cpp and "require" it in case \textcompwordmark is used in > documents with "non-TeX fonts" if configure detects TeXLive16 or later. > > Günter Kornel
signature.asc
Description: This is a digitally signed message part.