An emoji with a modifier should be treated as a single grapheme, i.e.
it should not be possible to place the cursor between the base and
modifier. This patch implements the proposed Rule GB9c from Mark
Davis's proposal entitled "Fixing breaking properties for emoji",
L2/16-011R3.
The patch also skips over variation sequences attached the to the
preceding character, for computing grapheme cluster boundaries.
Bug: 26829153
Change-Id: Iff5bc2bb8e5246223a017c7cf33acfbf63817f16
Make it so it's not possible to position the cursor inside an emoji
formed by a sequence including zero-width joiners.
Bug: 25368653
Change-Id: I67ec0874cd1505f3c82ab91492ffc3d39a52fae6
Initial unit tests for Minikin functionality. Also fixes an incorrect
Hangul case (uncovered in testing), and improves handling of broken
UTF-16.
Change-Id: I69b441d8e3b19ed06abcc56f13271abadf3d1010