From 1e28965589bcf5ad85ed6d75ae2e59611989f78e Mon Sep 17 00:00:00 2001 From: Juergen Spitzmueller Date: Sat, 24 Dec 2022 09:20:02 +0100 Subject: [PATCH] Do not wrap forceTLR in \L with babel and unicode engines It does not seem to be needed, the \L macro is undefined, and there does not seem to be an alternative. --- src/Paragraph.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp index 063bf324de..8f5f6f371d 100644 --- a/src/Paragraph.cpp +++ b/src/Paragraph.cpp @@ -1094,16 +1094,21 @@ void Paragraph::Private::latexInset(BufferParams const & bparams, odocstream::pos_type const len = os.os().tellp(); if (inset->forceLTR(runparams) + // babel with Xe/LuaTeX does not need a switch + // and \L is not defined there. + && (!runparams.isFullUnicode() || !runparams.use_babel) && running_font.isRightToLeft() // ERT is an exception, it should be output with no // decorations at all && inset->lyxCode() != ERT_CODE) { - if (runparams.use_polyglossia) { + if (runparams.use_polyglossia) + // (lua)bidi os << "\\LRE{"; - } else if (running_font.language()->lang() == "farsi" - || running_font.language()->lang() == "arabic_arabi") + else if (running_font.language()->lang() == "farsi" + || running_font.language()->lang() == "arabic_arabi") os << "\\textLR{" << termcmd; else + // babel classic os << "\\L{"; close = true; }