OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2007,2008,2009 Red Hat, Inc. | 2 * Copyright © 2007,2008,2009 Red Hat, 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. |
11 * | 11 * |
12 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR | 12 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 unsigned int | 52 unsigned int |
53 hb_ot_layout_get_attach_points (hb_face_t *face, | 53 hb_ot_layout_get_attach_points (hb_face_t *face, |
54 hb_codepoint_t glyph, | 54 hb_codepoint_t glyph, |
55 unsigned int start_offset, | 55 unsigned int start_offset, |
56 unsigned int *point_count /* IN/OUT */, | 56 unsigned int *point_count /* IN/OUT */, |
57 unsigned int *point_array /* OUT */); | 57 unsigned int *point_array /* OUT */); |
58 | 58 |
59 /* Ligature caret positions */ | 59 /* Ligature caret positions */ |
60 unsigned int | 60 unsigned int |
61 hb_ot_layout_get_ligature_carets (hb_font_t *font, | 61 hb_ot_layout_get_ligature_carets (hb_font_t *font, |
62 hb_face_t *face, | |
63 hb_direction_t direction, | 62 hb_direction_t direction, |
64 hb_codepoint_t glyph, | 63 hb_codepoint_t glyph, |
65 unsigned int start_offset, | 64 unsigned int start_offset, |
66 unsigned int *caret_count /* IN/OUT */, | 65 unsigned int *caret_count /* IN/OUT */, |
67 » » » » int *caret_array /* OUT */); | 66 » » » » hb_position_t *caret_array /* OUT */); |
68 | 67 |
69 | 68 |
70 /* | 69 /* |
71 * GSUB/GPOS feature query and enumeration interface | 70 * GSUB/GPOS feature query and enumeration interface |
72 */ | 71 */ |
73 | 72 |
74 #define HB_OT_LAYOUT_NO_SCRIPT_INDEX ((unsigned int) 0xFFFF) | 73 #define HB_OT_LAYOUT_NO_SCRIPT_INDEX ((unsigned int) 0xFFFF) |
75 #define HB_OT_LAYOUT_NO_FEATURE_INDEX ((unsigned int) 0xFFFF) | 74 #define HB_OT_LAYOUT_NO_FEATURE_INDEX ((unsigned int) 0xFFFF) |
76 #define HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX ((unsigned int) 0xFFFF) | 75 #define HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX ((unsigned int) 0xFFFF) |
77 | 76 |
78 unsigned int | 77 unsigned int |
79 hb_ot_layout_table_get_script_tags (hb_face_t *face, | 78 hb_ot_layout_table_get_script_tags (hb_face_t *face, |
80 hb_tag_t table_tag, | 79 hb_tag_t table_tag, |
81 unsigned int start_offset, | 80 unsigned int start_offset, |
82 unsigned int *script_count /* IN/OUT */, | 81 unsigned int *script_count /* IN/OUT */, |
83 hb_tag_t *script_tags /* OUT */); | 82 hb_tag_t *script_tags /* OUT */); |
84 | 83 |
85 hb_bool_t | 84 hb_bool_t |
86 hb_ot_layout_table_find_script (hb_face_t *face, | 85 hb_ot_layout_table_find_script (hb_face_t *face, |
87 hb_tag_t table_tag, | 86 hb_tag_t table_tag, |
88 hb_tag_t script_tag, | 87 hb_tag_t script_tag, |
89 unsigned int *script_index); | 88 unsigned int *script_index); |
90 | 89 |
91 /* Like find_script, but takes zero-terminated array of scripts to test */ | 90 /* Like find_script, but takes zero-terminated array of scripts to test */ |
92 hb_bool_t | 91 hb_bool_t |
93 hb_ot_layout_table_choose_script (hb_face_t *face, | 92 hb_ot_layout_table_choose_script (hb_face_t *face, |
94 hb_tag_t table_tag, | 93 hb_tag_t table_tag, |
95 const hb_tag_t *script_tags, | 94 const hb_tag_t *script_tags, |
96 » » » » unsigned int *script_index); | 95 » » » » unsigned int *script_index, |
| 96 » » » » hb_tag_t *chosen_script); |
97 | 97 |
98 unsigned int | 98 unsigned int |
99 hb_ot_layout_table_get_feature_tags (hb_face_t *face, | 99 hb_ot_layout_table_get_feature_tags (hb_face_t *face, |
100 hb_tag_t table_tag, | 100 hb_tag_t table_tag, |
101 unsigned int start_offset, | 101 unsigned int start_offset, |
102 unsigned int *feature_count /* IN/OUT */, | 102 unsigned int *feature_count /* IN/OUT */, |
103 hb_tag_t *feature_tags /* OUT */); | 103 hb_tag_t *feature_tags /* OUT */); |
104 | 104 |
105 unsigned int | 105 unsigned int |
106 hb_ot_layout_script_get_language_tags (hb_face_t *face, | 106 hb_ot_layout_script_get_language_tags (hb_face_t *face, |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 unsigned int *lookup_indexes /* OUT */)
; | 159 unsigned int *lookup_indexes /* OUT */)
; |
160 | 160 |
161 | 161 |
162 /* | 162 /* |
163 * GSUB | 163 * GSUB |
164 */ | 164 */ |
165 | 165 |
166 hb_bool_t | 166 hb_bool_t |
167 hb_ot_layout_has_substitution (hb_face_t *face); | 167 hb_ot_layout_has_substitution (hb_face_t *face); |
168 | 168 |
| 169 /* Should be called before all the substitute_lookup's are done. */ |
| 170 void |
| 171 hb_ot_layout_substitute_start (hb_buffer_t *buffer); |
| 172 |
169 hb_bool_t | 173 hb_bool_t |
170 hb_ot_layout_substitute_lookup (hb_face_t *face, | 174 hb_ot_layout_substitute_lookup (hb_face_t *face, |
171 hb_buffer_t *buffer, | 175 hb_buffer_t *buffer, |
172 unsigned int lookup_index, | 176 unsigned int lookup_index, |
173 hb_mask_t mask); | 177 hb_mask_t mask); |
174 | 178 |
| 179 /* Should be called after all the substitute_lookup's are done */ |
| 180 void |
| 181 hb_ot_layout_substitute_finish (hb_buffer_t *buffer); |
| 182 |
175 /* | 183 /* |
176 * GPOS | 184 * GPOS |
177 */ | 185 */ |
178 | 186 |
179 hb_bool_t | 187 hb_bool_t |
180 hb_ot_layout_has_positioning (hb_face_t *face); | 188 hb_ot_layout_has_positioning (hb_face_t *face); |
181 | 189 |
| 190 /* Should be called before all the position_lookup's are done. Resets positions
to zero. */ |
| 191 void |
| 192 hb_ot_layout_position_start (hb_buffer_t *buffer); |
| 193 |
182 hb_bool_t | 194 hb_bool_t |
183 hb_ot_layout_position_lookup (hb_font_t *font, | 195 hb_ot_layout_position_lookup (hb_font_t *font, |
184 hb_face_t *face, | |
185 hb_buffer_t *buffer, | 196 hb_buffer_t *buffer, |
186 unsigned int lookup_index, | 197 unsigned int lookup_index, |
187 hb_mask_t mask); | 198 hb_mask_t mask); |
188 | 199 |
189 /* Should be called after all the position_lookup's are done */ | 200 /* Should be called after all the position_lookup's are done */ |
190 void | 201 void |
191 hb_ot_layout_position_finish (hb_buffer_t *buffer); | 202 hb_ot_layout_position_finish (hb_buffer_t *buffer); |
192 | 203 |
193 | 204 |
194 HB_END_DECLS | 205 HB_END_DECLS |
195 | 206 |
196 #endif /* HB_OT_LAYOUT_H */ | 207 #endif /* HB_OT_LAYOUT_H */ |
OLD | NEW |