X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFont.cpp;h=76a716da3ac66beff9bf6d24d92fae6b3acf3665;hb=ac3f391b46d25784f3129e24658b73c4bc15febf;hp=d3dd3bbc2ab0ed462a6c03b74262d9b3640fad2e;hpb=9abb7db46800e554f57e865a3e768602ffd9d6f1;p=lyx.git diff --git a/src/Font.cpp b/src/Font.cpp index d3dd3bbc2a..76a716da3a 100644 --- a/src/Font.cpp +++ b/src/Font.cpp @@ -26,11 +26,14 @@ #include "output_latex.h" #include "OutputParams.h" +#include "support/lassert.h" #include "support/convert.h" #include "support/debug.h" #include "support/gettext.h" #include "support/lstrings.h" +#include + using namespace std; using namespace lyx::support; @@ -143,6 +146,8 @@ void Font::update(Font const & newfont, setLanguage(default_language); else setLanguage(document_language); + else if (newfont.language() == reset_language) + setLanguage(document_language); else if (newfont.language() != ignore_language) setLanguage(newfont.language()); } @@ -335,14 +340,14 @@ FontInfo lyxRead(Lexer & lex, FontInfo const & fi) } else if (ttok == "noun") { f.setNoun(FONT_ON); } else { - lex.printError("Illegal misc type `$$Token'"); + lex.printError("Illegal misc type"); } } else if (tok == "color") { lex.next(); string const ttok = lex.getString(); setLyXColor(ttok, f); } else { - lex.printError("Unknown tag `$$Token'"); + lex.printError("Unknown tag"); error = true; } } @@ -450,8 +455,7 @@ int Font::latexWriteStartChanges(odocstream & os, BufferParams const & bparams, if (language()->encoding()->package() == Encoding::CJK) { pair const c = switchEncoding(os, bparams, - runparams, *(runparams.encoding), - *(language()->encoding())); + runparams, *(language()->encoding())); if (c.first) { open_encoding_ = true; count += c.second; @@ -619,11 +623,10 @@ int Font::latexWriteEndChanges(odocstream & os, BufferParams const & bparams, if (open_encoding_) { // We need to close the encoding even if it does not change // to do correct environment nesting - Encoding const * const ascii = encodings.getFromLyXName("ascii"); + Encoding const * const ascii = encodings.fromLyXName("ascii"); pair const c = switchEncoding(os, bparams, - runparams, *(runparams.encoding), - *ascii); - BOOST_ASSERT(c.first); + runparams, *ascii); + LASSERT(c.first, /**/); count += c.second; runparams.encoding = ascii; open_encoding_ = false; @@ -641,9 +644,8 @@ int Font::latexWriteEndChanges(odocstream & os, BufferParams const & bparams, string Font::toString(bool const toggle) const { - string lang = "ignore"; - if (language()) - lang = language()->lang(); + string const lang = (language() == reset_language) + ? "reset" : language()->lang(); ostringstream os; os << "family " << bits_.family() << '\n' @@ -664,7 +666,7 @@ string Font::toString(bool const toggle) const bool Font::fromString(string const & data, bool & toggle) { istringstream is(data); - Lexer lex(0,0); + Lexer lex; lex.setStream(is); int nset = 0; @@ -719,10 +721,7 @@ bool Font::fromString(string const & data, bool & toggle) } else if (token == "language") { string const next = lex.getString(); - if (next == "ignore") - setLanguage(ignore_language); - else - setLanguage(languages.getLanguage(next)); + setLanguage(languages.getLanguage(next)); } else if (token == "toggleall") { toggle = lex.getBool(); @@ -755,7 +754,7 @@ void Font::validate(LaTeXFeatures & features) const // probably we should put here all interface colors used for // font displaying! For now I just add this ones I know of (Jug) case Color_latex: - case Color_note: + case Color_notelabel: break; default: features.require("color");