bool const use_babel = features.useBabel();
if (use_babel) {
language_options << features.getLanguages();
- language_options << language->babel();
+ if (!language->babel().empty()) {
+ if (!language_options.str().empty())
+ language_options << ',';
+ language_options << language->babel();
+ }
if (lyxrc.language_global_options)
clsoptions << language_options.str() << ',';
}
if (inputenc == "auto") {
string const doc_encoding =
language->encoding()->latexName();
+ Encoding::Package const package =
+ language->encoding()->package();
// Create a list with all the input encodings used
// in the document
std::set<string> encodings =
features.getEncodingSet(doc_encoding);
- // thailatex does not use the inputenc package, but sets up
- // babel directly for tis620-0 encoding, therefore we must
- // not request inputenc for tis620-0 encoding
- if (!encodings.empty() || doc_encoding != "tis620-0") {
+ if (!encodings.empty() || package == Encoding::inputenc) {
os << "\\usepackage[";
std::set<string>::const_iterator it = encodings.begin();
std::set<string>::const_iterator const end = encodings.end();
}
for (; it != end; ++it)
os << ',' << from_ascii(*it);
- if (doc_encoding != "tis620-0") {
+ if (package == Encoding::inputenc) {
if (!encodings.empty())
os << ',';
os << from_ascii(doc_encoding);
os << "]{inputenc}\n";
texrow.newline();
}
- } else if (inputenc != "default" && inputenc != "tis620-0" &&
- inputenc != "ascii") {
- os << "\\usepackage[" << from_ascii(inputenc)
- << "]{inputenc}\n";
+ if (package == Encoding::CJK) {
+ os << "\\usepackage{CJK}\n";
+ texrow.newline();
+ }
+ } else if (inputenc != "default") {
+ switch (language->encoding()->package()) {
+ case Encoding::none:
+ break;
+ case Encoding::inputenc:
+ os << "\\usepackage[" << from_ascii(inputenc)
+ << "]{inputenc}\n";
+ texrow.newline();
+ break;
+ case Encoding::CJK:
+ os << "\\usepackage{CJK}\n";
+ texrow.newline();
+ break;
+ }
+ }
+
+ // The encoding "armscii8" is only available when the package "armtex" is loaded.
+ // armscii8 is used for Armenian.
+ if (language->encoding()->latexName() == "armscii8" || inputenc == "armscii8") {
+ os << "\\usepackage{armtex}\n";
texrow.newline();
}