summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@gnome.org>2006-08-15 22:23:19 +0000
committerBehdad Esfahbod <behdad@src.gnome.org>2006-08-15 22:23:19 +0000
commit2f6a750a060e505e7190e0aebe650b901dcf455c (patch)
tree5b67ba04f335acaf12d634bf0da4322068915498 /modules
parent39a80ded9e79d92b70c5903ac9d4a3ae594f2fbb (diff)
downloadpango-2f6a750a060e505e7190e0aebe650b901dcf455c.tar.gz
Always use fallback shaping for vertical fonts.
2006-08-15 Behdad Esfahbod <behdad@gnome.org> * modules/basic/basic-fc.c (basic_engine_shape): Always use fallback shaping for vertical fonts. * pango/pango-context.c (get_shaper_and_font): Always use basic shaper for vertical items (east/west gravity).
Diffstat (limited to 'modules')
-rw-r--r--modules/basic/basic-fc.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/modules/basic/basic-fc.c b/modules/basic/basic-fc.c
index 33478887..7d800bae 100644
--- a/modules/basic/basic-fc.c
+++ b/modules/basic/basic-fc.c
@@ -23,6 +23,7 @@
#include <config.h>
#include <string.h>
+#define PANGO_ENABLE_BACKEND 1 /* to get access to ->font_pattern :( */
#include <glib/gprintf.h>
#include "pango-engine.h"
#include "pango-utils.h"
@@ -337,6 +338,7 @@ basic_engine_shape (PangoEngineShape *engine,
const char *p;
int cluster = 0;
int i;
+ FcBool vertical = FcFalse;
g_return_if_fail (font != NULL);
g_return_if_fail (text != NULL);
@@ -348,6 +350,16 @@ basic_engine_shape (PangoEngineShape *engine,
if (!face)
return;
+#ifdef FC_VERTICAL_LAYOUT
+ FcPatternGetBool (fc_font->font_pattern, FC_VERTICAL_LAYOUT, 0, &vertical);
+#endif
+
+ if (vertical == FcTrue)
+ {
+ fallback_shape (engine, font, text, length, analysis, glyphs);
+ goto out;
+ }
+
ruleset = get_ruleset (face);
if (!ruleset)
{