src/gen-use-table.py | 8 +++++++- src/hb-ot-shape-complex-indic.cc | 13 ++++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-)
New commits: commit 8b9cbe3b24be2ae0166e682103e22ec916316ecf Author: Behdad Esfahbod <beh...@behdad.org> Date: Sat Jun 30 12:28:03 2018 +0430 [indic] Tweak for old-spec Bengali and halant-ya-halant Fixes https://github.com/harfbuzz/harfbuzz/issues/1073 diff --git a/src/hb-ot-shape-complex-indic.cc b/src/hb-ot-shape-complex-indic.cc index 447e36cc..8377dae9 100644 --- a/src/hb-ot-shape-complex-indic.cc +++ b/src/hb-ot-shape-complex-indic.cc @@ -668,8 +668,9 @@ initial_reordering_consonant_syllable (const hb_ot_shape_plan_t *plan, * * Reports suggest that in some scripts Uniscribe does this only if there * is *not* a Halant after last consonant already (eg. Kannada), while it - * does it unconditionally in other scripts (eg. Malayalam). We don't - * currently know about other scripts, so we single out Malayalam for now. + * does it unconditionally in other scripts (eg. Malayalam, Bengali). We + * don't currently know about other scripts, so we whitelist Malayalam and + * Bengali for now. * * Kannada test case: * U+0C9A,U+0CCD,U+0C9A,U+0CCD @@ -679,10 +680,16 @@ initial_reordering_consonant_syllable (const hb_ot_shape_plan_t *plan, * Malayalam test case: * U+0D38,U+0D4D,U+0D31,U+0D4D,U+0D31,U+0D4D * With lohit-ttf-20121122/Lohit-Malayalam.ttf + * + * Bengali test case + * U+0998,U+09CD,U+09AF,U+09CD + * With Windows XP vrinda.ttf + * https://github.com/harfbuzz/harfbuzz/issues/1073 */ if (indic_plan->is_old_spec) { - bool disallow_double_halants = buffer->props.script != HB_SCRIPT_MALAYALAM; + bool disallow_double_halants = buffer->props.script != HB_SCRIPT_MALAYALAM && + buffer->props.script != HB_SCRIPT_BENGALI; for (unsigned int i = base + 1; i < end; i++) if (info[i].indic_category() == OT_H) { commit 9541c9dae10156fb61e4786545d1976cdcfb6bda Author: punchcutter <zarijos...@gmail.com> Date: Sun Jun 24 22:54:57 2018 -0700 Rebase and update USE overrides for Bhaiksuki Gap Fillers and Grantha Anusvara diff --git a/src/gen-use-table.py b/src/gen-use-table.py index 6aa5f881..e7c621ca 100755 --- a/src/gen-use-table.py +++ b/src/gen-use-table.py @@ -47,6 +47,9 @@ defaults = ('Other', 'Not_Applicable', 'Cn', 'No_Block') data[0][0x034F] = defaults[0] data[0][0x2060] = defaults[0] data[0][0x20F0] = defaults[0] +# TODO https://github.com/roozbehp/unicode-data/issues/9 +data[0][0x11C44] = 'Consonant_Placeholder' +data[0][0x11C45] = 'Consonant_Placeholder' for u in range (0xFE00, 0xFE0F + 1): data[0][u] = defaults[0] @@ -165,7 +168,7 @@ def is_BASE(U, UISC, UGC): def is_BASE_IND(U, UISC, UGC): #SPEC-DRAFT return (UISC in [Consonant_Dead, Modifying_Letter] or UGC == Po) return (UISC in [Consonant_Dead, Modifying_Letter] or - (UGC == Po and not U in [0x104B, 0x104E, 0x2022, 0x11A3F, 0x11A45]) or + (UGC == Po and not U in [0x104B, 0x104E, 0x2022, 0x11A3F, 0x11A45, 0x11C44, 0x11C45]) or False # SPEC-DRAFT-OUTDATED! U == 0x002D ) def is_BASE_NUM(U, UISC, UGC): @@ -344,6 +347,9 @@ def map_to_use(data): if 0xA926 <= U <= 0xA92A: UIPC = Top if U == 0x111CA: UIPC = Bottom if U == 0x11300: UIPC = Top + # TODO: https://github.com/harfbuzz/harfbuzz/pull/1037 + if U == 0x11302: UIPC = Top + if U == 0x1133C: UIPC = Bottom if U == 0x1171E: UIPC = Left # Correct?! if 0x1CF2 <= U <= 0x1CF3: UIPC = Right if 0x1CF8 <= U <= 0x1CF9: UIPC = Top _______________________________________________ HarfBuzz mailing list HarfBuzz@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/harfbuzz