OLD | NEW |
1 /* | 1 /* |
2 * Copyright © 2009,2010 Red Hat, Inc. | 2 * Copyright © 2009,2010 Red Hat, Inc. |
3 * Copyright © 2010,2011,2012 Google, Inc. | 3 * Copyright © 2010,2011,2012 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 658 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
669 if (space_status == SPACE_DONT_KNOW) | 669 if (space_status == SPACE_DONT_KNOW) |
670 space_status = c->font->get_glyph (' ', 0, &space) ? SPACE_AVAILABLE : S
PACE_UNAVAILABLE; | 670 space_status = c->font->get_glyph (' ', 0, &space) ? SPACE_AVAILABLE : S
PACE_UNAVAILABLE; |
671 | 671 |
672 if (space_status == SPACE_AVAILABLE) | 672 if (space_status == SPACE_AVAILABLE) |
673 { | 673 { |
674 info[i].codepoint = space; | 674 info[i].codepoint = space; |
675 pos[i].x_advance = 0; | 675 pos[i].x_advance = 0; |
676 pos[i].y_advance = 0; | 676 pos[i].y_advance = 0; |
677 } | 677 } |
678 else | 678 else |
679 » continue; /* Delete it. */ | 679 » continue; /* Delete it. XXX Merge clusters? */ |
680 } | 680 } |
681 if (j != i) | 681 if (j != i) |
682 { | 682 { |
683 info[j] = info[i]; | 683 info[j] = info[i]; |
684 pos[j] = pos[i]; | 684 pos[j] = pos[i]; |
685 } | 685 } |
686 j++; | 686 j++; |
687 } | 687 } |
688 c->buffer->len = j; | 688 c->buffer->len = j; |
689 } | 689 } |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
794 hb_set_t copy; | 794 hb_set_t copy; |
795 copy.init (); | 795 copy.init (); |
796 do { | 796 do { |
797 copy.set (glyphs); | 797 copy.set (glyphs); |
798 for (hb_codepoint_t lookup_index = -1; hb_set_next (&lookups, &lookup_index)
;) | 798 for (hb_codepoint_t lookup_index = -1; hb_set_next (&lookups, &lookup_index)
;) |
799 hb_ot_layout_lookup_substitute_closure (font->face, lookup_index, glyphs); | 799 hb_ot_layout_lookup_substitute_closure (font->face, lookup_index, glyphs); |
800 } while (!copy.is_equal (glyphs)); | 800 } while (!copy.is_equal (glyphs)); |
801 | 801 |
802 hb_shape_plan_destroy (shape_plan); | 802 hb_shape_plan_destroy (shape_plan); |
803 } | 803 } |
OLD | NEW |