src/hb-ot-shape-complex-indic.cc | 2 test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/MANIFEST | 1 test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/cibu.txt | 188 ++++++++++ 3 files changed, 190 insertions(+), 1 deletion(-)
New commits: commit 94789fd6012125acc8426dd88df97f03b0948ea5 Author: Behdad Esfahbod <[email protected]> Date: Tue Feb 26 21:22:37 2013 -0500 [Indic] Sort pre-base reordering consonants with post-forms Before, we were marking them as below-form for initial reordering. However, there is a rule that says "post consonants should follow below consonsnts" for base determination purposes. Malayalam has port-form YA/VA, and RA is pre-base. As such, for a sequence like YA,Virama,YA,Virama,RA, the correct base is at index 0. But because the code was seeing RA as a below-base, it was stopping at the second YA as base, instead of jumping it as a post-base. By treating prebase-reordering consonants like post-forms, this is fixed. MALAYALAM went down from 351 to 265. Other numbers didn't change: BENGALI: 353686 out of 354188 tests passed. 502 failed (0.141733%) DEVANAGARI: 707305 out of 707394 tests passed. 89 failed (0.0125814%) GUJARATI: 366262 out of 366457 tests passed. 195 failed (0.0532122%) GURMUKHI: 60706 out of 60747 tests passed. 41 failed (0.067493%) KANNADA: 950680 out of 951913 tests passed. 1233 failed (0.129529%) KHMER: 299074 out of 299124 tests passed. 50 failed (0.0167155%) LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%) MALAYALAM: 1048069 out of 1048334 tests passed. 265 failed (0.0252782%) ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) SINHALA: 271539 out of 271847 tests passed. 308 failed (0.113299%) TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%) TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%) TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%) diff --git a/src/hb-ot-shape-complex-indic.cc b/src/hb-ot-shape-complex-indic.cc index 0beddc8..644cbb1 100644 --- a/src/hb-ot-shape-complex-indic.cc +++ b/src/hb-ot-shape-complex-indic.cc @@ -550,7 +550,7 @@ consonant_position_from_face (const indic_shape_plan_t *indic_plan, hb_face_t *face) { bool zero_context = indic_plan->is_old_spec ? false : true; - if (indic_plan->pref.would_substitute (glyphs, glyphs_len, zero_context, face)) return POS_BELOW_C; + if (indic_plan->pref.would_substitute (glyphs, glyphs_len, zero_context, face)) return POS_POST_C; if (indic_plan->blwf.would_substitute (glyphs, glyphs_len, zero_context, face)) return POS_BELOW_C; if (indic_plan->pstf.would_substitute (glyphs, glyphs_len, zero_context, face)) return POS_POST_C; return POS_BASE_C; commit 6d69a2cec158061ef097c488d08813c9503824b8 Author: Behdad Esfahbod <[email protected]> Date: Tue Feb 26 19:35:50 2013 -0500 [tests] Add Malayalam tests frim cibu diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/MANIFEST b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/MANIFEST index a6f4f00..48800d4 100644 --- a/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/MANIFEST +++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/MANIFEST @@ -1,2 +1,3 @@ +cibu.txt dot-reph.txt misc.txt diff --git a/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/cibu.txt b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/cibu.txt new file mode 100644 index 0000000..3d53867 --- /dev/null +++ b/test/shaping/texts/in-tree/shaper-indic/indic/script-malayalam/misc/cibu.txt @@ -0,0 +1,188 @@ +2ാഠ+2-ാഠ+à´²àµà´ +à´àµà´¨ +9-൹ +â¹100 +൦ +൧ +൨ +൩ +൪ +൫ +൬ +ൠ+൮ +൯ +൰ +൱ +൲ +൳ +൴ +൵ +à´ à´àµà´àµ +ഠതൠ+ഠർതàµà´¥à´ +à´ à´¨àµà´§àµ» +à´ à´¨àµà´¯à´ +à´ à´¨àµà´µà´¯à´ +ഠൽപàµà´ªà´ +à´ à´®àµà´® +à´ à´®àµà´²à´ +à´ à´²àµà´ªà´ +à´ à´² +ഠവൻ +ഠവനൠ+ഠവനàµàµ +à´ à´¸àµà´½à´¸àµ +ഠഹലàµà´¯ +ഠഺൠ+à´à´®àµà´ªà´¿àµ¿ +à´à´² +à´à´¾ +à´à´¾à´¾à´¾ +à´àµ»à´ +à´à´²àµà´² +à´à´² +à´à´³ +à´à´´ +à´à´± +à´àµ +à´à´® +à´à´³àµà´³ +à´à´® +à´àµ +à´à´¤àµ +ൠനàµà´¨àµ +à´à´à´¾à´°à´ +ൡതഠ+à´à´¨àµà´¨ +à´à´¨àµà´±àµ +à´à´²à´¿ +à´àµ»à´±àµàµ¾ +à´à´²à´ +à´à´àµà´¯à´ +à´à´°àµ +à´à´°à´ +à´à´¾à´¾à´¾ +à´à´·à´§à´ +à´àµ +à´à´£àµà´¢à´ +à´à´£àµà´£àµ +à´à´£àµà´µàµ» +à´à´¥ +à´à´®àµà´ªà´ +à´à´®àµà´°à´ +à´à´²àµà´®à´·à´ +à´à´² +à´à´¾à´¾ +à´àµàµ +à´àµà´£àµà´ ിതഠ+à´àµàµ +à´àµà´¨àµà´¨àµ +à´àµ¢à´ªàµà´¤à´ +à´àµ£à´¤à´ +à´àµà´¤àµà´à´ +à´àµà´°àµà´àµà´à´ +à´à´àµà´ +à´à´°à´ +à´à´ +à´ à´àµà´àµ» +à´àµà´¯à´¾à´µàµ +à´à´°à´ +à´à´¾à´¯ +à´à´²à´ +à´à´¾à´³àµà´¯à´ +à´à´¾àµ»à´¸à´¿ +à´à´¾àµ» +à´à´¿à´ªàµà´ªàµ +à´¡à´ªàµà´ªà´¿ +തതàµà´¤ +à´¤àµà´°à´àµà´àµà´àµà´ªàµà´ªà´¿à´¨àµâàµà´± +ദയ +à´¦àµà´à´à´ +à´¦àµà´¢à´ +ധനഠ+à´¨à´à´ +നനàµà´¦à´¿ +നനàµà´¨àµ +നനàµà´® +നാണàµà´¯à´ +തനàµà´¤ +à´¨àµà´°à´¸àµà´¥à´¿ +à´ªà´àµà´ +à´ªà´àµà´ +പണàµà´àµàµ +പല +പറ +പാഠഠ+പാണàµà´¡àµ +പാണàµà´¡àµà´¯àµ» +പാനàµà´¥àµ» +പാറàµà´± +പിനàµà´¨àµ +à´ªàµà´àµà´à´ +à´ªàµà´àµà´ +à´ªàµàµ»à´¨à´¾à´£àµà´¯à´ +ഫലഠ+ബലഠ+à´à´¯à´ +à´à´¾àµà´¯àµà´¯ +à´à´¾à´°àµà´¯ +à´®à´àµà´ +മണഠ+മണàµà´ +à´®àµà´ ദനി +മയഠ+à´®àµà´à´ +à´®àµà´¹à´¨àµâലാലàµâ +യതി +à´°à´£àµà´àµ +à´°à´®àµà´¯à´ +ലത +ഠറബàµâബസàµà´¸à´¾àµ¼ +à´²àµà´àµâസഠ+വഠളൠ+വരഠ+വാà´àµà´ +വിലàµà´µà´¾à´¦àµà´°à´¿ +à´µàµà´£àµà´® +ഷാരഠ+à´¶àµà´°àµà´¤à´¿ +à´¶à´°à´ +ശാർà´àµà´à´ªà´àµà´·à´¿ +സമàµà´¯à´àµ +à´¸à´à´¯àµà´à´ +à´¸à´à´°à´à´à´ +സമàµà´°à´¾à´àµà´àµ +സസàµà´¯à´ +സാരഠ+à´¸àµà´°à´¾à´µà´ +à´¸àµà´²à´¾à´µà´¿à´àµ +à´¸àµà´µà´°à´ +à´¸àµà´µà´¾à´¤à´¨àµà´¤àµà´°àµà´¯à´ +à´¸àµà´àµà´°à´¾à´ªàµà´ªàµ +à´¸àµà´±àµà´±à´¿à´à´àµ +à´¸àµà´±àµà´±àµà´°àµà´ +ഹാരഠ+റിപàµà´ªàµà´¾à´°àµâà´àµà´àµ +  നàµâറൠ+à´¨àµà´±àµ +ൻàµà´±àµ +à´àµà´àµà´¯àµ +à´¯àµà´àµà´àµà´¯àµ +à´àµà´àµà´¯àµ +à´¯âàµà´¯ +à´µâàµà´µ +à´¹àµà´²àµà´±àµà´±àµà´¸àµ + à´àµà´²àµâസി +മലയാളതàµà´¤à´¿à´²àµâ +à´¡à´¿à´ªàµà´ªà´¾àµ¼à´àµà´àµà´®àµà´¨àµà´±à´¿à´¨àµà´±àµ +à´¯àµà´¯àµà´° + യàµà´¯àµà´° + àµà´¯àµà´° + àµà´¯àµà´¯àµà´° +à´µàµà´µàµà´° + വàµà´µàµà´° + àµà´µàµà´° + àµà´µàµà´µàµà´°
_______________________________________________ HarfBuzz mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/harfbuzz
