From 8e58459aeb949591bb5bca340ef9bdd5cfd54e47 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Sun, 9 Dec 2012 18:45:47 -0500 Subject: [PATCH] [graphite2] "Update to new API" Part of patch from Martin Hosken. I believe he knows what he's doing :). --- src/hb-graphite2.cc | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/hb-graphite2.cc b/src/hb-graphite2.cc index 4e7cfdc..16ef9a4 100644 --- a/src/hb-graphite2.cc +++ b/src/hb-graphite2.cc @@ -325,10 +325,18 @@ _hb_graphite2_shape (hb_shape_plan_t *shape_plan, } ci++; - buffer->clear_output (); + //buffer->clear_output (); for (unsigned int i = 0; i < ci; ++i) - buffer->replace_glyphs (clusters[i].num_chars, clusters[i].num_glyphs, gids + clusters[i].base_glyph); - buffer->swap_buffers (); + { + for (unsigned int j = 0; j < clusters[i].num_glyphs; ++j) + { + hb_glyph_info_t *info = &buffer->info[clusters[i].base_glyph + j]; + info->codepoint = gids[clusters[i].base_glyph + j]; + info->cluster = gr_cinfo_base(gr_seg_cinfo(seg, clusters[i].base_char)); + } + } + buffer->len = glyph_count; + //buffer->swap_buffers (); if (HB_DIRECTION_IS_BACKWARD(buffer->props.direction)) curradvx = gr_seg_advance_X(seg); -- 2.7.4