diff options
author | Eli Zaretskii <eliz@gnu.org> | 2020-06-05 10:56:01 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2020-06-05 10:56:01 +0300 |
commit | 30a7ee505aca3cc285699bae1630a28185519d99 (patch) | |
tree | d3e5bfe5179793e8677229375c78fa5a10b16ca9 /src/hbfont.c | |
parent | 7d323f07c0b540547c4aab38069972a918eff9d3 (diff) | |
download | emacs-30a7ee505aca3cc285699bae1630a28185519d99.tar.gz |
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)
Diffstat (limited to 'src/hbfont.c')
-rw-r--r-- | src/hbfont.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/hbfont.c b/src/hbfont.c index 576c5fe7f60..4b3f64ef504 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)) |