[khmer] Rewrite most of shaper to better follow spec

System Internals / HarfBuzz - Behdad Esfahbod [behdad.org] - 31 July 2018 18:45 EDT

Khmer spec has only one reordering phase, and only simple prebase matra and Coeng-Ro reordering. Implement that. Specifically, this was done to address recognizing different orders of the matra and Coeng-Ro sequence. That said, some combinations are now reordered differently from Uniscribe. Not clear if that's intended or a bug in Uniscribe. The following two sequences render the same in Uniscribe whereas we reorder them differently:

U+17A0,U+17D2,U+179A,U+17C2 U+17A0,U+17C2,U+17D2,U+179A

For that reason, our test suite numbers regressed slightly. Used to be at 34 for fails, now at:

KHMER: 299080 out of 299124 tests passed. 44 failed (0.0147096%)

But generally a good change, and removed lots of code.

Fixes https://github.com/harfbuzz/harfbuzz/issues/1026

1a96cc82 [khmer] Rewrite most of shaper to better follow spec
src/hb-ot-shape-complex-indic-private.hh | 4 +-
src/hb-ot-shape-complex-khmer.cc | 460 ++++---------------------------
src/hb-ot-shape-complex-private.hh | 13 -
3 files changed, 64 insertions(+), 413 deletions(-)

Upstream: cgit.freedesktop.org

  • Share