summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@gnome.org>2006-05-22 04:33:00 +0000
committerBehdad Esfahbod <behdad@src.gnome.org>2006-05-22 04:33:00 +0000
commit1c6c1160533bdb5bcd189923fbafa1d5c665c509 (patch)
treec6510080f35f1f565f8d7d253a75678cdc0e4e4f
parentf2cfabef4eef9c7933f6153f913a955305483a31 (diff)
downloadpango-1c6c1160533bdb5bcd189923fbafa1d5c665c509.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
-rw-r--r--ChangeLog14
-rw-r--r--pango/pango-utils.c22
2 files changed, 32 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 9f38ac13..a21fbc50 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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-21 Behdad Esfahbod <behdad@gnome.org>
Bug 342525 – With PangoFc and PangoWin32, approximate digit width is
diff --git a/pango/pango-utils.c b/pango/pango-utils.c
index 8f04a709..7ccdc6a8 100644
--- a/pango/pango-utils.c
+++ b/pango/pango-utils.c
@@ -1800,24 +1800,38 @@ 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);
}
/**