From 63af581324e9349a7d99c98744b059eb4cb9558c Mon Sep 17 00:00:00 2001 From: Juergen Spitzmueller Date: Sun, 17 Dec 2017 12:16:01 +0100 Subject: [PATCH] Do not rely on babel quotation macros for encodings other than [O]T1 Babel falls back to OT1 in these cases, which gives wrong output got the guillemots Fixes: #10947 (cherry picked from commit 64b94f81be52de33553cda5db85d824de2119a3c) --- src/insets/InsetQuotes.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/insets/InsetQuotes.cpp b/src/insets/InsetQuotes.cpp index 24be900cdd..8b5334d1d3 100644 --- a/src/insets/InsetQuotes.cpp +++ b/src/insets/InsetQuotes.cpp @@ -880,13 +880,18 @@ void InsetQuotes::latex(otexstream & os, OutputParams const & runparams) const // (ligatures not featured) qstr = quoteparams.getLaTeXQuote(quotechar, "int"); #ifdef DO_USE_DEFAULT_LANGUAGE - } else if (doclang == "default") { + } else if ((doclang == "default" #else - } else if (!runparams.use_babel || runparams.isFullUnicode()) { + } else if ((!runparams.use_babel #endif + || fontenc_ == "T2A") + || runparams.isFullUnicode()) { // Standard quotation mark macros // These are also used by babel // without fontenc (XeTeX/LuaTeX) + // We use those for T2A (russian), since + // babel falls back for ugly OT1 versions for + // the guillemots. qstr = quoteparams.getLaTeXQuote(quotechar, "ot1"); } else { // Babel shorthand quotation marks (for T1/OT1)