commit 509551cae09bb9b43a1ad0a9bdca6a56e1cc515b
Author: Juergen Spitzmueller <[email protected]>
Date: Sun Jul 14 09:09:46 2019 +0200
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 75dba78..72917f3 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 b26f941..ca55c8e 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 a5906d7..336a939 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;