Let VS1 follow U+1031 MYANMAR VOWEL SIGN E
diff --git a/src/hb-ot-shape-complex-myanmar-machine.rl b/src/hb-ot-shape-complex-myanmar-machine.rl
index 45733ac..0cd84fa 100644
--- a/src/hb-ot-shape-complex-myanmar-machine.rl
+++ b/src/hb-ot-shape-complex-myanmar-machine.rl
@@ -70,7 +70,7 @@
c = C|Ra; # is_consonant
medial_group = MY? MR? MW? MH? As?;
-main_vowel_group = VPre* VAbv* VBlw* A* (DB As?)?;
+main_vowel_group = (VPre.VS?)* VAbv* VBlw* A* (DB As?)?;
post_vowel_group = VPst MH? As* VAbv* A* (DB As?)?;
pwo_tone_group = PT A* DB? As?;
diff --git a/src/hb-ot-shape-complex-myanmar.cc b/src/hb-ot-shape-complex-myanmar.cc
index 5ea1dbf..31bb976 100644
--- a/src/hb-ot-shape-complex-myanmar.cc
+++ b/src/hb-ot-shape-complex-myanmar.cc
@@ -374,6 +374,11 @@
{
continue;
}
+ if (info[i].myanmar_category() == OT_VS)
+ {
+ info[i].myanmar_position() = info[i - 1].myanmar_position();
+ continue;
+ }
if (pos == POS_AFTER_MAIN && info[i].myanmar_category() == OT_VBlw)
{
diff --git a/test/shaping/README.md b/test/shaping/README.md
index 4c9a1e5..99498e6 100644
--- a/test/shaping/README.md
+++ b/test/shaping/README.md
@@ -31,11 +31,11 @@
$ ./hb-unicode-encode 41 42 43 627 | ./record-test.sh -o=data/in-house/tests/test-name.test ../../util/hb-shape font.ttf
```
-If you created a new test file, add it to `Makefile.am` so it is run.
-Check that `make check` does indeed run it, and that the test passes.
-When everything looks good, `git add` the new font as well as new
-test file if you created any. You can see what new files are there
-by running `git status data/in-house`. And commit!
+If you created a new test file, add it to `data/in-house/Makefile.sources`
+so it is run. Check that `make check` does indeed run it, and that the
+test passes. When everything looks good, `git add` the new font as well
+as the new test file if you created any. You can see what new files are
+there by running `git status data/in-house`. And commit!
*Note!* Please only add tests using Open Source fonts, preferably under
OFL or similar license.
diff --git a/test/shaping/data/in-house/Makefile.sources b/test/shaping/data/in-house/Makefile.sources
index 247133d..1922fd4 100644
--- a/test/shaping/data/in-house/Makefile.sources
+++ b/test/shaping/data/in-house/Makefile.sources
@@ -29,6 +29,7 @@
tests/mark-attachment.tests \
tests/mark-filtering-sets.tests \
tests/mongolian-variation-selector.tests \
+ tests/myanmar-syllable.tests \
tests/spaces.tests \
tests/simple.tests \
tests/tibetan-contractions-1.tests \
diff --git a/test/shaping/data/in-house/fonts/af3086380b743099c54a3b11b96766039ea62fcd.ttf b/test/shaping/data/in-house/fonts/af3086380b743099c54a3b11b96766039ea62fcd.ttf
new file mode 100644
index 0000000..5945b16
--- /dev/null
+++ b/test/shaping/data/in-house/fonts/af3086380b743099c54a3b11b96766039ea62fcd.ttf
Binary files differ
diff --git a/test/shaping/data/in-house/tests/myanmar-syllable.tests b/test/shaping/data/in-house/tests/myanmar-syllable.tests
new file mode 100644
index 0000000..4666ef9
--- /dev/null
+++ b/test/shaping/data/in-house/tests/myanmar-syllable.tests
@@ -0,0 +1 @@
+../fonts/af3086380b743099c54a3b11b96766039ea62fcd.ttf:--no-glyph-names:U+101D,U+FE00,U+1031,U+FE00,U+1031,U+FE00:[6=0+465|6=0+465|5=0+502]