Home | History | Annotate | Download | only in src

Lines Matching refs:info

63  * There are two info pointers: info and out_info.  They always have
66 * As an optimization, both info and out_info may point to the
67 * same piece of memory, which is owned by info. This remains the
72 * As soon as out_info gets longer than info, out_info is moved over
76 * switches info and out_info.
92 bool separate_out = out_info != info;
94 if (unlikely (_hb_unsigned_int_mul_overflows (size, sizeof (info[0]))))
100 ASSERT_STATIC (sizeof (info[0]) == sizeof (pos[0]));
101 if (unlikely (_hb_unsigned_int_mul_overflows (new_allocated, sizeof (info[0]))))
105 new_info = (hb_glyph_info_t *) realloc (info, new_allocated * sizeof (info[0]));
115 info = new_info;
117 out_info = separate_out ? (hb_glyph_info_t *) pos : info;
130 if (out_info == info &&
136 memcpy (out_info, info, out_len * sizeof (out_info[0]));
148 memmove (info + idx + count, info + idx, (len - idx) * sizeof (info[0]));
162 out_info = info;
204 out_info = info;
222 glyph = &info[len];
237 info[len] = glyph_info;
253 out_info = info;
266 out_info = info;
279 out_info = info;
292 if (out_info != info)
295 tmp_string = info;
296 info = out_info;
319 hb_glyph_info_t orig_info = info[idx];
337 out_info[out_len] = info[idx];
358 out_info[out_len] = info[idx];
380 memmove (out_info + out_len, info + idx, count * sizeof (out_info[0]));
395 memmove (info + idx, out_info + out_len, count * sizeof (out_info[0]));
404 if (unlikely (out_info != info || out_len != idx)) {
406 out_info[out_len] = info[idx];
430 info[i].mask = (info[i].mask & not_mask) | value;
436 if (cluster_start <= info[i].cluster && info[i].cluster < cluster_end)
437 info[i].mask = (info[i].mask & not_mask) | value;
452 t = info[i];
453 info[i] = info[j];
454 info[j] = t;
489 last_cluster = info[0].cluster;
491 if (last_cluster != info[i].cluster) {
494 last_cluster = info[i].cluster;
511 unsigned int cluster = info[start].cluster;
514 cluster = MIN (cluster, info[i].cluster);
517 while (end < len && info[end - 1].cluster == info[end].cluster)
521 while (idx < start && info[start - 1].cluster == info[start].cluster)
526 for (unsigned i = out_len; i && out_info[i - 1].cluster == info[start].cluster; i--)
530 info[i].cluster = cluster;
558 for (unsigned i = idx; i < len && info[i].cluster == out_info[end - 1].cluster; i++)
559 info[i].cluster = cluster;
574 hb_script_t script = unicode->script (info[i].codepoint);
751 free (buffer->info);
1191 memset (buffer->info + buffer->len, 0, sizeof (buffer->info[0]) * (length - buffer->len));
1243 return (hb_glyph_info_t *) buffer->info;
1531 hb_bubble_sort (buffer->info + start, end - start - 1, compare_info_codepoint, buffer->pos + start);
1540 hb_bubble_sort (buffer->info + start + 1, end - start - 1, compare_info_codepoint, buffer->pos + start + 1);
1562 hb_glyph_info_t *info = buffer->info;
1567 if (info[start].cluster != info[end].cluster) {