Subject: bug#66503: 29.1; Problem rendering Arabic diacriticals

From: John Wiegley <[email-masked]>
Date: Fri, 13 Oct 2023 10:04:36 -0700

>>>>> Eli Zaretskii <[email-masked]> writes:

> Thanks. Here on MS-Windows using HarfBuzz I see the same display as what you
> show for Mellel. Here's what "C-u C-x =" tells me about what Emacs did here:

Very interesting, we have very different reckonings of the buffer contents. In
both of your cases you both see the fatha and shadda at the same character
position. In my buffer, they are not at the same position:

------------------------------------------------------------------------

On the nún character:

             position: 11198 of 92599 (12%), column: 14
            character: ن‎ (displayed as ن‎) (codepoint 1606, #o3106, #x646)
              charset: unicode-bmp (Unicode Basic Multilingual Plane (U+0000..U+FFFF))
code point in charset: 0x0646
               script: arabic
               syntax: w 	which means: word
             category: .:Base, R:Strong R2L, b:Arabic
             to input: type "C-x 8 RET 646" or "C-x 8 RET ARABIC LETTER NOON"
          buffer code: #xD9 #x86
            file code: #xD9 #x86 (encoded by coding system utf-8-unix)
              display: by this font (glyph code):
    mac-ct:-*-Scheherazade New-medium-normal-normal-*-27-*-*-*-p-0-iso10646-1 (#x436)

Character code properties: customize what to show
  name: ARABIC LETTER NOON
  general-category: Lo (Letter, Other)
  decomposition: (1606) ('ن')

There are text properties here:
  fontified            t

[back]

------------------------------------------------------------------------

On the shadda between them, with my Emacs acting like it's a separate
character (so I get a cursor between the nún and the heh, razor thin as if it
were a unicode thin-space or something):

             position: 11199 of 92599 (12%), column: 15
            character: َ (displayed as َ) (codepoint 1614, #o3116, #x64e)
              charset: unicode-bmp (Unicode Basic Multilingual Plane (U+0000..U+FFFF))
code point in charset: 0x064E
               script: arabic
               syntax: w 	which means: word
             category: ^:Combining, b:Arabic
             to input: type "C-x 8 RET 64e" or "C-x 8 RET ARABIC FATHA"
          buffer code: #xD9 #x8E
            file code: #xD9 #x8E (encoded by coding system utf-8-unix)
              display: composed to form "َّ" (see below)

Composed with the following character(s) "ّ" using this font:
  mac-ct:-*-Scheherazade New-medium-normal-normal-*-27-*-*-*-p-0-iso10646-1
by these glyphs:
  [0 1 0 1634 0 -1 7 30 -19 [0 0 1]]
with these character(s):
  ّ (#x651) ARABIC SHADDA

Character code properties: customize what to show
  name: ARABIC FATHA
  old-name: ARABIC FATHAH
  general-category: Mn (Mark, Nonspacing)
  decomposition: (1614) ('َ')

There are text properties here:
  fontified            t

[back]

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2