diff options
author | Qingqing Deng <qqd@google.com> | 2019-05-21 17:17:59 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-05-21 17:17:59 -0700 |
commit | a9e9aa1de9a236e69b1e5e68714726aaf01182d1 (patch) | |
tree | 848a8f4c5082540006a9c1a244758390ec7f09b9 | |
parent | 3628a2fd7b6bbd86a86751261c38fff6818aa71a (diff) | |
parent | c467310f8d31fd1a02303ba4c3e767ae2e937897 (diff) | |
download | minikin-android10-d4-release.tar.gz |
Update isNewEmoji to check Unicode 12 in Minikin.android-mainline-10.0.0_r9android-mainline-10.0.0_r7android-mainline-10.0.0_r5android-mainline-10.0.0_r4android-mainline-10.0.0_r10android-10.0.0_r45android-10.0.0_r44android-10.0.0_r43android-10.0.0_r42android-10.0.0_r41android-10.0.0_r40android-10.0.0_r39android-10.0.0_r38android-10.0.0_r37android-10.0.0_r36android-10.0.0_r35android-10.0.0_r34android-10.0.0_r33android-10.0.0_r32android-10.0.0_r31android-10.0.0_r30android10-qpr3-s1-releaseandroid10-qpr3-releaseandroid10-qpr2-s4-releaseandroid10-qpr2-s3-releaseandroid10-qpr2-s2-releaseandroid10-qpr2-s1-releaseandroid10-qpr2-releaseandroid10-qpr1-mainline-releaseandroid10-mainline-media-releaseandroid10-d4-s1-releaseandroid10-d4-release
am: c467310f8d
Change-Id: I9eb2366ef79a1b8e455a290624b8f00330b395b1
-rw-r--r-- | libs/minikin/Emoji.cpp | 20 | ||||
-rw-r--r-- | tests/unittest/EmojiTest.cpp | 13 |
2 files changed, 24 insertions, 9 deletions
diff --git a/libs/minikin/Emoji.cpp b/libs/minikin/Emoji.cpp index ad83189..cd52f52 100644 --- a/libs/minikin/Emoji.cpp +++ b/libs/minikin/Emoji.cpp @@ -19,18 +19,20 @@ namespace minikin { bool isNewEmoji(uint32_t c) { - // Emoji characters new in Unicode emoji 11 - // From https://www.unicode.org/Public/emoji/11.0/emoji-data.txt - // TODO: Remove once emoji-data.text 11 is in ICU or update to 11. - if (c < 0x1F6F9 || c > 0x1F9FF) { + // Emoji characters new in Unicode emoji 12 + // From https://www.unicode.org/Public/emoji/12.0/emoji-data.txt + // TODO: Remove once emoji-data.text 12 is in ICU or update to 12. + if (c < 0x1F6D5 || c > 0x1FA95) { // Optimization for characters outside the new emoji range. return false; } - return c == 0x265F || c == 0x267E || c == 0x1F6F9 || (0x1F94D <= c && c <= 0x1F94F) || - (0x1F96C <= c && c <= 0x1F970) || (0x1F973 <= c && c <= 0x1F976) || c == 0x1F97A || - (0x1F97C <= c && c <= 0x1F97F) || (0x1F998 <= c && c <= 0x1F9A2) || - (0x1F9B0 <= c && c <= 0x1F9B9) || (0x1F9C1 <= c && c <= 0x1F9C2) || - (0x1F9E7 <= c && c <= 0x1F9FF); + return c == 0x1F6D5 || c == 0x1F6FA || c == 0x1F93F || c == 0x1F971 || c == 0x1F97B || + (0x1F7E0 <= c && c <= 0x1F7EB) || (0x1F90D <= c && c <= 0x1F90F) || + (0x1F9A5 <= c && c <= 0x1F9AA) || (0x1F9AE <= c && c <= 0x1F9AF) || + (0x1F9BA <= c && c <= 0x1F9BF) || (0x1F9C3 <= c && c <= 0x1F9CA) || + (0x1F9CD <= c && c <= 0x1F9CF) || (0x1FA70 <= c && c <= 0x1FA73) || + (0x1FA78 <= c && c <= 0x1FA7A) || (0x1FA80 <= c && c <= 0x1FA82) || + (0x1FA90 <= c && c <= 0x1FA95); } bool isEmoji(uint32_t c) { diff --git a/tests/unittest/EmojiTest.cpp b/tests/unittest/EmojiTest.cpp index 32ffde7..643a112 100644 --- a/tests/unittest/EmojiTest.cpp +++ b/tests/unittest/EmojiTest.cpp @@ -32,6 +32,19 @@ TEST(EmojiTest, isEmojiTest) { EXPECT_TRUE(isEmoji(0x1F6F7)); // SLED EXPECT_TRUE(isEmoji(0x1F9E6)); // SOCKS + EXPECT_TRUE(isEmoji(0x1F6D5)); // HINDU TEMPLE + EXPECT_TRUE(isEmoji(0x1F7E7)); // ORANGE SQUARE + EXPECT_TRUE(isEmoji(0x1F9CF)); // DEAF PERSON + EXPECT_TRUE(isEmoji(0x1F9CE)); // PERSON KNEELING + EXPECT_TRUE(isEmoji(0x1F9A6)); // OTTER + EXPECT_TRUE(isEmoji(0x1F9A9)); // FLAMINGO + EXPECT_TRUE(isEmoji(0x1F9C6)); // FALAFEL + EXPECT_TRUE(isEmoji(0x1F9AA)); // OYSTER + EXPECT_TRUE(isEmoji(0x1FA82)); // PARACHUTE + EXPECT_TRUE(isEmoji(0x1FA80)); // YO-YO + EXPECT_TRUE(isEmoji(0x1FA70)); // BALLET SHOES + EXPECT_TRUE(isEmoji(0x1FA79)); // ADHESIVE BANDAGE + EXPECT_FALSE(isEmoji(0x0000)); // <control> EXPECT_FALSE(isEmoji(0x0061)); // LATIN SMALL LETTER A EXPECT_FALSE(isEmoji(0x1F93B)); // MODERN PENTATHLON |