172 |
172 |
173 |
173 |
174 /* |
174 /* |
175 * just give me the best implementation you've got there. |
175 * just give me the best implementation you've got there. |
176 */ |
176 */ |
177 hb_unicode_funcs_t * |
177 HB_EXTERN hb_unicode_funcs_t * |
178 hb_unicode_funcs_get_default (void); |
178 hb_unicode_funcs_get_default (void); |
179 |
179 |
180 |
180 |
181 hb_unicode_funcs_t * |
181 HB_EXTERN hb_unicode_funcs_t * |
182 hb_unicode_funcs_create (hb_unicode_funcs_t *parent); |
182 hb_unicode_funcs_create (hb_unicode_funcs_t *parent); |
183 |
183 |
184 hb_unicode_funcs_t * |
184 HB_EXTERN hb_unicode_funcs_t * |
185 hb_unicode_funcs_get_empty (void); |
185 hb_unicode_funcs_get_empty (void); |
186 |
186 |
187 hb_unicode_funcs_t * |
187 HB_EXTERN hb_unicode_funcs_t * |
188 hb_unicode_funcs_reference (hb_unicode_funcs_t *ufuncs); |
188 hb_unicode_funcs_reference (hb_unicode_funcs_t *ufuncs); |
189 |
189 |
190 void |
190 HB_EXTERN void |
191 hb_unicode_funcs_destroy (hb_unicode_funcs_t *ufuncs); |
191 hb_unicode_funcs_destroy (hb_unicode_funcs_t *ufuncs); |
192 |
192 |
193 hb_bool_t |
193 HB_EXTERN hb_bool_t |
194 hb_unicode_funcs_set_user_data (hb_unicode_funcs_t *ufuncs, |
194 hb_unicode_funcs_set_user_data (hb_unicode_funcs_t *ufuncs, |
195 hb_user_data_key_t *key, |
195 hb_user_data_key_t *key, |
196 void * data, |
196 void * data, |
197 hb_destroy_func_t destroy, |
197 hb_destroy_func_t destroy, |
198 hb_bool_t replace); |
198 hb_bool_t replace); |
199 |
199 |
200 |
200 |
201 void * |
201 HB_EXTERN void * |
202 hb_unicode_funcs_get_user_data (hb_unicode_funcs_t *ufuncs, |
202 hb_unicode_funcs_get_user_data (hb_unicode_funcs_t *ufuncs, |
203 hb_user_data_key_t *key); |
203 hb_user_data_key_t *key); |
204 |
204 |
205 |
205 |
206 void |
206 HB_EXTERN void |
207 hb_unicode_funcs_make_immutable (hb_unicode_funcs_t *ufuncs); |
207 hb_unicode_funcs_make_immutable (hb_unicode_funcs_t *ufuncs); |
208 |
208 |
209 hb_bool_t |
209 HB_EXTERN hb_bool_t |
210 hb_unicode_funcs_is_immutable (hb_unicode_funcs_t *ufuncs); |
210 hb_unicode_funcs_is_immutable (hb_unicode_funcs_t *ufuncs); |
211 |
211 |
212 hb_unicode_funcs_t * |
212 HB_EXTERN hb_unicode_funcs_t * |
213 hb_unicode_funcs_get_parent (hb_unicode_funcs_t *ufuncs); |
213 hb_unicode_funcs_get_parent (hb_unicode_funcs_t *ufuncs); |
214 |
214 |
215 |
215 |
216 /* |
216 /* |
217 * funcs |
217 * funcs |
395 * |
395 * |
396 * |
396 * |
397 * |
397 * |
398 * Since: 0.9.2 |
398 * Since: 0.9.2 |
399 **/ |
399 **/ |
400 void |
400 HB_EXTERN void |
401 hb_unicode_funcs_set_decompose_compatibility_func (hb_unicode_funcs_t *ufuncs, |
401 hb_unicode_funcs_set_decompose_compatibility_func (hb_unicode_funcs_t *ufuncs, |
402 hb_unicode_decompose_compatibility_func_t func, |
402 hb_unicode_decompose_compatibility_func_t func, |
403 void *user_data, hb_destroy_func_t destroy); |
403 void *user_data, hb_destroy_func_t destroy); |
404 |
404 |
405 /* accessors */ |
405 /* accessors */ |
406 |
406 |
407 /** |
407 /** |
408 * Since: 0.9.2 |
408 * hb_unicode_combining_class: |
409 **/ |
409 * |
410 hb_unicode_combining_class_t |
410 * Since: 0.9.2 |
|
411 **/ |
|
412 HB_EXTERN hb_unicode_combining_class_t |
411 hb_unicode_combining_class (hb_unicode_funcs_t *ufuncs, |
413 hb_unicode_combining_class (hb_unicode_funcs_t *ufuncs, |
412 hb_codepoint_t unicode); |
414 hb_codepoint_t unicode); |
413 |
415 |
414 /** |
416 /** |
415 * Since: 0.9.2 |
417 * hb_unicode_eastasian_width: |
416 **/ |
418 * |
417 unsigned int |
419 * Since: 0.9.2 |
|
420 **/ |
|
421 HB_EXTERN unsigned int |
418 hb_unicode_eastasian_width (hb_unicode_funcs_t *ufuncs, |
422 hb_unicode_eastasian_width (hb_unicode_funcs_t *ufuncs, |
419 hb_codepoint_t unicode); |
423 hb_codepoint_t unicode); |
420 |
424 |
421 /** |
425 /** |
422 * Since: 0.9.2 |
426 * hb_unicode_general_category: |
423 **/ |
427 * |
424 hb_unicode_general_category_t |
428 * Since: 0.9.2 |
|
429 **/ |
|
430 HB_EXTERN hb_unicode_general_category_t |
425 hb_unicode_general_category (hb_unicode_funcs_t *ufuncs, |
431 hb_unicode_general_category (hb_unicode_funcs_t *ufuncs, |
426 hb_codepoint_t unicode); |
432 hb_codepoint_t unicode); |
427 |
433 |
428 /** |
434 /** |
429 * Since: 0.9.2 |
435 * hb_unicode_mirroring: |
430 **/ |
436 * |
431 hb_codepoint_t |
437 * Since: 0.9.2 |
|
438 **/ |
|
439 HB_EXTERN hb_codepoint_t |
432 hb_unicode_mirroring (hb_unicode_funcs_t *ufuncs, |
440 hb_unicode_mirroring (hb_unicode_funcs_t *ufuncs, |
433 hb_codepoint_t unicode); |
441 hb_codepoint_t unicode); |
434 |
442 |
435 /** |
443 /** |
436 * Since: 0.9.2 |
444 * hb_unicode_script: |
437 **/ |
445 * |
438 hb_script_t |
446 * Since: 0.9.2 |
|
447 **/ |
|
448 HB_EXTERN hb_script_t |
439 hb_unicode_script (hb_unicode_funcs_t *ufuncs, |
449 hb_unicode_script (hb_unicode_funcs_t *ufuncs, |
440 hb_codepoint_t unicode); |
450 hb_codepoint_t unicode); |
441 |
451 |
442 /** |
452 HB_EXTERN hb_bool_t |
443 * Since: 0.9.2 |
|
444 **/ |
|
445 hb_bool_t |
|
446 hb_unicode_compose (hb_unicode_funcs_t *ufuncs, |
453 hb_unicode_compose (hb_unicode_funcs_t *ufuncs, |
447 hb_codepoint_t a, |
454 hb_codepoint_t a, |
448 hb_codepoint_t b, |
455 hb_codepoint_t b, |
449 hb_codepoint_t *ab); |
456 hb_codepoint_t *ab); |
450 |
457 |
451 /** |
458 HB_EXTERN hb_bool_t |
452 * Since: 0.9.2 |
|
453 **/ |
|
454 hb_bool_t |
|
455 hb_unicode_decompose (hb_unicode_funcs_t *ufuncs, |
459 hb_unicode_decompose (hb_unicode_funcs_t *ufuncs, |
456 hb_codepoint_t ab, |
460 hb_codepoint_t ab, |
457 hb_codepoint_t *a, |
461 hb_codepoint_t *a, |
458 hb_codepoint_t *b); |
462 hb_codepoint_t *b); |
459 |
463 |
460 /** |
464 HB_EXTERN unsigned int |
461 * Since: 0.9.2 |
|
462 **/ |
|
463 unsigned int |
|
464 hb_unicode_decompose_compatibility (hb_unicode_funcs_t *ufuncs, |
465 hb_unicode_decompose_compatibility (hb_unicode_funcs_t *ufuncs, |
465 hb_codepoint_t u, |
466 hb_codepoint_t u, |
466 hb_codepoint_t *decomposed); |
467 hb_codepoint_t *decomposed); |
467 |
468 |
468 HB_END_DECLS |
469 HB_END_DECLS |