Subject: bug#44784: Combining accent is not combining

From: Juri Linkov <[email-masked]>
Date: Sat, 21 Nov 2020 21:17:09 +0200

Sorry that I noticed this regression only now,
but it's a pretty bad-looking regression:

0. emacs -Q
1. insert to the *scratch* buffer:

ä́  і́  Я́ 

In 26.3 everything is correct, and COMBINING ACUTE ACCENT
is combined above its previous character:

Composed with the following character(s) "́" using this font:
  xft:-PfEd-DejaVu Sans Mono-normal-normal-normal-*-22-*-*-*-m-0-iso10646-1
by these glyphs:
  [0 1 1071 878 13 0 13 21 0 nil]
  [0 1 769 649 0 5 11 18 -14 [-15 -4 0]]
In 26.3 (x86_64-pc-linux-gnu, GTK+ Version 3.24.14)
Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS GLIB
NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM THREADS LIBSYSTEMD LCMS2

But in 27.1 COMBINING ACUTE ACCENT is not combined with its previous character:

Composed with the following character(s) "́" using this font:
  xfthb:-PfEd-DejaVu Sans Mono-normal-normal-normal-*-22-*-*-*-m-0-iso10646-1
by these glyphs:
  [0 1 1071 878 13 0 13 16 0 nil]
  [0 1 769 649 13 4 11 17 -13 [0 0 0]]
In 27.1 (x86_64-pc-linux-gnu, GTK+ Version 3.24.20)
Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND GPM DBUS GSETTINGS GLIB NOTIFY INOTIFY
ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD JSON
PDUMPER LCMS2 GMP

It seems in 26.3 it's correct because it uses XFT, but the problem in 27.1
is with HarfBuzz .  Maybe HarfBuzz doesn't support combining accents on
some characters?  It fails with the scripts above, but still has no problems
with plain Latin characters.