Lines Matching refs:clusters

298   ALLOCATE_ARRAY (hb_graphite2_cluster_t, clusters, buffer->len);  in _hb_graphite2_shape()
303 memset (clusters, 0, sizeof (clusters[0]) * buffer->len); in _hb_graphite2_shape()
306 clusters[0].cluster = buffer->info[0].cluster; in _hb_graphite2_shape()
315 clusters[0].advance = gr_seg_advance_X(seg) * xscale - curradv; in _hb_graphite2_shape()
318 clusters[0].advance = 0; in _hb_graphite2_shape()
325 while (clusters[ci].base_char > before && ci) in _hb_graphite2_shape()
327 clusters[ci-1].num_chars += clusters[ci].num_chars; in _hb_graphite2_shape()
328 clusters[ci-1].num_glyphs += clusters[ci].num_glyphs; in _hb_graphite2_shape()
329 clusters[ci-1].advance += clusters[ci].advance; in _hb_graphite2_shape()
333 …if (gr_slot_can_insert_before (is) && clusters[ci].num_chars && before >= clusters[ci].base_char +… in _hb_graphite2_shape()
335 hb_graphite2_cluster_t *c = clusters + ci + 1; in _hb_graphite2_shape()
336 c->base_char = clusters[ci].base_char + clusters[ci].num_chars; in _hb_graphite2_shape()
349 clusters[ci].advance += gr_slot_origin_X(is) * xscale - curradv; in _hb_graphite2_shape()
350 curradv += clusters[ci].advance; in _hb_graphite2_shape()
354 clusters[ci].num_glyphs++; in _hb_graphite2_shape()
356 if (clusters[ci].base_char + clusters[ci].num_chars < after + 1) in _hb_graphite2_shape()
357 clusters[ci].num_chars = after + 1 - clusters[ci].base_char; in _hb_graphite2_shape()
361 clusters[ci].advance += curradv; in _hb_graphite2_shape()
363 clusters[ci].advance += gr_seg_advance_X(seg) * xscale - curradv; in _hb_graphite2_shape()
368 for (unsigned int j = 0; j < clusters[i].num_glyphs; ++j) in _hb_graphite2_shape()
370 hb_glyph_info_t *info = &buffer->info[clusters[i].base_glyph + j]; in _hb_graphite2_shape()
371 info->codepoint = gids[clusters[i].base_glyph + j]; in _hb_graphite2_shape()
372 info->cluster = clusters[i].cluster; in _hb_graphite2_shape()
373 info->var1.i32 = clusters[i].advance; // all glyphs in the cluster get the same advance in _hb_graphite2_shape()