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

From: Khaled Hosny <[email-masked]>
Date: Wed, 30 Jan 2019 00:33:30 +0200

On Sun, Jan 06, 2019 at 07:54:24PM +0200, Eli Zaretskii wrote:
> > Date: Sat, 5 Jan 2019 23:04:20 +0200
> > From: Khaled Hosny <[email-masked]>
> > Cc: [email-masked], [email-masked], [email-masked]
> > 
> > I pushed a couple of commits that does this based on my limited
> > understanding of Emacs code, please check.
> 
> Can you explain why you moved the call to
> hb_buffer_guess_segment_properties _after_ the code which sets some of
> the properties?  I cannot find anything about that in the HarfBuzz
> documentation.  Is this because guessing the unset properties can
> benefit from knowing the properties which _are_ set, such as the
> direction?

hb_buffer_guess_segment_properties() won’t guess set properties, so moving
it last was to avoid wasting time guessing properties that we will
override later anyway.

> I did it the other way around, because my mental model was: first set
> the defaults, then override them where better info is available.

hb_buffer_guess_segment_properties() is not for setting defaults (there
is no such thing as default buffer properties in HarfBuzz working
model), it is a kind of quick and dirty hack and production code should
not use it.

Regards,
Khaled