libunibreak: Don't break ZWJ + Unknown Emoji case 12/210512/1
authorBowon Ryu <bowon.ryu@samsung.com>
Mon, 22 Jul 2019 05:03:55 +0000 (14:03 +0900)
committerBowon Ryu <bowon.ryu@samsung.com>
Mon, 22 Jul 2019 05:04:15 +0000 (14:04 +0900)
Some Emoji unicodes are missing from grapheme break data table. ex) 1F692
I don't know why Unicode annex does not have full information of Emoji combination.
Anyway, for correct behavior of text cursor, ZWJ + GBP_Other will be non-breakable.

@tizen_fix

Change-Id: I92b8b0b926be164c82c0a897383cf2269516d30f
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
src/static_libs/libunibreak/graphemebreak.c

index 77c3d5f..c964a8a 100644 (file)
@@ -203,7 +203,12 @@ static void set_graphemebreaks(const void *s, size_t len, char *brks,
         }
         else if ((prev_class == GBP_ZWJ) &&
                  ((current_class == GBP_Glue_After_Zwj) ||
+                  /* TIZEN_ONLY(20180628): Don't break ZWJ + Unknown Emoji case
                   (current_class == GBP_E_Base_GAZ)))
+                  */
+                  (current_class == GBP_E_Base_GAZ) ||
+                  (current_class == GBP_Other)))
+                  /* END */
         {
             brks[brksPos] = GRAPHEMEBREAK_NOBREAK;  // Rule: GB11
         }