Commit Graph

28 Commits

Author SHA1 Message Date
Behdad Esfahbod
5143654716 [khmer] Rewrite grammar completely
Based on experimenting with Uniscribe to extract grammar and categories.

Failures down from 44 to 35:

KHMER: 299089 out of 299124 tests passed. 35 failed (0.0117008%)

We still don't enforce the one-matra rule pre-decomposition, but enforce
an order and one-matra-per-position post-decomposition.

https://github.com/harfbuzz/harfbuzz/issues/667
2018-10-01 19:23:47 +02:00
Behdad Esfahbod
c77ae40852 Rename hb-*private.hh to hb-*.hh
Sorry for the noise, downstream custom builders.  Please adjust.
2018-08-25 22:36:36 -07:00
Ebrahim Byagowi
2eaba80cbd
Minor, re-add unused mark to some of ragel defined state machines (#1005) 2018-04-24 09:04:15 +04:30
Ebrahim Byagowi
24b8b9b227 Resolve clang's used-but-marked-unused warnings 2018-04-23 11:38:45 -07:00
Behdad Esfahbod
66d7beff96 [khmer] Relax!
Apparently we don't use OT_A either.
2018-01-05 18:10:25 +00:00
Behdad Esfahbod
db0207baff [khmer] Drop another joiner 2018-01-05 18:06:00 +00:00
Behdad Esfahbod
90affe831f [khmer] Shuffle 2018-01-05 18:04:56 +00:00
Behdad Esfahbod
65795e3ca2 [khmer] Simplify grammar some more
Numbers down (from 38):

KHMER: 299090 out of 299124 tests passed. 34 failed (0.0113665%)
2018-01-05 18:03:00 +00:00
Behdad Esfahbod
e13ee93731 [khmer] Clean 2018-01-05 18:01:01 +00:00
Behdad Esfahbod
a71c7eb2ca [khmer] Limit number of joiners 2018-01-05 17:59:43 +00:00
Behdad Esfahbod
574e42e1cf [khmer] Relax number of consonants / matras allowed
New numbers (down from 39):

KHMER: 299086 out of 299124 tests passed. 38 failed (0.0127038%)
2018-01-05 17:58:02 +00:00
Behdad Esfahbod
80c870bcda [khmer] Allow Independent Vowels where stacked consonants are allowed
New numbers (down from 44):

KHMER: 299085 out of 299124 tests passed. 39 failed (0.0130381%)
2018-01-05 17:54:52 +00:00
Behdad Esfahbod
9bd486c480 [khmer] Drop some more joiners 2018-01-05 17:47:35 +00:00
Behdad Esfahbod
5278265853 [khmer] Drop some more 2018-01-05 17:46:49 +00:00
Behdad Esfahbod
efefd87f33 [khmer] Drop some more grammar 2018-01-05 17:45:48 +00:00
Behdad Esfahbod
82e6bf8e0c [khmer] Drop some more from grammar 2018-01-05 17:44:18 +00:00
Behdad Esfahbod
957e8ea8a9 [khmer] Drop final_halant_group 2018-01-05 17:43:31 +00:00
Behdad Esfahbod
bbfdbbdc5e Minor 2018-01-05 17:34:26 +00:00
Behdad Esfahbod
e6618f3bdf [khmer] Shave off some more from the grammar 2018-01-05 17:27:42 +00:00
Behdad Esfahbod
014494d5c0 [khmer] Remove unused symbol clusters 2018-01-05 17:18:12 +00:00
Behdad Esfahbod
bbac984b93 Minor 2018-01-05 17:15:31 +00:00
Behdad Esfahbod
185b68946a [khmer] Remove medials from grammar 2018-01-05 17:14:27 +00:00
Behdad Esfahbod
c265dffdf6 [khmer] Better fix for dangling final Coeng
This is how 1471cfee3b should have
been done.
2018-01-05 17:06:29 +00:00
Behdad Esfahbod
e3fdf1fc2f [khmer] Remove reph/repha support from grammar 2018-01-05 17:05:53 +00:00
Behdad Esfahbod
0d3a274de1 [khmer] Remove forced_rakar from grammar
Used by Sinhala only.
2018-01-05 17:01:37 +00:00
Behdad Esfahbod
1471cfee3b [khmer] Allow a dangling final Coeng after matras
Uniscribe seems to allow that.  New numbers:

KHMER: 299080 out of 299124 tests passed. 44 failed (0.0147096%)
2018-01-05 16:34:20 +00:00
Behdad Esfahbod
961ebf85f1 [khmer] Remove Halant from Khmer shaper 2018-01-05 15:36:53 +00:00
Behdad Esfahbod
dcf4d95fea [khmer] Split off Khmer shaper from Indic
Towards fixing https://github.com/harfbuzz/harfbuzz/issues/667
The Khmer spec is different enough from other Indic ones to require
its own grammar.

No change in functionality.  Test numbers are:

BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
GUJARATI: 366355 out of 366457 tests passed. 102 failed (0.0278341%)
GURMUKHI: 60729 out of 60747 tests passed. 18 failed (0.0296311%)
KANNADA: 951300 out of 951913 tests passed. 613 failed (0.0643966%)
KHMER: 299071 out of 299124 tests passed. 53 failed (0.0177184%)
MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
2018-01-05 14:54:31 +00:00