Subject: Re: bug#41005: problem with rendering Persian text in Emacs 27

From: Amin Bandali <[email-masked]>
Date: Sat, 25 Jul 2020 11:53:19 -0400

Eli Zaretskii <[email-masked]> writes:

[...]
>
> Please help me understand what exactly do you mean by "garbled".  The
> text you show is still quite long, and I cannot easily locate it in
> that page (I don't see any "About Wikipedia" in the English version of
> that page), nor do I understand what you mean by "garbled".
>

Choosing the Persian Wikipedia was probably not the best idea, given how
busy their page is and how much material is on there, which does not
help at all when trying to find an excerpt of text in a language one
doesn't know.

Also, sorry for not being clear about what I mean by "garbled" text.
Please see <https://en.wikipedia.org/wiki/Persian_alphabet#Letters>.
In Persian alphabet, letters take different forms depending on where in
a word they appear.  The "overview table" in the above page includes
examples of the possible contextual forms for each letter.  The issue
described in this bug report is basically about Emacs using the wrong
contextual form of letters when rendering Persian text.

>
> Would it be possible instead to paste only a very small portion of the
> text, and tell exactly which part(s) of that short text are garbled,
> and how they are garbled?  Can you, for example, post a screenshot
> showing exactly which part of the Wikipedia page should be copied, and
> another screenshot of the garbled text in Emacs showing which part(s)
> are displayed incorrectly?  And please keep the pasted text as short
> as possible, because locating the garbled part(s) in text I cannot
> read which is displayed in a different font from what's in the
> screenshot can be a very frustrating and error-prone experience.
>
> Also, do you copy this from EWW or from some other Web browser?
>

Certainly.  Instead of Persian Wikipedia, let's use the Persian
translation of the GNU homepage: <https://www.gnu.org/home.fa.html>;
specifically, the first part of the first sentence of the first
paragraph (up to and including the semicolon):

گنو یک سیستم‌عامل بر مبنای نرم‌افزار آزاد است؛

I have created a very short video screencast of me walking through
reproducing the issue, by opening <https://www.gnu.org/home.fa.html> in
Debian Buster's firefox-esr (68.10.0esr (64-bit)), copying the above
excerpt from the page, and pasting into an Emacs *scratch* using C-y:

    https://p.bndl.org/emacs-persian-wrong-contextual-forms.webm

The two open Emacs instances were both launched with "emacs -Q" and are
identical; except for the second one, I did M-x column-number-mode RET
before pasting the Persian text.

I also meant to include the following in my video in case they might be
useful, but forgot to.

,----[ M-x emacs-version RET ]
| GNU Emacs 28.0.50 (build 8, x86_64-pc-linux-gnu, X toolkit, cairo
| version 1.16.0, Xaw3d scroll bars) of 2020-07-20
`----

,----[ C-h v system-configuration-options RET ]
| "--with-modules --without-gconf --without-gsettings
| --with-x-toolkit=lucid --with-xft --with-xaw3d --without-gpm
| --with-imagemagick --with-harfbuzz --prefix=/data/bandali/usr/local"
`----

>
> (I tried to explain all of this in my previous message, but
> unfortunately this reproduction recipe again presents the same
> difficulties as I tried to avoid by explaining how to provide
> information that would be easy to follow up.)
>
> Please help me understand the problem, without that I see no way of
> making any progress here.
>
> Thanks.
>

I really am trying. :-) Thank you for baring with me here, and for
trying to help find the issue, Eli; I appreciate it.

Hope this helps.

Thanks.