From 7bfdf1a94192dd83ab55202d259703f36ed060e5 Mon Sep 17 00:00:00 2001 From: David Corbett Date: Wed, 22 Nov 2017 16:32:52 -0500 Subject: [PATCH] Forbid Batak killers after vowel signs --- src/gen-use-table.py | 3 +++ src/hb-ot-shape-complex-use-table.cc | 2 +- .../59a585a63b3df608fbeef00956c8c108deec7de6.ttf | Bin 0 -> 1164 bytes test/shaping/tests/use-syllable.tests | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 test/shaping/fonts/sha1sum/59a585a63b3df608fbeef00956c8c108deec7de6.ttf diff --git a/src/gen-use-table.py b/src/gen-use-table.py index 4ded54230..bbcaaf89b 100755 --- a/src/gen-use-table.py +++ b/src/gen-use-table.py @@ -297,6 +297,9 @@ def map_to_use(data): if U == 0x17DD: UISC = Vowel_Dependent if 0x1CE2 <= U <= 0x1CE8: UISC = Cantillation_Mark + # TODO: https://github.com/harfbuzz/harfbuzz/pull/627 + if 0x1BF2 <= U <= 0x1BF3: UISC = Nukta; UIPC = Bottom + # TODO: U+1CED should only be allowed after some of # the nasalization marks, maybe only for U+1CE9..U+1CF1. if U == 0x1CED: UISC = Tone_Mark diff --git a/src/hb-ot-shape-complex-use-table.cc b/src/hb-ot-shape-complex-use-table.cc index fd6978f28..c1a33625a 100644 --- a/src/hb-ot-shape-complex-use-table.cc +++ b/src/hb-ot-shape-complex-use-table.cc @@ -307,7 +307,7 @@ static const USE_TABLE_ELEMENT_TYPE use_table[] = { /* 1BC0 */ B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, /* 1BD0 */ B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, /* 1BE0 */ B, B, B, B, B, B, CMAbv, VPst, VAbv, VAbv, VPst, VPst, VPst, VAbv, VPst, VAbv, - /* 1BF0 */ FAbv, FAbv, VPst, VPst, O, O, O, O, O, O, O, O, O, O, O, O, + /* 1BF0 */ FAbv, FAbv, CMBlw, CMBlw, O, O, O, O, O, O, O, O, O, O, O, O, /* Lepcha */ diff --git a/test/shaping/fonts/sha1sum/59a585a63b3df608fbeef00956c8c108deec7de6.ttf b/test/shaping/fonts/sha1sum/59a585a63b3df608fbeef00956c8c108deec7de6.ttf new file mode 100644 index 0000000000000000000000000000000000000000..70f0513df28fc0fa1f56686196ab99eef67eceec GIT binary patch literal 1164 zcmZuwUq};i9RL3AZerUyHJwS*d71-DQMV{XL)7Vnl9aZIiBPATbLi%nr>PGjh!)j@ zS`Q=ELytWL1rZc#5eXs)B|bzCJy?h+NNRVcvcA9Dl8Wy5{`q|W-}m>sMyIn8^e_r6 zRN3ry;q4ax005Q&NK<`nogGp@1Hf*eExo>}(NR0l&=0_Ih=qEGt44mjb_H=B;?71# zv306?{5}9fYuxDYi^0pEbDJ=~1aYLxBf5_-esG|l#$V_{16RzPMI1z&*X5T6wMLjg z+=e*KFAfGlgXsW^NC^Sa?_slaiRj-!TpsN0lcEz~#ro7Q0AMUmOMqj55R&K$_#{uC zMD<)H36yN22#g}IN(OhJ+}(5h)NABZNt5!!6S64<5-=kvJ*%>=Kj5>}*h*DVSFH;B zITY6OHk++CI27`EyCfmM!!E!cWP?H);T#d~7YTP$b@VUx4W(he{G zcp)zt_VSkw^Aq^#4Y|S~XzOnqawP!S&+9B(QsP356>yrb|9BW50X(V$?uUL z@Z-ppl6|0{Ar6=$kKCGr`o8`ta$d%JSE5RUeCrs%#dMPF`5rUr5jmheslja5xef2@emCj0~G}xKO%OFmg|xT~E5W z%jnoOw7^QnE^ZrTMfm&SBRrK^_9j9+pV&k2l$cE@Ak&aZrl5d132C&B8r8~d9zKee zGP7#+-zijTaOg2INl%iw!@Nezy_h6lz(N?bf`=q zzi~T8bPhA#eM%S~-%50h{uBRs=#;S@bOQumPVGHw!C`g@T3dobpo H4r-fU8^r?* literal 0 HcmV?d00001 diff --git a/test/shaping/tests/use-syllable.tests b/test/shaping/tests/use-syllable.tests index 0661142c6..a48633b83 100644 --- a/test/shaping/tests/use-syllable.tests +++ b/test/shaping/tests/use-syllable.tests @@ -4,3 +4,4 @@ fonts/sha1sum/e68a88939e0f06e34d2bc911f09b70890289c8fd.ttf::U+AA00,U+AA35,U+AA33 fonts/sha1sum/e68a88939e0f06e34d2bc911f09b70890289c8fd.ttf::U+AA00,U+AA35,U+AA36:[a_cham=0+1121|laMedial_waMedial_cham=0@43,0+0] fonts/sha1sum/074a5ae6b19de8f29772fdd5df2d3d833f81f5e6.ttf:--no-glyph-names:U+11320,U+20F0,U+11367:[3=0+502|1=0@33,0+0|4=0@300,8+0] fonts/sha1sum/373e67bf41ca264e260a9716162b71a23549e885.ttf:--no-glyph-names:U+A8AC,U+A8B4,U+A8B5:[2=0+377|3=0+242|4=0+210] +fonts/sha1sum/59a585a63b3df608fbeef00956c8c108deec7de6.ttf:--no-glyph-names:U+1BC7,U+1BEA,U+1BF3:[1=0+749|2=0+402|4=0+535|3=0+401]