OLD | NEW |
1 /* | 1 /* |
2 * Copyright © 2009 Red Hat, Inc. | 2 * Copyright © 2009 Red Hat, Inc. |
3 * Copyright © 2011 Google, Inc. | 3 * Copyright © 2011 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 13 matching lines...) Expand all Loading... |
24 * | 24 * |
25 * Red Hat Author(s): Behdad Esfahbod | 25 * Red Hat Author(s): Behdad Esfahbod |
26 * Google Author(s): Behdad Esfahbod | 26 * Google Author(s): Behdad Esfahbod |
27 */ | 27 */ |
28 | 28 |
29 #ifndef HB_FONT_PRIVATE_HH | 29 #ifndef HB_FONT_PRIVATE_HH |
30 #define HB_FONT_PRIVATE_HH | 30 #define HB_FONT_PRIVATE_HH |
31 | 31 |
32 #include "hb-private.hh" | 32 #include "hb-private.hh" |
33 | 33 |
34 #include "hb-font.h" | |
35 #include "hb-object-private.hh" | 34 #include "hb-object-private.hh" |
36 #include "hb-face-private.hh" | 35 #include "hb-face-private.hh" |
37 #include "hb-shaper-private.hh" | 36 #include "hb-shaper-private.hh" |
38 | 37 |
39 | 38 |
40 | 39 |
41 /* | 40 /* |
42 * hb_font_funcs_t | 41 * hb_font_funcs_t |
43 */ | 42 */ |
44 | 43 |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 *y = parent_scale_y_distance (*y); | 137 *y = parent_scale_y_distance (*y); |
139 } | 138 } |
140 inline void parent_scale_position (hb_position_t *x, hb_position_t *y) { | 139 inline void parent_scale_position (hb_position_t *x, hb_position_t *y) { |
141 *x = parent_scale_x_position (*x); | 140 *x = parent_scale_x_position (*x); |
142 *y = parent_scale_y_position (*y); | 141 *y = parent_scale_y_position (*y); |
143 } | 142 } |
144 | 143 |
145 | 144 |
146 /* Public getters */ | 145 /* Public getters */ |
147 | 146 |
| 147 inline hb_bool_t has_glyph (hb_codepoint_t unicode) |
| 148 { |
| 149 hb_codepoint_t glyph; |
| 150 return get_glyph (unicode, 0, &glyph); |
| 151 } |
| 152 |
148 inline hb_bool_t get_glyph (hb_codepoint_t unicode, hb_codepoint_t variation_s
elector, | 153 inline hb_bool_t get_glyph (hb_codepoint_t unicode, hb_codepoint_t variation_s
elector, |
149 hb_codepoint_t *glyph) | 154 hb_codepoint_t *glyph) |
150 { | 155 { |
151 *glyph = 0; | 156 *glyph = 0; |
152 return klass->get.glyph (this, user_data, | 157 return klass->get.glyph (this, user_data, |
153 unicode, variation_selector, glyph, | 158 unicode, variation_selector, glyph, |
154 klass->user_data.glyph); | 159 klass->user_data.glyph); |
155 } | 160 } |
156 | 161 |
157 inline hb_position_t get_glyph_h_advance (hb_codepoint_t glyph) | 162 inline hb_position_t get_glyph_h_advance (hb_codepoint_t glyph) |
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
401 }; | 406 }; |
402 | 407 |
403 #define HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS | 408 #define HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS |
404 #define HB_SHAPER_IMPLEMENT(shaper) HB_SHAPER_DATA_PROTOTYPE(shaper, font); | 409 #define HB_SHAPER_IMPLEMENT(shaper) HB_SHAPER_DATA_PROTOTYPE(shaper, font); |
405 #include "hb-shaper-list.hh" | 410 #include "hb-shaper-list.hh" |
406 #undef HB_SHAPER_IMPLEMENT | 411 #undef HB_SHAPER_IMPLEMENT |
407 #undef HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS | 412 #undef HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS |
408 | 413 |
409 | 414 |
410 #endif /* HB_FONT_PRIVATE_HH */ | 415 #endif /* HB_FONT_PRIVATE_HH */ |
OLD | NEW |