#
# NOTES:
#
+# * If we provide Polyglossia languages with different options, the default
+# options (such as "variant=american", "spelling=modern") should be
+# explicitely spelled out (in order to provide mixing of such variants).
# * Omitted elements will be treated as empty (if string) or "false"
# (if boolean).
# * When HasGuiSupport is true, the language is candidate to appear in
\languageattribute{greek}{ancient}
EndPostBabelPreamble
PolyglossiaName greek
- PolyglossiaOpts variant=ancient
+ PolyglossiaOpts "variant=ancient"
QuoteStyle french
Encoding iso8859-7
InternalEncoding true
GuiName "German (Austria)"
BabelName naustrian
PolyglossiaName german
- PolyglossiaOpts "variant=austrian,babelshorthands=true"
+ PolyglossiaOpts "variant=austrian,spelling=new,babelshorthands=true"
QuoteStyle german
Encoding iso8859-15
LangCode de_AT
End
# not yet supported by polyglossia
+# Note: If polyglossia support gets implemented, french needs
+# PolyglossiaOpts "variant=french"
Language canadien
GuiName "French (Canada)"
BabelName canadien
HasGuiSupport true
BabelName english
PolyglossiaName english
+ PolyglossiaOpts "variant=american"
QuoteStyle english
Encoding iso8859-15
LangCode en_US
GuiName "German (old spelling)"
BabelName german
PolyglossiaName german
- PolyglossiaOpts "spelling=old,babelshorthands=true"
+ PolyglossiaOpts "variant=german,spelling=old,babelshorthands=true"
QuoteStyle german
Encoding iso8859-15
LangCode de
HasGuiSupport true
BabelName ngerman
PolyglossiaName german
- PolyglossiaOpts "babelshorthands=true"
+ PolyglossiaOpts "variant=german,spelling=new,babelshorthands=true"
QuoteStyle german
Encoding iso8859-15
LangCode de_DE
GuiName "German (Switzerland)"
BabelName nswissgerman
PolyglossiaName german
- PolyglossiaOpts "variant=swiss,babelshorthands=true"
+ PolyglossiaOpts "variant=swiss,spelling=new,babelshorthands=true"
QuoteStyle danish
Encoding iso8859-15
LangCode de_CH
HasGuiSupport true
BabelName greek
PolyglossiaName greek
+ PolyglossiaOpts "variant=monotonic"
QuoteStyle french
Encoding iso8859-7
InternalEncoding true
# Currently not supported (file format change!)
# Russian orthography from the Petrine orthographic reforms of
# 1708 to the 1917 orthographic reform
+# Note: If this is enabled, russian needs to get
+# PolyglossiaOpts "spelling=modern"
# Language oldrussian
# GuiName "Russian (Petrine orthography)"
# PolyglossiaName russian
-# PolyglossiaOpts spelling=old
+# PolyglossiaOpts "spelling=old"
# LangCode ru_petr1708
# End
HasGuiSupport true
BabelName serbianc
PolyglossiaName serbian
+ PolyglossiaOpts "script=cyrillic"
QuoteStyle german
Encoding utf8
FontEncoding T2A
GuiName "Serbian (Latin)"
BabelName serbian
PolyglossiaName serbian
- PolyglossiaOpts "script=Latin"
+ PolyglossiaOpts "script=latin"
QuoteStyle german
Encoding iso8859-2
LangCode sr_RS-Latin
os << "[" << from_ascii(language->polyglossiaOpts()) << "]";
os << "{" << from_ascii(language->polyglossia()) << "}\n";
// now setup the other languages
- std::map<std::string, std::string> const polylangs =
+ set<string> const polylangs =
features.getPolyglossiaLanguages();
- for (std::map<std::string, std::string>::const_iterator mit = polylangs.begin();
+ for (set<string>::const_iterator mit = polylangs.begin();
mit != polylangs.end() ; ++mit) {
+ // We do not output the options here; they are output in
+ // the language switch commands. This is safer if multiple
+ // varieties are used.
+ if (*mit == language->polyglossia())
+ continue;
os << "\\setotherlanguage";
- if (!mit->second.empty())
- os << "[" << from_ascii(mit->second) << "]";
- os << "{" << from_ascii(mit->first) << "}\n";
+ os << "{" << from_ascii(*mit) << "}\n";
}
}
}
-std::map<std::string, std::string> LaTeXFeatures::getPolyglossiaLanguages() const
+set<string> LaTeXFeatures::getPolyglossiaLanguages() const
{
- std::map<std::string, std::string> languages;
+ set<string> languages;
LanguageList::const_iterator const begin = UsedLanguages_.begin();
for (LanguageList::const_iterator cit = begin;
cit != UsedLanguages_.end();
++cit) {
- languages[(*cit)->polyglossia()] = (*cit)->polyglossiaOpts();
+ // We do not need the variants here
+ languages.insert((*cit)->polyglossia());
}
return languages;
}