summaryrefslogtreecommitdiff
path: root/pango/pango-engine.c
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@behdad.org>2012-09-26 15:37:20 -0400
committerBehdad Esfahbod <behdad@behdad.org>2012-09-26 15:37:20 -0400
commitbbec7e8697907a922f80c00b94f54b9b8634d264 (patch)
tree18c737c4c838199b9e6ca72383afdcd09e874af5 /pango/pango-engine.c
parent1c151fef87c61e2d329d84d3db59559bffa767fe (diff)
downloadpango-bbec7e8697907a922f80c00b94f54b9b8634d264.tar.gz
Add pango_shape_full()
Variant of pango_shape() that takes the full paragraph text as input. This is then passed in entirety to HarfBuzz, which would allow certain cross-run interactions (in Arabic for example). When combined with upcoming HarfBuzz 0.9.5+, this fixes: Red Hat Bug 858736 - [Spanish] Stray dotted circle rendered https://bugzilla.redhat.com/show_bug.cgi?id=858736 and partially: Bug 313181 - color changes break arabic shaping https://bugzilla.gnome.org/show_bug.cgi?id=313181
Diffstat (limited to 'pango/pango-engine.c')
-rw-r--r--pango/pango-engine.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/pango/pango-engine.c b/pango/pango-engine.c
index 7b2c2fd6..8a3369f3 100644
--- a/pango/pango-engine.c
+++ b/pango/pango-engine.c
@@ -82,20 +82,25 @@ pango_engine_shape_class_init (PangoEngineShapeClass *class)
}
void
-_pango_engine_shape_shape (PangoEngineShape *engine,
- PangoFont *font,
- const char *text,
- int length,
+_pango_engine_shape_shape (PangoEngineShape *engine,
+ PangoFont *font,
+ const char *item_text,
+ unsigned int item_length,
+ const char *paragraph_text,
+ unsigned int paragraph_len,
const PangoAnalysis *analysis,
- PangoGlyphString *glyphs)
+ PangoGlyphString *glyphs)
{
glyphs->num_glyphs = 0;
PANGO_ENGINE_SHAPE_GET_CLASS (engine)->script_shape (engine,
font,
- text, length,
+ item_text,
+ item_length,
analysis,
- glyphs);
+ glyphs,
+ paragraph_text,
+ paragraph_len);
}
PangoCoverageLevel