mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-26 22:17:41 +00:00
fix bug #8211: \setotherlanguage not set for non-babel languages
This commit is contained in:
parent
89b8f380cc
commit
f42c9e50df
@ -1375,7 +1375,7 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features,
|
||||
bool const use_polyglossia = features.usePolyglossia();
|
||||
bool const global = lyxrc.language_global_options;
|
||||
if (use_babel || (use_polyglossia && global)) {
|
||||
language_options << features.getLanguages();
|
||||
language_options << features.getBabelLanguages();
|
||||
if (!language->babel().empty()) {
|
||||
if (!language_options.str().empty())
|
||||
language_options << ',';
|
||||
|
@ -701,9 +701,10 @@ void Font::validate(LaTeXFeatures & features) const
|
||||
|
||||
// FIXME: Do something for background and soul package?
|
||||
|
||||
if (lang_->babel() != doc_language->babel() &&
|
||||
lang_ != ignore_language &&
|
||||
lang_ != latex_language)
|
||||
if (((features.usePolyglossia() && lang_->polyglossia() != doc_language->polyglossia())
|
||||
|| (features.useBabel() && lang_->babel() != doc_language->babel()))
|
||||
&& lang_ != ignore_language
|
||||
&& lang_ != latex_language)
|
||||
{
|
||||
features.useLanguage(lang_);
|
||||
LYXERR(Debug::LATEX, "Found language " << lang_->lang());
|
||||
|
@ -451,7 +451,7 @@ void LaTeXFeatures::useFloat(string const & name, bool subfloat)
|
||||
|
||||
void LaTeXFeatures::useLanguage(Language const * lang)
|
||||
{
|
||||
if (!lang->babel().empty())
|
||||
if (!lang->babel().empty() || !lang->polyglossia().empty())
|
||||
UsedLanguages_.insert(lang);
|
||||
if (!lang->requires().empty())
|
||||
require(lang->requires());
|
||||
@ -503,16 +503,21 @@ bool LaTeXFeatures::hasPolyglossiaExclusiveLanguages() const
|
||||
}
|
||||
|
||||
|
||||
string LaTeXFeatures::getLanguages() const
|
||||
string LaTeXFeatures::getBabelLanguages() const
|
||||
{
|
||||
ostringstream languages;
|
||||
|
||||
bool first = true;
|
||||
LanguageList::const_iterator const begin = UsedLanguages_.begin();
|
||||
for (LanguageList::const_iterator cit = begin;
|
||||
cit != UsedLanguages_.end();
|
||||
++cit) {
|
||||
if (cit != begin)
|
||||
if ((*cit)->babel().empty())
|
||||
continue;
|
||||
if (!first)
|
||||
languages << ',';
|
||||
else
|
||||
first = false;
|
||||
languages << (*cit)->babel();
|
||||
}
|
||||
return languages.str();
|
||||
|
@ -110,7 +110,7 @@ public:
|
||||
/// check if a language is supported only by polyglossia
|
||||
bool hasPolyglossiaExclusiveLanguages() const;
|
||||
///
|
||||
std::string getLanguages() const;
|
||||
std::string getBabelLanguages() const;
|
||||
///
|
||||
std::map<std::string, std::string> getPolyglossiaLanguages() const;
|
||||
///
|
||||
|
Loading…
Reference in New Issue
Block a user