Lines Matching refs:buffer
32 #include "hb-buffer-private.hh"
240 "idx %d codepoint %u", c->buffer->idx, c->buffer->cur().codepoint);
266 hb_buffer_t *buffer;
282 font (font_), face (font->face), buffer (buffer_),
384 end (c->buffer->len)
393 matcher.set_syllable (start_index_ == c->buffer->idx ? c->buffer->cur().syllable () : 0);
413 const hb_glyph_info_t &info = c->buffer->info[idx];
463 matcher.set_syllable (start_index_ == c->buffer->idx ? c->buffer->cur().syllable () : 0);
483 const hb_glyph_info_t &info = c->buffer->out_info[idx];
559 unsigned int add_in = _hb_glyph_info_get_glyph_props (&buffer->cur()) &
576 _hb_glyph_info_set_glyph_props (&buffer->cur(), add_in | gdef.get_glyph_props (glyph_index));
578 _hb_glyph_info_set_glyph_props (&buffer->cur(), add_in | class_guess);
584 buffer->replace_glyph (glyph_index);
589 buffer->cur().codepoint = glyph_index;
595 buffer->replace_glyph (glyph_index);
601 buffer->output_glyph (glyph_index);
723 hb_buffer_t *buffer = c->buffer;
725 hb_apply_context_t::skipping_forward_iterator_t skippy_iter (c, buffer->idx, count - 1);
747 bool is_mark_ligature = _hb_glyph_info_is_mark (&buffer->cur());
750 total_component_count += _hb_glyph_info_get_lig_num_comps (&buffer->cur());
752 unsigned int first_lig_id = _hb_glyph_info_get_lig_id (&buffer->cur());
753 unsigned int first_lig_comp = _hb_glyph_info_get_lig_comp (&buffer->cur());
755 match_positions[0] = buffer->idx;
762 unsigned int this_lig_id = _hb_glyph_info_get_lig_id (&buffer->info[skippy_iter.idx]);
763 unsigned int this_lig_comp = _hb_glyph_info_get_lig_comp (&buffer->info[skippy_iter.idx]);
779 is_mark_ligature = is_mark_ligature && _hb_glyph_info_is_mark (&buffer->info[skippy_iter.idx]);
780 total_component_count += _hb_glyph_info_get_lig_num_comps (&buffer->info[skippy_iter.idx]);
783 *end_offset = skippy_iter.idx - buffer->idx + 1;
803 hb_buffer_t *buffer = c->buffer;
805 buffer->merge_clusters (buffer->idx, buffer->idx + match_length);
836 unsigned int lig_id = is_mark_ligature ? 0 : _hb_allocate_lig_id (buffer);
837 unsigned int last_lig_id = _hb_glyph_info_get_lig_id (&buffer->cur());
838 unsigned int last_num_components = _hb_glyph_info_get_lig_num_comps (&buffer->cur());
843 _hb_glyph_info_set_lig_props_for_ligature (&buffer->cur(), lig_id, total_component_count);
844 if (_hb_glyph_info_get_general_category (&buffer->cur()) == HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK)
846 _hb_glyph_info_set_general_category (&buffer->cur(), HB_UNICODE_GENERAL_CATEGORY_OTHER_LETTER);
847 _hb_glyph_info_set_modified_combining_class (&buffer->cur(), 0);
854 while (buffer->idx < match_positions[i])
858 MIN (MAX (_hb_glyph_info_get_lig_comp (&buffer->cur()), 1u), last_num_components);
859 _hb_glyph_info_set_lig_props_for_mark (&buffer->cur(), lig_id, new_lig_comp);
861 buffer->next_glyph ();
864 last_lig_id = _hb_glyph_info_get_lig_id (&buffer->cur());
865 last_num_components = _hb_glyph_info_get_lig_num_comps (&buffer->cur());
869 buffer->idx++;
874 for (unsigned int i = buffer->idx; i < buffer->len; i++) {
875 if (last_lig_id == _hb_glyph_info_get_lig_id (&buffer->info[i])) {
877 MIN (MAX (_hb_glyph_info_get_lig_comp (&buffer->info[i]), 1u), last_num_components);
878 _hb_glyph_info_set_lig_props_for_mark (&buffer->info[i], lig_id, new_lig_comp);
894 hb_apply_context_t::skipping_backward_iterator_t skippy_iter (c, c->buffer->backtrack_len (), count, true);
914 hb_apply_context_t::skipping_forward_iterator_t skippy_iter (c, c->buffer->idx + offset - 1, count, true);
961 hb_buffer_t *buffer = c->buffer;
964 /* All positions are distance from beginning of *output* buffer.
967 unsigned int bl = buffer->backtrack_len ();
970 int delta = bl - buffer->idx;
982 buffer->move_to (match_positions[idx]);
984 unsigned int orig_len = buffer->backtrack_len () + buffer->lookahead_len ();
988 unsigned int new_len = buffer->backtrack_len () + buffer->lookahead_len ();
994 /* Recursed lookup changed buffer len. Adjust. */
1030 buffer->move_to (end);
1286 unsigned int index = (this+coverage).get_coverage (c->buffer->cur().codepoint);
1377 unsigned int index = (this+coverage).get_coverage (c->buffer->cur().codepoint);
1381 index = class_def.get_class (c->buffer->cur().codepoint);
1467 unsigned int index = (this+coverage[0]).get_coverage (c->buffer->cur().codepoint);
1847 unsigned int index = (this+coverage).get_coverage (c->buffer->cur().codepoint);
1950 unsigned int index = (this+coverage).get_coverage (c->buffer->cur().codepoint);
1957 index = input_class_def.get_class (c->buffer->cur().codepoint);
2073 unsigned int index = (this+input[0]).get_coverage (c->buffer->cur().codepoint);