GuiDocument.cpp: some languages only work with polyglossia, therefore enable non-TeX fonts when one of them is used as document language

This commit is contained in:
Uwe Stöhr 2012-06-08 05:39:00 +02:00
parent 2872f35a51
commit ceb180cebd
2 changed files with 22 additions and 1 deletions

View File

@ -1060,7 +1060,7 @@ GuiDocument::GuiDocument(GuiView & lv)
// language & quote
langModule = new UiWidget<Ui::LanguageUi>;
connect(langModule->languageCO, SIGNAL(activated(int)),
this, SLOT(change_adaptor()));
this, SLOT(languageChanged(int)));
connect(langModule->defaultencodingRB, SIGNAL(clicked()),
this, SLOT(change_adaptor()));
connect(langModule->otherencodingRB, SIGNAL(clicked()),
@ -1757,6 +1757,26 @@ void GuiDocument::deleteBoxBackgroundColor()
}
void GuiDocument::languageChanged(int i)
{
// some languages only work with polyglossia/XeTeX
string current_language = lyx::languages.getLanguage(
fromqstr(langModule->languageCO->itemData(i).toString()))->lang();
if (current_language == "ancientgreek"
|| current_language == "coptic" || current_language == "divehi"
|| current_language == "hindi" || current_language == "kurmanji"
|| current_language == "lao" || current_language == "marathi"
|| current_language == "occitan" || current_language == "sanskrit"
|| current_language == "syriac" || current_language == "tamil"
|| current_language == "telugu" || current_language == "urdu") {
fontModule->osFontsCB->setChecked(true);
fontModule->osFontsCB->setEnabled(false);
}
else
fontModule->osFontsCB->setEnabled(true);
}
void GuiDocument::osFontsChanged(bool nontexfonts)
{
bool const tex_fonts = !nontexfonts;

View File

@ -120,6 +120,7 @@ private Q_SLOTS:
void deleteNoteFontColor();
void changeBoxBackgroundColor();
void deleteBoxBackgroundColor();
void languageChanged(int);
void osFontsChanged(bool);
void branchesRename(docstring const &, docstring const &);
private: