[Indic/GSUB] Ignore context when matching would_apply()
authorBehdad Esfahbod <behdad@behdad.org>
Thu, 23 Aug 2012 19:47:10 +0000 (15:47 -0400)
committerBehdad Esfahbod <behdad@behdad.org>
Thu, 23 Aug 2012 19:47:10 +0000 (15:47 -0400)
commit24dd4e56743c6ce5e01cb710ca9e01b3e527af58
tree4108859993924ed5a02d0589f700e0222f50e9ec
parent6732d62e78b13842ead9549c97bede25c73976cb
[Indic/GSUB] Ignore context when matching would_apply()

The MS Indic specs say "...all classifications are determined ... using
context-free substitutions."  However, testing shows that MS's Malayalam
shapers (both old and new), "match" even if there is no zero-context rule.
We follow.

Fixes below-base La (eg. Pa,H,La) with AnjaliNewLipi.ttf (old spec).
Moreover, test suite Malayalam failures are down to 312 from 875!  No
change in other scripts.

Current numbers:

BENGALI: 353996 out of 354285 tests passed. 289 failed (0.0815727%)
DEVANAGARI: 707339 out of 707394 tests passed. 55 failed (0.00777502%)
GUJARATI: 366489 out of 366506 tests passed. 17 failed (0.0046384%)
GURMUKHI: 60769 out of 60809 tests passed. 40 failed (0.0657797%)
KANNADA: 951086 out of 951913 tests passed. 827 failed (0.0868777%)
KHMER: 299106 out of 299124 tests passed. 18 failed (0.00601757%)
LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%)
MALAYALAM: 1047541 out of 1048416 tests passed. 875 failed (0.0834592%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271726 out of 271847 tests passed. 121 failed (0.0445103%)
TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%)
TELUGU: 970558 out of 970573 tests passed. 15 failed (0.00154548%)
TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%)
src/hb-ot-layout-gsubgpos-private.hh