mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-23 02:14:50 +00:00
Simplify and optimize a bit the special babel language detection; and add a FIXME.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26857 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
81a1ae187e
commit
bc8e829ce0
@ -1025,25 +1025,24 @@ bool BufferParams::writeLaTeX(odocstream & os, LaTeXFeatures & features,
|
|||||||
language_options << ',';
|
language_options << ',';
|
||||||
language_options << language->babel();
|
language_options << language->babel();
|
||||||
}
|
}
|
||||||
|
// FIXME: don't hardcode this!
|
||||||
// if Vietnamese is used, babel must directly be loaded
|
// if Vietnamese is used, babel must directly be loaded
|
||||||
// with language options, not in the class options, see
|
// with language options, not in the class options, see
|
||||||
// http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg129417.html
|
// http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg129417.html
|
||||||
size_t viet = language_options.str().find("vietnam");
|
//
|
||||||
// viet = string::npos when not found
|
|
||||||
// the same is for all other languages that are not directly supported by
|
// the same is for all other languages that are not directly supported by
|
||||||
// babel, but where LaTeX-packages add babel support.
|
// babel, but where LaTeX-packages add babel support.
|
||||||
// this is currently the case for Latvian, Lithuanian, and Mongolian
|
// this is currently the case for Latvian, Lithuanian, and Mongolian
|
||||||
size_t latvian = language_options.str().find("latvian");
|
//
|
||||||
size_t lithu = language_options.str().find("lithuanian");
|
|
||||||
size_t mongo = language_options.str().find("mongolian");
|
|
||||||
// if Japanese is used, babel must directly be loaded
|
// if Japanese is used, babel must directly be loaded
|
||||||
// with language options, not in the class options, see
|
// with language options, not in the class options, see
|
||||||
// http://bugzilla.lyx.org/show_bug.cgi?id=4597#c4
|
// http://bugzilla.lyx.org/show_bug.cgi?id=4597#c4
|
||||||
size_t japan = language_options.str().find("japanese");
|
|
||||||
if (lyxrc.language_global_options && !language_options.str().empty()
|
if (lyxrc.language_global_options && !language_options.str().empty()
|
||||||
&& viet == string::npos && japan == string::npos
|
&& !features.hasLanguage("vietnam")
|
||||||
&& latvian == string::npos && lithu == string::npos
|
&& !features.hasLanguage("latvian")
|
||||||
&& mongo == string::npos)
|
&& !features.hasLanguage("lithuanian")
|
||||||
|
&& !features.hasLanguage("mongolian")
|
||||||
|
&& !features.hasLanguage("japanese"))
|
||||||
clsoptions << language_options.str() << ',';
|
clsoptions << language_options.str() << ',';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -431,6 +431,18 @@ bool LaTeXFeatures::hasLanguages() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool LaTeXFeatures::hasLanguage(string const & lang) const
|
||||||
|
{
|
||||||
|
LanguageList::const_iterator cit = UsedLanguages_.begin();
|
||||||
|
LanguageList::const_iterator const end = UsedLanguages_.end();
|
||||||
|
for (; cit != end; ++cit) {
|
||||||
|
if ((*cit)->babel() == lang)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
string LaTeXFeatures::getLanguages() const
|
string LaTeXFeatures::getLanguages() const
|
||||||
{
|
{
|
||||||
ostringstream languages;
|
ostringstream languages;
|
||||||
|
@ -89,6 +89,8 @@ public:
|
|||||||
void useLanguage(Language const *);
|
void useLanguage(Language const *);
|
||||||
///
|
///
|
||||||
bool hasLanguages() const;
|
bool hasLanguages() const;
|
||||||
|
/// \return true if the passed language name is used in the document.
|
||||||
|
bool hasLanguage(std::string const & lang) const;
|
||||||
///
|
///
|
||||||
std::string getLanguages() const;
|
std::string getLanguages() const;
|
||||||
///
|
///
|
||||||
|
Loading…
Reference in New Issue
Block a user