Multi-pass GSUB?


While testing my patch for Bug #153927 that proposes to disable hard-coded
PUA substitution in Pango Thai module in favor of GPOS/GSUB tables if
available, I find some sequences of GSUB rules are incompletely applied.
They are rules for the combinations of tone marks and SARA AM (U+0E33),
which require rules like this:
  A    -> a1 a2 // decomposition
  T a1 -> a1 T  // reordering with chain contextual subst.
so that a string "TA" is to be processed like this:
  T A -> T a1 a2 -> a1 T b2
But what is actually done is just:
  T A -> T a1 a2
The next step seems to require either:
  a) pango_ot_ruleset_substitute() be able to move back to previous
     position (which is not the case for now), or
  b) pango_ot_ruleset_substitute() be called twice for multi-pass
So, I would like to consult which one is the intended choice for the
function call, so I'll revise my patch accordingly.

Thank you,
Theppitak Karoonboonyanan

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]