diff options
author | Behdad Esfahbod <behdad@gnome.org> | 2007-12-06 01:41:18 +0000 |
---|---|---|
committer | Behdad Esfahbod <behdad@src.gnome.org> | 2007-12-06 01:41:18 +0000 |
commit | 6fffea310dc99df9652410345d6b62e991c261eb (patch) | |
tree | a3e6d407403049d9d843e621b51fcd3825aaaaa7 /modules/arabic | |
parent | 62d818bf7db628d225479244ed1fc7af5c93a0f2 (diff) | |
download | pango-6fffea310dc99df9652410345d6b62e991c261eb.tar.gz |
Bug 501938 – Arabic shaping broken with vertical layout with
2007-12-05 Behdad Esfahbod <behdad@gnome.org>
Bug 501938 – Arabic shaping broken with vertical layout with
vertical-hint=line
* modules/arabic/arabic-fc.c (arabic_engine_shape): Take gravity into
equation when deciding whether to shape visually or logically.
svn path=/trunk/; revision=2516
Diffstat (limited to 'modules/arabic')
-rw-r--r-- | modules/arabic/arabic-fc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/modules/arabic/arabic-fc.c b/modules/arabic/arabic-fc.c index 5765982b..023f6294 100644 --- a/modules/arabic/arabic-fc.c +++ b/modules/arabic/arabic-fc.c @@ -96,6 +96,7 @@ arabic_engine_shape (PangoEngineShape *engine, const char *p; int cluster = 0; gboolean rtl = analysis->level % 2 != 0; + gboolean reverse; int i; g_return_if_fail (font != NULL); @@ -115,7 +116,8 @@ arabic_engine_shape (PangoEngineShape *engine, wcs = g_utf8_to_ucs4_fast (text, length, &n_chars); properties = g_new0 (gulong, n_chars); - Arabic_Assign_Properties (wcs, properties, n_chars, !rtl); + reverse = !rtl ^ (analysis->gravity == PANGO_GRAVITY_NORTH || analysis->gravity == PANGO_GRAVITY_WEST); + Arabic_Assign_Properties (wcs, properties, n_chars, reverse); g_free (wcs); |