From 9925030f19851957381b78c197e6f50c77fde756 Mon Sep 17 00:00:00 2001 From: Ebrahim Byagowi Date: Fri, 13 Apr 2018 12:43:29 +0430 Subject: [PATCH] Don't decompose Bengali Rra and Rha Fixes #779 and follow up to b01d9b3d90e892341ee4463f2eda4600850b97d8 --- src/hb-ot-shape-complex-indic.cc | 3 +++ test/shaping/data/in-house/Makefile.sources | 1 + ...932ad5132c2761297c74e9976fe25b08e5ffa10b.ttf | Bin 0 -> 22980 bytes .../data/in-house/tests/indic-decompose.tests | 1 + 4 files changed, 5 insertions(+) create mode 100644 test/shaping/data/in-house/fonts/932ad5132c2761297c74e9976fe25b08e5ffa10b.ttf create mode 100644 test/shaping/data/in-house/tests/indic-decompose.tests diff --git a/src/hb-ot-shape-complex-indic.cc b/src/hb-ot-shape-complex-indic.cc index fdc8966e9..cd80da60e 100644 --- a/src/hb-ot-shape-complex-indic.cc +++ b/src/hb-ot-shape-complex-indic.cc @@ -1470,6 +1470,9 @@ decompose_indic (const hb_ot_shape_normalize_context_t *c, { /* Don't decompose these. */ case 0x0931u : return false; /* DEVANAGARI LETTER RRA */ + // https://github.com/harfbuzz/harfbuzz/issues/779 + case 0x09DCu : return false; /* BENGALI LETTER RRA */ + case 0x09DDu : return false; /* BENGALI LETTER RHA */ case 0x0B94u : return false; /* TAMIL LETTER AU */ diff --git a/test/shaping/data/in-house/Makefile.sources b/test/shaping/data/in-house/Makefile.sources index 1922fd4cd..9a1434ec6 100644 --- a/test/shaping/data/in-house/Makefile.sources +++ b/test/shaping/data/in-house/Makefile.sources @@ -16,6 +16,7 @@ TESTS = \ tests/hangul-jamo.tests \ tests/hyphens.tests \ tests/indic-consonant-with-stacker.tests \ + tests/indic-decompose.tests \ tests/indic-init.tests \ tests/indic-joiner-candrabindu.tests \ tests/indic-joiners.tests \ diff --git a/test/shaping/data/in-house/fonts/932ad5132c2761297c74e9976fe25b08e5ffa10b.ttf b/test/shaping/data/in-house/fonts/932ad5132c2761297c74e9976fe25b08e5ffa10b.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ef20bf804590196b9679c207213ef9125b2cffa7 GIT binary patch literal 22980 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 literal 0 HcmV?d00001 diff --git a/test/shaping/data/in-house/tests/indic-decompose.tests b/test/shaping/data/in-house/tests/indic-decompose.tests new file mode 100644 index 000000000..ca887bea6 --- /dev/null +++ b/test/shaping/data/in-house/tests/indic-decompose.tests @@ -0,0 +1 @@ +../fonts/932ad5132c2761297c74e9976fe25b08e5ffa10b.ttf:--font-funcs=ot:U+09DC,U+0020,U+09DD,U+0020,U+09A1,U+09BC,U+0020,U+09A2,U+09BC:[bn_rha=0+1024|space=1+1024|bn_yya=2+1024|space=3+1024|bn_dda=4+1024|bn_nukta=4+1024|space=6+1024|bn_ddha=7+1024|bn_nukta=7+1024]