commit 2d4ac90fd20eac5a32b2d71e7de1d2c92ee2429e
Author: Juergen Spitzmueller <[email protected]>
Date: Fri Aug 24 15:02:26 2018 +0200
Fix text direction problem with polyglossia
If an RTL language is set via environment in polyglossia, only a nested
\\text<lang> command will reset the direction for LTR languages
Fixes rest of # 10111.
---
src/output_latex.cpp | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/output_latex.cpp b/src/output_latex.cpp
index 0fd9d01..4172237 100644
--- a/src/output_latex.cpp
+++ b/src/output_latex.cpp
@@ -845,9 +845,13 @@ void TeXOnePar(Buffer const & buf,
os << '{';
}
- // In some insets (such as Arguments), we cannot use \selectlanguage
+ // In some insets (such as Arguments), we cannot use \selectlanguage.
+ // Also, if an RTL language is set via environment in polyglossia,
+ // only a nested \\text<lang> command will reset the direction for LTR
+ // languages (see # 10111).
bool const localswitch = text.inset().forceLocalFontSwitch()
- || (using_begin_end && text.inset().forcePlainLayout());
+ || (using_begin_end && text.inset().forcePlainLayout())
+ || (use_polyglossia && outer_language->rightToLeft() &&
!par_language->rightToLeft());
if (localswitch) {
lang_begin_command = use_polyglossia ?
"\\text$$lang$$opts{" :
lyxrc.language_command_local;