emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-27 30a7ee5: Fix Arabic shaping when eww/shr fill the text to be re


From: Eli Zaretskii
Subject: emacs-27 30a7ee5: Fix Arabic shaping when eww/shr fill the text to be rendered
Date: Fri, 5 Jun 2020 03:57:23 -0400 (EDT)

branch: emacs-27
commit 30a7ee505aca3cc285699bae1630a28185519d99
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    Fix Arabic shaping when eww/shr fill the text to be rendered
    
    * src/hbfont.c (hbfont_shape): Don't use DIRECTION if the current
    buffer has bidi reordering disabled.  (Bug#41005)
---
 src/hbfont.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/hbfont.c b/src/hbfont.c
index 576c5fe..4b3f64e 100644
--- a/src/hbfont.c
+++ b/src/hbfont.c
@@ -26,6 +26,7 @@ along with GNU Emacs.  If not, see 
<https://www.gnu.org/licenses/>.  */
 #include "composite.h"
 #include "font.h"
 #include "dispextern.h"
+#include "buffer.h"
 
 #ifdef HAVE_NTGUI
 
@@ -438,7 +439,11 @@ hbfont_shape (Lisp_Object lgstring, Lisp_Object direction)
 
   /* If the caller didn't provide a meaningful DIRECTION, let HarfBuzz
      guess it. */
-  if (!NILP (direction))
+  if (!NILP (direction)
+      /* If they bind bidi-display-reordering to nil, the DIRECTION
+        they provide is meaningless, and we should let HarfBuzz guess
+        the real direction.  */
+      && !NILP (BVAR (current_buffer, bidi_display_reordering)))
     {
       hb_direction_t dir = HB_DIRECTION_LTR;
       if (EQ (direction, QL2R))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]