X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFont.cpp;h=46cba97231dfea6949b0cb8875f2e54b1894cd5f;hb=3dfe917a4ed504de29ac18028936d02f856c92b1;hp=cf8ea617855cc619cc8879948ac0487fb339796f;hpb=dec437fbac739fb4d8e78842b9f9286bbaaf0971;p=lyx.git diff --git a/src/Font.cpp b/src/Font.cpp index cf8ea61785..46cba97231 100644 --- a/src/Font.cpp +++ b/src/Font.cpp @@ -189,7 +189,7 @@ docstring const Font::stateText(BufferParams * params) const os << bformat(_("Language: %1$s, "), _(language()->display())); if (bits_.number() != FONT_OFF) - os << bformat(_(" Number %1$s"), + os << " " << bformat(_("Number %1$s"), _(GUIMiscNames[bits_.number()])); return rtrim(os.str(), ", "); } @@ -272,7 +272,20 @@ int Font::latexWriteStartChanges(odocstream & os, BufferParams const & bparams, bool env = false; int count = 0; - if (language()->babel() != base.language()->babel() && + + // polyglossia or babel? + if (runparams.use_polyglossia + && language()->lang() != base.language()->lang() + && language() != prev.language()) { + if (!language()->polyglossia().empty()) { + string tmp = "\\text" + language()->polyglossia(); + if (!language()->polyglossiaOpts().empty()) + tmp += "[" + language()->polyglossiaOpts() + "]"; + tmp += "{"; + os << from_ascii(tmp); + count += tmp.length(); + } + } else if (language()->babel() != base.language()->babel() && language() != prev.language()) { if (language()->lang() == "farsi") { os << "\\textFR{"; @@ -425,7 +438,7 @@ int Font::latexWriteStartChanges(odocstream & os, BufferParams const & bparams, /// Writes ending block of LaTeX needed to close use of this font // Returns number of chars written // This one corresponds to latexWriteStartChanges(). (Asger) -int Font::latexWriteEndChanges(odocstream & os, BufferParams const & bparams, +int Font::latexWriteEndChanges(otexstream & os, BufferParams const & bparams, OutputParams const & runparams, Font const & base, Font const & next, @@ -518,7 +531,7 @@ int Font::latexWriteEndChanges(odocstream & os, BufferParams const & bparams, // We need to close the encoding even if it does not change // to do correct environment nesting Encoding const * const ascii = encodings.fromLyXName("ascii"); - pair const c = switchEncoding(os, bparams, + pair const c = switchEncoding(os.os(), bparams, runparams, *ascii); LASSERT(c.first, /**/); count += c.second;