"uppersorbian", "uppersorbian", "english", "english", "vietnamese", "welsh",
0};
-/**
- * known polyglossia language names (including variants)
- */
-const char * const polyglossia_languages[] = {
-"albanian", "croatian", "hebrew", "norsk", "swedish", "amharic", "czech", "hindi",
-"nynorsk", "syriac", "arabic", "danish", "icelandic", "occitan", "tamil",
-"armenian", "divehi", "interlingua", "polish", "telugu", "asturian", "dutch",
-"irish", "portuges", "thai", "bahasai", "english", "italian", "romanian", "turkish",
-"bahasam", "esperanto", "lao", "russian", "turkmen", "basque", "estonian", "latin",
-"samin", "ukrainian", "bengali", "farsi", "latvian", "sanskrit", "urdu", "brazil",
-"brazilian", "finnish", "lithuanian", "scottish", "usorbian", "breton", "french",
-"lsorbian", "serbian", "vietnamese", "bulgarian", "galician", "magyar", "slovak",
-"welsh", "catalan", "german", "malayalam", "slovenian", "coptic", "greek",
-"marathi", "spanish",
-"american", "ancient", "australian", "british", "monotonic", "newzealand",
-"polytonic", 0};
-
-/**
- * the same as polyglossia_languages with .lyx names
- * please keep this in sync with polyglossia_languages line by line!
- */
-const char * const coded_polyglossia_languages[] = {
-"albanian", "croatian", "hebrew", "norsk", "swedish", "amharic", "czech", "hindi",
-"nynorsk", "syriac", "arabic_arabi", "danish", "icelandic", "occitan", "tamil",
-"armenian", "divehi", "interlingua", "polish", "telugu", "asturian", "dutch",
-"irish", "portuges", "thai", "bahasa", "english", "italian", "romanian", "turkish",
-"bahasam", "esperanto", "lao", "russian", "turkmen", "basque", "estonian", "latin",
-"samin", "ukrainian", "bengali", "farsi", "latvian", "sanskrit", "urdu", "brazilian",
-"brazilian", "finnish", "lithuanian", "scottish", "uppersorbian", "breton", "french",
-"lowersorbian", "serbian", "vietnamese", "bulgarian", "galician", "magyar", "slovak",
-"welsh", "catalan", "ngerman", "malayalam", "slovene", "coptic", "greek",
-"marathi", "spanish",
-"american", "ancientgreek", "australian", "british", "greek", "newzealand",
-"polutonikogreek", 0};
-
/// languages with english quotes (.lyx names)
const char * const known_english_quotes_languages[] = {"american", "australian",
"bahasa", "bahasam", "brazilian", "canadian", "chinese-simplified", "english",
} // anonymous namespace
+/**
+ * known polyglossia language names (including variants)
+ */
+const char * const Preamble::polyglossia_languages[] = {
+"albanian", "croatian", "hebrew", "norsk", "swedish", "amharic", "czech", "hindi",
+"nynorsk", "syriac", "arabic", "danish", "icelandic", "occitan", "tamil",
+"armenian", "divehi", "interlingua", "polish", "telugu", "asturian", "dutch",
+"irish", "portuges", "thai", "bahasai", "english", "italian", "romanian", "turkish",
+"bahasam", "esperanto", "lao", "russian", "turkmen", "basque", "estonian", "latin",
+"samin", "ukrainian", "bengali", "farsi", "latvian", "sanskrit", "urdu", "brazil",
+"brazilian", "finnish", "lithuanian", "scottish", "usorbian", "breton", "french",
+"lsorbian", "serbian", "vietnamese", "bulgarian", "galician", "magyar", "slovak",
+"welsh", "catalan", "german", "malayalam", "slovenian", "coptic", "greek",
+"marathi", "spanish",
+"american", "ancient", "australian", "british", "monotonic", "newzealand",
+"polytonic", 0};
+
+/**
+ * the same as polyglossia_languages with .lyx names
+ * please keep this in sync with polyglossia_languages line by line!
+ */
+const char * const Preamble::coded_polyglossia_languages[] = {
+"albanian", "croatian", "hebrew", "norsk", "swedish", "amharic", "czech", "hindi",
+"nynorsk", "syriac", "arabic_arabi", "danish", "icelandic", "occitan", "tamil",
+"armenian", "divehi", "interlingua", "polish", "telugu", "asturian", "dutch",
+"irish", "portuges", "thai", "bahasa", "english", "italian", "romanian", "turkish",
+"bahasam", "esperanto", "lao", "russian", "turkmen", "basque", "estonian", "latin",
+"samin", "ukrainian", "bengali", "farsi", "latvian", "sanskrit", "urdu", "brazilian",
+"brazilian", "finnish", "lithuanian", "scottish", "uppersorbian", "breton", "french",
+"lowersorbian", "serbian", "vietnamese", "bulgarian", "galician", "magyar", "slovak",
+"welsh", "catalan", "ngerman", "malayalam", "slovene", "coptic", "greek",
+"marathi", "spanish",
+"american", "ancientgreek", "australian", "british", "greek", "newzealand",
+"polutonikogreek", 0};
+
+
bool Preamble::indentParagraphs() const
{
return h_paragraph_separation == "indent";
h_use_geometry = "false";
h_use_default_options = "false";
h_use_hyperref = "0";
- h_use_refstyle = "1";
+ h_use_refstyle = "0";
h_use_packages["amsmath"] = "1";
- h_use_packages["amssymb"] = "1";
+ h_use_packages["amssymb"] = "0";
h_use_packages["esint"] = "1";
- h_use_packages["mhchem"] = "1";
- h_use_packages["mathdots"] = "1";
- h_use_packages["mathtools"] = "1";
- h_use_packages["undertilde"] = "1";
+ h_use_packages["mhchem"] = "0";
+ h_use_packages["mathdots"] = "0";
+ h_use_packages["mathtools"] = "0";
+ h_use_packages["undertilde"] = "0";
}
else if (name == "CJK") {
// It is impossible to determine the document language if CJK is used.
- // All we can do is to notify the user that he has to set this by hisself.
+ // All we can do is to notify the user that he has to set this by himself.
have_CJK = true;
// set the encoding to "auto" because it might be set to "default" by the babel handling
// and this would not be correct for CJK
- h_inputencoding = "auto";
+ if (h_inputencoding == "default")
+ h_inputencoding = "auto";
registerAutomaticallyLoadedPackage("CJK");
}
// check if the option contains a variant, if yes, extract it
string::size_type pos_var = langopts.find("variant");
string::size_type i = langopts.find(',', pos_var);
+ string::size_type k = langopts.find('=', pos_var);
if (pos_var != string::npos){
string variant;
if (i == string::npos)
- variant = langopts.substr(pos_var + 8, langopts.length() - pos_var - 9);
+ variant = langopts.substr(k + 1, langopts.length() - k - 2);
else
- variant = langopts.substr(pos_var + 8, i - pos_var - 8);
+ variant = langopts.substr(k + 1, i - k - 1);
h_language = variant;
}
p.verbatim_item();
h_font_roman = p.getArg('{', '}');
}
- else if (t.cs() == "setsansfont") {
- // we don't care about the option
- p.hasOpt() ? p.getOpt() : string();
- h_font_sans = p.getArg('{', '}');
- }
-
- else if (t.cs() == "setmonofont") {
- // we don't care about the option
- p.hasOpt() ? p.getOpt() : string();
- h_font_typewriter = p.getArg('{', '}');
+ else if (t.cs() == "setsansfont" || t.cs() == "setmonofont") {
+ // LyX currently only supports the scale option
+ string scale;
+ if (p.hasOpt()) {
+ string fontopts = p.getArg('[', ']');
+ // check if the option contains a scaling, if yes, extract it
+ string::size_type pos = fontopts.find("Scale");
+ if (pos != string::npos) {
+ string::size_type i = fontopts.find(',', pos);
+ if (i == string::npos)
+ scale = scale_as_percentage(fontopts.substr(pos + 1));
+ else
+ scale = scale_as_percentage(fontopts.substr(pos, i - pos));
+ }
+ }
+ if (t.cs() == "setsansfont") {
+ if (!scale.empty())
+ h_font_sf_scale = scale;
+ h_font_sans = p.getArg('{', '}');
+ } else {
+ if (!scale.empty())
+ h_font_tt_scale = scale;
+ h_font_typewriter = p.getArg('{', '}');
+ }
}
else if (t.cs() == "date") {
}
-string polyglossia2lyx(string const & language)
+string Preamble::polyglossia2lyx(string const & language)
{
char const * const * where = is_known(language, polyglossia_languages);
if (where)