Lines Matching refs:buffer
30 /* buffer var allocations */
404 hb_buffer_t *buffer);
408 hb_buffer_t *buffer);
412 hb_buffer_t *buffer);
590 hb_buffer_t *buffer,
593 HB_BUFFER_ALLOCATE_VAR (buffer, indic_category);
594 HB_BUFFER_ALLOCATE_VAR (buffer, indic_position);
599 unsigned int count = buffer->len;
601 set_indic_properties (buffer->info[i]);
607 hb_buffer_t *buffer)
609 find_syllables (buffer);
626 hb_buffer_t *buffer)
634 unsigned int count = buffer->len;
636 if (buffer->info[i].indic_position() == POS_BASE_C) {
637 glyphs[1] = buffer->info[i].codepoint;
638 buffer->info[i].indic_position() = consonant_position_from_face (indic_plan, glyphs, face);
650 hb_buffer_t *buffer,
654 hb_glyph_info_t *info = buffer->info;
922 buffer->merge_clusters (base, end);
958 buffer->props.script == HB_SCRIPT_DEVANAGARI)
1038 hb_buffer_t *buffer,
1042 buffer, start, end);
1048 hb_buffer_t *buffer,
1059 if (buffer->info[end - 1].indic_category() == OT_DOTTEDCIRCLE)
1063 initial_reordering_consonant_syllable (plan, face, buffer, start, end);
1069 hb_buffer_t *buffer,
1073 initial_reordering_standalone_cluster (plan, face, buffer, start, end);
1079 hb_buffer_t *buffer HB_UNUSED,
1083 * buffer in the reordering process, we'd need to next_glyph() here. */
1090 hb_buffer_t *buffer,
1093 syllable_type_t syllable_type = (syllable_type_t) (buffer->info[start].syllable() & 0x0F);
1095 case consonant_syllable: initial_reordering_consonant_syllable (plan, face, buffer, start, end); return;
1096 case vowel_syllable: initial_reordering_vowel_syllable (plan, face, buffer, start, end); return;
1097 case standalone_cluster: initial_reordering_standalone_cluster (plan, face, buffer, start, end); return;
1098 case broken_cluster: initial_reordering_broken_cluster (plan, face, buffer, start, end); return;
1099 case non_indic_cluster: initial_reordering_non_indic_cluster (plan, face, buffer, start, end); return;
1106 hb_buffer_t *buffer)
1110 unsigned int count = buffer->len;
1112 if ((buffer->info[i].syllable() & 0x0F) == broken_cluster) {
1129 buffer->clear_output ();
1131 buffer->idx = 0;
1133 while (buffer->idx < buffer->len)
1135 unsigned int syllable = buffer->cur().syllable();
1142 info.cluster = buffer->cur().cluster;
1143 info.mask = buffer->cur().mask;
1144 info.syllable() = buffer->cur().syllable();
1147 while (buffer->idx < buffer->len &&
1148 last_syllable == buffer->cur().syllable() &&
1149 buffer->cur().indic_category() == OT_Repha)
1150 buffer->next_glyph ();
1152 buffer->output_info (info);
1155 buffer->next_glyph ();
1158 buffer->swap_buffers ();
1164 hb_buffer_t *buffer)
1166 update_consonant_positions (plan, font, buffer);
1167 insert_dotted_circles (plan, font, buffer);
1169 hb_glyph_info_t *info = buffer->info;
1170 unsigned int count = buffer->len;
1176 initial_reordering_syllable (plan, font->face, buffer, last, i);
1180 initial_reordering_syllable (plan, font->face, buffer, last, count);
1185 hb_buffer_t *buffer,
1189 hb_glyph_info_t *info = buffer->info;
1235 if (buffer->props.script != HB_SCRIPT_MALAYALAM && buffer->props.script != HB_SCRIPT_TAMIL)
1269 buffer->merge_clusters (new_pos, MIN (end, base + 1));
1273 buffer->merge_clusters (i, MIN (end, base + 1));
1415 buffer->merge_clusters (start, end);
1457 if (buffer->props.script != HB_SCRIPT_MALAYALAM && buffer->props.script != HB_SCRIPT_TAMIL)
1486 buffer->merge_clusters (new_pos, old_pos + 1);
1517 buffer->merge_clusters (start, end);
1525 hb_buffer_t *buffer)
1527 unsigned int count = buffer->len;
1530 hb_glyph_info_t *info = buffer->info;
1535 final_reordering_syllable (plan, buffer, last, i);
1539 final_reordering_syllable (plan, buffer, last, count);
1545 HB_BUFFER_DEALLOCATE_VAR (buffer, indic_category);
1546 HB_BUFFER_DEALLOCATE_VAR (buffer, indic_position);