OLD | NEW |
1 /* | 1 /* |
2 * Copyright © 2009 Red Hat, Inc. | 2 * Copyright © 2009 Red Hat, Inc. |
3 * Copyright © 2012 Google, Inc. | 3 * Copyright © 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 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
193 parse_feature_indices (pp, end, feature) && | 193 parse_feature_indices (pp, end, feature) && |
194 parse_feature_value_postfix (pp, end, feature) && | 194 parse_feature_value_postfix (pp, end, feature) && |
195 parse_space (pp, end) && | 195 parse_space (pp, end) && |
196 *pp == end; | 196 *pp == end; |
197 } | 197 } |
198 | 198 |
199 /** | 199 /** |
200 * hb_feature_from_string: | 200 * hb_feature_from_string: |
201 * @str: (array length=len): | 201 * @str: (array length=len): |
202 * @len: | 202 * @len: |
203 * @feature: (out) (allow-none): | 203 * @feature: (out) (optional): |
204 * | 204 * |
205 * | 205 * |
206 * | 206 * |
207 * Return value: | 207 * Return value: |
208 * | 208 * |
209 * Since: 1.0 | 209 * Since: 1.0 |
210 **/ | 210 **/ |
211 hb_bool_t | 211 hb_bool_t |
212 hb_feature_from_string (const char *str, int len, | 212 hb_feature_from_string (const char *str, int len, |
213 hb_feature_t *feature) | 213 hb_feature_t *feature) |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
272 } | 272 } |
273 assert (len < ARRAY_LENGTH (s)); | 273 assert (len < ARRAY_LENGTH (s)); |
274 len = MIN (len, size - 1); | 274 len = MIN (len, size - 1); |
275 memcpy (buf, s, len); | 275 memcpy (buf, s, len); |
276 buf[len] = '\0'; | 276 buf[len] = '\0'; |
277 } | 277 } |
278 | 278 |
279 | 279 |
280 static const char **static_shaper_list; | 280 static const char **static_shaper_list; |
281 | 281 |
282 static inline | 282 #ifdef HB_USE_ATEXIT |
| 283 static |
283 void free_static_shaper_list (void) | 284 void free_static_shaper_list (void) |
284 { | 285 { |
285 free (static_shaper_list); | 286 free (static_shaper_list); |
286 } | 287 } |
| 288 #endif |
287 | 289 |
288 /** | 290 /** |
289 * hb_shape_list_shapers: | 291 * hb_shape_list_shapers: |
290 * | 292 * |
291 * | 293 * |
292 * | 294 * |
293 * Return value: (transfer none): | 295 * Return value: (transfer none): |
294 * | 296 * |
295 * Since: 1.0 | 297 * Since: 1.0 |
296 **/ | 298 **/ |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
376 * Since: 1.0 | 378 * Since: 1.0 |
377 **/ | 379 **/ |
378 void | 380 void |
379 hb_shape (hb_font_t *font, | 381 hb_shape (hb_font_t *font, |
380 hb_buffer_t *buffer, | 382 hb_buffer_t *buffer, |
381 const hb_feature_t *features, | 383 const hb_feature_t *features, |
382 unsigned int num_features) | 384 unsigned int num_features) |
383 { | 385 { |
384 hb_shape_full (font, buffer, features, num_features, NULL); | 386 hb_shape_full (font, buffer, features, num_features, NULL); |
385 } | 387 } |
OLD | NEW |