hb-unicode: HarfBuzz Manual

## hb-unicode

hb-unicode

## Functions

#define | HB_UNICODE_MAX_DECOMPOSITION_LEN
hb_unicode_combining_class_t | (*hb_unicode_combining_class_func_t) ()
hb_bool_t | (*hb_unicode_compose_func_t) ()
hb_bool_t | (*hb_unicode_decompose_func_t) ()
hb_unicode_general_category_t | (*hb_unicode_general_category_func_t) ()
hb_codepoint_t | (*hb_unicode_mirroring_func_t) ()
hb_script_t | (*hb_unicode_script_func_t) ()

## Types and Values

enum | hb_unicode_combining_class_t
typedef | hb_unicode_funcs_t
enum | hb_unicode_general_category_t

## Description

## Functions

### HB_UNICODE_MAX_DECOMPOSITION_LEN

    #define HB_UNICODE_MAX_DECOMPOSITION_LEN (18+1) /* codepoints */

### hb_unicode_combining_class_func_t ()

    hb_unicode_combining_class_t
    (*hb_unicode_combining_class_func_t) (hb_unicode_funcs_t *ufuncs,
                                          hb_codepoint_t unicode,
                                          void *user_data);

### hb_unicode_compose_func_t ()

    hb_bool_t
    (*hb_unicode_compose_func_t) (hb_unicode_funcs_t *ufuncs,
                                  hb_codepoint_t a,
                                  hb_codepoint_t b,
                                  hb_codepoint_t *ab,
                                  void *user_data);

### hb_unicode_decompose_func_t ()

    hb_bool_t
    (*hb_unicode_decompose_func_t) (hb_unicode_funcs_t *ufuncs,
                                    hb_codepoint_t ab,
                                    hb_codepoint_t *a,
                                    hb_codepoint_t *b,
                                    void *user_data);

### hb_unicode_general_category_func_t ()

    hb_unicode_general_category_t
    (*hb_unicode_general_category_func_t) (hb_unicode_funcs_t *ufuncs,
                                           hb_codepoint_t unicode,
                                           void *user_data);

### hb_unicode_mirroring_func_t ()

    hb_codepoint_t
    (*hb_unicode_mirroring_func_t) (hb_unicode_funcs_t *ufuncs,
                                    hb_codepoint_t unicode,
                                    void *user_data);

### hb_unicode_script_func_t ()

    hb_script_t
    (*hb_unicode_script_func_t) (hb_unicode_funcs_t *ufuncs,
                                 hb_codepoint_t unicode,
                                 void *user_data);

## Types and Values

### enum hb_unicode_combining_class_t

#### Members

HB_UNICODE_COMBINING_CLASS_NOT_REORDERED |  |
HB_UNICODE_COMBINING_CLASS_OVERLAY |  |
HB_UNICODE_COMBINING_CLASS_NUKTA |  |
HB_UNICODE_COMBINING_CLASS_KANA_VOICING |  |
HB_UNICODE_COMBINING_CLASS_VIRAMA |  |
HB_UNICODE_COMBINING_CLASS_CCC10 |  |
HB_UNICODE_COMBINING_CLASS_CCC11 |  |
HB_UNICODE_COMBINING_CLASS_CCC12 |  |
HB_UNICODE_COMBINING_CLASS_CCC13 |  |
HB_UNICODE_COMBINING_CLASS_CCC14 |  |
HB_UNICODE_COMBINING_CLASS_CCC15 |  |
HB_UNICODE_COMBINING_CLASS_CCC16 |  |
HB_UNICODE_COMBINING_CLASS_CCC17 |  |
HB_UNICODE_COMBINING_CLASS_CCC18 |  |
HB_UNICODE_COMBINING_CLASS_CCC19 |  |
HB_UNICODE_COMBINING_CLASS_CCC20 |  |
HB_UNICODE_COMBINING_CLASS_CCC21 |  |
HB_UNICODE_COMBINING_CLASS_CCC22 |  |
HB_UNICODE_COMBINING_CLASS_CCC23 |  |
HB_UNICODE_COMBINING_CLASS_CCC24 |  |
HB_UNICODE_COMBINING_CLASS_CCC25 |  |
HB_UNICODE_COMBINING_CLASS_CCC26 |  |
HB_UNICODE_COMBINING_CLASS_CCC27 |  |
HB_UNICODE_COMBINING_CLASS_CCC28 |  |
HB_UNICODE_COMBINING_CLASS_CCC29 |  |
HB_UNICODE_COMBINING_CLASS_CCC30 |  |
HB_UNICODE_COMBINING_CLASS_CCC31 |  |
HB_UNICODE_COMBINING_CLASS_CCC32 |  |
HB_UNICODE_COMBINING_CLASS_CCC33 |  |
HB_UNICODE_COMBINING_CLASS_CCC34 |  |
HB_UNICODE_COMBINING_CLASS_CCC35 |  |
HB_UNICODE_COMBINING_CLASS_CCC36 |  |
HB_UNICODE_COMBINING_CLASS_CCC84 |  |
HB_UNICODE_COMBINING_CLASS_CCC91 |  |
HB_UNICODE_COMBINING_CLASS_CCC103 |  |
HB_UNICODE_COMBINING_CLASS_CCC107 |  |
HB_UNICODE_COMBINING_CLASS_CCC118 |  |
HB_UNICODE_COMBINING_CLASS_CCC122 |  |
HB_UNICODE_COMBINING_CLASS_CCC129 |  |
HB_UNICODE_COMBINING_CLASS_CCC130 |  |
HB_UNICODE_COMBINING_CLASS_CCC133 |  |
HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW_LEFT |  |
HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW |  |
HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE |  |
HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE_RIGHT |  |
HB_UNICODE_COMBINING_CLASS_BELOW_LEFT |  |
HB_UNICODE_COMBINING_CLASS_BELOW |  |
HB_UNICODE_COMBINING_CLASS_BELOW_RIGHT |  |
HB_UNICODE_COMBINING_CLASS_LEFT |  |
HB_UNICODE_COMBINING_CLASS_RIGHT |  |
HB_UNICODE_COMBINING_CLASS_ABOVE_LEFT |  |
HB_UNICODE_COMBINING_CLASS_ABOVE |  |
HB_UNICODE_COMBINING_CLASS_ABOVE_RIGHT |  |
HB_UNICODE_COMBINING_CLASS_DOUBLE_BELOW |  |
HB_UNICODE_COMBINING_CLASS_DOUBLE_ABOVE |  |
HB_UNICODE_COMBINING_CLASS_IOTA_SUBSCRIPT |  |
HB_UNICODE_COMBINING_CLASS_INVALID |  |

### hb_unicode_funcs_t

    typedef struct hb_unicode_funcs_t hb_unicode_funcs_t;

### enum hb_unicode_general_category_t

#### Members

HB_UNICODE_GENERAL_CATEGORY_CONTROL |  |
HB_UNICODE_GENERAL_CATEGORY_FORMAT |  |
HB_UNICODE_GENERAL_CATEGORY_UNASSIGNED |  |
HB_UNICODE_GENERAL_CATEGORY_PRIVATE_USE |  |
HB_UNICODE_GENERAL_CATEGORY_SURROGATE |  |
HB_UNICODE_GENERAL_CATEGORY_LOWERCASE_LETTER |  |
HB_UNICODE_GENERAL_CATEGORY_MODIFIER_LETTER |  |
HB_UNICODE_GENERAL_CATEGORY_OTHER_LETTER |  |
HB_UNICODE_GENERAL_CATEGORY_TITLECASE_LETTER |  |
HB_UNICODE_GENERAL_CATEGORY_UPPERCASE_LETTER |  |
HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK |  |
HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK |  |
HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK |  |
HB_UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER |  |
HB_UNICODE_GENERAL_CATEGORY_LETTER_NUMBER |  |
HB_UNICODE_GENERAL_CATEGORY_OTHER_NUMBER |  |
HB_UNICODE_GENERAL_CATEGORY_CONNECT_PUNCTUATION |  |
HB_UNICODE_GENERAL_CATEGORY_DASH_PUNCTUATION |  |
HB_UNICODE_GENERAL_CATEGORY_CLOSE_PUNCTUATION |  |
HB_UNICODE_GENERAL_CATEGORY_FINAL_PUNCTUATION |  |
HB_UNICODE_GENERAL_CATEGORY_INITIAL_PUNCTUATION |  |
HB_UNICODE_GENERAL_CATEGORY_OTHER_PUNCTUATION |  |
HB_UNICODE_GENERAL_CATEGORY_OPEN_PUNCTUATION |  |
HB_UNICODE_GENERAL_CATEGORY_CURRENCY_SYMBOL |  |
HB_UNICODE_GENERAL_CATEGORY_MODIFIER_SYMBOL |  |
HB_UNICODE_GENERAL_CATEGORY_MATH_SYMBOL |  |
HB_UNICODE_GENERAL_CATEGORY_OTHER_SYMBOL |  |
HB_UNICODE_GENERAL_CATEGORY_LINE_SEPARATOR |  |
HB_UNICODE_GENERAL_CATEGORY_PARAGRAPH_SEPARATOR |  |
HB_UNICODE_GENERAL_CATEGORY_SPACE_SEPARATOR |  |