From e12e7e960ee36607f6107a28c0935e8c2a006632 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sat, 26 Nov 2022 20:50:41 +0100 Subject: Support more emoji --- TODO | 3 +- generate-emoji-sequences.py | 2 +- generated/Emoji.cpp | 251 ++++++++++++++++++++++++++++++++++++++++++++ src/Text.cpp | 3 + 4 files changed, 257 insertions(+), 2 deletions(-) diff --git a/TODO b/TODO index d6f8594..0a0f880 100644 --- a/TODO +++ b/TODO @@ -250,4 +250,5 @@ Use matrix /sync "since" param. Its beneficial even to quickmedia because synaps allow navigating to cross-post/dead thread with ctrl+i, fallback to 4chan archive if thread is dead, allow navigating to thread post in the same thread as well using archive to bring the post back alive, revive deleted images using archive. Add option to open youtube/4chan links in a new instance of quickmedia (maybe with ctrl+enter?). AAAAA Resizing 4chan post with no images but with replies (reactions) gives incorrect body item height compared to the rendered height. -Some mangadex chapter images are .webp files, such as the images for chapter 0 for "the lolicon killer". Quickmedia doesn't work for that because quickmedia doesn't support manga webp files. Fix that. \ No newline at end of file +Some mangadex chapter images are .webp files, such as the images for chapter 0 for "the lolicon killer". Quickmedia doesn't work for that because quickmedia doesn't support manga webp files. Fix that. +Fully support all emoji, including the minimally-qualified ones. Sometimes twemoji doesn't have the correct sequence images. \ No newline at end of file diff --git a/generate-emoji-sequences.py b/generate-emoji-sequences.py index b796548..5239d81 100755 --- a/generate-emoji-sequences.py +++ b/generate-emoji-sequences.py @@ -9,7 +9,7 @@ all_sequences = [] longest_sequence = 0 for line in response.text.splitlines(False): - if len(line) == 0 or line[0] == '#' or line.find("fully-qualified") == -1: + if len(line) == 0 or line[0] == '#' or line.find("minimally-qualified") != -1: continue columns = line.split(";") diff --git a/generated/Emoji.cpp b/generated/Emoji.cpp index 5156ba8..0437a07 100644 --- a/generated/Emoji.cpp +++ b/generated/Emoji.cpp @@ -27,6 +27,7 @@ namespace QuickMedia { { 0x1f618, { } }, { 0x1f617, { } }, { 0x263a, { 0xfe0f } }, + { 0x263a, { } }, { 0x1f61a, { } }, { 0x1f619, { } }, { 0x1f972, { } }, @@ -85,6 +86,7 @@ namespace QuickMedia { { 0x1f61f, { } }, { 0x1f641, { } }, { 0x2639, { 0xfe0f } }, + { 0x2639, { } }, { 0x1f62e, { } }, { 0x1f62f, { } }, { 0x1f632, { } }, @@ -114,6 +116,7 @@ namespace QuickMedia { { 0x1f47f, { } }, { 0x1f480, { } }, { 0x2620, { 0xfe0f } }, + { 0x2620, { } }, { 0x1f4a9, { } }, { 0x1f921, { } }, { 0x1f479, { } }, @@ -144,10 +147,14 @@ namespace QuickMedia { { 0x1f495, { } }, { 0x1f49f, { } }, { 0x2763, { 0xfe0f } }, + { 0x2763, { } }, { 0x1f494, { } }, { 0x2764, { 0xfe0f, 0x200d, 0x1f525 } }, + { 0x2764, { 0x200d, 0x1f525 } }, { 0x2764, { 0xfe0f, 0x200d, 0x1fa79 } }, + { 0x2764, { 0x200d, 0x1fa79 } }, { 0x2764, { 0xfe0f } }, + { 0x2764, { } }, { 0x1fa77, { } }, { 0x1f9e1, { } }, { 0x1f49b, { } }, @@ -167,10 +174,15 @@ namespace QuickMedia { { 0x1f4a6, { } }, { 0x1f4a8, { } }, { 0x1f573, { 0xfe0f } }, + { 0x1f573, { } }, { 0x1f4ac, { } }, { 0x1f441, { 0xfe0f, 0x200d, 0x1f5e8, 0xfe0f } }, + { 0x1f441, { 0x200d, 0x1f5e8, 0xfe0f } }, + { 0x1f441, { 0x200d, 0x1f5e8 } }, { 0x1f5e8, { 0xfe0f } }, + { 0x1f5e8, { } }, { 0x1f5ef, { 0xfe0f } }, + { 0x1f5ef, { } }, { 0x1f4ad, { } }, { 0x1f4a4, { } }, { 0x1f44b, { } }, @@ -186,6 +198,7 @@ namespace QuickMedia { { 0x1f91a, { 0x1f3fe } }, { 0x1f91a, { 0x1f3ff } }, { 0x1f590, { 0xfe0f } }, + { 0x1f590, { } }, { 0x1f590, { 0x1f3fb } }, { 0x1f590, { 0x1f3fc } }, { 0x1f590, { 0x1f3fd } }, @@ -258,6 +271,7 @@ namespace QuickMedia { { 0x1f90f, { 0x1f3fe } }, { 0x1f90f, { 0x1f3ff } }, { 0x270c, { 0xfe0f } }, + { 0x270c, { } }, { 0x270c, { 0x1f3fb } }, { 0x270c, { 0x1f3fc } }, { 0x270c, { 0x1f3fd } }, @@ -324,6 +338,7 @@ namespace QuickMedia { { 0x1f447, { 0x1f3fe } }, { 0x1f447, { 0x1f3ff } }, { 0x261d, { 0xfe0f } }, + { 0x261d, { } }, { 0x261d, { 0x1f3fb } }, { 0x261d, { 0x1f3fc } }, { 0x261d, { 0x1f3fd } }, @@ -434,6 +449,7 @@ namespace QuickMedia { { 0x1f64f, { 0x1f3fe } }, { 0x1f64f, { 0x1f3ff } }, { 0x270d, { 0xfe0f } }, + { 0x270d, { } }, { 0x270d, { 0x1f3fb } }, { 0x270d, { 0x1f3fc } }, { 0x270d, { 0x1f3fd } }, @@ -496,6 +512,7 @@ namespace QuickMedia { { 0x1f9b4, { } }, { 0x1f440, { } }, { 0x1f441, { 0xfe0f } }, + { 0x1f441, { } }, { 0x1f445, { } }, { 0x1f444, { } }, { 0x1fae6, { } }, @@ -1154,18 +1171,23 @@ namespace QuickMedia { { 0x1f46e, { 0x1f3fe, 0x200d, 0x2640, 0xfe0f } }, { 0x1f46e, { 0x1f3ff, 0x200d, 0x2640, 0xfe0f } }, { 0x1f575, { 0xfe0f } }, + { 0x1f575, { } }, { 0x1f575, { 0x1f3fb } }, { 0x1f575, { 0x1f3fc } }, { 0x1f575, { 0x1f3fd } }, { 0x1f575, { 0x1f3fe } }, { 0x1f575, { 0x1f3ff } }, { 0x1f575, { 0xfe0f, 0x200d, 0x2642, 0xfe0f } }, + { 0x1f575, { 0x200d, 0x2642, 0xfe0f } }, + { 0x1f575, { 0x200d, 0x2642 } }, { 0x1f575, { 0x1f3fb, 0x200d, 0x2642, 0xfe0f } }, { 0x1f575, { 0x1f3fc, 0x200d, 0x2642, 0xfe0f } }, { 0x1f575, { 0x1f3fd, 0x200d, 0x2642, 0xfe0f } }, { 0x1f575, { 0x1f3fe, 0x200d, 0x2642, 0xfe0f } }, { 0x1f575, { 0x1f3ff, 0x200d, 0x2642, 0xfe0f } }, { 0x1f575, { 0xfe0f, 0x200d, 0x2640, 0xfe0f } }, + { 0x1f575, { 0x200d, 0x2640, 0xfe0f } }, + { 0x1f575, { 0x200d, 0x2640 } }, { 0x1f575, { 0x1f3fb, 0x200d, 0x2640, 0xfe0f } }, { 0x1f575, { 0x1f3fc, 0x200d, 0x2640, 0xfe0f } }, { 0x1f575, { 0x1f3fd, 0x200d, 0x2640, 0xfe0f } }, @@ -1671,6 +1693,7 @@ namespace QuickMedia { { 0x1f57a, { 0x1f3fe } }, { 0x1f57a, { 0x1f3ff } }, { 0x1f574, { 0xfe0f } }, + { 0x1f574, { } }, { 0x1f574, { 0x1f3fb } }, { 0x1f574, { 0x1f3fc } }, { 0x1f574, { 0x1f3fd } }, @@ -1723,6 +1746,7 @@ namespace QuickMedia { { 0x1f3c7, { 0x1f3fe } }, { 0x1f3c7, { 0x1f3ff } }, { 0x26f7, { 0xfe0f } }, + { 0x26f7, { } }, { 0x1f3c2, { } }, { 0x1f3c2, { 0x1f3fb } }, { 0x1f3c2, { 0x1f3fc } }, @@ -1730,18 +1754,23 @@ namespace QuickMedia { { 0x1f3c2, { 0x1f3fe } }, { 0x1f3c2, { 0x1f3ff } }, { 0x1f3cc, { 0xfe0f } }, + { 0x1f3cc, { } }, { 0x1f3cc, { 0x1f3fb } }, { 0x1f3cc, { 0x1f3fc } }, { 0x1f3cc, { 0x1f3fd } }, { 0x1f3cc, { 0x1f3fe } }, { 0x1f3cc, { 0x1f3ff } }, { 0x1f3cc, { 0xfe0f, 0x200d, 0x2642, 0xfe0f } }, + { 0x1f3cc, { 0x200d, 0x2642, 0xfe0f } }, + { 0x1f3cc, { 0x200d, 0x2642 } }, { 0x1f3cc, { 0x1f3fb, 0x200d, 0x2642, 0xfe0f } }, { 0x1f3cc, { 0x1f3fc, 0x200d, 0x2642, 0xfe0f } }, { 0x1f3cc, { 0x1f3fd, 0x200d, 0x2642, 0xfe0f } }, { 0x1f3cc, { 0x1f3fe, 0x200d, 0x2642, 0xfe0f } }, { 0x1f3cc, { 0x1f3ff, 0x200d, 0x2642, 0xfe0f } }, { 0x1f3cc, { 0xfe0f, 0x200d, 0x2640, 0xfe0f } }, + { 0x1f3cc, { 0x200d, 0x2640, 0xfe0f } }, + { 0x1f3cc, { 0x200d, 0x2640 } }, { 0x1f3cc, { 0x1f3fb, 0x200d, 0x2640, 0xfe0f } }, { 0x1f3cc, { 0x1f3fc, 0x200d, 0x2640, 0xfe0f } }, { 0x1f3cc, { 0x1f3fd, 0x200d, 0x2640, 0xfe0f } }, @@ -1802,36 +1831,46 @@ namespace QuickMedia { { 0x1f3ca, { 0x1f3fe, 0x200d, 0x2640, 0xfe0f } }, { 0x1f3ca, { 0x1f3ff, 0x200d, 0x2640, 0xfe0f } }, { 0x26f9, { 0xfe0f } }, + { 0x26f9, { } }, { 0x26f9, { 0x1f3fb } }, { 0x26f9, { 0x1f3fc } }, { 0x26f9, { 0x1f3fd } }, { 0x26f9, { 0x1f3fe } }, { 0x26f9, { 0x1f3ff } }, { 0x26f9, { 0xfe0f, 0x200d, 0x2642, 0xfe0f } }, + { 0x26f9, { 0x200d, 0x2642, 0xfe0f } }, + { 0x26f9, { 0x200d, 0x2642 } }, { 0x26f9, { 0x1f3fb, 0x200d, 0x2642, 0xfe0f } }, { 0x26f9, { 0x1f3fc, 0x200d, 0x2642, 0xfe0f } }, { 0x26f9, { 0x1f3fd, 0x200d, 0x2642, 0xfe0f } }, { 0x26f9, { 0x1f3fe, 0x200d, 0x2642, 0xfe0f } }, { 0x26f9, { 0x1f3ff, 0x200d, 0x2642, 0xfe0f } }, { 0x26f9, { 0xfe0f, 0x200d, 0x2640, 0xfe0f } }, + { 0x26f9, { 0x200d, 0x2640, 0xfe0f } }, + { 0x26f9, { 0x200d, 0x2640 } }, { 0x26f9, { 0x1f3fb, 0x200d, 0x2640, 0xfe0f } }, { 0x26f9, { 0x1f3fc, 0x200d, 0x2640, 0xfe0f } }, { 0x26f9, { 0x1f3fd, 0x200d, 0x2640, 0xfe0f } }, { 0x26f9, { 0x1f3fe, 0x200d, 0x2640, 0xfe0f } }, { 0x26f9, { 0x1f3ff, 0x200d, 0x2640, 0xfe0f } }, { 0x1f3cb, { 0xfe0f } }, + { 0x1f3cb, { } }, { 0x1f3cb, { 0x1f3fb } }, { 0x1f3cb, { 0x1f3fc } }, { 0x1f3cb, { 0x1f3fd } }, { 0x1f3cb, { 0x1f3fe } }, { 0x1f3cb, { 0x1f3ff } }, { 0x1f3cb, { 0xfe0f, 0x200d, 0x2642, 0xfe0f } }, + { 0x1f3cb, { 0x200d, 0x2642, 0xfe0f } }, + { 0x1f3cb, { 0x200d, 0x2642 } }, { 0x1f3cb, { 0x1f3fb, 0x200d, 0x2642, 0xfe0f } }, { 0x1f3cb, { 0x1f3fc, 0x200d, 0x2642, 0xfe0f } }, { 0x1f3cb, { 0x1f3fd, 0x200d, 0x2642, 0xfe0f } }, { 0x1f3cb, { 0x1f3fe, 0x200d, 0x2642, 0xfe0f } }, { 0x1f3cb, { 0x1f3ff, 0x200d, 0x2642, 0xfe0f } }, { 0x1f3cb, { 0xfe0f, 0x200d, 0x2640, 0xfe0f } }, + { 0x1f3cb, { 0x200d, 0x2640, 0xfe0f } }, + { 0x1f3cb, { 0x200d, 0x2640 } }, { 0x1f3cb, { 0x1f3fb, 0x200d, 0x2640, 0xfe0f } }, { 0x1f3cb, { 0x1f3fc, 0x200d, 0x2640, 0xfe0f } }, { 0x1f3cb, { 0x1f3fd, 0x200d, 0x2640, 0xfe0f } }, @@ -2317,10 +2356,20 @@ namespace QuickMedia { { 0x1f469, { 0x200d, 0x1f467, 0x200d, 0x1f466 } }, { 0x1f469, { 0x200d, 0x1f467, 0x200d, 0x1f467 } }, { 0x1f5e3, { 0xfe0f } }, + { 0x1f5e3, { } }, { 0x1f464, { } }, { 0x1f465, { } }, { 0x1fac2, { } }, { 0x1f463, { } }, + { 0x1f3fb, { } }, + { 0x1f3fc, { } }, + { 0x1f3fd, { } }, + { 0x1f3fe, { } }, + { 0x1f3ff, { } }, + { 0x1f9b0, { } }, + { 0x1f9b1, { } }, + { 0x1f9b3, { } }, + { 0x1f9b2, { } }, { 0x1f435, { } }, { 0x1f412, { } }, { 0x1f98d, { } }, @@ -2374,6 +2423,7 @@ namespace QuickMedia { { 0x1f430, { } }, { 0x1f407, { } }, { 0x1f43f, { 0xfe0f } }, + { 0x1f43f, { } }, { 0x1f9ab, { } }, { 0x1f994, { } }, { 0x1f987, { } }, @@ -2396,6 +2446,7 @@ namespace QuickMedia { { 0x1f426, { } }, { 0x1f427, { } }, { 0x1f54a, { 0xfe0f } }, + { 0x1f54a, { } }, { 0x1f985, { } }, { 0x1f986, { } }, { 0x1f9a2, { } }, @@ -2439,7 +2490,9 @@ namespace QuickMedia { { 0x1f997, { } }, { 0x1fab3, { } }, { 0x1f577, { 0xfe0f } }, + { 0x1f577, { } }, { 0x1f578, { 0xfe0f } }, + { 0x1f578, { } }, { 0x1f982, { } }, { 0x1f99f, { } }, { 0x1fab0, { } }, @@ -2450,6 +2503,7 @@ namespace QuickMedia { { 0x1f4ae, { } }, { 0x1fab7, { } }, { 0x1f3f5, { 0xfe0f } }, + { 0x1f3f5, { } }, { 0x1f339, { } }, { 0x1f940, { } }, { 0x1f33a, { } }, @@ -2466,6 +2520,7 @@ namespace QuickMedia { { 0x1f33e, { } }, { 0x1f33f, { } }, { 0x2618, { 0xfe0f } }, + { 0x2618, { } }, { 0x1f340, { } }, { 0x1f341, { } }, { 0x1f342, { } }, @@ -2498,6 +2553,7 @@ namespace QuickMedia { { 0x1f955, { } }, { 0x1f33d, { } }, { 0x1f336, { 0xfe0f } }, + { 0x1f336, { } }, { 0x1fad1, { } }, { 0x1f952, { } }, { 0x1f96c, { } }, @@ -2601,6 +2657,7 @@ namespace QuickMedia { { 0x1f9ca, { } }, { 0x1f962, { } }, { 0x1f37d, { 0xfe0f } }, + { 0x1f37d, { } }, { 0x1f374, { } }, { 0x1f944, { } }, { 0x1f52a, { } }, @@ -2611,26 +2668,39 @@ namespace QuickMedia { { 0x1f30f, { } }, { 0x1f310, { } }, { 0x1f5fa, { 0xfe0f } }, + { 0x1f5fa, { } }, { 0x1f5fe, { } }, { 0x1f9ed, { } }, { 0x1f3d4, { 0xfe0f } }, + { 0x1f3d4, { } }, { 0x26f0, { 0xfe0f } }, + { 0x26f0, { } }, { 0x1f30b, { } }, { 0x1f5fb, { } }, { 0x1f3d5, { 0xfe0f } }, + { 0x1f3d5, { } }, { 0x1f3d6, { 0xfe0f } }, + { 0x1f3d6, { } }, { 0x1f3dc, { 0xfe0f } }, + { 0x1f3dc, { } }, { 0x1f3dd, { 0xfe0f } }, + { 0x1f3dd, { } }, { 0x1f3de, { 0xfe0f } }, + { 0x1f3de, { } }, { 0x1f3df, { 0xfe0f } }, + { 0x1f3df, { } }, { 0x1f3db, { 0xfe0f } }, + { 0x1f3db, { } }, { 0x1f3d7, { 0xfe0f } }, + { 0x1f3d7, { } }, { 0x1f9f1, { } }, { 0x1faa8, { } }, { 0x1fab5, { } }, { 0x1f6d6, { } }, { 0x1f3d8, { 0xfe0f } }, + { 0x1f3d8, { } }, { 0x1f3da, { 0xfe0f } }, + { 0x1f3da, { } }, { 0x1f3e0, { } }, { 0x1f3e1, { } }, { 0x1f3e2, { } }, @@ -2654,18 +2724,21 @@ namespace QuickMedia { { 0x1f6d5, { } }, { 0x1f54d, { } }, { 0x26e9, { 0xfe0f } }, + { 0x26e9, { } }, { 0x1f54b, { } }, { 0x26f2, { } }, { 0x26fa, { } }, { 0x1f301, { } }, { 0x1f303, { } }, { 0x1f3d9, { 0xfe0f } }, + { 0x1f3d9, { } }, { 0x1f304, { } }, { 0x1f305, { } }, { 0x1f306, { } }, { 0x1f307, { } }, { 0x1f309, { } }, { 0x2668, { 0xfe0f } }, + { 0x2668, { } }, { 0x1f3a0, { } }, { 0x1f6dd, { } }, { 0x1f3a1, { } }, @@ -2702,7 +2775,9 @@ namespace QuickMedia { { 0x1f69b, { } }, { 0x1f69c, { } }, { 0x1f3ce, { 0xfe0f } }, + { 0x1f3ce, { } }, { 0x1f3cd, { 0xfe0f } }, + { 0x1f3cd, { } }, { 0x1f6f5, { } }, { 0x1f9bd, { } }, { 0x1f9bc, { } }, @@ -2713,8 +2788,11 @@ namespace QuickMedia { { 0x1f6fc, { } }, { 0x1f68f, { } }, { 0x1f6e3, { 0xfe0f } }, + { 0x1f6e3, { } }, { 0x1f6e4, { 0xfe0f } }, + { 0x1f6e4, { } }, { 0x1f6e2, { 0xfe0f } }, + { 0x1f6e2, { } }, { 0x26fd, { } }, { 0x1f6de, { } }, { 0x1f6a8, { } }, @@ -2728,11 +2806,16 @@ namespace QuickMedia { { 0x1f6f6, { } }, { 0x1f6a4, { } }, { 0x1f6f3, { 0xfe0f } }, + { 0x1f6f3, { } }, { 0x26f4, { 0xfe0f } }, + { 0x26f4, { } }, { 0x1f6e5, { 0xfe0f } }, + { 0x1f6e5, { } }, { 0x1f6a2, { } }, { 0x2708, { 0xfe0f } }, + { 0x2708, { } }, { 0x1f6e9, { 0xfe0f } }, + { 0x1f6e9, { } }, { 0x1f6eb, { } }, { 0x1f6ec, { } }, { 0x1fa82, { } }, @@ -2742,17 +2825,22 @@ namespace QuickMedia { { 0x1f6a0, { } }, { 0x1f6a1, { } }, { 0x1f6f0, { 0xfe0f } }, + { 0x1f6f0, { } }, { 0x1f680, { } }, { 0x1f6f8, { } }, { 0x1f6ce, { 0xfe0f } }, + { 0x1f6ce, { } }, { 0x1f9f3, { } }, { 0x231b, { } }, { 0x23f3, { } }, { 0x231a, { } }, { 0x23f0, { } }, { 0x23f1, { 0xfe0f } }, + { 0x23f1, { } }, { 0x23f2, { 0xfe0f } }, + { 0x23f2, { } }, { 0x1f570, { 0xfe0f } }, + { 0x1f570, { } }, { 0x1f55b, { } }, { 0x1f567, { } }, { 0x1f550, { } }, @@ -2790,7 +2878,9 @@ namespace QuickMedia { { 0x1f31b, { } }, { 0x1f31c, { } }, { 0x1f321, { 0xfe0f } }, + { 0x1f321, { } }, { 0x2600, { 0xfe0f } }, + { 0x2600, { } }, { 0x1f31d, { } }, { 0x1f31e, { } }, { 0x1fa90, { } }, @@ -2799,28 +2889,44 @@ namespace QuickMedia { { 0x1f320, { } }, { 0x1f30c, { } }, { 0x2601, { 0xfe0f } }, + { 0x2601, { } }, { 0x26c5, { } }, { 0x26c8, { 0xfe0f } }, + { 0x26c8, { } }, { 0x1f324, { 0xfe0f } }, + { 0x1f324, { } }, { 0x1f325, { 0xfe0f } }, + { 0x1f325, { } }, { 0x1f326, { 0xfe0f } }, + { 0x1f326, { } }, { 0x1f327, { 0xfe0f } }, + { 0x1f327, { } }, { 0x1f328, { 0xfe0f } }, + { 0x1f328, { } }, { 0x1f329, { 0xfe0f } }, + { 0x1f329, { } }, { 0x1f32a, { 0xfe0f } }, + { 0x1f32a, { } }, { 0x1f32b, { 0xfe0f } }, + { 0x1f32b, { } }, { 0x1f32c, { 0xfe0f } }, + { 0x1f32c, { } }, { 0x1f300, { } }, { 0x1f308, { } }, { 0x1f302, { } }, { 0x2602, { 0xfe0f } }, + { 0x2602, { } }, { 0x2614, { } }, { 0x26f1, { 0xfe0f } }, + { 0x26f1, { } }, { 0x26a1, { } }, { 0x2744, { 0xfe0f } }, + { 0x2744, { } }, { 0x2603, { 0xfe0f } }, + { 0x2603, { } }, { 0x26c4, { } }, { 0x2604, { 0xfe0f } }, + { 0x2604, { } }, { 0x1f525, { } }, { 0x1f4a7, { } }, { 0x1f30a, { } }, @@ -2843,9 +2949,12 @@ namespace QuickMedia { { 0x1f380, { } }, { 0x1f381, { } }, { 0x1f397, { 0xfe0f } }, + { 0x1f397, { } }, { 0x1f39f, { 0xfe0f } }, + { 0x1f39f, { } }, { 0x1f3ab, { } }, { 0x1f396, { 0xfe0f } }, + { 0x1f396, { } }, { 0x1f3c6, { } }, { 0x1f3c5, { } }, { 0x1f947, { } }, @@ -2872,6 +2981,7 @@ namespace QuickMedia { { 0x1f945, { } }, { 0x26f3, { } }, { 0x26f8, { 0xfe0f } }, + { 0x26f8, { } }, { 0x1f3a3, { } }, { 0x1f93f, { } }, { 0x1f3bd, { } }, @@ -2887,6 +2997,7 @@ namespace QuickMedia { { 0x1fa84, { } }, { 0x1f3ae, { } }, { 0x1f579, { 0xfe0f } }, + { 0x1f579, { } }, { 0x1f3b0, { } }, { 0x1f3b2, { } }, { 0x1f9e9, { } }, @@ -2895,15 +3006,21 @@ namespace QuickMedia { { 0x1faa9, { } }, { 0x1fa86, { } }, { 0x2660, { 0xfe0f } }, + { 0x2660, { } }, { 0x2665, { 0xfe0f } }, + { 0x2665, { } }, { 0x2666, { 0xfe0f } }, + { 0x2666, { } }, { 0x2663, { 0xfe0f } }, + { 0x2663, { } }, { 0x265f, { 0xfe0f } }, + { 0x265f, { } }, { 0x1f0cf, { } }, { 0x1f004, { } }, { 0x1f3b4, { } }, { 0x1f3ad, { } }, { 0x1f5bc, { 0xfe0f } }, + { 0x1f5bc, { } }, { 0x1f3a8, { } }, { 0x1f9f5, { } }, { 0x1faa1, { } }, @@ -2911,6 +3028,7 @@ namespace QuickMedia { { 0x1faa2, { } }, { 0x1f453, { } }, { 0x1f576, { 0xfe0f } }, + { 0x1f576, { } }, { 0x1f97d, { } }, { 0x1f97c, { } }, { 0x1f9ba, { } }, @@ -2934,6 +3052,7 @@ namespace QuickMedia { { 0x1f45c, { } }, { 0x1f45d, { } }, { 0x1f6cd, { 0xfe0f } }, + { 0x1f6cd, { } }, { 0x1f392, { } }, { 0x1fa74, { } }, { 0x1f45e, { } }, @@ -2952,6 +3071,7 @@ namespace QuickMedia { { 0x1f9e2, { } }, { 0x1fa96, { } }, { 0x26d1, { 0xfe0f } }, + { 0x26d1, { } }, { 0x1f4ff, { } }, { 0x1f484, { } }, { 0x1f48d, { } }, @@ -2969,8 +3089,11 @@ namespace QuickMedia { { 0x1f3b5, { } }, { 0x1f3b6, { } }, { 0x1f399, { 0xfe0f } }, + { 0x1f399, { } }, { 0x1f39a, { 0xfe0f } }, + { 0x1f39a, { } }, { 0x1f39b, { 0xfe0f } }, + { 0x1f39b, { } }, { 0x1f3a4, { } }, { 0x1f3a7, { } }, { 0x1f4fb, { } }, @@ -2988,6 +3111,7 @@ namespace QuickMedia { { 0x1f4f1, { } }, { 0x1f4f2, { } }, { 0x260e, { 0xfe0f } }, + { 0x260e, { } }, { 0x1f4de, { } }, { 0x1f4df, { } }, { 0x1f4e0, { } }, @@ -2996,10 +3120,15 @@ namespace QuickMedia { { 0x1f50c, { } }, { 0x1f4bb, { } }, { 0x1f5a5, { 0xfe0f } }, + { 0x1f5a5, { } }, { 0x1f5a8, { 0xfe0f } }, + { 0x1f5a8, { } }, { 0x2328, { 0xfe0f } }, + { 0x2328, { } }, { 0x1f5b1, { 0xfe0f } }, + { 0x1f5b1, { } }, { 0x1f5b2, { 0xfe0f } }, + { 0x1f5b2, { } }, { 0x1f4bd, { } }, { 0x1f4be, { } }, { 0x1f4bf, { } }, @@ -3007,7 +3136,9 @@ namespace QuickMedia { { 0x1f9ee, { } }, { 0x1f3a5, { } }, { 0x1f39e, { 0xfe0f } }, + { 0x1f39e, { } }, { 0x1f4fd, { 0xfe0f } }, + { 0x1f4fd, { } }, { 0x1f3ac, { } }, { 0x1f4fa, { } }, { 0x1f4f7, { } }, @@ -3017,6 +3148,7 @@ namespace QuickMedia { { 0x1f50d, { } }, { 0x1f50e, { } }, { 0x1f56f, { 0xfe0f } }, + { 0x1f56f, { } }, { 0x1f4a1, { } }, { 0x1f526, { } }, { 0x1f3ee, { } }, @@ -3035,9 +3167,11 @@ namespace QuickMedia { { 0x1f4c4, { } }, { 0x1f4f0, { } }, { 0x1f5de, { 0xfe0f } }, + { 0x1f5de, { } }, { 0x1f4d1, { } }, { 0x1f516, { } }, { 0x1f3f7, { 0xfe0f } }, + { 0x1f3f7, { } }, { 0x1f4b0, { } }, { 0x1fa99, { } }, { 0x1f4b4, { } }, @@ -3049,6 +3183,7 @@ namespace QuickMedia { { 0x1f9fe, { } }, { 0x1f4b9, { } }, { 0x2709, { 0xfe0f } }, + { 0x2709, { } }, { 0x1f4e7, { } }, { 0x1f4e8, { } }, { 0x1f4e9, { } }, @@ -3061,21 +3196,31 @@ namespace QuickMedia { { 0x1f4ed, { } }, { 0x1f4ee, { } }, { 0x1f5f3, { 0xfe0f } }, + { 0x1f5f3, { } }, { 0x270f, { 0xfe0f } }, + { 0x270f, { } }, { 0x2712, { 0xfe0f } }, + { 0x2712, { } }, { 0x1f58b, { 0xfe0f } }, + { 0x1f58b, { } }, { 0x1f58a, { 0xfe0f } }, + { 0x1f58a, { } }, { 0x1f58c, { 0xfe0f } }, + { 0x1f58c, { } }, { 0x1f58d, { 0xfe0f } }, + { 0x1f58d, { } }, { 0x1f4dd, { } }, { 0x1f4bc, { } }, { 0x1f4c1, { } }, { 0x1f4c2, { } }, { 0x1f5c2, { 0xfe0f } }, + { 0x1f5c2, { } }, { 0x1f4c5, { } }, { 0x1f4c6, { } }, { 0x1f5d2, { 0xfe0f } }, + { 0x1f5d2, { } }, { 0x1f5d3, { 0xfe0f } }, + { 0x1f5d3, { } }, { 0x1f4c7, { } }, { 0x1f4c8, { } }, { 0x1f4c9, { } }, @@ -3085,44 +3230,61 @@ namespace QuickMedia { { 0x1f4cd, { } }, { 0x1f4ce, { } }, { 0x1f587, { 0xfe0f } }, + { 0x1f587, { } }, { 0x1f4cf, { } }, { 0x1f4d0, { } }, { 0x2702, { 0xfe0f } }, + { 0x2702, { } }, { 0x1f5c3, { 0xfe0f } }, + { 0x1f5c3, { } }, { 0x1f5c4, { 0xfe0f } }, + { 0x1f5c4, { } }, { 0x1f5d1, { 0xfe0f } }, + { 0x1f5d1, { } }, { 0x1f512, { } }, { 0x1f513, { } }, { 0x1f50f, { } }, { 0x1f510, { } }, { 0x1f511, { } }, { 0x1f5dd, { 0xfe0f } }, + { 0x1f5dd, { } }, { 0x1f528, { } }, { 0x1fa93, { } }, { 0x26cf, { 0xfe0f } }, + { 0x26cf, { } }, { 0x2692, { 0xfe0f } }, + { 0x2692, { } }, { 0x1f6e0, { 0xfe0f } }, + { 0x1f6e0, { } }, { 0x1f5e1, { 0xfe0f } }, + { 0x1f5e1, { } }, { 0x2694, { 0xfe0f } }, + { 0x2694, { } }, { 0x1f4a3, { } }, { 0x1fa83, { } }, { 0x1f3f9, { } }, { 0x1f6e1, { 0xfe0f } }, + { 0x1f6e1, { } }, { 0x1fa9a, { } }, { 0x1f527, { } }, { 0x1fa9b, { } }, { 0x1f529, { } }, { 0x2699, { 0xfe0f } }, + { 0x2699, { } }, { 0x1f5dc, { 0xfe0f } }, + { 0x1f5dc, { } }, { 0x2696, { 0xfe0f } }, + { 0x2696, { } }, { 0x1f9af, { } }, { 0x1f517, { } }, { 0x26d3, { 0xfe0f } }, + { 0x26d3, { } }, { 0x1fa9d, { } }, { 0x1f9f0, { } }, { 0x1f9f2, { } }, { 0x1fa9c, { } }, { 0x2697, { 0xfe0f } }, + { 0x2697, { } }, { 0x1f9ea, { } }, { 0x1f9eb, { } }, { 0x1f9ec, { } }, @@ -3141,7 +3303,9 @@ namespace QuickMedia { { 0x1fa9e, { } }, { 0x1fa9f, { } }, { 0x1f6cf, { 0xfe0f } }, + { 0x1f6cf, { } }, { 0x1f6cb, { 0xfe0f } }, + { 0x1f6cb, { } }, { 0x1fa91, { } }, { 0x1f6bd, { } }, { 0x1faa0, { } }, @@ -3163,8 +3327,10 @@ namespace QuickMedia { { 0x1f6d2, { } }, { 0x1f6ac, { } }, { 0x26b0, { 0xfe0f } }, + { 0x26b0, { } }, { 0x1faa6, { } }, { 0x26b1, { 0xfe0f } }, + { 0x26b1, { } }, { 0x1f9ff, { } }, { 0x1faac, { } }, { 0x1f5ff, { } }, @@ -3184,6 +3350,7 @@ namespace QuickMedia { { 0x1f6c4, { } }, { 0x1f6c5, { } }, { 0x26a0, { 0xfe0f } }, + { 0x26a0, { } }, { 0x1f6b8, { } }, { 0x26d4, { } }, { 0x1f6ab, { } }, @@ -3195,21 +3362,37 @@ namespace QuickMedia { { 0x1f4f5, { } }, { 0x1f51e, { } }, { 0x2622, { 0xfe0f } }, + { 0x2622, { } }, { 0x2623, { 0xfe0f } }, + { 0x2623, { } }, { 0x2b06, { 0xfe0f } }, + { 0x2b06, { } }, { 0x2197, { 0xfe0f } }, + { 0x2197, { } }, { 0x27a1, { 0xfe0f } }, + { 0x27a1, { } }, { 0x2198, { 0xfe0f } }, + { 0x2198, { } }, { 0x2b07, { 0xfe0f } }, + { 0x2b07, { } }, { 0x2199, { 0xfe0f } }, + { 0x2199, { } }, { 0x2b05, { 0xfe0f } }, + { 0x2b05, { } }, { 0x2196, { 0xfe0f } }, + { 0x2196, { } }, { 0x2195, { 0xfe0f } }, + { 0x2195, { } }, { 0x2194, { 0xfe0f } }, + { 0x2194, { } }, { 0x21a9, { 0xfe0f } }, + { 0x21a9, { } }, { 0x21aa, { 0xfe0f } }, + { 0x21aa, { } }, { 0x2934, { 0xfe0f } }, + { 0x2934, { } }, { 0x2935, { 0xfe0f } }, + { 0x2935, { } }, { 0x1f503, { } }, { 0x1f504, { } }, { 0x1f519, { } }, @@ -3219,14 +3402,23 @@ namespace QuickMedia { { 0x1f51d, { } }, { 0x1f6d0, { } }, { 0x269b, { 0xfe0f } }, + { 0x269b, { } }, { 0x1f549, { 0xfe0f } }, + { 0x1f549, { } }, { 0x2721, { 0xfe0f } }, + { 0x2721, { } }, { 0x2638, { 0xfe0f } }, + { 0x2638, { } }, { 0x262f, { 0xfe0f } }, + { 0x262f, { } }, { 0x271d, { 0xfe0f } }, + { 0x271d, { } }, { 0x2626, { 0xfe0f } }, + { 0x2626, { } }, { 0x262a, { 0xfe0f } }, + { 0x262a, { } }, { 0x262e, { 0xfe0f } }, + { 0x262e, { } }, { 0x1f54e, { } }, { 0x1f52f, { } }, { 0x1faaf, { } }, @@ -3247,20 +3439,29 @@ namespace QuickMedia { { 0x1f501, { } }, { 0x1f502, { } }, { 0x25b6, { 0xfe0f } }, + { 0x25b6, { } }, { 0x23e9, { } }, { 0x23ed, { 0xfe0f } }, + { 0x23ed, { } }, { 0x23ef, { 0xfe0f } }, + { 0x23ef, { } }, { 0x25c0, { 0xfe0f } }, + { 0x25c0, { } }, { 0x23ea, { } }, { 0x23ee, { 0xfe0f } }, + { 0x23ee, { } }, { 0x1f53c, { } }, { 0x23eb, { } }, { 0x1f53d, { } }, { 0x23ec, { } }, { 0x23f8, { 0xfe0f } }, + { 0x23f8, { } }, { 0x23f9, { 0xfe0f } }, + { 0x23f9, { } }, { 0x23fa, { 0xfe0f } }, + { 0x23fa, { } }, { 0x23cf, { 0xfe0f } }, + { 0x23cf, { } }, { 0x1f3a6, { } }, { 0x1f505, { } }, { 0x1f506, { } }, @@ -3269,56 +3470,88 @@ namespace QuickMedia { { 0x1f4f3, { } }, { 0x1f4f4, { } }, { 0x2640, { 0xfe0f } }, + { 0x2640, { } }, { 0x2642, { 0xfe0f } }, + { 0x2642, { } }, { 0x26a7, { 0xfe0f } }, + { 0x26a7, { } }, { 0x2716, { 0xfe0f } }, + { 0x2716, { } }, { 0x2795, { } }, { 0x2796, { } }, { 0x2797, { } }, { 0x1f7f0, { } }, { 0x267e, { 0xfe0f } }, + { 0x267e, { } }, { 0x203c, { 0xfe0f } }, + { 0x203c, { } }, { 0x2049, { 0xfe0f } }, + { 0x2049, { } }, { 0x2753, { } }, { 0x2754, { } }, { 0x2755, { } }, { 0x2757, { } }, { 0x3030, { 0xfe0f } }, + { 0x3030, { } }, { 0x1f4b1, { } }, { 0x1f4b2, { } }, { 0x2695, { 0xfe0f } }, + { 0x2695, { } }, { 0x267b, { 0xfe0f } }, + { 0x267b, { } }, { 0x269c, { 0xfe0f } }, + { 0x269c, { } }, { 0x1f531, { } }, { 0x1f4db, { } }, { 0x1f530, { } }, { 0x2b55, { } }, { 0x2705, { } }, { 0x2611, { 0xfe0f } }, + { 0x2611, { } }, { 0x2714, { 0xfe0f } }, + { 0x2714, { } }, { 0x274c, { } }, { 0x274e, { } }, { 0x27b0, { } }, { 0x27bf, { } }, { 0x303d, { 0xfe0f } }, + { 0x303d, { } }, { 0x2733, { 0xfe0f } }, + { 0x2733, { } }, { 0x2734, { 0xfe0f } }, + { 0x2734, { } }, { 0x2747, { 0xfe0f } }, + { 0x2747, { } }, { 0xa9, { 0xfe0f } }, + { 0xa9, { } }, { 0xae, { 0xfe0f } }, + { 0xae, { } }, { 0x2122, { 0xfe0f } }, + { 0x2122, { } }, { 0x23, { 0xfe0f, 0x20e3 } }, + { 0x23, { 0x20e3 } }, { 0x2a, { 0xfe0f, 0x20e3 } }, + { 0x2a, { 0x20e3 } }, { 0x30, { 0xfe0f, 0x20e3 } }, + { 0x30, { 0x20e3 } }, { 0x31, { 0xfe0f, 0x20e3 } }, + { 0x31, { 0x20e3 } }, { 0x32, { 0xfe0f, 0x20e3 } }, + { 0x32, { 0x20e3 } }, { 0x33, { 0xfe0f, 0x20e3 } }, + { 0x33, { 0x20e3 } }, { 0x34, { 0xfe0f, 0x20e3 } }, + { 0x34, { 0x20e3 } }, { 0x35, { 0xfe0f, 0x20e3 } }, + { 0x35, { 0x20e3 } }, { 0x36, { 0xfe0f, 0x20e3 } }, + { 0x36, { 0x20e3 } }, { 0x37, { 0xfe0f, 0x20e3 } }, + { 0x37, { 0x20e3 } }, { 0x38, { 0xfe0f, 0x20e3 } }, + { 0x38, { 0x20e3 } }, { 0x39, { 0xfe0f, 0x20e3 } }, + { 0x39, { 0x20e3 } }, { 0x1f51f, { } }, { 0x1f520, { } }, { 0x1f521, { } }, @@ -3326,25 +3559,33 @@ namespace QuickMedia { { 0x1f523, { } }, { 0x1f524, { } }, { 0x1f170, { 0xfe0f } }, + { 0x1f170, { } }, { 0x1f18e, { } }, { 0x1f171, { 0xfe0f } }, + { 0x1f171, { } }, { 0x1f191, { } }, { 0x1f192, { } }, { 0x1f193, { } }, { 0x2139, { 0xfe0f } }, + { 0x2139, { } }, { 0x1f194, { } }, { 0x24c2, { 0xfe0f } }, + { 0x24c2, { } }, { 0x1f195, { } }, { 0x1f196, { } }, { 0x1f17e, { 0xfe0f } }, + { 0x1f17e, { } }, { 0x1f197, { } }, { 0x1f17f, { 0xfe0f } }, + { 0x1f17f, { } }, { 0x1f198, { } }, { 0x1f199, { } }, { 0x1f19a, { } }, { 0x1f201, { } }, { 0x1f202, { 0xfe0f } }, + { 0x1f202, { } }, { 0x1f237, { 0xfe0f } }, + { 0x1f237, { } }, { 0x1f236, { } }, { 0x1f22f, { } }, { 0x1f250, { } }, @@ -3356,7 +3597,9 @@ namespace QuickMedia { { 0x1f234, { } }, { 0x1f233, { } }, { 0x3297, { 0xfe0f } }, + { 0x3297, { } }, { 0x3299, { 0xfe0f } }, + { 0x3299, { } }, { 0x1f23a, { } }, { 0x1f235, { } }, { 0x1f534, { } }, @@ -3378,11 +3621,15 @@ namespace QuickMedia { { 0x2b1b, { } }, { 0x2b1c, { } }, { 0x25fc, { 0xfe0f } }, + { 0x25fc, { } }, { 0x25fb, { 0xfe0f } }, + { 0x25fb, { } }, { 0x25fe, { } }, { 0x25fd, { } }, { 0x25aa, { 0xfe0f } }, + { 0x25aa, { } }, { 0x25ab, { 0xfe0f } }, + { 0x25ab, { } }, { 0x1f536, { } }, { 0x1f537, { } }, { 0x1f538, { } }, @@ -3398,8 +3645,12 @@ namespace QuickMedia { { 0x1f38c, { } }, { 0x1f3f4, { } }, { 0x1f3f3, { 0xfe0f } }, + { 0x1f3f3, { } }, { 0x1f3f3, { 0xfe0f, 0x200d, 0x1f308 } }, + { 0x1f3f3, { 0x200d, 0x1f308 } }, { 0x1f3f3, { 0xfe0f, 0x200d, 0x26a7, 0xfe0f } }, + { 0x1f3f3, { 0x200d, 0x26a7, 0xfe0f } }, + { 0x1f3f3, { 0x200d, 0x26a7 } }, { 0x1f3f4, { 0x200d, 0x2620, 0xfe0f } }, { 0x1f1e6, { 0x1f1e8 } }, { 0x1f1e6, { 0x1f1e9 } }, diff --git a/src/Text.cpp b/src/Text.cpp index 74a0625..2a09336 100644 --- a/src/Text.cpp +++ b/src/Text.cpp @@ -572,6 +572,9 @@ namespace QuickMedia if(emoji_sequence_length > 0 && emoji_sequence[emoji_sequence_length - 1] == 0xfe0f && access(text_element.url.c_str(), F_OK) != 0) { emoji_codepoint_combined.erase(emoji_codepoint_combined.end() - 5, emoji_codepoint_combined.end()); text_element.url = "/usr/share/quickmedia/emoji/" + emoji_codepoint_combined + ".png"; + } else if(emoji_sequence_length > 0 && emoji_sequence[emoji_sequence_length - 1] != 0xfe0f && access(text_element.url.c_str(), F_OK) != 0) { + emoji_codepoint_combined += "-fe0f"; + text_element.url = "/usr/share/quickmedia/emoji/" + emoji_codepoint_combined + ".png"; } text_element.local = true; text_element.size = { (int)vspace, (int)vspace }; -- cgit v1.2.3