diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2012-09-26 15:37:20 -0400 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2012-09-26 15:37:20 -0400 |
commit | bbec7e8697907a922f80c00b94f54b9b8634d264 (patch) | |
tree | 18c737c4c838199b9e6ca72383afdcd09e874af5 /pango/pango-engine.c | |
parent | 1c151fef87c61e2d329d84d3db59559bffa767fe (diff) | |
download | pango-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.c | 19 |
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 |