Subject: bug#79285: [Patch] support :font-features in face

From: Eli Zaretskii <[email-masked]>
Date: Sun, 31 Aug 2025 12:35:05 +0300

> Cc: [email-masked]
> Date: Sun, 31 Aug 2025 12:25:32 +0300
> From: Eli Zaretskii <[email-masked]>
> 
> If I'm right, then we will need to make changes in display-engine
> functions like composition_compute_stop_pos, composition_reseat_it,
> find_composition, and others, to force the text which has such a face
> attribute to be handed to HarfBuzz for shaping.  An alternative is to
> require that use of this face attribute needs special setup of
> composition-function-table, but that is IMO worse because it will slow
> down display of the relevant characters even if they don't have the
> face with this attribute.

Or maybe it will be enough to make the change in
get_glyph_face_and_encoding, as the etc/TODO item suggests:

  instead of calling the 'encode_char' method of the font driver, we
  should invoke the 'shape' method

But this will only work if the effect of the relevant font features is
per-character, i.e. HarfBuzz doesn't need to see the entire word to
shape the characters according to the requested feature(s).  Do you
happen to know if all the features that are relevant for us can be
applied on a character-by-character basis?