Modified:
lyx-devel/trunk/src/LaTeXFeatures.cpp
lyx-devel/trunk/src/Layout.cpp
lyx-devel/trunk/src/Layout.h
Modified: lyx-devel/trunk/src/LaTeXFeatures.cpp
==============================================================================
--- lyx-devel/trunk/src/LaTeXFeatures.cpp Thu Jan 12 21:12:03 2012
(r40606)
+++ lyx-devel/trunk/src/LaTeXFeatures.cpp Fri Jan 13 01:52:03 2012
(r40607)
@@ -1153,7 +1153,8 @@
namespace {
docstring const getFloatI18nPreamble(docstring const& type,
docstring const& name, Language const * lang,
- Encoding const& enc, bool const polyglossia)
+ Encoding const& enc, bool const polyglossia,
+ bool const unicode)
{
docstring const language = polyglossia ? from_ascii(lang->polyglossia())
: from_ascii(lang->babel());
@@ -1162,7 +1163,7 @@
docstring const bufenc = from_ascii(enc.iconvName());
docstring const s1 = docstring(1, 0xF0000);
docstring const s2 = docstring(1, 0xF0001);
- docstring const translated = (langenc == bufenc) ? name
+ docstring const translated = (unicode || langenc == bufenc) ? name
: from_ascii("\\inputencoding{") + texenc + from_ascii("}")
+ s1 + langenc + s2 + name + s1 + bufenc + s2;
@@ -1189,18 +1190,21 @@
// language dependent commands (once per document)
snippets.insert(tclass[*cit].langpreamble(buffer().language(),
buffer().params().encoding(),
- use_polyglossia));
+ use_polyglossia,
+ runparams().isFullUnicode()));
// commands for language changing (for multilanguage documents)
if ((use_babel || use_polyglossia)&& !UsedLanguages_.empty()) {
snippets.insert(tclass[*cit].babelpreamble(
buffer().language(),
buffer().params().encoding(),
- use_polyglossia));
+ use_polyglossia,
+ runparams().isFullUnicode()));
for (lang_it lit = lbeg; lit != lend; ++lit)
snippets.insert(tclass[*cit].babelpreamble(
*lit,
buffer().params().encoding(),
- use_polyglossia));
+ use_polyglossia,
+ runparams().isFullUnicode()));
}
}
if ((use_babel || use_polyglossia)&& !UsedLanguages_.empty()) {
@@ -1221,7 +1225,8 @@
snippets.insert(getFloatI18nPreamble(
type, name, buffer().language(),
buffer().params().encoding(),
- use_polyglossia));
+ use_polyglossia,
+ runparams().isFullUnicode()));
for (lang_it lit = lbeg; lit != lend; ++lit) {
string const code = (*lit)->code();
name = (*lit)->translateLayout(fl.name());
@@ -1236,7 +1241,8 @@
snippets.insert(getFloatI18nPreamble(
type, name, *lit,
buffer().params().encoding(),
- use_polyglossia));
+ use_polyglossia,
+ runparams().isFullUnicode()));
}
}
}
Modified: lyx-devel/trunk/src/Layout.cpp
==============================================================================
--- lyx-devel/trunk/src/Layout.cpp Thu Jan 12 21:12:03 2012 (r40606)
+++ lyx-devel/trunk/src/Layout.cpp Fri Jan 13 01:52:03 2012 (r40607)
@@ -862,7 +862,8 @@
namespace {
docstring const i18npreamble(Language const * lang, Encoding const& enc,
- docstring const& templ, bool const polyglossia)
+ docstring const& templ, bool const polyglossia,
+ bool const unicode)
{
if (templ.empty())
return templ;
@@ -890,7 +891,7 @@
while (regex_search(preamble, sub, reg)) {
string const key = sub.str(1);
string translated = to_utf8(lang->translateLayout(key));
- if (langenc != bufenc)
+ if (!unicode&& langenc != bufenc)
translated = "\\inputencoding{" + texenc + "}"
+ s1 + langenc + s2 + translated
+ s1 + bufenc + s2;
@@ -904,16 +905,18 @@
docstring const Layout::langpreamble(Language const * lang,
- Encoding const& enc, bool const polyglossia) const
+ Encoding const& enc, bool const polyglossia,
+ bool const unicode) const
{
- return i18npreamble(lang, enc, langpreamble_, polyglossia);
+ return i18npreamble(lang, enc, langpreamble_, polyglossia, unicode);
}
docstring const Layout::babelpreamble(Language const * lang,
- Encoding const& enc, bool const polyglossia) const
+ Encoding const& enc, bool const polyglossia,
+ bool const unicode) const
{
- return i18npreamble(lang, enc, babelpreamble_, polyglossia);
+ return i18npreamble(lang, enc, babelpreamble_, polyglossia, unicode);
}
Modified: lyx-devel/trunk/src/Layout.h
==============================================================================
--- lyx-devel/trunk/src/Layout.h Thu Jan 12 21:12:03 2012 (r40606)
+++ lyx-devel/trunk/src/Layout.h Fri Jan 13 01:52:03 2012 (r40607)
@@ -96,10 +96,10 @@
docstring const& preamble() const { return preamble_; }
/// Get language dependent macro definitions needed for this layout
/// for language \p lang
- docstring const langpreamble(Language const * lang, Encoding const&
enc, bool const polyglossia) const;
+ docstring const langpreamble(Language const * lang, Encoding const&
enc, bool const polyglossia, bool const unicode) const;
/// Get language and babel dependent macro definitions needed for
/// this layout for language \p lang
- docstring const babelpreamble(Language const * lang, Encoding const&
enc, bool const polyglossia) const;
+ docstring const babelpreamble(Language const * lang, Encoding const&
enc, bool const polyglossia, bool const unicode) const;
///
std::set<std::string> const& requires() const { return requires_; }
///