Lines Matching refs:buffer
130 hb_buffer_t *buffer, in preprocess_text_hangul() argument
133 HB_BUFFER_ALLOCATE_VAR (buffer, hangul_shaping_feature); in preprocess_text_hangul()
183 buffer->clear_output (); in preprocess_text_hangul()
187 unsigned int count = buffer->len; in preprocess_text_hangul()
189 for (buffer->idx = 0; buffer->idx < count && buffer->successful;) in preprocess_text_hangul()
191 hb_codepoint_t u = buffer->cur().codepoint; in preprocess_text_hangul()
200 if (start < end && end == buffer->out_len) in preprocess_text_hangul()
203 buffer->unsafe_to_break_from_outbuffer (start, buffer->idx); in preprocess_text_hangul()
204 buffer->next_glyph (); in preprocess_text_hangul()
207 buffer->merge_out_clusters (start, end + 1); in preprocess_text_hangul()
208 hb_glyph_info_t *info = buffer->out_info; in preprocess_text_hangul()
227 buffer->replace_glyphs (1, 2, chars); in preprocess_text_hangul()
232 buffer->next_glyph (); in preprocess_text_hangul()
235 start = end = buffer->out_len; in preprocess_text_hangul()
239 start = buffer->out_len; /* Remember current position as a potential syllable start; in preprocess_text_hangul()
243 if (isL (u) && buffer->idx + 1 < count) in preprocess_text_hangul()
246 hb_codepoint_t v = buffer->cur(+1).codepoint; in preprocess_text_hangul()
252 if (buffer->idx + 2 < count) in preprocess_text_hangul()
254 t = buffer->cur(+2).codepoint; in preprocess_text_hangul()
260 buffer->unsafe_to_break (buffer->idx, buffer->idx + (t ? 3 : 2)); in preprocess_text_hangul()
269 buffer->replace_glyphs (t ? 3 : 2, 1, &s); in preprocess_text_hangul()
270 if (unlikely (!buffer->successful)) in preprocess_text_hangul()
282 buffer->cur().hangul_shaping_feature() = LJMO; in preprocess_text_hangul()
283 buffer->next_glyph (); in preprocess_text_hangul()
284 buffer->cur().hangul_shaping_feature() = VJMO; in preprocess_text_hangul()
285 buffer->next_glyph (); in preprocess_text_hangul()
288 buffer->cur().hangul_shaping_feature() = TJMO; in preprocess_text_hangul()
289 buffer->next_glyph (); in preprocess_text_hangul()
294 if (buffer->cluster_level == HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES) in preprocess_text_hangul()
295 buffer->merge_out_clusters (start, end); in preprocess_text_hangul()
311 buffer->idx + 1 < count && in preprocess_text_hangul()
312 isCombiningT (buffer->cur(+1).codepoint)) in preprocess_text_hangul()
315 unsigned int new_tindex = buffer->cur(+1).codepoint - TBase; in preprocess_text_hangul()
319 buffer->replace_glyphs (2, 1, &new_s); in preprocess_text_hangul()
320 if (unlikely (!buffer->successful)) in preprocess_text_hangul()
326 buffer->unsafe_to_break (buffer->idx, buffer->idx + 2); /* Mark unsafe between LV and T. */ in preprocess_text_hangul()
334 buffer->idx + 1 < count && in preprocess_text_hangul()
335 isT (buffer->cur(+1).codepoint))) in preprocess_text_hangul()
345 buffer->replace_glyphs (1, s_len, decomposed); in preprocess_text_hangul()
352 buffer->next_glyph (); in preprocess_text_hangul()
356 if (unlikely (!buffer->successful)) in preprocess_text_hangul()
362 hb_glyph_info_t *info = buffer->out_info; in preprocess_text_hangul()
371 if (buffer->cluster_level == HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES) in preprocess_text_hangul()
372 buffer->merge_out_clusters (start, end); in preprocess_text_hangul()
375 else if ((!tindex && buffer->idx + 1 < count && isT (buffer->cur(+1).codepoint))) in preprocess_text_hangul()
376 buffer->unsafe_to_break (buffer->idx, buffer->idx + 2); /* Mark unsafe between LV and T. */ in preprocess_text_hangul()
383 buffer->next_glyph (); in preprocess_text_hangul()
391 buffer->next_glyph (); in preprocess_text_hangul()
393 buffer->swap_buffers (); in preprocess_text_hangul()
398 hb_buffer_t *buffer, in setup_masks_hangul() argument
405 unsigned int count = buffer->len; in setup_masks_hangul()
406 hb_glyph_info_t *info = buffer->info; in setup_masks_hangul()
411 HB_BUFFER_DEALLOCATE_VAR (buffer, hangul_shaping_feature); in setup_masks_hangul()