OLD | NEW |
1 /* | 1 /* |
2 * Copyright © 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. |
(...skipping 24 matching lines...) Expand all Loading... |
35 | 35 |
36 #include "hb-ot-tag.h" | 36 #include "hb-ot-tag.h" |
37 | 37 |
38 HB_BEGIN_DECLS | 38 HB_BEGIN_DECLS |
39 | 39 |
40 | 40 |
41 #define HB_OT_TAG_GDEF HB_TAG('G','D','E','F') | 41 #define HB_OT_TAG_GDEF HB_TAG('G','D','E','F') |
42 #define HB_OT_TAG_GSUB HB_TAG('G','S','U','B') | 42 #define HB_OT_TAG_GSUB HB_TAG('G','S','U','B') |
43 #define HB_OT_TAG_GPOS HB_TAG('G','P','O','S') | 43 #define HB_OT_TAG_GPOS HB_TAG('G','P','O','S') |
44 | 44 |
| 45 |
45 /* | 46 /* |
46 * GDEF | 47 * GDEF |
47 */ | 48 */ |
48 | 49 |
49 hb_bool_t | 50 hb_bool_t |
50 hb_ot_layout_has_glyph_classes (hb_face_t *face); | 51 hb_ot_layout_has_glyph_classes (hb_face_t *face); |
51 | 52 |
52 /* Not that useful. Provides list of attach points for a glyph that a | 53 /* Not that useful. Provides list of attach points for a glyph that a |
53 * client may want to cache */ | 54 * client may want to cache */ |
54 unsigned int | 55 unsigned int |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
161 unsigned int *lookup_indexes /* OUT */)
; | 162 unsigned int *lookup_indexes /* OUT */)
; |
162 | 163 |
163 | 164 |
164 /* | 165 /* |
165 * GSUB | 166 * GSUB |
166 */ | 167 */ |
167 | 168 |
168 hb_bool_t | 169 hb_bool_t |
169 hb_ot_layout_has_substitution (hb_face_t *face); | 170 hb_ot_layout_has_substitution (hb_face_t *face); |
170 | 171 |
171 /* Should be called before all the substitute_lookup's are done. */ | |
172 void | |
173 hb_ot_layout_substitute_start (hb_buffer_t *buffer); | |
174 | |
175 hb_bool_t | 172 hb_bool_t |
176 hb_ot_layout_substitute_lookup (hb_face_t *face, | 173 hb_ot_layout_would_substitute_lookup (hb_face_t *face, |
177 » » » » hb_buffer_t *buffer, | 174 » » » » unsigned int lookup_index, |
178 » » » » unsigned int lookup_index, | 175 » » » » const hb_codepoint_t *glyphs, |
179 » » » » hb_mask_t mask); | 176 » » » » unsigned int glyphs_length, |
180 | 177 » » » » hb_bool_t zero_context); |
181 /* Should be called after all the substitute_lookup's are done */ | |
182 void | |
183 hb_ot_layout_substitute_finish (hb_buffer_t *buffer); | |
184 | |
185 | 178 |
186 void | 179 void |
187 hb_ot_layout_substitute_closure_lookup (hb_face_t *face, | 180 hb_ot_layout_substitute_closure_lookup (hb_face_t *face, |
188 » » » » hb_set_t *glyphs, | 181 » » » » unsigned int lookup_index, |
189 » » » » unsigned int lookup_index); | 182 » » » » hb_set_t *glyphs); |
190 | 183 |
191 /* | 184 /* |
192 * GPOS | 185 * GPOS |
193 */ | 186 */ |
194 | 187 |
195 hb_bool_t | 188 hb_bool_t |
196 hb_ot_layout_has_positioning (hb_face_t *face); | 189 hb_ot_layout_has_positioning (hb_face_t *face); |
197 | 190 |
198 /* Should be called before all the position_lookup's are done. Resets positions
to zero. */ | |
199 void | |
200 hb_ot_layout_position_start (hb_buffer_t *buffer); | |
201 | |
202 hb_bool_t | |
203 hb_ot_layout_position_lookup (hb_font_t *font, | |
204 hb_buffer_t *buffer, | |
205 unsigned int lookup_index, | |
206 hb_mask_t mask); | |
207 | |
208 /* Should be called after all the position_lookup's are done */ | |
209 void | |
210 hb_ot_layout_position_finish (hb_buffer_t *buffer); | |
211 | |
212 | 191 |
213 HB_END_DECLS | 192 HB_END_DECLS |
214 | 193 |
215 #endif /* HB_OT_LAYOUT_H */ | 194 #endif /* HB_OT_LAYOUT_H */ |
OLD | NEW |