[LyX/master] \R and \L are not defined in babel with Xe/LuaTeX

Juergen Spitzmueller spitz at lyx.org
Fri Dec 23 08:10:44 UTC 2022


commit 0bb25ee3cd66c5ac78127a7ccc0d6014cb27edf4
Author: Juergen Spitzmueller <spitz at lyx.org>
Date:   Fri Dec 23 10:04:41 2022 +0100

    \R and \L are not defined in babel with Xe/LuaTeX
---
 src/Font.cpp                |    2 +-
 src/insets/InsetTabular.cpp |    2 +-
 src/output_latex.cpp        |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/Font.cpp b/src/Font.cpp
index cd741d1..0e4aa2b 100644
--- a/src/Font.cpp
+++ b/src/Font.cpp
@@ -294,7 +294,7 @@ int Font::latexWriteStartChanges(otexstream & os, BufferParams const & bparams,
 			os << "\\textLR{";
 			count += 8;
 		// currently the remaining RTL languages are arabic_arabtex and hebrew
-		} else if (isRightToLeft() != prev.isRightToLeft()) {
+		} else if (isRightToLeft() != prev.isRightToLeft() && !runparams.isFullUnicode()) {
 			if (needs_cprotection) {
 				os << "\\cprotect";
 				count += 9;
diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp
index e9c03b9..18481a5 100644
--- a/src/insets/InsetTabular.cpp
+++ b/src/insets/InsetTabular.cpp
@@ -3208,7 +3208,7 @@ void Tabular::TeXRow(otexstream & os, row_type row,
 		bool rtl = par.isRTL(buffer().params())
 			&& !par.empty()
 			&& getPWidth(cell).zero()
-			&& !runparams.use_polyglossia;
+			&& !runparams.isFullUnicode();
 
 		if (rtl) {
 			string const lang =
diff --git a/src/output_latex.cpp b/src/output_latex.cpp
index 1061f3d..04d63ae 100644
--- a/src/output_latex.cpp
+++ b/src/output_latex.cpp
@@ -1063,7 +1063,7 @@ void TeXOnePar(Buffer const & buf,
 				else if (outer_language->lang() == "arabic_arabi")
 					os << "\\textLR{";
 				// remaining RTL languages currently is hebrew
-				else if (par_language->rightToLeft())
+				else if (par_language->rightToLeft() && !runparams.isFullUnicode())
 					os << "\\R{";
 				else
 					os << "\\L{";


More information about the lyx-cvs mailing list