OLD | NEW |
1 /* | 1 /* |
2 * Copyright © 2015 Mozilla Foundation. | 2 * Copyright © 2015 Mozilla Foundation. |
3 * Copyright © 2015 Google, Inc. | 3 * Copyright © 2015 Google, Inc. |
4 * | 4 * |
5 * This is part of HarfBuzz, a text shaping library. | 5 * This is part of HarfBuzz, a text shaping library. |
6 * | 6 * |
7 * Permission is hereby granted, without written agreement and without | 7 * Permission is hereby granted, without written agreement and without |
8 * license or royalty fees, to use, copy, modify, and distribute this | 8 * license or royalty fees, to use, copy, modify, and distribute this |
9 * software and its documentation for any purpose, provided that the | 9 * software and its documentation for any purpose, provided that the |
10 * above copyright notice and the following two paragraphs appear in | 10 * above copyright notice and the following two paragraphs appear in |
(...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
515 { | 515 { |
516 last_syllable = syllable; | 516 last_syllable = syllable; |
517 | 517 |
518 hb_glyph_info_t ginfo = dottedcircle; | 518 hb_glyph_info_t ginfo = dottedcircle; |
519 ginfo.cluster = buffer->cur().cluster; | 519 ginfo.cluster = buffer->cur().cluster; |
520 ginfo.mask = buffer->cur().mask; | 520 ginfo.mask = buffer->cur().mask; |
521 ginfo.syllable() = buffer->cur().syllable(); | 521 ginfo.syllable() = buffer->cur().syllable(); |
522 /* TODO Set glyph_props? */ | 522 /* TODO Set glyph_props? */ |
523 | 523 |
524 /* Insert dottedcircle after possible Repha. */ | 524 /* Insert dottedcircle after possible Repha. */ |
525 while (buffer->idx < buffer->len && | 525 while (buffer->idx < buffer->len && !buffer->in_error && |
526 last_syllable == buffer->cur().syllable() && | 526 last_syllable == buffer->cur().syllable() && |
527 buffer->cur().use_category() == USE_R) | 527 buffer->cur().use_category() == USE_R) |
528 buffer->next_glyph (); | 528 buffer->next_glyph (); |
529 | 529 |
530 buffer->output_info (ginfo); | 530 buffer->output_info (ginfo); |
531 } | 531 } |
532 else | 532 else |
533 buffer->next_glyph (); | 533 buffer->next_glyph (); |
534 } | 534 } |
535 | 535 |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
576 collect_features_use, | 576 collect_features_use, |
577 NULL, /* override_features */ | 577 NULL, /* override_features */ |
578 data_create_use, | 578 data_create_use, |
579 data_destroy_use, | 579 data_destroy_use, |
580 NULL, /* preprocess_text */ | 580 NULL, /* preprocess_text */ |
581 NULL, /* postprocess_glyphs */ | 581 NULL, /* postprocess_glyphs */ |
582 HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS_NO_SHORT_CIRCUIT, | 582 HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS_NO_SHORT_CIRCUIT, |
583 NULL, /* decompose */ | 583 NULL, /* decompose */ |
584 compose_use, | 584 compose_use, |
585 setup_masks_use, | 585 setup_masks_use, |
586 HB_OT_SHAPE_ZERO_WIDTH_MARKS_NONE, | 586 HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF_EARLY, |
587 false, /* fallback_position */ | 587 false, /* fallback_position */ |
588 }; | 588 }; |
OLD | NEW |