commit d3c51876a902e5d41f79a559ffb2516674e55c1a Author: Uwe Stöhr <uwesto...@lyx.org> 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 <j.spitzmuel...@gmx.de> +2018-03-10 Uwe Stöhr <uwesto...@web.de> + * 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 <j.spitzmuel...@gmx.de> * 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