Behdad Esfahbod
74ccc6a132
[Indic] Move Halant with after-base consonants
...
Normally, we attach the Halant to the previous character and move it
with it. For after-base consonants however, the Halant "belongs" to the
consonant after, so attach it so.
This fixes Bengali sequences involving post-base consonant Ya, which
should ligate with the Halant to form Ya Phala, but previously a
reordered matras was blocking the ligation.
2012-07-17 11:16:19 -04:00
Behdad Esfahbod
d5c4edcdd6
[Indic] Apply presentation-forms features all at once
...
Seems like this is what Uniscribe is doing, and does not break any fonts
we tested (with Devanagari, Malayalam, Khmer, and Bengali), while fixing
some Ra Phala sequences for Bengali with Vrinda. Fixes another 2% of
Bengali failures (a couple more to go).
2012-07-17 10:40:59 -04:00
Behdad Esfahbod
af92b4cc90
[Indic] Disable 'kern' in Uniscribe bug compatibility mode
...
Uniscribe does not apply 'kern' in the Indic module. Some of the Khmer
fonts they ship have small adjustments in the 'kern' table. Disable
'kern' in the Indic module under Uniscribe bug compatibility mode.
Fixes some 10% of the Khmer failures. Remains under 3% (excluding
dotted-circle ones).
2012-07-16 20:31:24 -04:00
Behdad Esfahbod
d96838ef95
Allow complex shapers overriding common features
...
In a new callback... Currently unused by all complex shapers.
2012-07-16 20:26:57 -04:00
Behdad Esfahbod
df50b84740
[Indic] Categorize other Khmer marks
...
Mark them the same as the Register Shifters for now. Need to rename
that category to something more sensible after all is settled.
Fixes another percent of Khmer failures. Down to under 3%!
2012-07-16 20:14:50 -04:00
Behdad Esfahbod
8e7b5882fb
[Indic] Recognize pre-base reordering Ra anywhere in the syllable
...
We were doing that only immediately after base.
Fixes another percent in the Khmer failures. About three more to go...
2012-07-16 17:04:46 -04:00
Behdad Esfahbod
7d09c98a1f
[Indic] Recognizer Register Shifter marks
...
Fixes another 6% of the Khmer failures.
2012-07-16 16:45:22 -04:00
Behdad Esfahbod
78818124b1
[Indic] Reoder pre-base reordering Ra
...
Brings down Malayalam failures from 14% down to 3%.
2012-07-16 15:49:08 -04:00
Behdad Esfahbod
1a1dbe9a27
[Indic] Rename
2012-07-16 15:41:33 -04:00
Behdad Esfahbod
46e645ec4b
[Indic] Start implementing pre-base reordering
2012-07-16 15:30:05 -04:00
Behdad Esfahbod
921ce5b17d
[Indic] Rename
...
No semantic change.
2012-07-16 15:26:56 -04:00
Behdad Esfahbod
b504e060f0
[Indic] Implement After-Main Reph positioning
...
Almost...
2012-07-16 15:21:12 -04:00
Behdad Esfahbod
17d7de91d7
[Indic] Apply 'pref' to pre-base reodering Ra
...
No reordering yet.
2012-07-16 15:20:15 -04:00
Behdad Esfahbod
362d3db8d3
[Indic] Minor
...
Should not be any semantic change. In preparation for implementing
pre-base reordering Ra.
2012-07-16 15:15:28 -04:00
Behdad Esfahbod
70fe77bb9a
Minor
2012-07-16 14:52:18 -04:00
Behdad Esfahbod
2f903215c5
Minor
2012-07-16 13:54:43 -04:00
Behdad Esfahbod
a3e04bee2c
[Indic] Reorder virama only for old Indic spec
2012-07-16 13:47:19 -04:00
Behdad Esfahbod
0de771b72d
[Indic] Categorize Khmer consonants
2012-07-16 13:39:36 -04:00
Behdad Esfahbod
29f106d7fb
[Indic] Apply Above Forms
2012-07-16 12:05:35 -04:00
Behdad Esfahbod
a2b471df82
Remove static initializers from indic
2012-06-05 15:17:44 -04:00
Behdad Esfahbod
9fc7a11469
Remove comma at the end of enum
...
As reported by Jonathan Kew on the list.
2012-06-04 08:28:19 -04:00
Behdad Esfahbod
27aba594c9
Minor
2012-05-24 15:00:01 -04:00
Behdad Esfahbod
1d6846db9e
[Indic] Apply vatu feature after cjct
...
Testing with old Deva spec this reduces failures.
Test sequence: U+0915,U+094D,U+0930.
2012-05-13 18:09:29 +02:00
Behdad Esfahbod
617f4ac46f
Refactor
2012-05-13 16:48:03 +02:00
Behdad Esfahbod
5e4e21fce4
Revert "[Indic] Refactoring"
...
This reverts commit 0831061efb
.
2012-05-13 16:46:08 +02:00
Behdad Esfahbod
3f18236a03
Fix more warnings
2012-05-13 16:20:10 +02:00
Behdad Esfahbod
9f377ed321
Fix more unused-var warnings
2012-05-13 16:13:44 +02:00
Behdad Esfahbod
eace47b173
Minor
2012-05-13 15:54:43 +02:00
Behdad Esfahbod
737dded2e0
Fix compiler warnings
2012-05-12 15:40:11 +02:00
Behdad Esfahbod
7f852b644b
Fix compiler warnings
2012-05-11 23:10:31 +02:00
Behdad Esfahbod
6a091df9b4
[Indic] Disambiguate sub vs post vs above matras
...
Bengali is at *just* above 5% now.
2012-05-11 21:42:27 +02:00
Behdad Esfahbod
9d0d319a4a
[Indic] Position Bengali Reph before matras
2012-05-11 21:36:32 +02:00
Behdad Esfahbod
f893672511
[Indic] Start categorizing Reph per script
2012-05-11 21:10:03 +02:00
Behdad Esfahbod
a913b024d8
[Indic] Apply 'init' feature for Bengali
...
Error down from 20% to 7%.
2012-05-11 20:59:26 +02:00
Behdad Esfahbod
eed903b164
[Indic] Refactor for the arrival of 'init' feature
...
Yep, on Bengali now!
2012-05-11 20:50:53 +02:00
Behdad Esfahbod
18c06e189b
[Indic] Add Uniscribe bug feature for dotted circle
...
For dotted-circle independent clusters, Uniscribe does no Reph shaping
for the exact sequence Ra+Halant+25CC. Which also is the only possible
sequence with 25CC at the end.
2012-05-11 20:02:14 +02:00
Behdad Esfahbod
0831061efb
[Indic] Refactoring
2012-05-11 19:07:58 +02:00
Behdad Esfahbod
7ea58db311
Minor
2012-05-11 18:58:57 +02:00
Behdad Esfahbod
3399a06e70
[Indic] Fix U+0952 and similar classification to match Uniscribe
...
See comments.
2012-05-11 17:54:26 +02:00
Behdad Esfahbod
11aa3ef18d
[Indic] Treat U+0951..U+0954 all similar to U+0952
2012-05-11 17:30:48 +02:00
Behdad Esfahbod
892eb78782
[Indic] Implement Uniscribe Reph+Matra+Halant bug feature
2012-05-11 16:54:40 +02:00
Behdad Esfahbod
67ea29af49
[Indic] Add example of different Uniscribe behavior
2012-05-11 16:51:23 +02:00
Behdad Esfahbod
ebe29733d4
[Indic] Add runtime Uniscribe bug compatibility mode!
...
Enable by setting envvar:
HB_OT_INDIC_OPTIONS=uniscribe-bug-compatible
Plus, LeftMatra+Halant "feature".
2012-05-11 16:43:12 +02:00
Behdad Esfahbod
616e692e29
[Indic] Add #define UNISCRIBE_BUG_COMPATIBLE 1
2012-05-11 16:25:02 +02:00
Behdad Esfahbod
6782bdae3b
[Indic] Fix Left Matra + Halant reordering
...
As can be seen in: U+092B,U+093F,U+094D
2012-05-11 16:23:43 +02:00
Behdad Esfahbod
3c2ea9481b
Minor
2012-05-11 16:23:38 +02:00
Behdad Esfahbod
668c6046c1
[Indic] Apply Reph mask to all POS_REPH glyphs
...
Needed for upcoming changes to GSUB/GPOS mask matching.
2012-05-11 15:34:13 +02:00
Behdad Esfahbod
cee7187447
[Indic] Move syllable tracking from Indic to generic layer
...
This is to incorporate it into GSUB/GPOS processing.
2012-05-11 11:41:39 +02:00
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.
2012-05-11 11:17:23 +02:00
Behdad Esfahbod
c6d904d67d
[Indic] Fix bitops typo!
...
Another 1000 down!
2012-05-11 11:07:40 +02:00