- 23 5月, 2014 2 次提交
-
-
由 Behdad Esfahbod 提交于
Up to two of them come after all OT_A characters.
-
由 Behdad Esfahbod 提交于
Also adjust U+0953,0954 handling.
-
- 22 5月, 2014 1 次提交
-
-
由 Behdad Esfahbod 提交于
-
- 16 5月, 2014 1 次提交
-
-
由 Behdad Esfahbod 提交于
Sinhala and Telugu use "explicit" reph. That is, the reph is formed by a Ra,H,ZWJ sequence. Previously, upon detecting this sequence, we were checking checking whether the 'rphf' feature applies to the first two glyphs of the sequence. This is how the Microsoft fonts are designed. However, testing with Noto shows that apparently Uniscribe also forms the reph if the lookup ligates all three glyphs. So, try both sequences. Doesn't affect test results for Sinhala or Telugu. https://code.google.com/a/google.com/p/noto-alpha/issues/detail?id=232
-
- 26 4月, 2014 1 次提交
-
-
由 Behdad Esfahbod 提交于
-
- 19 4月, 2014 1 次提交
-
-
由 Behdad Esfahbod 提交于
commit b5a0f69e Author: Behdad Esfahbod <behdad@behdad.org> Date: Thu Oct 17 18:04:23 2013 +0200 [indic] Pass zero-context=false to would_substitute for newer scripts For scripts without an old/new spec distinction, use zero-context=false. This changes behavior in Sinhala / Khmer, but doesn't seem to regress. This will be useful and used in Javanese. The *intention* was to change zero-context from true to false for scripts that don't have old-vs-new specs. However, checking the code, looks like we essentially change zero-context to always be true; ie. we only changed things for old-spec, and we broke them. That's what causes this bug: https://bugs.freedesktop.org/show_bug.cgi?id=76705 The root of the bug is here: /* Use zero-context would_substitute() matching for new-spec of the main * Indic scripts, but not for old-spec or scripts with one spec only. */ bool zero_context = indic_plan->config->has_old_spec || !indic_plan->is_old_spec; Note that is_old_spec itself is: indic_plan->is_old_spec = indic_plan->config->has_old_spec && ((plan->map.chosen_script[0] & 0x000000FF) != '2'); It's easy to show that zero_context is now always true. What we really meant was: bool zero_context = indic_plan->config->has_old_spec && !indic_plan->is_old_spec; Ie, "&&" instead of "||". We made this change supposedly to make Javanese work. But apparently we got it working regardless! So I'm going to fix this to only change the logic for old-spec and not touch other cases.
-
- 09 4月, 2014 1 次提交
-
-
由 Behdad Esfahbod 提交于
As requested by Martin Hosken on the list.
-
- 31 12月, 2013 1 次提交
-
-
由 Behdad Esfahbod 提交于
No shaper has more than one behavior re this, so no need for a callback.
-
- 28 10月, 2013 2 次提交
-
-
由 Behdad Esfahbod 提交于
This reverts commit d5bd0590. The reasoning behind that logic was flawed and made under a misunderstanding of the original problem, and caused regressions as reported by Jonathan Kew in thread titled "tibetan marks" in Oct 2013. Apparently I have had fixed the original problem with this commit: 7e08f125 So, revert the faulty commit and everything seems to be in good shape.
-
由 Behdad Esfahbod 提交于
For Javanese (pref_len == 1) only reorder if it didn't ligate. That's sensible, and what the spec says. For other Indic (pref_len > 1) only reorder if ligated. Doesn't change any test numbers.
-
- 19 10月, 2013 3 次提交
-
-
由 Behdad Esfahbod 提交于
Bug 58714 - Kannada u+0cb0 u+200d u+0ccd u+0c95 u+0cbe does not provide same results as Windows8 https://bugs.freedesktop.org/show_bug.cgi?id=58714 Test with U+0CB0,U+200D,U+0CCD,U+0C95,U+0CBF and tunga.ttf. Improves some scripts. Improves Bengali too, but numbers are up because we produce better results than Uniscribe for some sequences now. New numbers: BENGALI: 353724 out of 354188 tests passed. 464 failed (0.131004%) DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%) GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%) GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%) KANNADA: 951190 out of 951913 tests passed. 723 failed (0.0759523%) KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%) MALAYALAM: 1048140 out of 1048334 tests passed. 194 failed (0.0185056%) ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%) TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%) TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
-
-
由 Behdad Esfahbod 提交于
Seems to be working just fine!
-
- 18 10月, 2013 9 次提交
-
-
由 Behdad Esfahbod 提交于
See comments from caveat! Seems to work fine. This is useful for Javanese which has an atomically encoded pre-base reordering Ra which should only be reordered if it was substituted by the pref feature.
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
Impact should be minimal and positive.
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
For scripts without an old/new spec distinction, use zero-context=false. This changes behavior in Sinhala / Khmer, but doesn't seem to regress. This will be useful and used in Javanese.
-
- 17 10月, 2013 8 次提交
-
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
Previously we planted this into the mode used for Khmer. There's not really much in common between the two, so separate again.
-
由 Behdad Esfahbod 提交于
Similar to 190c8f2b but for Sinhala.
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
Whic means these twp are applied per-syllable now. Apparently in some Khmer fonts the clig interacts with presentation features. Test case: U+1781,U+17D2,U+1789,U+17BB,U+17C6 with Mondulkiri-R.ttf should produce one big ligature.
-
由 Behdad Esfahbod 提交于
If a glyph can be both blwf and pref, we were wrongly sorting it in the post position instead of below position.
-
由 Behdad Esfahbod 提交于
Test case: U+09AC,U+09CD,U+09A6 with Lohit-Bengali 2.5.3.
-
由 Behdad Esfahbod 提交于
First, we were abusing OT_VD instead of OT_A. Fix that but moving OT_A in the grammar where it belongs (which is different from what the spec says). Also, only allow medial consonants after all other consonants. This doesn't affect any current character. Finally, fix Halant attachment in presence of medial consonants. Again, this currently doesn't affect any sequence. I lied. There's Gurmukhi U+0A75 which is Consonant_Medial. Uniscribe allows one of those in each of these positions: before matras, after matras and before syllable modifiers, and after syllable modifiers! We currently just allow unlimited numbers of it, before matras.
-
- 16 10月, 2013 8 次提交
-
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
The merge_clusters there was totally broken.
-
由 Behdad Esfahbod 提交于
Apparently Uniscribe Tamil shaper doesn't ship chubby clusters for Tamil. Adjust to that.
-
由 Behdad Esfahbod 提交于
*Shouldn't* break anything.
-
由 Behdad Esfahbod 提交于
Rachana-0.6 implements dot-reph by ligation, so we shouldn't move it. Uniscribe doesn't either. Test case: U+0D4E,U+0D1A,U+0D4D,U+0D1A,U+0D4D
-
由 Behdad Esfahbod 提交于
-
由 Behdad Esfahbod 提交于
Seems to better match Uniscribe. Note: NotoSansTelugu-Regular has kern feature, so this fixes most of the positioning failures there, except for the kern pairs blocked by a (non-)joiner, in which case we (correctly) kern, but Uniscribe doesn't.
-
由 Behdad Esfahbod 提交于
More like Uniscribe... We still allow user-defined features to work across syllables, but not pres,blws,abs,psts,etc. This "regressed" Sinhala numbers by 11. These are cases were there's Consonant followed by Ra,Halant,ZWJ at the of text. The Ra,Halant,ZWJ ends up forming reph, which is wrong... But before we were also ligating that reph with the previous consonant. That's even more wrong. That's also what Uniscribe does. Current numbers: BENGALI: 353732 out of 354188 tests passed. 456 failed (0.128745%) DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%) GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%) GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%) KANNADA: 951030 out of 951913 tests passed. 883 failed (0.0927606%) KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%) MALAYALAM: 1048140 out of 1048334 tests passed. 194 failed (0.0185056%) ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) SINHALA: 271655 out of 271847 tests passed. 192 failed (0.070628%) TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%) TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
-
- 15 10月, 2013 2 次提交
-
-
由 Behdad Esfahbod 提交于
It can come either at the end(ish!) of the syllable, or independently. When independent, it accepts a few bits and pieces.
-
由 Behdad Esfahbod 提交于
...while some don't! Improved Bengali, Devanagari, Gurmukhi, Malayalam. Updated numbers: BENGALI: 353732 out of 354188 tests passed. 456 failed (0.128745%) DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%) GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%) GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%) KANNADA: 951030 out of 951913 tests passed. 883 failed (0.0927606%) KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%) MALAYALAM: 1048134 out of 1048334 tests passed. 200 failed (0.0190779%) ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) SINHALA: 271666 out of 271847 tests passed. 181 failed (0.0665816%) TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%) TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
-