diff options
author | Behdad Esfahbod <behdad@gnome.org> | 2007-02-17 00:18:14 +0000 |
---|---|---|
committer | Behdad Esfahbod <behdad@src.gnome.org> | 2007-02-17 00:18:14 +0000 |
commit | 45fdd2691c9d1832cc2d56e79f7f7bc07b8b74da (patch) | |
tree | c5b3fefdbadff6305cb81030445a55da7d998208 /pango | |
parent | 5908b6e701ea6dd485a974d7dbfb6d07fa5aae1d (diff) | |
download | pango-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.c | 17 |
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)) { |