Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(62)

Side by Side Diff: third_party/harfbuzz-ng/src/hb-ot-shape-complex-hangul.cc

Issue 1408003004: Roll harfbuzz-ng to 1.0.5 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2526
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright © 2013 Google, Inc. 2 * Copyright © 2013 Google, Inc.
3 * 3 *
4 * This is part of HarfBuzz, a text shaping library. 4 * This is part of HarfBuzz, a text shaping library.
5 * 5 *
6 * Permission is hereby granted, without written agreement and without 6 * Permission is hereby granted, without written agreement and without
7 * license or royalty fees, to use, copy, modify, and distribute this 7 * license or royalty fees, to use, copy, modify, and distribute this
8 * software and its documentation for any purpose, provided that the 8 * software and its documentation for any purpose, provided that the
9 * above copyright notice and the following two paragraphs appear in 9 * above copyright notice and the following two paragraphs appear in
10 * all copies of this software. 10 * all copies of this software.
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 * We could cache the width of the tone marks and the existence of dotted- circle, 198 * We could cache the width of the tone marks and the existence of dotted- circle,
199 * but the use of the Hangul tone mark characters seems to be rare enough that 199 * but the use of the Hangul tone mark characters seems to be rare enough that
200 * I didn't bother for now. 200 * I didn't bother for now.
201 */ 201 */
202 if (start < end && end == buffer->out_len) 202 if (start < end && end == buffer->out_len)
203 { 203 {
204 /* Tone mark follows a valid syllable; move it in front, unless it's zer o width. */ 204 /* Tone mark follows a valid syllable; move it in front, unless it's zer o width. */
205 buffer->next_glyph (); 205 buffer->next_glyph ();
206 if (!is_zero_width_char (font, u)) 206 if (!is_zero_width_char (font, u))
207 { 207 {
208 buffer->merge_out_clusters (start, end + 1);
208 hb_glyph_info_t *info = buffer->out_info; 209 hb_glyph_info_t *info = buffer->out_info;
209 hb_glyph_info_t tone = info[end]; 210 hb_glyph_info_t tone = info[end];
210 memmove (&info[start + 1], &info[start], (end - start) * sizeof (hb_gl yph_info_t)); 211 memmove (&info[start + 1], &info[start], (end - start) * sizeof (hb_gl yph_info_t));
211 info[start] = tone; 212 info[start] = tone;
212 buffer->merge_out_clusters (start, end + 1);
213 } 213 }
214 } 214 }
215 else 215 else
216 { 216 {
217 /* No valid syllable as base for tone mark; try to insert dotted circle. */ 217 /* No valid syllable as base for tone mark; try to insert dotted circle. */
218 if (font->has_glyph (0x25CCu)) 218 if (font->has_glyph (0x25CCu))
219 { 219 {
220 hb_codepoint_t chars[2]; 220 hb_codepoint_t chars[2];
221 if (!is_zero_width_char (font, u)) { 221 if (!is_zero_width_char (font, u)) {
222 chars[0] = u; 222 chars[0] = u;
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 data_create_hangul, /* data_create */ 414 data_create_hangul, /* data_create */
415 data_destroy_hangul, /* data_destroy */ 415 data_destroy_hangul, /* data_destroy */
416 preprocess_text_hangul, 416 preprocess_text_hangul,
417 HB_OT_SHAPE_NORMALIZATION_MODE_NONE, 417 HB_OT_SHAPE_NORMALIZATION_MODE_NONE,
418 NULL, /* decompose */ 418 NULL, /* decompose */
419 NULL, /* compose */ 419 NULL, /* compose */
420 setup_masks_hangul, /* setup_masks */ 420 setup_masks_hangul, /* setup_masks */
421 HB_OT_SHAPE_ZERO_WIDTH_MARKS_NONE, 421 HB_OT_SHAPE_ZERO_WIDTH_MARKS_NONE,
422 false, /* fallback_position */ 422 false, /* fallback_position */
423 }; 423 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698