From: Enrico Forestieri Date: Sat, 22 Dec 2012 22:06:18 +0000 (+0100) Subject: Fix bug #8467: "Corrupted NFSS tables" error when Cyrillic character in an equation X-Git-Tag: 2.1.0beta1~1057 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=25e4bf4b27b5b404e706ac7cf6f9f6c48cb57b33;p=features.git Fix bug #8467: "Corrupted NFSS tables" error when Cyrillic character in an equation --- diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp index 37fa651b64..4a009aa009 100644 --- a/src/BufferParams.cpp +++ b/src/BufferParams.cpp @@ -1447,15 +1447,27 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features, // XeTeX and LuaTeX (with OS fonts) work without fontenc if (font_encoding() != "default" && language->lang() != "japanese" && !useNonTeXFonts && !features.isProvided("fontenc")) { + docstring extra_encoding; + if (features.mustProvide("textgreek")) + extra_encoding += from_ascii("LGR"); + if (features.mustProvide("textcyr")) { + if (!extra_encoding.empty()) + extra_encoding.push_back(','); + extra_encoding += from_ascii("T2A"); + } + if (!extra_encoding.empty() && !font_encoding().empty()) + extra_encoding.push_back(','); size_t fars = language_options.str().find("farsi"); size_t arab = language_options.str().find("arabic"); if (language->lang() == "arabic_arabi" || language->lang() == "farsi" || fars != string::npos || arab != string::npos) { - os << "\\usepackage[" << from_ascii(font_encoding()) + os << "\\usepackage[" << extra_encoding + << from_ascii(font_encoding()) << ",LFE,LAE]{fontenc}\n"; } else { - os << "\\usepackage[" << from_ascii(font_encoding()) + os << "\\usepackage[" << extra_encoding + << from_ascii(font_encoding()) << "]{fontenc}\n"; } }