Subject: 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 12:03:32 +0200

> Date: Fri, 14 Dec 2018 09:50:56 +0200
> From: Khaled Hosny <[email-masked]>
> Cc: Kaushal Modi <[email-masked]>, [email-masked],
> 	[email-masked], [email-masked]
> 
> > Your data indicates that the m17n build performs character composition
> > at buffer position 34, whereas the harfbuzz build does not.  The
> > question is why.
> 
> See my earlier email, most likely the culprit is the broken Emacs to
> HarfBuzz script code mapping that we discussed earlier. HarfBuzz needs
> to know the correct script of the text to perform shaping, and it looks
> like we are passing nonsense values for certain scripts (or rather for
> certain scripts we are lucky that the mapping is not broken).

Thanks.

I don't yet have access to a GNU/Linux system with HarfBuzz installed,
so I cannot myself debug it.

I hope Mohammad will be able to look into this and either fix it or
provide more focused and detailed analysis of what is wrong, so we
could fix it.  Or maybe you could point to the problematic code and
tell more details.

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?

Thanks.