Lines Matching refs:buffer
220 hb_buffer_t *buffer,
228 const char *lang = hb_language_to_string (hb_buffer_get_language (buffer));
247 char *scratch = (char *) buffer->get_scratch_buffer (&scratch_size);
254 ALLOCATE_ARRAY (uint32_t, chars, buffer->len);
256 for (unsigned int i = 0; i < buffer->len; ++i)
257 chars[i] = buffer->info[i].codepoint;
260 hb_ot_tags_from_script (hb_buffer_get_script (buffer), &script_tag[0], &script_tag[1]);
265 gr_utf32, chars, buffer->len,
266 2 | (hb_buffer_get_direction (buffer) == HB_DIRECTION_RTL ? 1 : 0));
280 scratch = (char *) buffer->get_scratch_buffer (&scratch_size);
281 while ((sizeof (hb_graphite2_cluster_t) * buffer->len +
284 buffer->ensure (buffer->allocated * 2);
285 if (unlikely (buffer->in_error)) {
290 scratch = (char *) buffer->get_scratch_buffer (&scratch_size);
293 ALLOCATE_ARRAY (hb_graphite2_cluster_t, clusters, buffer->len);
296 memset (clusters, 0, sizeof (clusters[0]) * buffer->len);
328 //buffer->clear_output ();
333 hb_glyph_info_t *info = &buffer->info[clusters[i].base_glyph + j];
338 buffer->len = glyph_count;
339 //buffer->swap_buffers ();
341 if (HB_DIRECTION_IS_BACKWARD(buffer->props.direction))
345 for (pPos = hb_buffer_get_glyph_positions (buffer, NULL), is = gr_seg_first_slot (seg);
352 if (HB_DIRECTION_IS_BACKWARD (buffer->props.direction))
355 if (!HB_DIRECTION_IS_BACKWARD (buffer->props.direction))
360 if (!HB_DIRECTION_IS_BACKWARD (buffer->props.direction))
363 if (HB_DIRECTION_IS_BACKWARD (buffer->props.direction))
364 hb_buffer_reverse_clusters (buffer);