mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
GraphemeBreak.tailoring/GraphemeBreak.genderBalancedEmoji start failing after ICU update to 58. The failure is around Rule GB9 in Unicode Standard Annex #29. GB9 forbids breaks before extending characters and before ZWJ. However the implementation in minikin only checks for extending characters. It used to work with Unicode 8.0 since ZWJ had the Grapheme_Cluster_Break property of Extend in Unicode 8.0 but it no longer has that property in Uniocde 9.0. Thus, we need to check for ZWJ explicitly. At the same time, this removes manually added PREPEND characters case from tailoredGraphemeClusterBreak which is already supported in ICU 58. Test: minikin_tests passes Bug: 34117643 Change-Id: Ib46d48bebe4a866208e050d7defc715c61fcbeb1