Microsoft's
USE guide says this: (emphasis mine)
Cases which require reordering should use the 'pref' feature to identify the glyph or glyphs that is or are to be reordered. Rather, the font designer is expected to use the 'pref' feature to signal when a glyph belonging to this class should be reordered through the application of the pref feature.
What does this mean? How do you use an OpenType feature to "identify" a glyph or send a "signal"? Do you really signal to the shaper that it "should" do the reordering for you?
Would it be more accurate to say "P
rebase medial consonants (CONS_MED_PRE) do not get reordered automatically by USE. If you need this, do it yourself using the 'pref' feature" - or am I missing something really clever?
Comments
In Javanese, which is processed by USE, I use a contextual substitution in the pref feature to convert the medial Ra into a pre-base stub form in some contexts. It's a nice trick.
The substitution is done correctly (pref feature processed) but the reordering doesn't happen. Digging into the Harfbuzz source a bit, it looks like the substitution flag on the glyph is being set, but is cleared somewhere and is not set when it comes to record which glyphs were affected by the pref feature.
Is this a bug or is (more likely) my expectation incorrect?