From: Juergen Spitzmueller Date: Mon, 7 Jan 2019 12:54:23 +0000 (+0100) Subject: When using polyglossia (bidi), paragraph directions don't need to be swapped X-Git-Tag: 2.3.3~44 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=5f3c0d5acacee76b1e04b219704f5a2017bbc7d8;p=features.git When using polyglossia (bidi), paragraph directions don't need to be swapped Bidi does that. Fixes: #11399 (cherry picked from commit 9d20bc4e989c57dc5498f231d890a0550375a753) --- diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp index a16437ddac..c8c42042c6 100644 --- a/src/Paragraph.cpp +++ b/src/Paragraph.cpp @@ -2278,6 +2278,9 @@ int Paragraph::Private::startTeXParParams(BufferParams const & bparams, string const begin_tag = "\\begin"; InsetCode code = ownerCode(); bool const lastpar = runparams.isLastPar; + // RTL without the Bidi package switches the left/right logic + bool const rtl_classic = owner_->getParLanguage(bparams)->rightToLeft() + && !runparams.use_polyglossia; switch (curAlign) { case LYX_ALIGN_NONE: @@ -2287,13 +2290,13 @@ int Paragraph::Private::startTeXParParams(BufferParams const & bparams, case LYX_ALIGN_DECIMAL: break; case LYX_ALIGN_LEFT: { - if (!owner_->getParLanguage(bparams)->rightToLeft()) + if (!rtl_classic) corrected_env(os, begin_tag, "flushleft", code, lastpar, column); else corrected_env(os, begin_tag, "flushright", code, lastpar, column); break; } case LYX_ALIGN_RIGHT: { - if (!owner_->getParLanguage(bparams)->rightToLeft()) + if (!rtl_classic) corrected_env(os, begin_tag, "flushright", code, lastpar, column); else corrected_env(os, begin_tag, "flushleft", code, lastpar, column); @@ -2336,6 +2339,9 @@ bool Paragraph::Private::endTeXParParams(BufferParams const & bparams, string const end_tag = "\\par\\end"; InsetCode code = ownerCode(); bool const lastpar = runparams.isLastPar; + // RTL without the Bidi package switches the left/right logic + bool const rtl_classic = owner_->getParLanguage(bparams)->rightToLeft() + && !runparams.use_polyglossia; switch (curAlign) { case LYX_ALIGN_NONE: @@ -2345,13 +2351,13 @@ bool Paragraph::Private::endTeXParParams(BufferParams const & bparams, case LYX_ALIGN_DECIMAL: break; case LYX_ALIGN_LEFT: { - if (!owner_->getParLanguage(bparams)->rightToLeft()) + if (!rtl_classic) output = corrected_env(os, end_tag, "flushleft", code, lastpar, col); else output = corrected_env(os, end_tag, "flushright", code, lastpar, col); break; } case LYX_ALIGN_RIGHT: { - if (!owner_->getParLanguage(bparams)->rightToLeft()) + if (!rtl_classic) output = corrected_env(os, end_tag, "flushright", code, lastpar, col); else output = corrected_env(os, end_tag, "flushleft", code, lastpar, col); diff --git a/status.23x b/status.23x index 9c50dceb98..68c3a51151 100644 --- a/status.23x +++ b/status.23x @@ -83,6 +83,8 @@ What's new - Fix SVG to PNG image conversion problem with inkscape on Mac. On-screen display of SVG graphics was broken for e.g. users guide. +- Fix paragraph alignment in RTL when using polyglossia (bidi) (bug 11399). + * USER INTERFACE