Behdad Esfahbod
203d71069c
[GSUB/GPOS] Check all glyph masks when matching input
13 years ago
Behdad Esfahbod
668c6046c1
[Indic] Apply Reph mask to all POS_REPH glyphs
...
Needed for upcoming changes to GSUB/GPOS mask matching.
13 years ago
Behdad Esfahbod
4be46bade2
[Indic] Fix state machine to backtrack
13 years ago
Behdad Esfahbod
cee7187447
[Indic] Move syllable tracking from Indic to generic layer
...
This is to incorporate it into GSUB/GPOS processing.
13 years ago
Behdad Esfahbod
3bf27a9f0e
[Indic] Disable conjuncts when a ZWJ happens
...
Not that the code makes any difference since the presence of ZWJ itself
causes the ligature to fail to match anyway.
13 years ago
Behdad Esfahbod
c6d904d67d
[Indic] Fix bitops typo!
...
Another 1000 down!
13 years ago
Behdad Esfahbod
55fe2cf79b
Make APPLY debug output print current index and codepoint
...
Yay!
13 years ago
Behdad Esfahbod
7bd2b04fea
Minor
13 years ago
Behdad Esfahbod
cf26510dbb
Some more...
...
Done. I promise.
13 years ago
Behdad Esfahbod
9659523ca3
More beauty in debug output!
13 years ago
Behdad Esfahbod
cf26e88a5a
Finish off debug output beautification
13 years ago
Behdad Esfahbod
d7bba01a35
Only print class name in debug output if there's one available
13 years ago
Behdad Esfahbod
85f73fa8da
Only printout class name in tracing, if one is available
...
Makes debug output much more pleasant.
13 years ago
Behdad Esfahbod
98619ce4fa
Minor
13 years ago
Behdad Esfahbod
acea183e98
Add return annotation for APPLY
13 years ago
Behdad Esfahbod
5ccfe8e215
/Minor/
13 years ago
Behdad Esfahbod
0ab8c86217
Annotate SANITIZE return values
...
More to come, for APPLY, CLOSURE, etc.
13 years ago
Behdad Esfahbod
829e814ff3
Minor
13 years ago
Behdad Esfahbod
6eec6f406d
Code reshuffling
13 years ago
Behdad Esfahbod
1e08830b4f
Beautify debug output
13 years ago
Behdad Esfahbod
6f45538017
More massaging trace messaging
13 years ago
Behdad Esfahbod
b5fa37cb69
Minor
13 years ago
Behdad Esfahbod
208109703c
Better trace message support infrastructure
...
We have varargs in the trace interface now. To be used soon...
13 years ago
Behdad Esfahbod
02b2922fbf
[Indic] Towards better Reph positioning
...
Fixed for Deva cases with two full-form consonants. Failures **way** down.
Not much left to go :-).
13 years ago
Behdad Esfahbod
74e54cf446
[Indic] Add Ra back for scripts without Reph
...
We now check that the 'rphp' table exists before forming Reph, so
we don't need to comment out Ra for those scripts.
13 years ago
Behdad Esfahbod
2b70df5cc0
[Indic] Add note re Uniscribe clusters
13 years ago
Behdad Esfahbod
21d2803133
[Indic] Do clustering like Uniscribe does
...
Hindi Wikipedia failures down to 6639 (0.938381%)!
13 years ago
Behdad Esfahbod
b20c9ebaf5
[Indic] Add test for matra group
...
The spec says: "[{M}+[N]+[H]]", and that's what Uniscribe implements.
We instead do: "{M+[N]+[H]}", which means we allow Nukta and Halant
after all Matras, not just the last one. It makes more sense.
13 years ago
Behdad Esfahbod
8df5636968
[Indic] Reorder Reph to before the Halant after Matras
...
Uniscribe doesn't do it, but we want to do as it gives the Reph the
opportunity to interact with the Matras. Test with mangal for example.
Sequence: <0930,094d,0915,094b,094d>
In test suite already.
13 years ago
Behdad Esfahbod
daf3234bdc
[Indic] Don't clear the mask for Reph
...
This was removing the mandatory global 1 bit in the mask and hence
disabling GPOS for Reph!
13 years ago
Behdad Esfahbod
7708ee23cb
[Indic] Improve Left Matra repositioning
...
Move its dependents too.
13 years ago
Behdad Esfahbod
61a58e26a5
[Indic] Add tricky reordering test cases
...
In the case of Consonant,LeftMatra,Halant, Uniscribe leaves the Halant
where it is, but we want to move it with the Matra as that makes more
logical sense.
13 years ago
Behdad Esfahbod
dbb105883c
[Indic] Do Reph repositioning in final reordering like the spec says
...
This introduced a failure, which we tracked down to a test case like this:
U+092E,U+094B,U+094D,U+0930
The final character is a Ra that should be put in a syllable of it's
own. And we do. But it will interact with the Halant before it. So
now we finally are convinced that we have to limit features to syllable
boundaries. That's coming after lunch!
13 years ago
Behdad Esfahbod
4705a70269
Minor
13 years ago
Behdad Esfahbod
4ac9e98d9d
[Indic] Reorder left matras to be closer to base
13 years ago
Behdad Esfahbod
1a1fa8c655
[Indic] Treat the standalone cluster case reusing the consonant logic
13 years ago
Behdad Esfahbod
190eb31a16
[Indic] Minor
13 years ago
Behdad Esfahbod
c5306b6861
[Indic] Handle Vowel syllables
...
Reusing the consonant logic!
13 years ago
Behdad Esfahbod
6d8e0cb74c
[Indic] Simplify Reph logic
13 years ago
Behdad Esfahbod
3d25079f8d
[Indic] Don't form Reph is Ra is the only consonant in the syllable
13 years ago
Behdad Esfahbod
b99d63ae11
[Indic] Increase max syllable length
...
20 was way too low, one could hit a syllable with 7ish consonants with it.
13 years ago
Behdad Esfahbod
a391ff50b9
[Indic] Adjust base after sorting
13 years ago
Behdad Esfahbod
d3637edb24
[Indic] Don't return for long syllables. Just not sort.
13 years ago
Behdad Esfahbod
dfa0cade7f
Fix Uniscribe clusters with multiple items
13 years ago
Behdad Esfahbod
86e5dd386a
[Indic] Don't give up syllable parsing upon junk
13 years ago
Behdad Esfahbod
ef24cc8c8e
[Indic] Towards multi-cluster syllables and final reordering
13 years ago
Behdad Esfahbod
a9844d41c6
Combine lig_id and lig_comp into one byte, to free up one for Indic
13 years ago
Behdad Esfahbod
92332e5116
Minor
13 years ago
Behdad Esfahbod
dbccf87eef
[Indic] Make room for more reordering positions
13 years ago
Behdad Esfahbod
d4480ace7f
[Indic] Improve matra vs consonant ordering
...
Another 1.5% down.
13 years ago