Subject: Re: bug#33729: 27.0.50; Partial glyphs not rendered for Gujarati with Harfbuzz enabled (renders fine using m17n)

From: Eli Zaretskii <[email-masked]>
Date: Fri, 14 Dec 2018 15:42:49 +0200

> Date: Fri, 14 Dec 2018 13:03:16 +0200
> From: Khaled Hosny <[email-masked]>
> Cc: [email-masked], [email-masked], [email-masked],
> 	[email-masked]
> 
> > FWIW, I looked at ftfont.c:uni_script, and I cannot find a problem
> > with it; in particular looking up in char-script-table each character
> > of the Gujarati welcome in HELLO yields 'gujarati', so I couldn't see
> > any evident Emacs issue.  Or are you saying that hb_script_from_string
> > doesn't DTRT?  Or maybe Kaushal should upgrade to a newer version of
> > HarfBuzz?
> 
> There is this FIXME:
> 
> /* FIXME: from_string wants an ISO 15924 script tag here. */
> 
> As we discussed earlier, hb_script_from_string() expects ISO 15924
> script tags, but char_script_table does not provide such tags (I don’t
> recall what it does provide exactly). We need a way to get ISO 15924
> script tags from Emacs.

Right, I forgot about that.

So you are saying that we need to generate Gujr instead of gujarati,
is that right?

Mohammad, do you need help in comping up with a solution?  There's
otf-script-alist (see fontest.el), but it goes in the opposite
direction.  We could use rassq (Frassq in C) to find the OTF script
tag by its Emacs symbol (which is returned by indexing into
Vchar_script_table), by looking in otf-script-alist.

Or maybe you prefer a seperat data structure, not limited to the OTF
tags?

Let me know if you need more help.