48 typedef hb_bool_t (*hb_font_get_glyph_func_t) (hb_font_t *font, void *font_data, |
61 typedef hb_bool_t (*hb_font_get_glyph_func_t) (hb_font_t *font, void *font_data, |
49 hb_codepoint_t unicode, hb_codepoint_t variation_selector, |
62 hb_codepoint_t unicode, hb_codepoint_t variation_selector, |
50 hb_codepoint_t *glyph, |
63 hb_codepoint_t *glyph, |
51 void *user_data); |
64 void *user_data); |
52 |
65 |
53 HB_EXTERN void |
66 HB_EXTERN HB_DEPRECATED_FOR(hb_font_funcs_set_nominal_glyph_func or hb_font_funcs_set_variation_glyph_func) void |
54 hb_font_funcs_set_glyph_func (hb_font_funcs_t *ffuncs, |
67 hb_font_funcs_set_glyph_func (hb_font_funcs_t *ffuncs, |
55 hb_font_get_glyph_func_t func, |
68 hb_font_get_glyph_func_t func, |
56 void *user_data, hb_destroy_func_t destroy); |
69 void *user_data, hb_destroy_func_t destroy); |
57 |
70 |
|
71 HB_EXTERN HB_DEPRECATED void |
|
72 hb_set_invert (hb_set_t *set); |
|
73 |
|
74 /** |
|
75 * hb_unicode_eastasian_width_func_t: |
|
76 * |
|
77 * Deprecated: 2.0.0 |
|
78 */ |
|
79 typedef unsigned int (*hb_unicode_eastasian_width_func_t) (hb_unicode_funcs_t *ufuncs, |
|
80 hb_codepoint_t unicode, |
|
81 void *user_data); |
|
82 |
|
83 /** |
|
84 * hb_unicode_funcs_set_eastasian_width_func: |
|
85 * @ufuncs: a Unicode function structure |
|
86 * @func: (closure user_data) (destroy destroy) (scope notified): |
|
87 * @user_data: |
|
88 * @destroy: |
|
89 * |
|
90 * |
|
91 * |
|
92 * Since: 0.9.2 |
|
93 * Deprecated: 2.0.0 |
|
94 **/ |
|
95 HB_EXTERN HB_DEPRECATED void |
|
96 hb_unicode_funcs_set_eastasian_width_func (hb_unicode_funcs_t *ufuncs, |
|
97 hb_unicode_eastasian_width_func_t func, |
|
98 void *user_data, hb_destroy_func_t destroy); |
|
99 |
|
100 /** |
|
101 * hb_unicode_eastasian_width: |
|
102 * |
|
103 * Since: 0.9.2 |
|
104 * Deprecated: 2.0.0 |
|
105 **/ |
|
106 HB_EXTERN HB_DEPRECATED unsigned int |
|
107 hb_unicode_eastasian_width (hb_unicode_funcs_t *ufuncs, |
|
108 hb_codepoint_t unicode); |
|
109 |
|
110 |
|
111 /** |
|
112 * hb_unicode_decompose_compatibility_func_t: |
|
113 * @ufuncs: a Unicode function structure |
|
114 * @u: codepoint to decompose |
|
115 * @decomposed: address of codepoint array (of length %HB_UNICODE_MAX_DECOMPOSITION_LEN) to write decomposition into |
|
116 * @user_data: user data pointer as passed to hb_unicode_funcs_set_decompose_compatibility_func() |
|
117 * |
|
118 * Fully decompose @u to its Unicode compatibility decomposition. The codepoints of the decomposition will be written to @decomposed. |
|
119 * The complete length of the decomposition will be returned. |
|
120 * |
|
121 * If @u has no compatibility decomposition, zero should be returned. |
|
122 * |
|
123 * The Unicode standard guarantees that a buffer of length %HB_UNICODE_MAX_DECOMPOSITION_LEN codepoints will always be sufficient for any |
|
124 * compatibility decomposition plus an terminating value of 0. Consequently, @decompose must be allocated by the caller to be at least this length. Implementations |
|
125 * of this function type must ensure that they do not write past the provided array. |
|
126 * |
|
127 * Return value: number of codepoints in the full compatibility decomposition of @u, or 0 if no decomposition available. |
|
128 * |
|
129 * Deprecated: 2.0.0 |
|
130 */ |
|
131 typedef unsigned int (*hb_unicode_decompose_compatibility_func_t) (hb_unicode_funcs_t *ufuncs, |
|
132 hb_codepoint_t u, |
|
133 hb_codepoint_t *decomposed, |
|
134 void *user_data); |
|
135 |
|
136 /** |
|
137 * HB_UNICODE_MAX_DECOMPOSITION_LEN: |
|
138 * |
|
139 * See Unicode 6.1 for details on the maximum decomposition length. |
|
140 * |
|
141 * Deprecated: 2.0.0 |
|
142 */ |
|
143 #define HB_UNICODE_MAX_DECOMPOSITION_LEN (18+1) /* codepoints */ |
|
144 |
|
145 /** |
|
146 * hb_unicode_funcs_set_decompose_compatibility_func: |
|
147 * @ufuncs: a Unicode function structure |
|
148 * @func: (closure user_data) (destroy destroy) (scope notified): |
|
149 * @user_data: |
|
150 * @destroy: |
|
151 * |
|
152 * |
|
153 * |
|
154 * Since: 0.9.2 |
|
155 * Deprecated: 2.0.0 |
|
156 **/ |
|
157 HB_EXTERN HB_DEPRECATED void |
|
158 hb_unicode_funcs_set_decompose_compatibility_func (hb_unicode_funcs_t *ufuncs, |
|
159 hb_unicode_decompose_compatibility_func_t func, |
|
160 void *user_data, hb_destroy_func_t destroy); |
|
161 |
|
162 HB_EXTERN HB_DEPRECATED unsigned int |
|
163 hb_unicode_decompose_compatibility (hb_unicode_funcs_t *ufuncs, |
|
164 hb_codepoint_t u, |
|
165 hb_codepoint_t *decomposed); |
|
166 |
|
167 |
|
168 typedef hb_position_t (*hb_font_get_glyph_kerning_func_t) (hb_font_t *font, void *font_data, |
|
169 hb_codepoint_t first_glyph, hb_codepoint_t second_glyph, |
|
170 void *user_data); |
|
171 typedef hb_font_get_glyph_kerning_func_t hb_font_get_glyph_h_kerning_func_t; |
|
172 typedef hb_font_get_glyph_kerning_func_t hb_font_get_glyph_v_kerning_func_t; |
|
173 |
|
174 /** |
|
175 * hb_font_funcs_set_glyph_h_kerning_func: |
|
176 * @ffuncs: font functions. |
|
177 * @func: (closure user_data) (destroy destroy) (scope notified): |
|
178 * @user_data: |
|
179 * @destroy: |
|
180 * |
|
181 * |
|
182 * |
|
183 * Since: 0.9.2 |
|
184 * Deprecated: 2.0.0 |
|
185 **/ |
58 HB_EXTERN void |
186 HB_EXTERN void |
59 hb_set_invert (hb_set_t *set); |
187 hb_font_funcs_set_glyph_h_kerning_func (hb_font_funcs_t *ffuncs, |
|
188 hb_font_get_glyph_h_kerning_func_t func, |
|
189 void *user_data, hb_destroy_func_t destroy); |
|
190 |
|
191 /** |
|
192 * hb_font_funcs_set_glyph_v_kerning_func: |
|
193 * @ffuncs: font functions. |
|
194 * @func: (closure user_data) (destroy destroy) (scope notified): |
|
195 * @user_data: |
|
196 * @destroy: |
|
197 * |
|
198 * |
|
199 * |
|
200 * Since: 0.9.2 |
|
201 * Deprecated: 2.0.0 |
|
202 **/ |
|
203 HB_EXTERN void |
|
204 hb_font_funcs_set_glyph_v_kerning_func (hb_font_funcs_t *ffuncs, |
|
205 hb_font_get_glyph_v_kerning_func_t func, |
|
206 void *user_data, hb_destroy_func_t destroy); |
|
207 |
|
208 HB_EXTERN hb_position_t |
|
209 hb_font_get_glyph_h_kerning (hb_font_t *font, |
|
210 hb_codepoint_t left_glyph, hb_codepoint_t right_glyph); |
|
211 HB_EXTERN hb_position_t |
|
212 hb_font_get_glyph_v_kerning (hb_font_t *font, |
|
213 hb_codepoint_t top_glyph, hb_codepoint_t bottom_glyph); |
|
214 |
|
215 HB_EXTERN void |
|
216 hb_font_get_glyph_kerning_for_direction (hb_font_t *font, |
|
217 hb_codepoint_t first_glyph, hb_codepoint_t second_glyph, |
|
218 hb_direction_t direction, |
|
219 hb_position_t *x, hb_position_t *y); |
|
220 |
60 |
221 |
61 #endif |
222 #endif |
62 |
223 |
63 HB_END_DECLS |
224 HB_END_DECLS |
64 |
225 |