]> git.lyx.org Git - lyx.git/blobdiff - src/Font.cpp
InsetHyperlink.cpp: fix a bug I introduced in r26218
[lyx.git] / src / Font.cpp
index 94549dac3938fa4ff0d6c301a137bea6468bb783..76a716da3ac66beff9bf6d24d92fae6b3acf3665 100644 (file)
@@ -26,6 +26,7 @@
 #include "output_latex.h"
 #include "OutputParams.h"
 
+#include "support/lassert.h"
 #include "support/convert.h"
 #include "support/debug.h"
 #include "support/gettext.h"
@@ -145,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());
 }
@@ -337,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;
                }
        }
@@ -623,7 +626,7 @@ int Font::latexWriteEndChanges(odocstream & os, BufferParams const & bparams,
                Encoding const * const ascii = encodings.fromLyXName("ascii");
                pair<bool, int> const c = switchEncoding(os, bparams,
                                runparams, *ascii);
-               BOOST_ASSERT(c.first);
+               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();