From a2a1484ef93d5b5c3748b15219eca669d866b0a9 Mon Sep 17 00:00:00 2001 From: David Corbett Date: Wed, 6 Jun 2018 12:57:28 -0400 Subject: [PATCH] Convert Consonant_Initial_Postfixed to CONS_FINAL Consonant_Initial_Postfixed was split off of Consonant_Succeeding_Repha, so it should correspond to the same USE class, CONS_FINAL. --- src/gen-use-table.py | 5 +++-- src/hb-ot-shape-complex-use-table.cc | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/gen-use-table.py b/src/gen-use-table.py index 413ce11d6..6aa5f881c 100755 --- a/src/gen-use-table.py +++ b/src/gen-use-table.py @@ -155,8 +155,7 @@ globals().update(property_values) def is_BASE(U, UISC, UGC): - # Consonant_Initial_Postfixed is new in Unicode 11; not in the spec. - return (UISC in [Number, Consonant, Consonant_Initial_Postfixed, Consonant_Head_Letter, + return (UISC in [Number, Consonant, Consonant_Head_Letter, #SPEC-DRAFT Consonant_Placeholder, Tone_Letter, Vowel_Independent #SPEC-DRAFT @@ -178,7 +177,9 @@ def is_BASE_OTHER(U, UISC, UGC): def is_CGJ(U, UISC, UGC): return U == 0x034F def is_CONS_FINAL(U, UISC, UGC): + # Consonant_Initial_Postfixed is new in Unicode 11; not in the spec. return ((UISC == Consonant_Final and UGC != Lo) or + UISC == Consonant_Initial_Postfixed or UISC == Consonant_Succeeding_Repha) def is_CONS_FINAL_MOD(U, UISC, UGC): #SPEC-DRAFT return UISC in [Consonant_Final_Modifier, Syllable_Modifier] diff --git a/src/hb-ot-shape-complex-use-table.cc b/src/hb-ot-shape-complex-use-table.cc index 9cc7d33de..14315338c 100644 --- a/src/hb-ot-shape-complex-use-table.cc +++ b/src/hb-ot-shape-complex-use-table.cc @@ -281,7 +281,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = { /* 1A20 */ B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, /* 1A30 */ B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, /* 1A40 */ B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, - /* 1A50 */ B, B, B, B, B, MPre, MBlw, SUB, FAbv, FAbv, B, SUB, SUB, SUB, SUB, O, + /* 1A50 */ B, B, B, B, B, MPre, MBlw, SUB, FAbv, FAbv, FAbv, SUB, SUB, SUB, SUB, O, /* 1A60 */ H, VPst, VAbv, VPst, VPst, VAbv, VAbv, VAbv, VAbv, VBlw, VBlw, VAbv, VBlw, VPst, VPre, VPre, /* 1A70 */ VPre, VPre, VPre, VAbv, VMAbv, VMAbv, VMAbv, VMAbv, VMAbv, VMAbv, VAbv, FM, FM, O, O, FBlw, /* 1A80 */ B, B, B, B, B, B, B, B, B, B, O, O, O, O, O, O,