Lines Matching refs:buffer
586 hb_buffer_t *buffer,
606 hb_buffer_t::scratch_buffer_t *scratch = buffer->get_scratch_buffer (&scratch_size);
619 ALLOCATE_ARRAY (WCHAR, pchars, buffer->len * 2);
622 for (unsigned int i = 0; i < buffer->len; i++)
624 hb_codepoint_t c = buffer->info[i].codepoint;
625 buffer->info[i].utf16_index() = chars_len;
643 for (unsigned int i = 0; i < buffer->len; i++)
645 hb_codepoint_t c = buffer->info[i].codepoint;
646 unsigned int cluster = buffer->info[i].cluster;
670 * implementations of Shape and Place functions use that buffer
690 bidi_state.uBidiLevel = HB_DIRECTION_IS_FORWARD (buffer->props.direction) ? 0 : 1;
708 hb_ot_tags_from_script_and_language (buffer->props.script,
709 buffer->props.language,
733 bool backward = HB_DIRECTION_IS_BACKWARD (buffer->props.direction);
775 if (unlikely (!buffer->ensure (buffer->allocated * 2)))
828 /* Ok, we've got everything we need, now compose output buffer,
834 for (unsigned int i = 0; i < buffer->len; i++) {
835 uint32_t *p = &vis_clusters[log_clusters[buffer->info[i].utf16_index()]];
836 *p = hb_min (*p, buffer->info[i].cluster);
844 if (unlikely (!buffer->ensure (glyphs_len)))
850 buffer->len = 0;
853 hb_glyph_info_t *info = &buffer->info[buffer->len++];
865 buffer->clear_positions ();
869 hb_glyph_info_t *info = &buffer->info[i];
870 hb_glyph_position_t *pos = &buffer->pos[i];
879 hb_buffer_reverse (buffer);
881 buffer->unsafe_to_break_all ();