commit d3c51876a902e5d41f79a559ffb2516674e55c1a
Author: Uwe Stöhr <[email protected]>
Date: Sat Mar 10 19:59:48 2018 +0100
add support for the PT fonts
- fileformat change
- I also started https://wiki.lyx.org/LyX/NewInLyX24 for new features
---
development/FORMAT | 7 ++-
lib/chkconfig.ltx | 1 +
lib/latexfonts | 30 ++++++++++++
lib/lyx2lyx/lyx_2_4.py | 49 ++++++++++++++++++--
src/tex2lyx/Preamble.cpp | 36 ++++++++++++--
src/tex2lyx/test/CJK.lyx.lyx | 4 +-
src/tex2lyx/test/CJKutf8.lyx.lyx | 4 +-
src/tex2lyx/test/DummyDocument.lyx.lyx | 4 +-
src/tex2lyx/test/Dummy~Document.lyx.lyx | 4 +-
src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx | 4 +-
src/tex2lyx/test/algo2e.lyx.lyx | 4 +-
.../test/box-color-size-space-align.lyx.lyx | 4 +-
src/tex2lyx/test/test-insets-basic.lyx.lyx | 4 +-
src/tex2lyx/test/test-insets.lyx.lyx | 4 +-
src/tex2lyx/test/test-memoir.lyx.lyx | 4 +-
src/tex2lyx/test/test-minted.lyx.lyx | 4 +-
src/tex2lyx/test/test-modules.lyx.lyx | 4 +-
src/tex2lyx/test/test-refstyle-theorems.lyx.lyx | 4 +-
src/tex2lyx/test/test-scr.lyx.lyx | 4 +-
src/tex2lyx/test/test-structure.lyx.lyx | 4 +-
src/tex2lyx/test/test.lyx.lyx | 4 +-
src/tex2lyx/test/verbatim.lyx.lyx | 4 +-
src/version.h | 4 +-
23 files changed, 149 insertions(+), 46 deletions(-)
diff --git a/development/FORMAT b/development/FORMAT
index 5058ee2..a57d3ed 100644
--- a/development/FORMAT
+++ b/development/FORMAT
@@ -7,8 +7,13 @@ changes happened in particular if possible. A good example
would be
-----------------------
-2018-02-23 Jürgen Spitzmüller <[email protected]>
+2018-03-10 Uwe Stöhr <[email protected]>
+ * Format incremented to 546: support for ParaType fonts.
+ - \usepackage{PTSerif} > \font_roman "PTSerif-TLF"
+ - \usepackage[scaled=x.xx]{PTSans} > \font_sans "PTSans-TLF""
+ - \usepackage[scaled=x.xx]{PTMono} > \font_typewriter "PTMono-TLF"
+2018-02-23 Jürgen Spitzmüller <[email protected]>
* format incremented to 545: Add "literal" param to inset include
This is used by the lstinput caption.
diff --git a/lib/chkconfig.ltx b/lib/chkconfig.ltx
index ef37440..0aa948c 100644
--- a/lib/chkconfig.ltx
+++ b/lib/chkconfig.ltx
@@ -464,6 +464,7 @@
\TestPackage{newtxmath}
\TestPackage[binhex.tex]{binhex} % required by newtxmath
\TestPackage{noto}
+\TestPackage{paratype}
\TestFont[psyr]{symbol}
\TestPackage{tgadventor}
\TestPackage{tgbonum}
diff --git a/lib/latexfonts b/lib/latexfonts
index a0a93ee..307b10e 100644
--- a/lib/latexfonts
+++ b/lib/latexfonts
@@ -356,6 +356,20 @@ AltFont pplj
SwitchDefault 1
EndFont
+Font PTSerif-TLF
+ GuiName "ParaType Serif"
+ Family rm
+ Requires paratype
+ Package PTSerif
+ CompleteFont paratype
+EndFont
+
+AltFont paratype
+ GuiName "ParaType Serif"
+ Family rm
+ Package paratype
+EndFont
+
Font times
GuiName "Times Roman"
Family rm
@@ -582,6 +596,14 @@ Font NotoSans-TLF
Requires noto
EndFont
+Font PTSans-TLF
+ GuiName "ParaType Sans"
+ Family sf
+ ScaleOption scaled=$$val
+ Requires paratype
+ Package PTSans
+EndFont
+
Font tgadventor
GuiName "TeX Gyre Adventor"
Family sf
@@ -670,6 +692,14 @@ Font NotoMono-TLF
Requires noto
EndFont
+Font PTMono-TLF
+ GuiName "ParaType Mono"
+ Family tt
+ ScaleOption scaled=$$val
+ Requires paratype
+ Package PTMono
+EndFont
+
Font tgcursor
GuiName "TeX Gyre Cursor"
Family tt
diff --git a/lib/lyx2lyx/lyx_2_4.py b/lib/lyx2lyx/lyx_2_4.py
index 21e0a08..536bf10 100644
--- a/lib/lyx2lyx/lyx_2_4.py
+++ b/lib/lyx2lyx/lyx_2_4.py
@@ -24,7 +24,7 @@ import sys, os
# Uncomment only what you need to import, please.
-from parser_tools import (find_end_of_inset, find_token)
+from parser_tools import (find_end_of_inset, find_token, get_value)
# del_token, del_value, del_complete_lines,
# find_complete_lines, find_end_of, find_end_of_layout,
# find_re, find_substring, find_token_backwards,
@@ -32,8 +32,8 @@ from parser_tools import (find_end_of_inset, find_token)
# get_quoted_value, is_in_inset, set_bool_value
# find_tokens, find_token_exact, check_token, get_option_value
-#from lyx2lyx_tools import (add_to_preamble, put_cmd_in_ert, revert_font_attrs,
-# insert_to_preamble, latex_length)
+from lyx2lyx_tools import (add_to_preamble)
+# put_cmd_in_ert, revert_font_attrs, insert_to_preamble, latex_length
# get_ert, lyx2latex, lyx2verbatim, length_in_bp, convert_info_insets
# revert_flex_inset, hex2ratio, str2bool
@@ -87,16 +87,57 @@ def revert_lst_literalparam(document):
del document.body[k]
+def revert_paratype(document):
+ " Revert ParaType font definitions to LaTeX "
+
+ if find_token(document.header, "\\use_non_tex_fonts false", 0) != -1:
+ preamble = ""
+ i1 = find_token(document.header, "\\font_roman \"PTSerif-TLF\"", 0)
+ i2 = find_token(document.header, "\\font_sans \"default\"", 0)
+ i3 = find_token(document.header, "\\font_typewriter \"default\"", 0)
+ j = find_token(document.header, "\\font_sans \"PTSans-TLF\"", 0)
+ sfval = get_value(document.header, "\\font_sf_scale", 0)
+ document.warning("sfval: " + str(sfval))
+ # cutoff " 100"
+ sfval = sfval[:-4]
+ sfoption = ""
+ if sfval != "100":
+ sfoption = "scaled=" + format(float(sfval) / 100, '.2f')
+ k = find_token(document.header, "\\font_typewriter \"PTMono-TLF\"", 0)
+ ttval = get_value(document.header, "\\font_tt_scale", 0)
+ # cutoff " 100"
+ ttval = ttval[:-4]
+ ttoption = ""
+ if ttval != "100":
+ ttoption = "scaled=" + format(float(ttval) / 100, '.2f')
+ if i1 != -1 and i2 != -1 and i3!= -1:
+ add_to_preamble(document, ["\\usepackage{paratype}"])
+ else:
+ if i1!= -1:
+ add_to_preamble(document, ["\\usepackage{PTSerif}"])
+ if j!= -1:
+ if sfoption != "":
+ add_to_preamble(document, ["\\usepackage[" + sfoption +
"]{PTSans}"])
+ else:
+ add_to_preamble(document, ["\\usepackage{PTSans}"])
+ if k!= -1:
+ if ttoption != "":
+ add_to_preamble(document, ["\\usepackage[" + ttoption +
"]{PTMono}"])
+ else:
+ add_to_preamble(document, ["\\usepackage{PTMono}"])
+
##
# Conversion hub
#
supported_versions = ["2.4.0", "2.4"]
convert = [
- [545, [convert_lst_literalparam]]
+ [545, [convert_lst_literalparam]],
+ [546, []]
]
revert = [
+ [545, [revert_paratype]],
[544, [revert_lst_literalparam]]
]
diff --git a/src/tex2lyx/Preamble.cpp b/src/tex2lyx/Preamble.cpp
index a59d51d..7086897 100644
--- a/src/tex2lyx/Preamble.cpp
+++ b/src/tex2lyx/Preamble.cpp
@@ -127,16 +127,17 @@ char const * const known_fontsizes[] = { "10pt", "11pt",
"12pt", 0 };
const char * const known_roman_fonts[] = { "ae", "beraserif", "bookman",
"ccfonts", "chancery", "charter", "cmr", "cochineal", "crimson", "fourier",
"garamondx", "libertine", "libertine-type1", "lmodern", "mathdesign",
"mathpazo",
-"mathptmx", "newcent", "NotoSerif-TLF", "tgbonum", "tgchorus", "tgpagella",
"tgschola",
-"tgtermes", "utopia", 0};
+"mathptmx", "newcent", "NotoSerif-TLF", "PTSerif-TLF", "tgbonum", "tgchorus",
+"tgpagella", "tgschola", "tgtermes", "utopia", 0 };
const char * const known_sans_fonts[] = { "avant", "berasans",
"biolinum-type1",
"cmbr", "cmss", "helvet", "iwona", "iwonac", "iwonal", "iwonalc", "kurier",
-"kurierc", "kurierl", "kurierlc", "lmss", "NotoSans-TLF", "tgadventor",
"tgheros", 0};
+"kurierc", "kurierl", "kurierlc", "lmss", "NotoSans-TLF", "PTSans-TLF",
"tgadventor",
+"tgheros", 0 };
const char * const known_typewriter_fonts[] = { "beramono", "cmtl", "cmtt",
"courier", "lmtt", "luximono", "fourier", "libertineMono-type1", "lmodern",
-"mathpazo", "mathptmx", "newcent", "NotoMono-TLF", "tgcursor", "txtt", 0};
+"mathpazo", "mathptmx", "newcent", "NotoMono-TLF", "PTMono-TLF", "tgcursor",
"txtt", 0 };
const char * const known_math_fonts[] = { "eulervm", "newtxmath", 0};
@@ -798,6 +799,16 @@ void Preamble::handle_package(Parser &p, string const &
name,
// special cases are handled in handling of \rmdefault and
\sfdefault
}
+ if (name == "paratype") {
+ // in this case all fonts are ParaType
+ h_font_roman[0] = "PTSerif-TLF";
+ h_font_sans[0] = "default";
+ h_font_typewriter[0] = "default";
+ }
+
+ if (name == "PTSerif")
+ h_font_roman[0] = "PTSerif-TLF";
+
// sansserif fonts
if (is_known(name, known_sans_fonts)) {
h_font_sans[0] = name;
@@ -815,6 +826,14 @@ void Preamble::handle_package(Parser &p, string const &
name,
h_font_osf = "true";
}
+ if (name == "PTSans") {
+ h_font_sans[0] = "PTSans-TLF";
+ if (options.size() >= 1) {
+ if (scale_as_percentage(opts, h_font_sf_scale[0]))
+ options.clear();
+ }
+ }
+
// typewriter fonts
if (is_known(name, known_typewriter_fonts)) {
// fourier can be set as roman font _only_
@@ -828,8 +847,15 @@ void Preamble::handle_package(Parser &p, string const &
name,
}
}
- if (name == "libertineMono-type1") {
+ if (name == "libertineMono-type1")
h_font_typewriter[0] = "libertine-mono";
+
+ if (name == "PTMono") {
+ h_font_typewriter[0] = "PTMono-TLF";
+ if (options.size() >= 1) {
+ if (scale_as_percentage(opts, h_font_tt_scale[0]))
+ options.clear();
+ }
}
// font uses old-style figure
diff --git a/src/tex2lyx/test/CJK.lyx.lyx b/src/tex2lyx/test/CJK.lyx.lyx
index 32109a0..051c337 100644
--- a/src/tex2lyx/test/CJK.lyx.lyx
+++ b/src/tex2lyx/test/CJK.lyx.lyx
@@ -1,5 +1,5 @@
-#LyX file created by tex2lyx 2.3
-\lyxformat 545
+#LyX file created by tex2lyx 2.4
+\lyxformat 546
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/CJKutf8.lyx.lyx b/src/tex2lyx/test/CJKutf8.lyx.lyx
index aadef31..3f36955 100644
--- a/src/tex2lyx/test/CJKutf8.lyx.lyx
+++ b/src/tex2lyx/test/CJKutf8.lyx.lyx
@@ -1,5 +1,5 @@
-#LyX file created by tex2lyx 2.3
-\lyxformat 545
+#LyX file created by tex2lyx 2.4
+\lyxformat 546
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/DummyDocument.lyx.lyx
b/src/tex2lyx/test/DummyDocument.lyx.lyx
index 5dddf53..45307b7 100644
--- a/src/tex2lyx/test/DummyDocument.lyx.lyx
+++ b/src/tex2lyx/test/DummyDocument.lyx.lyx
@@ -1,5 +1,5 @@
-#LyX file created by tex2lyx 2.3
-\lyxformat 545
+#LyX file created by tex2lyx 2.4
+\lyxformat 546
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/Dummy~Document.lyx.lyx
b/src/tex2lyx/test/Dummy~Document.lyx.lyx
index 883fb4d..edaff1c 100644
--- a/src/tex2lyx/test/Dummy~Document.lyx.lyx
+++ b/src/tex2lyx/test/Dummy~Document.lyx.lyx
@@ -1,5 +1,5 @@
-#LyX file created by tex2lyx 2.3
-\lyxformat 545
+#LyX file created by tex2lyx 2.4
+\lyxformat 546
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx
b/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx
index da2619f..c90d85f 100644
--- a/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx
+++ b/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx
@@ -1,5 +1,5 @@
-#LyX file created by tex2lyx 2.3
-\lyxformat 545
+#LyX file created by tex2lyx 2.4
+\lyxformat 546
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/algo2e.lyx.lyx b/src/tex2lyx/test/algo2e.lyx.lyx
index 4db05e9..86861da 100644
--- a/src/tex2lyx/test/algo2e.lyx.lyx
+++ b/src/tex2lyx/test/algo2e.lyx.lyx
@@ -1,5 +1,5 @@
-#LyX file created by tex2lyx 2.3
-\lyxformat 545
+#LyX file created by tex2lyx 2.4
+\lyxformat 546
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/box-color-size-space-align.lyx.lyx
b/src/tex2lyx/test/box-color-size-space-align.lyx.lyx
index 122e033..75c414c 100644
--- a/src/tex2lyx/test/box-color-size-space-align.lyx.lyx
+++ b/src/tex2lyx/test/box-color-size-space-align.lyx.lyx
@@ -1,5 +1,5 @@
-#LyX file created by tex2lyx 2.3
-\lyxformat 545
+#LyX file created by tex2lyx 2.4
+\lyxformat 546
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/test-insets-basic.lyx.lyx
b/src/tex2lyx/test/test-insets-basic.lyx.lyx
index ed8ebf6..02ae767 100644
--- a/src/tex2lyx/test/test-insets-basic.lyx.lyx
+++ b/src/tex2lyx/test/test-insets-basic.lyx.lyx
@@ -1,5 +1,5 @@
-#LyX file created by tex2lyx 2.3
-\lyxformat 545
+#LyX file created by tex2lyx 2.4
+\lyxformat 546
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/test-insets.lyx.lyx
b/src/tex2lyx/test/test-insets.lyx.lyx
index d3e1e63..b2866ae 100644
--- a/src/tex2lyx/test/test-insets.lyx.lyx
+++ b/src/tex2lyx/test/test-insets.lyx.lyx
@@ -1,5 +1,5 @@
-#LyX file created by tex2lyx 2.3
-\lyxformat 545
+#LyX file created by tex2lyx 2.4
+\lyxformat 546
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/test-memoir.lyx.lyx
b/src/tex2lyx/test/test-memoir.lyx.lyx
index c1c2180..9805199 100644
--- a/src/tex2lyx/test/test-memoir.lyx.lyx
+++ b/src/tex2lyx/test/test-memoir.lyx.lyx
@@ -1,5 +1,5 @@
-#LyX file created by tex2lyx 2.3
-\lyxformat 545
+#LyX file created by tex2lyx 2.4
+\lyxformat 546
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/test-minted.lyx.lyx
b/src/tex2lyx/test/test-minted.lyx.lyx
index 6952519..fef59fd 100644
--- a/src/tex2lyx/test/test-minted.lyx.lyx
+++ b/src/tex2lyx/test/test-minted.lyx.lyx
@@ -1,5 +1,5 @@
-#LyX file created by tex2lyx 2.3
-\lyxformat 545
+#LyX file created by tex2lyx 2.4
+\lyxformat 546
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/test-modules.lyx.lyx
b/src/tex2lyx/test/test-modules.lyx.lyx
index 84bcb74..fb7871f 100644
--- a/src/tex2lyx/test/test-modules.lyx.lyx
+++ b/src/tex2lyx/test/test-modules.lyx.lyx
@@ -1,5 +1,5 @@
-#LyX file created by tex2lyx 2.3
-\lyxformat 545
+#LyX file created by tex2lyx 2.4
+\lyxformat 546
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/test-refstyle-theorems.lyx.lyx
b/src/tex2lyx/test/test-refstyle-theorems.lyx.lyx
index 6b80a59..8e81e0c 100644
--- a/src/tex2lyx/test/test-refstyle-theorems.lyx.lyx
+++ b/src/tex2lyx/test/test-refstyle-theorems.lyx.lyx
@@ -1,5 +1,5 @@
-#LyX file created by tex2lyx 2.3
-\lyxformat 545
+#LyX file created by tex2lyx 2.4
+\lyxformat 546
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/test-scr.lyx.lyx
b/src/tex2lyx/test/test-scr.lyx.lyx
index 3b98155..71ab353 100644
--- a/src/tex2lyx/test/test-scr.lyx.lyx
+++ b/src/tex2lyx/test/test-scr.lyx.lyx
@@ -1,5 +1,5 @@
-#LyX file created by tex2lyx 2.3
-\lyxformat 545
+#LyX file created by tex2lyx 2.4
+\lyxformat 546
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/test-structure.lyx.lyx
b/src/tex2lyx/test/test-structure.lyx.lyx
index 971a3f4..44dc649 100644
--- a/src/tex2lyx/test/test-structure.lyx.lyx
+++ b/src/tex2lyx/test/test-structure.lyx.lyx
@@ -1,5 +1,5 @@
-#LyX file created by tex2lyx 2.3
-\lyxformat 545
+#LyX file created by tex2lyx 2.4
+\lyxformat 546
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/test.lyx.lyx b/src/tex2lyx/test/test.lyx.lyx
index 2afe7b3..b6e66be 100644
--- a/src/tex2lyx/test/test.lyx.lyx
+++ b/src/tex2lyx/test/test.lyx.lyx
@@ -1,5 +1,5 @@
-#LyX file created by tex2lyx 2.3
-\lyxformat 545
+#LyX file created by tex2lyx 2.4
+\lyxformat 546
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/tex2lyx/test/verbatim.lyx.lyx
b/src/tex2lyx/test/verbatim.lyx.lyx
index 2a0d625..91de702 100644
--- a/src/tex2lyx/test/verbatim.lyx.lyx
+++ b/src/tex2lyx/test/verbatim.lyx.lyx
@@ -1,5 +1,5 @@
-#LyX file created by tex2lyx 2.3
-\lyxformat 545
+#LyX file created by tex2lyx 2.4
+\lyxformat 546
\begin_document
\begin_header
\save_transient_properties true
diff --git a/src/version.h b/src/version.h
index 50fd0a8..843d761 100644
--- a/src/version.h
+++ b/src/version.h
@@ -32,8 +32,8 @@ extern char const * const lyx_version_info;
// Do not remove the comment below, so we get merge conflict in
// independent branches. Instead add your own.
-#define LYX_FORMAT_LYX 545 // spitz: literal for include
-#define LYX_FORMAT_TEX2LYX 545
+#define LYX_FORMAT_LYX 546 // uwestoehr: support for ParaType fonts
+#define LYX_FORMAT_TEX2LYX 546
#if LYX_FORMAT_TEX2LYX != LYX_FORMAT_LYX
#ifndef _MSC_VER