From 2fc430d5aede9287da57d9d5273af060e9f52f08 Mon Sep 17 00:00:00 2001 From: Georg Baum Date: Mon, 9 Nov 2015 07:33:57 +0100 Subject: [PATCH] Store both sets of font selections This is one part of bug 9744: If you toggle between TeX fonts and non-TeX fonts, the settings of the other choice are no longer thrown away, but stored and re-activated if you switch back. Most parts of the patch are purely mechanical (duplicating some BufferParams members), the only non-mechanical change is in the GUI logic. --- development/FORMAT | 9 ++ lib/lyx2lyx/LyX.py | 2 +- lib/lyx2lyx/lyx_2_2.py | 77 ++++++++++++- src/BufferParams.cpp | 104 ++++++++++-------- src/BufferParams.h | 24 +++- src/LaTeXFeatures.cpp | 16 +-- src/frontends/qt4/GuiDocument.cpp | 72 +++++++++--- src/frontends/qt4/GuiDocument.h | 22 +++- src/tex2lyx/Preamble.cpp | 98 +++++++++-------- src/tex2lyx/Preamble.h | 12 +- src/tex2lyx/test/CJK.lyx.lyx | 14 +-- src/tex2lyx/test/CJKutf8.lyx.lyx | 14 +-- src/tex2lyx/test/DummyDocument.lyx.lyx | 14 +-- src/tex2lyx/test/Dummy~Document.lyx.lyx | 14 +-- src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx | 14 +-- src/tex2lyx/test/algo2e.lyx.lyx | 14 +-- .../test/box-color-size-space-align.lyx.lyx | 14 +-- src/tex2lyx/test/test-insets-basic.lyx.lyx | 14 +-- src/tex2lyx/test/test-insets.lyx.lyx | 14 +-- src/tex2lyx/test/test-memoir.lyx.lyx | 14 +-- src/tex2lyx/test/test-modules.lyx.lyx | 14 +-- .../test/test-refstyle-theorems.lyx.lyx | 14 +-- src/tex2lyx/test/test-scr.lyx.lyx | 14 +-- src/tex2lyx/test/test-structure.lyx.lyx | 14 +-- src/tex2lyx/test/test.lyx.lyx | 14 +-- src/tex2lyx/test/verbatim.lyx.lyx | 14 +-- src/version.h | 4 +- 27 files changed, 425 insertions(+), 239 deletions(-) diff --git a/development/FORMAT b/development/FORMAT index 7ec9be71bf..53f9c03cb5 100644 --- a/development/FORMAT +++ b/development/FORMAT @@ -11,6 +11,15 @@ adjustments are made to tex2lyx and bugs are fixed in lyx2lyx. ----------------------- +2015-11-08 Georg Baum + * Format incremented to 501 + \fonts_roman, \fonts_sans, \fonts_typewriter and \fonts_math, + take now two quoted values instead of one unquoted one. + The first one is for TeX fonts, the second one for non-TeX fonts. + \font_sf_scale and \font_tt_scale + take now two values instead of one. + The first one is for TeX fonts, the second one for non-TeX fonts. + 2015-11-04 Uwe Stöhr * Format incremented to 500 No new parameters. diff --git a/lib/lyx2lyx/LyX.py b/lib/lyx2lyx/LyX.py index ad13afe224..a40ef1640a 100644 --- a/lib/lyx2lyx/LyX.py +++ b/lib/lyx2lyx/LyX.py @@ -85,7 +85,7 @@ format_relation = [("0_06", [200], minor_versions("0.6" , 4)), ("1_6", list(range(277,346)), minor_versions("1.6" , 10)), ("2_0", list(range(346,414)), minor_versions("2.0" , 8)), ("2_1", list(range(414,475)), minor_versions("2.1" , 0)), - ("2_2", list(range(475,501)), minor_versions("2.2" , 0)) + ("2_2", list(range(475,502)), minor_versions("2.2" , 0)) ] #################################################################### diff --git a/lib/lyx2lyx/lyx_2_2.py b/lib/lyx2lyx/lyx_2_2.py index ccc4b4455b..6bed08e801 100644 --- a/lib/lyx2lyx/lyx_2_2.py +++ b/lib/lyx2lyx/lyx_2_2.py @@ -2019,6 +2019,79 @@ def revert_achemso(document): i += 1 +fontsettings = ["\\font_roman", "\\font_sans", "\\font_typewriter", "\\font_math", \ + "\\font_sf_scale", "\\font_tt_scale"] +fontdefaults = ["default", "default", "default", "auto", "100", "100"] +fontquotes = [True, True, True, True, False, False] + +def convert_fontsettings(document): + " Duplicate font settings " + + i = find_token(document.header, "\\use_non_tex_fonts ", 0) + if i == -1: + document.warning("Malformed LyX document: No \\use_non_tex_fonts!") + use_non_tex_fonts = "false" + else: + use_non_tex_fonts = get_value(document.header, "\\use_non_tex_fonts", i) + j = 0 + for f in fontsettings: + i = find_token(document.header, f + " ", 0) + if i == -1: + document.warning("Malformed LyX document: No " + f + "!") + j = j + 1 + continue + value = document.header[i][len(f):].strip() + if fontquotes[j]: + if use_non_tex_fonts == "true": + document.header[i:i+1] = [f + ' "' + fontdefaults[j] + '" "' + value + '"'] + else: + document.header[i:i+1] = [f + ' "' + value + '" "' + fontdefaults[j] + '"'] + else: + if use_non_tex_fonts == "true": + document.header[i:i+1] = [f + ' ' + fontdefaults[j] + ' ' + value] + else: + document.header[i:i+1] = [f + ' ' + value + ' ' + fontdefaults[j]] + j = j + 1 + + +def revert_fontsettings(document): + " Merge font settings " + + i = find_token(document.header, "\\use_non_tex_fonts ", 0) + if i == -1: + document.warning("Malformed LyX document: No \\use_non_tex_fonts!") + use_non_tex_fonts = "false" + else: + use_non_tex_fonts = get_value(document.header, "\\use_non_tex_fonts", i) + j = 0 + for f in fontsettings: + i = find_token(document.header, f + " ", 0) + if i == -1: + document.warning("Malformed LyX document: No " + f + "!") + j = j + 1 + continue + line = get_value(document.header, f, i) + if fontquotes[j]: + q1 = line.find('"') + q2 = line.find('"', q1+1) + q3 = line.find('"', q2+1) + q4 = line.find('"', q3+1) + if q1 == -1 or q2 == -1 or q3 == -1 or q4 == -1: + document.warning("Malformed LyX document: Missing quotes!") + j = j + 1 + continue + if use_non_tex_fonts == "true": + document.header[i:i+1] = [f + ' ' + line[q3+1:q4]] + else: + document.header[i:i+1] = [f + ' ' + line[q1+1:q2]] + else: + if use_non_tex_fonts == "true": + document.header[i:i+1] = [f + ' ' + line.split()[2]] + else: + document.header[i:i+1] = [f + ' ' + line.split()[1]] + j = j + 1 + + ## # Conversion hub # @@ -2053,10 +2126,12 @@ convert = [ [497, [convert_external_bbox]], [498, []], [499, [convert_moderncv]], - [500, []] + [500, []], + [501, [convert_fontsettings]] ] revert = [ + [500, [revert_fontsettings]], [499, [revert_achemso]], [498, [revert_moderncv_1, revert_moderncv_2]], [497, [revert_tcolorbox_1, revert_tcolorbox_2, diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp index 37468824a6..a73194d310 100644 --- a/src/BufferParams.cpp +++ b/src/BufferParams.cpp @@ -377,16 +377,22 @@ BufferParams::BufferParams() tocdepth = 3; language = default_language; fontenc = "global"; - fonts_roman = "default"; - fonts_sans = "default"; - fonts_typewriter = "default"; - fonts_math = "auto"; + fonts_roman[0] = "default"; + fonts_roman[1] = "default"; + fonts_sans[0] = "default"; + fonts_sans[1] = "default"; + fonts_typewriter[0] = "default"; + fonts_typewriter[1] = "default"; + fonts_math[0] = "auto"; + fonts_math[1] = "auto"; fonts_default_family = "default"; useNonTeXFonts = false; fonts_expert_sc = false; fonts_old_figures = false; - fonts_sans_scale = 100; - fonts_typewriter_scale = 100; + fonts_sans_scale[0] = 100; + fonts_sans_scale[1] = 100; + fonts_typewriter_scale[0] = 100; + fonts_typewriter_scale[1] = 100; inputenc = "auto"; lang_package = "default"; graphics_driver = "default"; @@ -726,17 +732,17 @@ string BufferParams::readToken(Lexer & lex, string const & token, lex.eatLine(); fontenc = lex.getString(); } else if (token == "\\font_roman") { - lex.eatLine(); - fonts_roman = lex.getString(); + lex >> fonts_roman[0]; + lex >> fonts_roman[1]; } else if (token == "\\font_sans") { - lex.eatLine(); - fonts_sans = lex.getString(); + lex >> fonts_sans[0]; + lex >> fonts_sans[1]; } else if (token == "\\font_typewriter") { - lex.eatLine(); - fonts_typewriter = lex.getString(); + lex >> fonts_typewriter[0]; + lex >> fonts_typewriter[1]; } else if (token == "\\font_math") { - lex.eatLine(); - fonts_math = lex.getString(); + lex >> fonts_math[0]; + lex >> fonts_math[1]; } else if (token == "\\font_default_family") { lex >> fonts_default_family; } else if (token == "\\use_non_tex_fonts") { @@ -746,9 +752,11 @@ string BufferParams::readToken(Lexer & lex, string const & token, } else if (token == "\\font_osf") { lex >> fonts_old_figures; } else if (token == "\\font_sf_scale") { - lex >> fonts_sans_scale; + lex >> fonts_sans_scale[0]; + lex >> fonts_sans_scale[1]; } else if (token == "\\font_tt_scale") { - lex >> fonts_typewriter_scale; + lex >> fonts_typewriter_scale[0]; + lex >> fonts_typewriter_scale[1]; } else if (token == "\\font_cjk") { lex >> fonts_cjk; } else if (token == "\\paragraph_separation") { @@ -1092,16 +1100,22 @@ void BufferParams::writeFile(ostream & os, Buffer const * buf) const os << "\\language_package " << lang_package << "\n\\inputencoding " << inputenc << "\n\\fontencoding " << fontenc - << "\n\\font_roman " << fonts_roman - << "\n\\font_sans " << fonts_sans - << "\n\\font_typewriter " << fonts_typewriter - << "\n\\font_math " << fonts_math + << "\n\\font_roman \"" << fonts_roman[0] + << "\" \"" << fonts_roman[1] << '"' + << "\n\\font_sans \"" << fonts_sans[0] + << "\" \"" << fonts_sans[1] << '"' + << "\n\\font_typewriter \"" << fonts_typewriter[0] + << "\" \"" << fonts_typewriter[1] << '"' + << "\n\\font_math " << fonts_math[0] + << "\" \"" << fonts_math[1] << '"' << "\n\\font_default_family " << fonts_default_family << "\n\\use_non_tex_fonts " << convert(useNonTeXFonts) << "\n\\font_sc " << convert(fonts_expert_sc) << "\n\\font_osf " << convert(fonts_old_figures) - << "\n\\font_sf_scale " << fonts_sans_scale - << "\n\\font_tt_scale " << fonts_typewriter_scale + << "\n\\font_sf_scale " << fonts_sans_scale[0] + << ' ' << fonts_sans_scale[1] + << "\n\\font_tt_scale " << fonts_typewriter_scale[0] + << ' ' << fonts_typewriter_scale[1] << '\n'; if (!fonts_cjk.empty()) { os << "\\font_cjk " << fonts_cjk << '\n'; @@ -1373,7 +1387,7 @@ void BufferParams::validate(LaTeXFeatures & features) const || useNonTeXFonts)) features.require("polyglossia"); - if (useNonTeXFonts && fonts_math != "auto") + if (useNonTeXFonts && fontsMath() != "auto") features.require("unicode-math"); if (!language->requires().empty()) @@ -1540,7 +1554,7 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features, string const ams = features.loadAMSPackages(); bool const ot1 = (font_encoding() == "default" || font_encoding() == "OT1"); bool const use_newtxmath = - theLaTeXFonts().getLaTeXFont(from_ascii(fonts_math)).getUsedPackage( + theLaTeXFonts().getLaTeXFont(from_ascii(fontsMath())).getUsedPackage( ot1, false, false) == "newtxmath"; if ((useNonTeXFonts || use_newtxmath) && !ams.empty()) os << from_ascii(ams); @@ -3033,9 +3047,9 @@ string const BufferParams::parseFontName(string const & name) const string const BufferParams::loadFonts(LaTeXFeatures & features) const { - if (fonts_roman == "default" && fonts_sans == "default" - && fonts_typewriter == "default" - && (fonts_math == "default" || fonts_math == "auto")) + if (fontsRoman() == "default" && fontsSans() == "default" + && fontsTypewriter() == "default" + && (fontsMath() == "default" || fontsMath() == "auto")) //nothing to do return string(); @@ -3064,28 +3078,28 @@ string const BufferParams::loadFonts(LaTeXFeatures & features) const string const texmapping = (features.runparams().flavor == OutputParams::XETEX) ? "Mapping=tex-text" : "Ligatures=TeX"; - if (fonts_roman != "default") { + if (fontsRoman() != "default") { os << "\\setmainfont[" << texmapping; if (fonts_old_figures) os << ",Numbers=OldStyle"; - os << "]{" << parseFontName(fonts_roman) << "}\n"; + os << "]{" << parseFontName(fontsRoman()) << "}\n"; } - if (fonts_sans != "default") { - string const sans = parseFontName(fonts_sans); - if (fonts_sans_scale != 100) + if (fontsSans() != "default") { + string const sans = parseFontName(fontsSans()); + if (fontsSansScale() != 100) os << "\\setsansfont[Scale=" - << float(fonts_sans_scale) / 100 + << float(fontsSansScale()) / 100 << "," << texmapping << "]{" << sans << "}\n"; else os << "\\setsansfont[" << texmapping << "]{" << sans << "}\n"; } - if (fonts_typewriter != "default") { - string const mono = parseFontName(fonts_typewriter); - if (fonts_typewriter_scale != 100) + if (fontsTypewriter() != "default") { + string const mono = parseFontName(fontsTypewriter()); + if (fontsTypewriterScale() != 100) os << "\\setmonofont[Scale=" - << float(fonts_typewriter_scale) / 100 + << float(fontsTypewriterScale()) / 100 << "]{" << mono << "}\n"; else @@ -3098,26 +3112,26 @@ string const BufferParams::loadFonts(LaTeXFeatures & features) const // Tex Fonts bool const ot1 = (font_encoding() == "default" || font_encoding() == "OT1"); bool const dryrun = features.runparams().dryrun; - bool const complete = (fonts_sans == "default" && fonts_typewriter == "default"); - bool const nomath = (fonts_math == "default"); + bool const complete = (fontsSans() == "default" && fontsTypewriter() == "default"); + bool const nomath = (fontsMath() == "default"); // ROMAN FONTS - os << theLaTeXFonts().getLaTeXFont(from_ascii(fonts_roman)).getLaTeXCode( + os << theLaTeXFonts().getLaTeXFont(from_ascii(fontsRoman())).getLaTeXCode( dryrun, ot1, complete, fonts_expert_sc, fonts_old_figures, nomath); // SANS SERIF - os << theLaTeXFonts().getLaTeXFont(from_ascii(fonts_sans)).getLaTeXCode( + os << theLaTeXFonts().getLaTeXFont(from_ascii(fontsSans())).getLaTeXCode( dryrun, ot1, complete, fonts_expert_sc, fonts_old_figures, - nomath, fonts_sans_scale); + nomath, fontsSansScale()); // MONOSPACED/TYPEWRITER - os << theLaTeXFonts().getLaTeXFont(from_ascii(fonts_typewriter)).getLaTeXCode( + os << theLaTeXFonts().getLaTeXFont(from_ascii(fontsTypewriter())).getLaTeXCode( dryrun, ot1, complete, fonts_expert_sc, fonts_old_figures, - nomath, fonts_typewriter_scale); + nomath, fontsTypewriterScale()); // MATH - os << theLaTeXFonts().getLaTeXFont(from_ascii(fonts_math)).getLaTeXCode( + os << theLaTeXFonts().getLaTeXFont(from_ascii(fontsMath())).getLaTeXCode( dryrun, ot1, complete, fonts_expert_sc, fonts_old_figures, nomath); diff --git a/src/BufferParams.h b/src/BufferParams.h index ba3d510be0..6b2bb47b89 100644 --- a/src/BufferParams.h +++ b/src/BufferParams.h @@ -245,14 +245,22 @@ public: std::string index_command; /// font encoding(s) requested for this document std::string fontenc; + /// the rm font: [0] for TeX fonts, [1] for non-TeX fonts + std::string fonts_roman[2]; /// the rm font - std::string fonts_roman; + std::string const & fontsRoman() const { return fonts_roman[useNonTeXFonts]; } + /// the sf font: [0] for TeX fonts, [1] for non-TeX fonts + std::string fonts_sans[2]; /// the sf font - std::string fonts_sans; + std::string const & fontsSans() const { return fonts_sans[useNonTeXFonts]; } + /// the tt font: [0] for TeX fonts, [1] for non-TeX fonts + std::string fonts_typewriter[2]; /// the tt font - std::string fonts_typewriter; + std::string const & fontsTypewriter() const { return fonts_typewriter[useNonTeXFonts]; } + /// the math font: [0] for TeX fonts, [1] for non-TeX fonts + std::string fonts_math[2]; /// the math font - std::string fonts_math; + std::string const & fontsMath() const { return fonts_math[useNonTeXFonts]; } /// the default family (rm, sf, tt) std::string fonts_default_family; /// use the fonts of the OS (OpenType, True Type) directly @@ -261,10 +269,14 @@ public: bool fonts_expert_sc; /// use Old Style Figures bool fonts_old_figures; + /// the scale factor of the sf font: [0] for TeX fonts, [1] for non-TeX fonts + int fonts_sans_scale[2]; /// the scale factor of the sf font - int fonts_sans_scale; + int fontsSansScale() const { return fonts_sans_scale[useNonTeXFonts]; } + /// the scale factor of the tt font: [0] for TeX fonts, [1] for non-TeX fonts + int fonts_typewriter_scale[2]; /// the scale factor of the tt font - int fonts_typewriter_scale; + int fontsTypewriterScale() const { return fonts_typewriter_scale[useNonTeXFonts]; } /// the font used by the CJK command std::string fonts_cjk; /// diff --git a/src/LaTeXFeatures.cpp b/src/LaTeXFeatures.cpp index fb8fb6085a..5405ce0faf 100644 --- a/src/LaTeXFeatures.cpp +++ b/src/LaTeXFeatures.cpp @@ -516,24 +516,24 @@ bool LaTeXFeatures::isProvided(string const & name) const bool const ot1 = (params_.font_encoding() == "default" || params_.font_encoding() == "OT1"); - bool const complete = (params_.fonts_sans == "default") - && (params_.fonts_typewriter == "default"); - bool const nomath = (params_.fonts_math == "default"); + bool const complete = (params_.fontsSans() == "default" + && params_.fontsTypewriter() == "default"); + bool const nomath = (params_.fontsMath() == "default"); return params_.documentClass().provides(name) || theLaTeXFonts().getLaTeXFont( - from_ascii(params_.fonts_roman)).provides(name, ot1, + from_ascii(params_.fontsRoman())).provides(name, ot1, complete, nomath) || theLaTeXFonts().getLaTeXFont( - from_ascii(params_.fonts_sans)).provides(name, ot1, + from_ascii(params_.fontsSans())).provides(name, ot1, complete, nomath) || theLaTeXFonts().getLaTeXFont( - from_ascii(params_.fonts_typewriter)).provides(name, ot1, + from_ascii(params_.fontsTypewriter())).provides(name, ot1, complete, nomath) || theLaTeXFonts().getLaTeXFont( - from_ascii(params_.fonts_math)).provides(name, ot1, + from_ascii(params_.fontsMath())).provides(name, ot1, complete, nomath); // TODO: "textbaltic" provided, if the font-encoding is "L7x" @@ -934,7 +934,7 @@ string const LaTeXFeatures::getPackages() const string const amsPackages = loadAMSPackages(); bool const ot1 = (params_.font_encoding() == "default" || params_.font_encoding() == "OT1"); bool const use_newtxmath = - theLaTeXFonts().getLaTeXFont(from_ascii(params_.fonts_math)).getUsedPackage( + theLaTeXFonts().getLaTeXFont(from_ascii(params_.fontsMath())).getUsedPackage( ot1, false, false) == "newtxmath"; if (!params_.useNonTeXFonts && !use_newtxmath && !amsPackages.empty()) diff --git a/src/frontends/qt4/GuiDocument.cpp b/src/frontends/qt4/GuiDocument.cpp index a4aa71f13a..cf64849ef5 100644 --- a/src/frontends/qt4/GuiDocument.cpp +++ b/src/frontends/qt4/GuiDocument.cpp @@ -774,7 +774,7 @@ GuiDocument::GuiDocument(GuiView & lv) outputModule->synccustomCB)); // fonts - fontModule = new UiWidget; + fontModule = new FontModule; connect(fontModule->osFontsCB, SIGNAL(clicked()), this, SLOT(change_adaptor())); connect(fontModule->osFontsCB, SIGNAL(toggled(bool)), @@ -1775,6 +1775,18 @@ void GuiDocument::languageChanged(int i) void GuiDocument::osFontsChanged(bool nontexfonts) { bool const tex_fonts = !nontexfonts; + // store current fonts + QString const font_roman = fontModule->fontsRomanCO->itemData( + fontModule->fontsRomanCO->currentIndex()).toString(); + QString const font_sans = fontModule->fontsSansCO->itemData( + fontModule->fontsSansCO->currentIndex()).toString(); + QString const font_typewriter = fontModule->fontsTypewriterCO->itemData( + fontModule->fontsTypewriterCO->currentIndex()).toString(); + QString const font_math = fontModule->fontsMathCO->itemData( + fontModule->fontsMathCO->currentIndex()).toString(); + int const font_sf_scale = fontModule->scaleSansSB->value(); + int const font_tt_scale = fontModule->scaleTypewriterSB->value(); + updateFontlist(); // store default format QString const dformat = outputModule->defaultFormatCO->itemData( @@ -1786,6 +1798,28 @@ void GuiDocument::osFontsChanged(bool nontexfonts) if (index == -1) index = 0; outputModule->defaultFormatCO->setCurrentIndex(index); + + // try to restore fonts which were selected two toggles ago + index = fontModule->fontsRomanCO->findData(fontModule->font_roman); + if (index != -1) + fontModule->fontsRomanCO->setCurrentIndex(index); + index = fontModule->fontsSansCO->findData(fontModule->font_sans); + if (index != -1) + fontModule->fontsSansCO->setCurrentIndex(index); + index = fontModule->fontsTypewriterCO->findData(fontModule->font_typewriter); + if (index != -1) + fontModule->fontsTypewriterCO->setCurrentIndex(index); + index = fontModule->fontsMathCO->findData(fontModule->font_math); + if (index != -1) + fontModule->fontsMathCO->setCurrentIndex(index); + // save fonts for next next toggle + fontModule->font_roman = font_roman; + fontModule->font_sans = font_sans; + fontModule->font_typewriter = font_typewriter; + fontModule->font_math = font_math; + fontModule->font_sf_scale = font_sf_scale; + fontModule->font_tt_scale = font_tt_scale; + langModule->encodingCO->setEnabled(tex_fonts && !langModule->defaultencodingRB->isChecked()); langModule->defaultencodingRB->setEnabled(tex_fonts); @@ -2823,21 +2857,25 @@ void GuiDocument::applyView() bp_.display_pixel_ratio = theGuiApp()->pixelRatio(); // fonts - bp_.fonts_roman = + bp_.fonts_roman[nontexfonts] = fromqstr(fontModule->fontsRomanCO-> itemData(fontModule->fontsRomanCO->currentIndex()).toString()); + bp_.fonts_roman[!nontexfonts] = fromqstr(fontModule->font_roman); - bp_.fonts_sans = + bp_.fonts_sans[nontexfonts] = fromqstr(fontModule->fontsSansCO-> itemData(fontModule->fontsSansCO->currentIndex()).toString()); + bp_.fonts_sans[!nontexfonts] = fromqstr(fontModule->font_sans); - bp_.fonts_typewriter = + bp_.fonts_typewriter[nontexfonts] = fromqstr(fontModule->fontsTypewriterCO-> itemData(fontModule->fontsTypewriterCO->currentIndex()).toString()); + bp_.fonts_typewriter[!nontexfonts] = fromqstr(fontModule->font_typewriter); - bp_.fonts_math = + bp_.fonts_math[nontexfonts] = fromqstr(fontModule->fontsMathCO-> itemData(fontModule->fontsMathCO->currentIndex()).toString()); + bp_.fonts_math[!nontexfonts] = fromqstr(fontModule->font_math); QString const fontenc = fontModule->fontencCO->itemData(fontModule->fontencCO->currentIndex()).toString(); @@ -2849,9 +2887,11 @@ void GuiDocument::applyView() bp_.fonts_cjk = fromqstr(fontModule->cjkFontLE->text()); - bp_.fonts_sans_scale = fontModule->scaleSansSB->value(); + bp_.fonts_sans_scale[nontexfonts] = fontModule->scaleSansSB->value(); + bp_.fonts_sans_scale[!nontexfonts] = fontModule->font_sf_scale; - bp_.fonts_typewriter_scale = fontModule->scaleTypewriterSB->value(); + bp_.fonts_typewriter_scale[nontexfonts] = fontModule->scaleTypewriterSB->value(); + bp_.fonts_typewriter_scale[!nontexfonts] = fontModule->font_tt_scale; bp_.fonts_expert_sc = fontModule->fontScCB->isChecked(); @@ -3269,37 +3309,41 @@ void GuiDocument::paramsToDialog() updateFontsize(documentClass().opt_fontsize(), bp_.fontsize); - QString font = toqstr(bp_.fonts_roman); + QString font = toqstr(bp_.fontsRoman()); int rpos = fontModule->fontsRomanCO->findData(font); if (rpos == -1) { rpos = fontModule->fontsRomanCO->count(); fontModule->fontsRomanCO->addItem(font + qt_(" (not installed)"), font); } fontModule->fontsRomanCO->setCurrentIndex(rpos); + fontModule->font_roman = toqstr(bp_.fonts_roman[!bp_.useNonTeXFonts]); - font = toqstr(bp_.fonts_sans); + font = toqstr(bp_.fontsSans()); int spos = fontModule->fontsSansCO->findData(font); if (spos == -1) { spos = fontModule->fontsSansCO->count(); fontModule->fontsSansCO->addItem(font + qt_(" (not installed)"), font); } fontModule->fontsSansCO->setCurrentIndex(spos); + fontModule->font_sans = toqstr(bp_.fonts_sans[!bp_.useNonTeXFonts]); - font = toqstr(bp_.fonts_typewriter); + font = toqstr(bp_.fontsTypewriter()); int tpos = fontModule->fontsTypewriterCO->findData(font); if (tpos == -1) { tpos = fontModule->fontsTypewriterCO->count(); fontModule->fontsTypewriterCO->addItem(font + qt_(" (not installed)"), font); } fontModule->fontsTypewriterCO->setCurrentIndex(tpos); + fontModule->font_typewriter = toqstr(bp_.fonts_typewriter[!bp_.useNonTeXFonts]); - font = toqstr(bp_.fonts_math); + font = toqstr(bp_.fontsMath()); int mpos = fontModule->fontsMathCO->findData(font); if (mpos == -1) { mpos = fontModule->fontsMathCO->count(); fontModule->fontsMathCO->addItem(font + qt_(" (not installed)"), font); } fontModule->fontsMathCO->setCurrentIndex(mpos); + fontModule->font_math = toqstr(bp_.fonts_math[!bp_.useNonTeXFonts]); if (bp_.useNonTeXFonts && os_fonts_available) { fontModule->fontencLA->setEnabled(false); @@ -3322,8 +3366,10 @@ void GuiDocument::paramsToDialog() fontModule->fontScCB->setChecked(bp_.fonts_expert_sc); fontModule->fontOsfCB->setChecked(bp_.fonts_old_figures); - fontModule->scaleSansSB->setValue(bp_.fonts_sans_scale); - fontModule->scaleTypewriterSB->setValue(bp_.fonts_typewriter_scale); + fontModule->scaleSansSB->setValue(bp_.fontsSansScale()); + fontModule->font_sf_scale = bp_.fonts_sans_scale[!bp_.useNonTeXFonts]; + fontModule->scaleTypewriterSB->setValue(bp_.fontsTypewriterScale()); + fontModule->font_tt_scale = bp_.fonts_typewriter_scale[!bp_.useNonTeXFonts]; int nn = findToken(GuiDocument::fontfamilies, bp_.fonts_default_family); if (nn >= 0) diff --git a/src/frontends/qt4/GuiDocument.h b/src/frontends/qt4/GuiDocument.h index c35aec3323..5bf1340fc9 100644 --- a/src/frontends/qt4/GuiDocument.h +++ b/src/frontends/qt4/GuiDocument.h @@ -51,6 +51,7 @@ class GuiIndices; class ModuleSelectionManager; class PreambleModule; class LocalLayout; +class FontModule; /// typedef void const * BufferId; @@ -134,7 +135,7 @@ private: UiWidget *textLayoutModule; UiWidget *masterChildModule; - UiWidget *fontModule; + FontModule *fontModule; UiWidget *pageLayoutModule; UiWidget *marginsModule; UiWidget *langModule; @@ -329,6 +330,25 @@ private: }; +class FontModule : public UiWidget +{ + Q_OBJECT +public: + /// The roman font currently not selected by osFontsCB->isChecked() + QString font_roman; + /// The sans font currently not selected by osFontsCB->isChecked() + QString font_sans; + /// The typewriter font currently not selected by osFontsCB->isChecked() + QString font_typewriter; + /// The math font currently not selected by osFontsCB->isChecked() + QString font_math; + /// The sans font scale currently not selected by osFontsCB->isChecked() + int font_sf_scale; + /// The typewriter font scale currently not selected by osFontsCB->isChecked() + int font_tt_scale; +}; + + } // namespace frontend } // namespace lyx diff --git a/src/tex2lyx/Preamble.cpp b/src/tex2lyx/Preamble.cpp index 4809a4ad0d..01587cc02d 100644 --- a/src/tex2lyx/Preamble.cpp +++ b/src/tex2lyx/Preamble.cpp @@ -473,16 +473,22 @@ Preamble::Preamble() : one_language(true), explicit_babel(false), //h_float_placement; //h_fontcolor; h_fontencoding = "default"; - h_font_roman = "default"; - h_font_sans = "default"; - h_font_typewriter = "default"; - h_font_math = "auto"; + h_font_roman[0] = "default"; + h_font_roman[1] = "default"; + h_font_sans[0] = "default"; + h_font_sans[1] = "default"; + h_font_typewriter[0] = "default"; + h_font_typewriter[1] = "default"; + h_font_math[0] = "auto"; + h_font_math[1] = "auto"; h_font_default_family = "default"; h_use_non_tex_fonts = false; h_font_sc = "false"; h_font_osf = "false"; - h_font_sf_scale = "100"; - h_font_tt_scale = "100"; + h_font_sf_scale[0] = "100"; + h_font_sf_scale[1] = "100"; + h_font_tt_scale[0] = "100"; + h_font_tt_scale[1] = "100"; //h_font_cjk h_graphics = "default"; h_default_output_format = "default"; @@ -684,25 +690,25 @@ void Preamble::handle_package(Parser &p, string const & name, // roman fonts if (is_known(name, known_roman_fonts)) - h_font_roman = name; + h_font_roman[0] = name; if (name == "fourier") { - h_font_roman = "utopia"; + h_font_roman[0] = "utopia"; // when font uses real small capitals if (opts == "expert") h_font_sc = "true"; } if (name == "garamondx") { - h_font_roman = "garamondx"; + h_font_roman[0] = "garamondx"; if (opts == "osfI") h_font_osf = "true"; } if (name == "libertine") { - h_font_roman = "libertine"; + h_font_roman[0] = "libertine"; // this automatically invokes biolinum - h_font_sans = "biolinum"; + h_font_sans[0] = "biolinum"; if (opts == "osf") h_font_osf = "true"; else if (opts == "lining") @@ -710,7 +716,7 @@ void Preamble::handle_package(Parser &p, string const & name, } if (name == "libertine-type1") { - h_font_roman = "libertine"; + h_font_roman[0] = "libertine"; // NOTE: contrary to libertine.sty, libertine-type1 // does not automatically invoke biolinum if (opts == "lining") @@ -721,11 +727,11 @@ void Preamble::handle_package(Parser &p, string const & name, if (name == "mathdesign") { if (opts.find("charter") != string::npos) - h_font_roman = "md-charter"; + h_font_roman[0] = "md-charter"; if (opts.find("garamond") != string::npos) - h_font_roman = "md-garamond"; + h_font_roman[0] = "md-garamond"; if (opts.find("utopia") != string::npos) - h_font_roman = "md-utopia"; + h_font_roman[0] = "md-utopia"; if (opts.find("expert") != string::npos) { h_font_sc = "true"; h_font_osf = "true"; @@ -733,22 +739,22 @@ void Preamble::handle_package(Parser &p, string const & name, } else if (name == "mathpazo") - h_font_roman = "palatino"; + h_font_roman[0] = "palatino"; else if (name == "mathptmx") - h_font_roman = "times"; + h_font_roman[0] = "times"; // sansserif fonts if (is_known(name, known_sans_fonts)) { - h_font_sans = name; + h_font_sans[0] = name; if (options.size() >= 1) { - if (scale_as_percentage(opts, h_font_sf_scale)) + if (scale_as_percentage(opts, h_font_sf_scale[0])) options.clear(); } } if (name == "biolinum-type1") { - h_font_sans = "biolinum"; + h_font_sans[0] = "biolinum"; // biolinum can have several options, e.g. [osf,scaled=0.97] string::size_type pos = opts.find("osf"); if (pos != string::npos) @@ -760,16 +766,16 @@ void Preamble::handle_package(Parser &p, string const & name, // fourier can be set as roman font _only_ // fourier as typewriter is handled in handling of \ttdefault if (name != "fourier") { - h_font_typewriter = name; + h_font_typewriter[0] = name; if (options.size() >= 1) { - if (scale_as_percentage(opts, h_font_tt_scale)) + if (scale_as_percentage(opts, h_font_tt_scale[0])) options.clear(); } } } if (name == "libertineMono-type1") { - h_font_typewriter = "libertine-mono"; + h_font_typewriter[0] = "libertine-mono"; } // font uses old-style figure @@ -778,26 +784,26 @@ void Preamble::handle_package(Parser &p, string const & name, // math fonts if (is_known(name, known_math_fonts)) - h_font_math = name; + h_font_math[0] = name; if (name == "newtxmath") { if (opts.empty()) - h_font_math = "newtxmath"; + h_font_math[0] = "newtxmath"; else if (opts == "garamondx") - h_font_math = "garamondx-ntxm"; + h_font_math[0] = "garamondx-ntxm"; else if (opts == "libertine") - h_font_math = "libertine-ntxm"; + h_font_math[0] = "libertine-ntxm"; else if (opts == "minion") - h_font_math = "minion-ntxm"; + h_font_math[0] = "minion-ntxm"; } if (name == "iwona") if (opts == "math") - h_font_math = "iwona-math"; + h_font_math[0] = "iwona-math"; if (name == "kurier") if (opts == "math") - h_font_math = "kurier-math"; + h_font_math[0] = "kurier-math"; // after the detection and handling of special cases, we can remove the // fonts, otherwise they would appear in the preamble, see bug #7856 @@ -1138,16 +1144,20 @@ bool Preamble::writeLyXHeader(ostream & os, bool subdoc, string const & outfiled << "\\language_package " << h_language_package << "\n" << "\\inputencoding " << h_inputencoding << "\n" << "\\fontencoding " << h_fontencoding << "\n" - << "\\font_roman " << h_font_roman << "\n" - << "\\font_sans " << h_font_sans << "\n" - << "\\font_typewriter " << h_font_typewriter << "\n" - << "\\font_math " << h_font_math << "\n" + << "\\font_roman \"" << h_font_roman[0] + << "\" \"" << h_font_roman[1] << "\"\n" + << "\\font_sans \"" << h_font_sans[0] << "\" \"" << h_font_sans[1] << "\"\n" + << "\\font_typewriter \"" << h_font_typewriter[0] + << "\" \"" << h_font_typewriter[1] << "\"\n" + << "\\font_math \"" << h_font_math[0] << "\" \"" << h_font_math[1] << "\"\n" << "\\font_default_family " << h_font_default_family << "\n" << "\\use_non_tex_fonts " << (h_use_non_tex_fonts ? "true" : "false") << '\n' << "\\font_sc " << h_font_sc << "\n" << "\\font_osf " << h_font_osf << "\n" - << "\\font_sf_scale " << h_font_sf_scale << "\n" - << "\\font_tt_scale " << h_font_tt_scale << '\n'; + << "\\font_sf_scale " << h_font_sf_scale[0] + << ' ' << h_font_sf_scale[1] << '\n' + << "\\font_tt_scale " << h_font_tt_scale[0] + << ' ' << h_font_tt_scale[1] << '\n'; if (!h_font_cjk.empty()) os << "\\font_cjk " << h_font_cjk << '\n'; os << "\\graphics " << h_graphics << '\n' @@ -1357,7 +1367,7 @@ void Preamble::parse(Parser & p, string const & forceclass, else if (t.cs() == "setmainfont") { // we don't care about the option p.hasOpt() ? p.getOpt() : string(); - h_font_roman = p.getArg('{', '}'); + h_font_roman[1] = p.getArg('{', '}'); } else if (t.cs() == "setsansfont" || t.cs() == "setmonofont") { @@ -1377,12 +1387,12 @@ void Preamble::parse(Parser & p, string const & forceclass, } if (t.cs() == "setsansfont") { if (!scale.empty()) - h_font_sf_scale = scale; - h_font_sans = p.getArg('{', '}'); + h_font_sf_scale[1] = scale; + h_font_sans[1] = p.getArg('{', '}'); } else { if (!scale.empty()) - h_font_tt_scale = scale; - h_font_typewriter = p.getArg('{', '}'); + h_font_tt_scale[1] = scale; + h_font_typewriter[1] = p.getArg('{', '}'); } } @@ -1528,19 +1538,19 @@ void Preamble::parse(Parser & p, string const & forceclass, // font settings if (name == "\\rmdefault") if (is_known(body, known_roman_fonts)) { - h_font_roman = body; + h_font_roman[0] = body; p.skip_spaces(); in_lyx_preamble = true; } if (name == "\\sfdefault") if (is_known(body, known_sans_fonts)) { - h_font_sans = body; + h_font_sans[0] = body; p.skip_spaces(); in_lyx_preamble = true; } if (name == "\\ttdefault") if (is_known(body, known_typewriter_fonts)) { - h_font_typewriter = body; + h_font_typewriter[0] = body; p.skip_spaces(); in_lyx_preamble = true; } diff --git a/src/tex2lyx/Preamble.h b/src/tex2lyx/Preamble.h index 71367b1af4..1c3fe66f23 100644 --- a/src/tex2lyx/Preamble.h +++ b/src/tex2lyx/Preamble.h @@ -131,16 +131,16 @@ private: std::string h_float_placement; std::string h_fontcolor; std::string h_fontencoding; - std::string h_font_math; - std::string h_font_roman; - std::string h_font_sans; - std::string h_font_typewriter; + std::string h_font_math[2]; + std::string h_font_roman[2]; + std::string h_font_sans[2]; + std::string h_font_typewriter[2]; std::string h_font_default_family; bool h_use_non_tex_fonts; std::string h_font_sc; std::string h_font_osf; - std::string h_font_sf_scale; - std::string h_font_tt_scale; + std::string h_font_sf_scale[2]; + std::string h_font_tt_scale[2]; bool h_font_cjk_set; std::string h_font_cjk; std::string h_graphics; diff --git a/src/tex2lyx/test/CJK.lyx.lyx b/src/tex2lyx/test/CJK.lyx.lyx index 552ca21568..b3e4a470d3 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.2 -\lyxformat 500 +\lyxformat 501 \begin_document \begin_header \origin roundtrip @@ -21,16 +21,16 @@ \language_package default \inputencoding utf8 \fontencoding T1 -\font_roman default -\font_sans default -\font_typewriter default -\font_math auto +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" \font_default_family default \use_non_tex_fonts false \font_sc false \font_osf false -\font_sf_scale 100 -\font_tt_scale 100 +\font_sf_scale 100 100 +\font_tt_scale 100 100 \graphics default \default_output_format default \output_sync 0 diff --git a/src/tex2lyx/test/CJKutf8.lyx.lyx b/src/tex2lyx/test/CJKutf8.lyx.lyx index f6c071123f..263abcde7e 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.2 -\lyxformat 500 +\lyxformat 501 \begin_document \begin_header \origin roundtrip @@ -21,16 +21,16 @@ \language_package default \inputencoding utf8-cjk \fontencoding T1 -\font_roman default -\font_sans default -\font_typewriter default -\font_math auto +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" \font_default_family default \use_non_tex_fonts false \font_sc false \font_osf false -\font_sf_scale 100 -\font_tt_scale 100 +\font_sf_scale 100 100 +\font_tt_scale 100 100 \graphics default \default_output_format default \output_sync 0 diff --git a/src/tex2lyx/test/DummyDocument.lyx.lyx b/src/tex2lyx/test/DummyDocument.lyx.lyx index bd0b641574..489308f100 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.2 -\lyxformat 500 +\lyxformat 501 \begin_document \begin_header \origin roundtrip @@ -10,16 +10,16 @@ \language_package none \inputencoding iso8859-15 \fontencoding T1 -\font_roman default -\font_sans default -\font_typewriter default -\font_math auto +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" \font_default_family default \use_non_tex_fonts false \font_sc false \font_osf false -\font_sf_scale 100 -\font_tt_scale 100 +\font_sf_scale 100 100 +\font_tt_scale 100 100 \graphics default \default_output_format default \output_sync 0 diff --git a/src/tex2lyx/test/Dummy~Document.lyx.lyx b/src/tex2lyx/test/Dummy~Document.lyx.lyx index 89a02ed0cb..e93a868823 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.2 -\lyxformat 500 +\lyxformat 501 \begin_document \begin_header \origin roundtrip @@ -10,16 +10,16 @@ \language_package none \inputencoding iso8859-15 \fontencoding T1 -\font_roman default -\font_sans default -\font_typewriter default -\font_math auto +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" \font_default_family default \use_non_tex_fonts false \font_sc false \font_osf false -\font_sf_scale 100 -\font_tt_scale 100 +\font_sf_scale 100 100 +\font_tt_scale 100 100 \graphics default \default_output_format default \output_sync 0 diff --git a/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx b/src/tex2lyx/test/XeTeX-polyglossia.lyx.lyx index 64d4d2116b..3bdd502221 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.2 -\lyxformat 500 +\lyxformat 501 \begin_document \begin_header \origin roundtrip @@ -20,16 +20,16 @@ \language_package default \inputencoding auto \fontencoding default -\font_roman Linux Libertine O -\font_sans Linux Biolinum O -\font_typewriter Linux Biolinum O -\font_math auto +\font_roman "default" "Linux Libertine O" +\font_sans "default" "Linux Biolinum O" +\font_typewriter "default" "Linux Biolinum O" +\font_math "auto" "auto" \font_default_family default \use_non_tex_fonts true \font_sc false \font_osf false -\font_sf_scale 75 -\font_tt_scale 100 +\font_sf_scale 100 75 +\font_tt_scale 100 100 \graphics default \default_output_format pdf4 \output_sync 0 diff --git a/src/tex2lyx/test/algo2e.lyx.lyx b/src/tex2lyx/test/algo2e.lyx.lyx index 5a32462cf3..ae6d472070 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.2 -\lyxformat 500 +\lyxformat 501 \begin_document \begin_header \origin roundtrip @@ -19,16 +19,16 @@ algorithm2e \language_package none \inputencoding iso8859-1 \fontencoding T1 -\font_roman default -\font_sans default -\font_typewriter default -\font_math auto +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" \font_default_family default \use_non_tex_fonts false \font_sc false \font_osf false -\font_sf_scale 100 -\font_tt_scale 100 +\font_sf_scale 100 100 +\font_tt_scale 100 100 \graphics default \default_output_format default \output_sync 0 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 d91072a8cc..588f67043a 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.2 -\lyxformat 500 +\lyxformat 501 \begin_document \begin_header \origin roundtrip @@ -45,16 +45,16 @@ \language_package none \inputencoding iso8859-15 \fontencoding T1 -\font_roman cmr -\font_sans berasans -\font_typewriter default -\font_math auto +\font_roman "cmr" "default" +\font_sans "berasans" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" \font_default_family sfdefault \use_non_tex_fonts false \font_sc false \font_osf false -\font_sf_scale 100 -\font_tt_scale 100 +\font_sf_scale 100 100 +\font_tt_scale 100 100 \graphics default \default_output_format default \output_sync 0 diff --git a/src/tex2lyx/test/test-insets-basic.lyx.lyx b/src/tex2lyx/test/test-insets-basic.lyx.lyx index e0d6e73b17..38bfb3870b 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.2 -\lyxformat 500 +\lyxformat 501 \begin_document \begin_header \origin roundtrip @@ -46,16 +46,16 @@ \language_package none \inputencoding iso8859-15 \fontencoding T1 -\font_roman default -\font_sans default -\font_typewriter default -\font_math auto +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" \font_default_family default \use_non_tex_fonts false \font_sc false \font_osf false -\font_sf_scale 100 -\font_tt_scale 100 +\font_sf_scale 100 100 +\font_tt_scale 100 100 \graphics default \default_output_format default \output_sync 0 diff --git a/src/tex2lyx/test/test-insets.lyx.lyx b/src/tex2lyx/test/test-insets.lyx.lyx index 2ebeb1bb71..39db027de3 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.2 -\lyxformat 500 +\lyxformat 501 \begin_document \begin_header \origin roundtrip @@ -22,16 +22,16 @@ \language_package none \inputencoding iso8859-15 \fontencoding T1 -\font_roman default -\font_sans default -\font_typewriter default -\font_math auto +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" \font_default_family default \use_non_tex_fonts false \font_sc false \font_osf false -\font_sf_scale 100 -\font_tt_scale 100 +\font_sf_scale 100 100 +\font_tt_scale 100 100 \graphics default \default_output_format default \output_sync 0 diff --git a/src/tex2lyx/test/test-memoir.lyx.lyx b/src/tex2lyx/test/test-memoir.lyx.lyx index 32fa929c03..d0232fb81e 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.2 -\lyxformat 500 +\lyxformat 501 \begin_document \begin_header \origin roundtrip @@ -17,16 +17,16 @@ \language_package default \inputencoding iso8859-15 \fontencoding T1 -\font_roman default -\font_sans default -\font_typewriter default -\font_math auto +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" \font_default_family default \use_non_tex_fonts false \font_sc false \font_osf false -\font_sf_scale 100 -\font_tt_scale 100 +\font_sf_scale 100 100 +\font_tt_scale 100 100 \graphics default \default_output_format default \output_sync 0 diff --git a/src/tex2lyx/test/test-modules.lyx.lyx b/src/tex2lyx/test/test-modules.lyx.lyx index a56bfb3c85..4bf0ef39d4 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.2 -\lyxformat 500 +\lyxformat 501 \begin_document \begin_header \origin roundtrip @@ -17,16 +17,16 @@ theorems-ams \language_package default \inputencoding iso8859-15 \fontencoding T1 -\font_roman default -\font_sans default -\font_typewriter default -\font_math auto +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" \font_default_family default \use_non_tex_fonts false \font_sc false \font_osf false -\font_sf_scale 100 -\font_tt_scale 100 +\font_sf_scale 100 100 +\font_tt_scale 100 100 \graphics default \default_output_format default \output_sync 0 diff --git a/src/tex2lyx/test/test-refstyle-theorems.lyx.lyx b/src/tex2lyx/test/test-refstyle-theorems.lyx.lyx index 5bcf213e67..e77e9e3088 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.2 -\lyxformat 500 +\lyxformat 501 \begin_document \begin_header \origin roundtrip @@ -17,16 +17,16 @@ theorems-ams \language_package default \inputencoding iso8859-15 \fontencoding T1 -\font_roman default -\font_sans default -\font_typewriter default -\font_math auto +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" \font_default_family default \use_non_tex_fonts false \font_sc false \font_osf false -\font_sf_scale 100 -\font_tt_scale 100 +\font_sf_scale 100 100 +\font_tt_scale 100 100 \graphics default \default_output_format default \output_sync 0 diff --git a/src/tex2lyx/test/test-scr.lyx.lyx b/src/tex2lyx/test/test-scr.lyx.lyx index 2f02590e98..13933c4eec 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.2 -\lyxformat 500 +\lyxformat 501 \begin_document \begin_header \origin roundtrip @@ -14,16 +14,16 @@ \language_package default \inputencoding iso8859-15 \fontencoding T1 -\font_roman default -\font_sans default -\font_typewriter default -\font_math auto +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" \font_default_family default \use_non_tex_fonts false \font_sc false \font_osf false -\font_sf_scale 100 -\font_tt_scale 100 +\font_sf_scale 100 100 +\font_tt_scale 100 100 \graphics default \default_output_format default \output_sync 0 diff --git a/src/tex2lyx/test/test-structure.lyx.lyx b/src/tex2lyx/test/test-structure.lyx.lyx index 45d1035625..3b3a2f8150 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.2 -\lyxformat 500 +\lyxformat 501 \begin_document \begin_header \origin roundtrip @@ -49,16 +49,16 @@ logicalmkup \language_package default \inputencoding iso8859-15 \fontencoding default -\font_roman default -\font_sans default -\font_typewriter default -\font_math auto +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" \font_default_family default \use_non_tex_fonts false \font_sc false \font_osf false -\font_sf_scale 100 -\font_tt_scale 100 +\font_sf_scale 100 100 +\font_tt_scale 100 100 \graphics default \default_output_format default \output_sync 1 diff --git a/src/tex2lyx/test/test.lyx.lyx b/src/tex2lyx/test/test.lyx.lyx index 4b219a6747..a4788a42a7 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.2 -\lyxformat 500 +\lyxformat 501 \begin_document \begin_header \origin roundtrip @@ -21,16 +21,16 @@ \language_package none \inputencoding auto \fontencoding default -\font_roman default -\font_sans default -\font_typewriter default -\font_math auto +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" \font_default_family default \use_non_tex_fonts false \font_sc false \font_osf false -\font_sf_scale 100 -\font_tt_scale 100 +\font_sf_scale 100 100 +\font_tt_scale 100 100 \graphics default \default_output_format default \output_sync 0 diff --git a/src/tex2lyx/test/verbatim.lyx.lyx b/src/tex2lyx/test/verbatim.lyx.lyx index d6a05c3532..00f7643a1c 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.2 -\lyxformat 500 +\lyxformat 501 \begin_document \begin_header \origin roundtrip @@ -10,16 +10,16 @@ \language_package none \inputencoding auto \fontencoding default -\font_roman default -\font_sans default -\font_typewriter default -\font_math auto +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" \font_default_family default \use_non_tex_fonts false \font_sc false \font_osf false -\font_sf_scale 100 -\font_tt_scale 100 +\font_sf_scale 100 100 +\font_tt_scale 100 100 \graphics default \default_output_format default \output_sync 0 diff --git a/src/version.h b/src/version.h index 04f4b82b1f..f6de323470 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 500 // uwestoehr: achemso layout improvement -#define LYX_FORMAT_TEX2LYX 500 +#define LYX_FORMAT_LYX 501 // gb: store both TeX and non-TeX font selections +#define LYX_FORMAT_TEX2LYX 501 #if LYX_FORMAT_TEX2LYX != LYX_FORMAT_LYX #ifndef _MSC_VER -- 2.39.2