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)
This commit is contained in:
Eli Zaretskii 2020-06-05 10:56:01 +03:00
parent 7d323f07c0
commit 30a7ee505a

View file

@ -26,6 +26,7 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
#include "composite.h" #include "composite.h"
#include "font.h" #include "font.h"
#include "dispextern.h" #include "dispextern.h"
#include "buffer.h"
#ifdef HAVE_NTGUI #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 /* If the caller didn't provide a meaningful DIRECTION, let HarfBuzz
guess it. */ 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; hb_direction_t dir = HB_DIRECTION_LTR;
if (EQ (direction, QL2R)) if (EQ (direction, QL2R))