X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFont.cpp;h=76a716da3ac66beff9bf6d24d92fae6b3acf3665;hb=ac3f391b46d25784f3129e24658b73c4bc15febf;hp=c854a363262372b449254d0fe772f2da176b4a31;hpb=1d894fd5e3d7b945d85e10da21b6f6286c8ff61e;p=lyx.git diff --git a/src/Font.cpp b/src/Font.cpp index c854a36326..76a716da3a 100644 --- a/src/Font.cpp +++ b/src/Font.cpp @@ -18,9 +18,7 @@ #include "BufferParams.h" // stateText #include "Color.h" -#include "debug.h" #include "Encoding.h" -#include "gettext.h" #include "Language.h" #include "LaTeXFeatures.h" #include "Lexer.h" @@ -28,28 +26,19 @@ #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" -using std::endl; -using std::string; -using std::ostream; -using std::ostringstream; -using std::istringstream; -using std::pair; - -#ifndef CXX_GLOBAL_CSTD -using std::strlen; -#endif +#include +using namespace std; +using namespace lyx::support; namespace lyx { -using support::ascii_lowercase; -using support::bformat; -using support::rtrim; -using support::subst; - // // Names for the GUI // @@ -157,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()); } @@ -349,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; } } @@ -464,8 +455,7 @@ int Font::latexWriteStartChanges(odocstream & os, BufferParams const & bparams, if (language()->encoding()->package() == Encoding::CJK) { pair const c = switchEncoding(os, bparams, - runparams.moving_arg, *(runparams.encoding), - *(language()->encoding())); + runparams, *(language()->encoding())); if (c.first) { open_encoding_ = true; count += c.second; @@ -633,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.moving_arg, *(runparams.encoding), - *ascii); - BOOST_ASSERT(c.first); + runparams, *ascii); + LASSERT(c.first, /**/); count += c.second; runparams.encoding = ascii; open_encoding_ = false; @@ -653,11 +642,10 @@ int Font::latexWriteEndChanges(odocstream & os, BufferParams const & bparams, } -std::string Font::toString(bool const toggle) const +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' @@ -678,7 +666,7 @@ std::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; @@ -733,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(); @@ -758,13 +743,9 @@ void Font::validate(LaTeXFeatures & features) const Language const * doc_language = bparams.language; if (bits_.noun() == FONT_ON) { - LYXERR(Debug::LATEX) << "font.noun: " - << bits_.noun() - << endl; + LYXERR(Debug::LATEX, "font.noun: " << bits_.noun()); features.require("noun"); - LYXERR(Debug::LATEX) << "Noun enabled. Font: " - << to_utf8(stateText(0)) - << endl; + LYXERR(Debug::LATEX, "Noun enabled. Font: " << to_utf8(stateText(0))); } switch (bits_.color()) { case Color_none: @@ -773,13 +754,11 @@ 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"); - LYXERR(Debug::LATEX) << "Color enabled. Font: " - << to_utf8(stateText(0)) - << endl; + LYXERR(Debug::LATEX, "Color enabled. Font: " << to_utf8(stateText(0))); } // FIXME: Do something for background and soul package? @@ -789,8 +768,7 @@ void Font::validate(LaTeXFeatures & features) const lang_ != latex_language) { features.useLanguage(lang_); - LYXERR(Debug::LATEX) << "Found language " - << lang_->lang() << endl; + LYXERR(Debug::LATEX, "Found language " << lang_->lang()); } } @@ -801,7 +779,7 @@ ostream & operator<<(ostream & os, FontState fms) } -ostream & operator<<(std::ostream & os, FontInfo const & f) +ostream & operator<<(ostream & os, FontInfo const & f) { return os << "font:" << " family " << f.family() @@ -818,7 +796,7 @@ ostream & operator<<(std::ostream & os, FontInfo const & f) } -std::ostream & operator<<(std::ostream & os, Font const & font) +ostream & operator<<(ostream & os, Font const & font) { return os << font.bits_ << " lang: " << (font.lang_ ? font.lang_->lang() : 0);