]> git.lyx.org Git - lyx.git/commitdiff
Do not load font packages with encoding "utf8-plain" (bug #7766, #7782).
authorJürgen Spitzmüller <spitz@lyx.org>
Fri, 20 Jan 2012 06:07:12 +0000 (06:07 +0000)
committerJürgen Spitzmüller <spitz@lyx.org>
Fri, 20 Jan 2012 06:07:12 +0000 (06:07 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40633 a592a061-630c-0410-9148-cb99ea01b6c8

src/Encoding.cpp

index c361418fc1aef201f936b1e3aa3583cc8077ee09..eda99026d4dd2253e692d0aba90d5157b79118d7 100644 (file)
@@ -596,11 +596,14 @@ void Encodings::validate(char_type c, LaTeXFeatures & features, bool for_mathed)
        CharInfoMap::const_iterator const it = unicodesymbols.find(c);
        if (it != unicodesymbols.end()) {
                // In mathed, c could be used both in textmode and mathmode
        CharInfoMap::const_iterator const it = unicodesymbols.find(c);
        if (it != unicodesymbols.end()) {
                // In mathed, c could be used both in textmode and mathmode
-               bool const use_math = (for_mathed && isMathCmd(c)) ||
+               bool const math_mode = for_mathed && isMathCmd(c);
+               bool const use_math = math_mode ||
                                      (!for_mathed && it->second.textcommand.empty());
                bool const use_text = (for_mathed && isTextCmd(c)) ||
                                      (!for_mathed && !it->second.textcommand.empty());
                                      (!for_mathed && it->second.textcommand.empty());
                bool const use_text = (for_mathed && isTextCmd(c)) ||
                                      (!for_mathed && !it->second.textcommand.empty());
-               if (use_math) {
+               bool const plain_utf8 = (features.runparams().encoding->name() == "utf8-plain");
+               // with utf8-plain, we only load packages when in mathed (see #7766)
+               if (math_mode || (use_math && !plain_utf8)) {
                        if (!it->second.mathpreamble.empty()) {
                                if (it->second.mathfeature) {
                                        string feats = it->second.mathpreamble;
                        if (!it->second.mathpreamble.empty()) {
                                if (it->second.mathfeature) {
                                        string feats = it->second.mathpreamble;
@@ -613,7 +616,8 @@ void Encodings::validate(char_type c, LaTeXFeatures & features, bool for_mathed)
                                        features.addPreambleSnippet(it->second.mathpreamble);
                        }
                }
                                        features.addPreambleSnippet(it->second.mathpreamble);
                        }
                }
-               if (use_text) {
+               // with utf8-plain, we do not load packages (see #7766)
+               if (use_text && !plain_utf8) {
                        if (!it->second.textpreamble.empty()) {
                                if (it->second.textfeature) {
                                        string feats = it->second.textpreamble;
                        if (!it->second.textpreamble.empty()) {
                                if (it->second.textfeature) {
                                        string feats = it->second.textpreamble;