summaryrefslogtreecommitdiff
path: root/pango
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@gnome.org>2007-02-17 00:18:14 +0000
committerBehdad Esfahbod <behdad@src.gnome.org>2007-02-17 00:18:14 +0000
commit45fdd2691c9d1832cc2d56e79f7f7bc07b8b74da (patch)
treec5b3fefdbadff6305cb81030445a55da7d998208 /pango
parent5908b6e701ea6dd485a974d7dbfb6d07fa5aae1d (diff)
downloadpango-45fdd2691c9d1832cc2d56e79f7f7bc07b8b74da.tar.gz
Bug 355987 – choosing font/shaper for spaces breaks Arabic runs on
2007-02-16 Behdad Esfahbod <behdad@gnome.org> Bug 355987 – choosing font/shaper for spaces breaks Arabic runs on spaces * pango/pango-context.c (itemize_state_process_run): Don't choose shaper for ASCII space char. svn path=/trunk/; revision=2198
Diffstat (limited to 'pango')
-rw-r--r--pango/pango-context.c17
1 files changed, 4 insertions, 13 deletions
diff --git a/pango/pango-context.c b/pango/pango-context.c
index bed0021e..8ddc7249 100644
--- a/pango/pango-context.c
+++ b/pango/pango-context.c
@@ -1311,24 +1311,15 @@ itemize_state_process_run (ItemizeState *state)
/* We don't want space characters to affect font selection; in general,
* it's always wrong to select a font just to render a space. But until
* we have a better solution, choosing a font for spaces seems to work
- * better.
- *
- * The exception of U+3000 (IDEOGRAPHIC SPACE) here is because we
- * want to choose an ideographic space that matches ideographic text
- * in cell width. Even if we were emulating missing spaces, an
- * emulated ideographic space for the primary font wouldn't be the
- * right size.
+ * better. However, all fonts are assumed to cover ASCII space, so that
+ * one is an exception. See bug #355987.
*
* The exception of PrivateUse and Unassigned characters is necessary
* to be able to render any of them. (for private or being encoded
* scripts, etc.)
*/
- /*
- if (G_UNLIKELY (!g_unichar_isgraph (wc) && wc != 0x3000 &&
- g_unichar_type (wc) != G_UNICODE_PRIVATE_USE &&
- g_unichar_type (wc) != G_UNICODE_UNASSIGNED))
- */
- if (G_UNLIKELY (!g_unichar_isprint (wc) &&
+ if (wc == 0x0020 ||
+ G_UNLIKELY (!g_unichar_isprint (wc) &&
g_unichar_type (wc) != G_UNICODE_PRIVATE_USE &&
g_unichar_type (wc) != G_UNICODE_UNASSIGNED))
{