mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-26 12:12:10 +01:00
guniprop: Set jungseong and jongseong points to zero-width for Old Korean
This mirrors what `wcwidth()` from glibc does as of June 2020 (commit 6e540caa2). Signed-off-by: Philip Withnall <pwithnall@endlessos.org> Fixes: #2564
This commit is contained in:
parent
2c958470d2
commit
84202a2ef0
@ -421,8 +421,15 @@ g_unichar_iszerowidth (gunichar c)
|
|||||||
if (G_UNLIKELY (ISZEROWIDTHTYPE (TYPE (c))))
|
if (G_UNLIKELY (ISZEROWIDTHTYPE (TYPE (c))))
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
|
/* A few additional codepoints are zero-width:
|
||||||
|
* - Part of the Hangul Jamo block covering medial/vowels/jungseong and
|
||||||
|
* final/trailing_consonants/jongseong Jamo
|
||||||
|
* - Jungseong and jongseong for Old Korean
|
||||||
|
* - Zero-width space (U+200B)
|
||||||
|
*/
|
||||||
if (G_UNLIKELY ((c >= 0x1160 && c < 0x1200) ||
|
if (G_UNLIKELY ((c >= 0x1160 && c < 0x1200) ||
|
||||||
c == 0x200B))
|
(c >= 0xD7B0 && c < 0xD800) ||
|
||||||
|
c == 0x200B))
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -909,6 +909,11 @@ test_zerowidth (void)
|
|||||||
g_assert_false (g_unichar_iszerowidth (G_UNICODE_LAST_CHAR + 1));
|
g_assert_false (g_unichar_iszerowidth (G_UNICODE_LAST_CHAR + 1));
|
||||||
g_assert_false (g_unichar_iszerowidth (G_UNICODE_LAST_CHAR_PART1));
|
g_assert_false (g_unichar_iszerowidth (G_UNICODE_LAST_CHAR_PART1));
|
||||||
g_assert_false (g_unichar_iszerowidth (G_UNICODE_LAST_CHAR_PART1 + 1));
|
g_assert_false (g_unichar_iszerowidth (G_UNICODE_LAST_CHAR_PART1 + 1));
|
||||||
|
|
||||||
|
/* Hangul Jamo Extended-B block, containing jungseong and jongseong for
|
||||||
|
* Old Korean */
|
||||||
|
g_assert_true (g_unichar_iszerowidth (0xD7B0));
|
||||||
|
g_assert_true (g_unichar_iszerowidth (0xD7FB));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Test that g_unichar_istitle() returns the correct value for various
|
/* Test that g_unichar_istitle() returns the correct value for various
|
||||||
|
Loading…
x
Reference in New Issue
Block a user