diff options
-rw-r--r-- | ChangeLog | 14 | ||||
-rw-r--r-- | pango/pango-utils.c | 22 |
2 files changed, 32 insertions, 4 deletions
@@ -1,3 +1,17 @@ +2006-05-22 Behdad Esfahbod <behdad@gnome.org> + + Bug 341922 – pango should handle more characters as zero width + Patch from Roozbeh Pournader + + * pango/pango-utils.c (pango_is_zero_width): Handle the following too: + + U+00AD SOFT HYPHEN + U+034F COMBINING GRAPHEME JOINER + U+2060 WORD JOINER + U+2061 FUNCTION APPLICATION + U+2062 INVISIBLE TIMES + U+2063 INVISIBLE SEPARATOR + 2006-05-22 Tor Lillqvist <tml@novell.com> * pango/pangowin32.c (pango_win32_font_get_metrics): Calculate diff --git a/pango/pango-utils.c b/pango/pango-utils.c index 7758c27f..dd3f8f56 100644 --- a/pango/pango-utils.c +++ b/pango/pango-utils.c @@ -1787,22 +1787,36 @@ pango_is_zero_width (gunichar ch) { /* Zero Width characters: * + * 00AD SOFT HYPHEN + * 034F COMBINING GRAPHEME JOINER + * * 200B ZERO WIDTH SPACE * 200C ZERO WIDTH NON-JOINER * 200D ZERO WIDTH JOINER * 200E LEFT-TO-RIGHT MARK * 200F RIGHT-TO-LEFT MARK + * * 2028 LINE SEPARATOR + * * 202A LEFT-TO-RIGHT EMBEDDING * 202B RIGHT-TO-LEFT EMBEDDING * 202C POP DIRECTIONAL FORMATTING * 202D LEFT-TO-RIGHT OVERRIDE * 202E RIGHT-TO-LEFT OVERRIDE + * + * 2060 WORD JOINER + * 2061 FUNCTION APPLICATION + * 2062 INVISIBLE TIMES + * 2063 INVISIBLE SEPARATOR + * * FEFF ZERO WIDTH NO-BREAK SPACE */ - return ((ch & ~(gunichar)0x003F) == 0x2000 && ( + return ((ch & ~(gunichar)0x007F) == 0x2000 && ( (ch >= 0x200B && ch <= 0x200F) || - ch == 0x2028 || - (ch >= 0x202A && ch <= 0x202E) - )) || ch == 0xFEFF; + (ch >= 0x202A && ch <= 0x202E) || + (ch >= 0x2060 && ch <= 0x2063) || + (ch == 0x2028) + )) || G_UNLIKELY (ch == 0x00AD + || ch == 0x034F + || ch == 0xFEFF); } |