diff options
author | Behdad Esfahbod <behdad@gnome.org> | 2006-05-22 04:34:06 +0000 |
---|---|---|
committer | Behdad Esfahbod <behdad@src.gnome.org> | 2006-05-22 04:34:06 +0000 |
commit | dc683af2e3834e7f615a1520dc1434085f63f89e (patch) | |
tree | 1ab9933885e51cd2a99eea12e2837e67820d08e0 /pango | |
parent | 79dc51f72e5882a49323648bc5ca17b52e1b4a0a (diff) | |
download | pango-dc683af2e3834e7f615a1520dc1434085f63f89e.tar.gz |
Bug 341922 – pango should handle more characters as zero width Patch
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
Diffstat (limited to 'pango')
-rw-r--r-- | pango/pango-utils.c | 22 |
1 files changed, 18 insertions, 4 deletions
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); } |