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

From: Eli Zaretskii <[email-masked]>
Date: Fri, 13 Oct 2023 09:20:00 +0300

> From: John Wiegley <[email-masked]>
> Cc: [email-masked]
> Date: Thu, 12 Oct 2023 13:40:06 -0700
> 
> >>>>> Eli Zaretskii <[email-masked]> writes:
> 
> > Please also provide the text as text, so we could compare the rendering you
> > see with what we see in other builds of Emacs. On macOS, which you seem to
> > be using, Emacs uses the system text-shaping engine, which is different from
> > HarfBuzz we use on most other platforms, so the rendering we see could be
> > different.
> 
> I’m always surprised by how much I forget to add to a bug report.
> 
> The font is Scheherazade New (great font, btw):
> 
>   https://fonts.google.com/specimen/Scheherazade+New
> 
> Here is the text:
> 
> \ayat{زيرا مُجاهِدينِ کَعبِۀ فِينَا
> 
> به بِشارَتِ لَنَهْدِيَنَّهُمْ سُبُلَنَا
> 
> مَسرور اند}

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:

	       position: 54 of 83 (64%), column: 14
	      character: ن‎ (displayed as ن‎) (codepoint 1606, #o3106, #x646)
		charset: unicode (Unicode (ISO10646))
  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: not encodable by coding system iso-latin-1-dos
		display: composed to form "نَّ" (see below)

  Composed with the following character(s) "َّ" using this font:
    harfbuzz:-outline-Courier New-regular-normal-normal-mono-32-*-*-*-c-*-iso10646-1
  by these glyphs:
    [10 12 1617 841 19 7 12 27 -20 [0 1 0]]
    [10 12 1614 1000 19 0 19 16 0 nil]
  with these character(s):
    َ (#x64e) ARABIC FATHA
    ّ (#x651) ARABIC SHADDA

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

The above is with the default font Emacs uses on Windows.  If I force
Emacs to use the Scheherazade New font, I also see the display you
expected (similar to Mellel), although the composition info is a bit
different (which is expected, as this is a different font):

  Composed with the following character(s) "َّ" using this font:
    harfbuzz:-outline-Scheherazade New-regular-normal-normal-*-23-*-*-*-p-*-iso10646-1
  by these glyphs:
    [10 12 1617 1674 0 -1 6 25 -16 [0 3 0]]
    [10 12 1614 1115 6 -1 7 9 0 nil]
  with these character(s):
    َ (#x64e) ARABIC FATHA
    ّ (#x651) ARABIC SHADDA

So it sounds like the Arabic shaping in your Emacs is not up-to-mark
or something.