n8willis / opentype-shaping-documents

Documentation of OpenType shaping behavior
171 stars 14 forks source link

[Khmer] clig feature is mandatory #130

Closed simoncozens closed 3 years ago

simoncozens commented 3 years ago

You currently have:

Substitutions made by clig may be disabled by application-level user interfaces.

I don't think this is true. Harfbuzz has it as part of override_features_khmer, and trying to turn it off with --features=-clig seems to have no effect. The code contains these comments:

  /* Khmer spec has 'clig' as part of required shaping features:
   * "Apply feature 'clig' to form ligatures that are desired for
   * typographical correctness.", hence in overrides... */
  map->enable_feature (HB_TAG('c','l','i','g'));
n8willis commented 3 years ago

Right. I see that the MS script-dev page for Khmer also has an "X" in the 'required' column for clig, so that sounds correct.

I will try to get this (and some other smaller Khmer fixes) pushed out asap; it's been a bit trickier to get a handle on some of the deeper questions like syllable ID. Although the W3C-cg group seems like it's converging well.

In the mean time, @simoncozens, if you see any other script-specific overrides for optional/required features in other scripts, please speak up or even make a list. It's clear that "required here but not there" wasn't something I was scrutinizing back at the beginning.

simoncozens commented 3 years ago

Will do. I am currently going through the feature registry and cross-referencing with Harfbuzz and the script development specs, so will let you know.

n8willis commented 3 years ago

Fixed in f592b10.