| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright © 2011,2012,2013 Google, Inc. | 2 * Copyright © 2011,2012,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 433 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 444 | 444 |
| 445 hb_glyph_info_t dottedcircle = {0}; | 445 hb_glyph_info_t dottedcircle = {0}; |
| 446 dottedcircle.codepoint = 0x25CCu; | 446 dottedcircle.codepoint = 0x25CCu; |
| 447 set_myanmar_properties (dottedcircle); | 447 set_myanmar_properties (dottedcircle); |
| 448 dottedcircle.codepoint = dottedcircle_glyph; | 448 dottedcircle.codepoint = dottedcircle_glyph; |
| 449 | 449 |
| 450 buffer->clear_output (); | 450 buffer->clear_output (); |
| 451 | 451 |
| 452 buffer->idx = 0; | 452 buffer->idx = 0; |
| 453 unsigned int last_syllable = 0; | 453 unsigned int last_syllable = 0; |
| 454 while (buffer->idx < buffer->len) | 454 while (buffer->idx < buffer->len && !buffer->in_error) |
| 455 { | 455 { |
| 456 unsigned int syllable = buffer->cur().syllable(); | 456 unsigned int syllable = buffer->cur().syllable(); |
| 457 syllable_type_t syllable_type = (syllable_type_t) (syllable & 0x0F); | 457 syllable_type_t syllable_type = (syllable_type_t) (syllable & 0x0F); |
| 458 if (unlikely (last_syllable != syllable && syllable_type == broken_cluster)) | 458 if (unlikely (last_syllable != syllable && syllable_type == broken_cluster)) |
| 459 { | 459 { |
| 460 last_syllable = syllable; | 460 last_syllable = syllable; |
| 461 | 461 |
| 462 hb_glyph_info_t ginfo = dottedcircle; | 462 hb_glyph_info_t ginfo = dottedcircle; |
| 463 ginfo.cluster = buffer->cur().cluster; | 463 ginfo.cluster = buffer->cur().cluster; |
| 464 ginfo.mask = buffer->cur().mask; | 464 ginfo.mask = buffer->cur().mask; |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 529 NULL, /* data_destroy */ | 529 NULL, /* data_destroy */ |
| 530 NULL, /* preprocess_text */ | 530 NULL, /* preprocess_text */ |
| 531 NULL, /* postprocess_glyphs */ | 531 NULL, /* postprocess_glyphs */ |
| 532 HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS_NO_SHORT_CIRCUIT, | 532 HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS_NO_SHORT_CIRCUIT, |
| 533 NULL, /* decompose */ | 533 NULL, /* decompose */ |
| 534 NULL, /* compose */ | 534 NULL, /* compose */ |
| 535 setup_masks_myanmar, | 535 setup_masks_myanmar, |
| 536 HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF_EARLY, | 536 HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF_EARLY, |
| 537 false, /* fallback_position */ | 537 false, /* fallback_position */ |
| 538 }; | 538 }; |
| OLD | NEW |