commit e158d661b924102acb87a3c92f800a463fdca408
Author: Juergen Spitzmueller <[email protected]>
Date: Mon Sep 10 12:29:22 2018 +0200
Amend 2d4ac90fd20eac once more
Only use local switch in RTL environment.
---
src/output_latex.cpp | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/output_latex.cpp b/src/output_latex.cpp
index efb8e77..f73990d 100644
--- a/src/output_latex.cpp
+++ b/src/output_latex.cpp
@@ -849,11 +849,14 @@ void TeXOnePar(Buffer const & buf,
// 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 pg_rtl_env =
- use_polyglossia && outer_language->rightToLeft() &&
!par_language->rightToLeft();
+ bool const in_polyglossia_rtl_env =
+ use_polyglossia
+ && runparams.local_font != 0
+ && outer_language->rightToLeft()
+ && !par_language->rightToLeft();
bool const localswitch = text.inset().forceLocalFontSwitch()
|| (using_begin_end && text.inset().forcePlainLayout())
- || pg_rtl_env;
+ || in_polyglossia_rtl_env;
if (localswitch) {
lang_begin_command = use_polyglossia ?
"\\text$$lang$$opts{" :
lyxrc.language_command_local;
@@ -1195,7 +1198,7 @@ void TeXOnePar(Buffer const & buf,
|| (atSameLastLangSwitchDepth(state)
&& state->lang_switch_depth_.size()
&& cur_lang != par_lang)
- || pg_rtl_env)
+ || in_polyglossia_rtl_env)
{
if (using_begin_end && !localswitch)
os << breakln;