• Home
  • Raw
  • Download

Lines Matching full:clusters

112   cluster_t *clusters = (cluster_t *) malloc (length * sizeof (cluster_t));  in shape()  local
114 if (!clusters || !gids) in shape()
116 free (clusters); in shape()
121 memset (clusters, 0, sizeof (clusters[0]) * length); in shape()
123 clusters[0].cluster = contents.info[0].cluster; in shape()
134 clusters[0].advance = gr_seg_advance_X(seg) * xscale - curradv; in shape()
137 clusters[0].advance = 0; in shape()
144 while (clusters[ci].base_char > before && ci) in shape()
146 clusters[ci-1].num_chars += clusters[ci].num_chars; in shape()
147 clusters[ci-1].num_glyphs += clusters[ci].num_glyphs; in shape()
148 clusters[ci-1].advance += clusters[ci].advance; in shape()
152 …if (gr_slot_can_insert_before (is) && clusters[ci].num_chars && before >= clusters[ci].base_char +… in shape()
154 cluster_t *c = clusters + ci + 1; in shape()
155 c->base_char = clusters[ci].base_char + clusters[ci].num_chars; in shape()
169 clusters[ci].advance += origin_X - curradv; in shape()
174 clusters[ci].num_glyphs++; in shape()
176 if (clusters[ci].base_char + clusters[ci].num_chars < after + 1) in shape()
177 clusters[ci].num_chars = after + 1 - clusters[ci].base_char; in shape()
181 clusters[ci].advance += curradv; in shape()
183 clusters[ci].advance += gr_seg_advance_X(seg) * xscale - curradv; in shape()
188 for (unsigned int j = 0; j < clusters[i].num_glyphs; ++j) in shape()
190 glyph_info_t *info = &contents.info[clusters[i].base_glyph + j]; in shape()
191 info->codepoint = gids[clusters[i].base_glyph + j]; in shape()
192 info->cluster = clusters[i].cluster; in shape()
193 … info->var1 = (unsigned) clusters[i].advance; // all glyphs in the cluster get the same advance in shape()
244 free (clusters); in shape()