From 0ea1b04f4e9c80daab5949db910334f543c151ad Mon Sep 17 00:00:00 2001 From: Juergen Spitzmueller Date: Sun, 14 Jul 2019 09:09:46 +0200 Subject: [PATCH] More osf (texfont) fixes --- lib/latexfonts | 22 ++++++++++++---------- lib/lyx2lyx/lyx_2_4.py | 7 +++---- src/tex2lyx/Preamble.cpp | 8 ++++++++ 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/lib/latexfonts b/lib/latexfonts index 75dba78ae9..72917f3c2e 100644 --- a/lib/latexfonts +++ b/lib/latexfonts @@ -721,11 +721,12 @@ Font IBMPlexSansSemibold MoreOptions 1 EndFont -Font ADOBESourceSansPro - GuiName "Adobe Source Sans Pro" - Family sf - Package sourcesanspro - ScaleOption scaled=$$val +Font ADOBESourceSansPro + GuiName "Adobe Source Sans Pro" + Family sf + Package sourcesanspro + ScaleOption scaled=$$val + OsfOption osf MoreOptions 1 EndFont @@ -984,11 +985,12 @@ Font IBMPlexMonoSemibold MoreOptions 1 EndFont -Font ADOBESourceCodePro - GuiName "Adobe Source Code Pro" - Family tt - Package sourcecodepro - ScaleOption scaled=$$val +Font ADOBESourceCodePro + GuiName "Adobe Source Code Pro" + Family tt + Package sourcecodepro + ScaleOption scaled=$$val + OsfOption osf MoreOptions 1 EndFont diff --git a/lib/lyx2lyx/lyx_2_4.py b/lib/lyx2lyx/lyx_2_4.py index b26f941991..ca55c8ec17 100644 --- a/lib/lyx2lyx/lyx_2_4.py +++ b/lib/lyx2lyx/lyx_2_4.py @@ -161,8 +161,8 @@ def createFontMapping(fontlist): "typewriter", "tt", "plex-mono", "scale") elif font == 'Adobe': fm.expandFontMapping(['ADOBESourceSerifPro'], "roman", None, "sourceserifpro", None, "osf") - fm.expandFontMapping(['ADOBESourceSansPro'], "sans", "sf", "sourcesanspro", "scaled") - fm.expandFontMapping(['ADOBESourceCodePro'], "typewriter", "tt", "sourcecodepro", "scaled") + fm.expandFontMapping(['ADOBESourceSansPro'], "sans", "sf", "sourcesanspro", "scaled", "osf") + fm.expandFontMapping(['ADOBESourceCodePro'], "typewriter", "tt", "sourcecodepro", "scaled", "osf") elif font == 'Noto': fm.expandFontMapping(['NotoSerifRegular,regular', 'NotoSerifMedium,medium', 'NotoSerifThin,thin', 'NotoSerifLight,light', @@ -305,10 +305,9 @@ def revert_fonts(document, fm, fontmap, OnlyWithXOpts = False): if xval1 != "100": # set correct scale option fontmap[val].extend([fontinfo.scaleopt + "=" + format(float(xval1) / 100, '.2f')]) - if fontinfo.osfopt != None and fontinfo.fonttype == "roman": + if fontinfo.osfopt != None: osf = find_token(document.header, "\\font_osf true") if osf != -1: - document.header[osf] = "\\font_osf false" fontmap[val].extend([fontinfo.osfopt]) if len(fontinfo.options) > 0: fontmap[val].extend(fontinfo.options) diff --git a/src/tex2lyx/Preamble.cpp b/src/tex2lyx/Preamble.cpp index a5906d7c7b..336a939dd2 100644 --- a/src/tex2lyx/Preamble.cpp +++ b/src/tex2lyx/Preamble.cpp @@ -1075,6 +1075,10 @@ void Preamble::handle_package(Parser &p, string const & name, scale_as_percentage(opt, h_font_sf_scale[0]); continue; } + if (opt == "osf") { + h_font_osf = "true"; + continue; + } if (!xopts.empty()) xopts += ", "; xopts += opt; @@ -1168,6 +1172,10 @@ void Preamble::handle_package(Parser &p, string const & name, scale_as_percentage(opt, h_font_tt_scale[0]); continue; } + if (opt == "osf") { + h_font_osf = "true"; + continue; + } if (!xopts.empty()) xopts += ", "; xopts += opt; -- 2.39.5