Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
hb-unicode.h File Reference
#include "hb-common.h"

Go to the source code of this file.

Macros

#define HB_UNICODE_MAX   0x10FFFFu
 

Typedefs

typedef struct hb_unicode_funcs_t hb_unicode_funcs_t
 
typedef hb_unicode_combining_class_t(* hb_unicode_combining_class_func_t) (hb_unicode_funcs_t *ufuncs, hb_codepoint_t unicode, void *user_data)
 
typedef hb_unicode_general_category_t(* hb_unicode_general_category_func_t) (hb_unicode_funcs_t *ufuncs, hb_codepoint_t unicode, void *user_data)
 
typedef hb_codepoint_t(* hb_unicode_mirroring_func_t) (hb_unicode_funcs_t *ufuncs, hb_codepoint_t unicode, void *user_data)
 
typedef hb_script_t(* hb_unicode_script_func_t) (hb_unicode_funcs_t *ufuncs, hb_codepoint_t unicode, void *user_data)
 
typedef 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)
 
typedef 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)
 

Enumerations

enum  hb_unicode_general_category_t {
  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
}
 
enum  hb_unicode_combining_class_t {
  HB_UNICODE_COMBINING_CLASS_NOT_REORDERED = 0 , HB_UNICODE_COMBINING_CLASS_OVERLAY = 1 , HB_UNICODE_COMBINING_CLASS_NUKTA = 7 , HB_UNICODE_COMBINING_CLASS_KANA_VOICING = 8 ,
  HB_UNICODE_COMBINING_CLASS_VIRAMA = 9 , HB_UNICODE_COMBINING_CLASS_CCC10 = 10 , HB_UNICODE_COMBINING_CLASS_CCC11 = 11 , HB_UNICODE_COMBINING_CLASS_CCC12 = 12 ,
  HB_UNICODE_COMBINING_CLASS_CCC13 = 13 , HB_UNICODE_COMBINING_CLASS_CCC14 = 14 , HB_UNICODE_COMBINING_CLASS_CCC15 = 15 , HB_UNICODE_COMBINING_CLASS_CCC16 = 16 ,
  HB_UNICODE_COMBINING_CLASS_CCC17 = 17 , HB_UNICODE_COMBINING_CLASS_CCC18 = 18 , HB_UNICODE_COMBINING_CLASS_CCC19 = 19 , HB_UNICODE_COMBINING_CLASS_CCC20 = 20 ,
  HB_UNICODE_COMBINING_CLASS_CCC21 = 21 , HB_UNICODE_COMBINING_CLASS_CCC22 = 22 , HB_UNICODE_COMBINING_CLASS_CCC23 = 23 , HB_UNICODE_COMBINING_CLASS_CCC24 = 24 ,
  HB_UNICODE_COMBINING_CLASS_CCC25 = 25 , HB_UNICODE_COMBINING_CLASS_CCC26 = 26 , HB_UNICODE_COMBINING_CLASS_CCC27 = 27 , HB_UNICODE_COMBINING_CLASS_CCC28 = 28 ,
  HB_UNICODE_COMBINING_CLASS_CCC29 = 29 , HB_UNICODE_COMBINING_CLASS_CCC30 = 30 , HB_UNICODE_COMBINING_CLASS_CCC31 = 31 , HB_UNICODE_COMBINING_CLASS_CCC32 = 32 ,
  HB_UNICODE_COMBINING_CLASS_CCC33 = 33 , HB_UNICODE_COMBINING_CLASS_CCC34 = 34 , HB_UNICODE_COMBINING_CLASS_CCC35 = 35 , HB_UNICODE_COMBINING_CLASS_CCC36 = 36 ,
  HB_UNICODE_COMBINING_CLASS_CCC84 = 84 , HB_UNICODE_COMBINING_CLASS_CCC91 = 91 , HB_UNICODE_COMBINING_CLASS_CCC103 = 103 , HB_UNICODE_COMBINING_CLASS_CCC107 = 107 ,
  HB_UNICODE_COMBINING_CLASS_CCC118 = 118 , HB_UNICODE_COMBINING_CLASS_CCC122 = 122 , HB_UNICODE_COMBINING_CLASS_CCC129 = 129 , HB_UNICODE_COMBINING_CLASS_CCC130 = 130 ,
  HB_UNICODE_COMBINING_CLASS_CCC132 = 132 , HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW_LEFT = 200 , HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW = 202 , HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE = 214 ,
  HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE_RIGHT = 216 , HB_UNICODE_COMBINING_CLASS_BELOW_LEFT = 218 , HB_UNICODE_COMBINING_CLASS_BELOW = 220 , HB_UNICODE_COMBINING_CLASS_BELOW_RIGHT = 222 ,
  HB_UNICODE_COMBINING_CLASS_LEFT = 224 , HB_UNICODE_COMBINING_CLASS_RIGHT = 226 , HB_UNICODE_COMBINING_CLASS_ABOVE_LEFT = 228 , HB_UNICODE_COMBINING_CLASS_ABOVE = 230 ,
  HB_UNICODE_COMBINING_CLASS_ABOVE_RIGHT = 232 , HB_UNICODE_COMBINING_CLASS_DOUBLE_BELOW = 233 , HB_UNICODE_COMBINING_CLASS_DOUBLE_ABOVE = 234 , HB_UNICODE_COMBINING_CLASS_IOTA_SUBSCRIPT = 240 ,
  HB_UNICODE_COMBINING_CLASS_INVALID = 255
}
 

Functions

HB_EXTERN hb_unicode_funcs_thb_unicode_funcs_get_default (void)
 
HB_EXTERN hb_unicode_funcs_thb_unicode_funcs_create (hb_unicode_funcs_t *parent)
 
HB_EXTERN hb_unicode_funcs_thb_unicode_funcs_get_empty (void)
 
HB_EXTERN hb_unicode_funcs_thb_unicode_funcs_reference (hb_unicode_funcs_t *ufuncs)
 
HB_EXTERN void hb_unicode_funcs_destroy (hb_unicode_funcs_t *ufuncs)
 
HB_EXTERN hb_bool_t hb_unicode_funcs_set_user_data (hb_unicode_funcs_t *ufuncs, hb_user_data_key_t *key, void *data, hb_destroy_func_t destroy, hb_bool_t replace)
 
HB_EXTERN void * hb_unicode_funcs_get_user_data (const hb_unicode_funcs_t *ufuncs, hb_user_data_key_t *key)
 
HB_EXTERN void hb_unicode_funcs_make_immutable (hb_unicode_funcs_t *ufuncs)
 
HB_EXTERN hb_bool_t hb_unicode_funcs_is_immutable (hb_unicode_funcs_t *ufuncs)
 
HB_EXTERN hb_unicode_funcs_thb_unicode_funcs_get_parent (hb_unicode_funcs_t *ufuncs)
 
HB_EXTERN void hb_unicode_funcs_set_combining_class_func (hb_unicode_funcs_t *ufuncs, hb_unicode_combining_class_func_t func, void *user_data, hb_destroy_func_t destroy)
 
HB_EXTERN void hb_unicode_funcs_set_general_category_func (hb_unicode_funcs_t *ufuncs, hb_unicode_general_category_func_t func, void *user_data, hb_destroy_func_t destroy)
 
HB_EXTERN void hb_unicode_funcs_set_mirroring_func (hb_unicode_funcs_t *ufuncs, hb_unicode_mirroring_func_t func, void *user_data, hb_destroy_func_t destroy)
 
HB_EXTERN void hb_unicode_funcs_set_script_func (hb_unicode_funcs_t *ufuncs, hb_unicode_script_func_t func, void *user_data, hb_destroy_func_t destroy)
 
HB_EXTERN void hb_unicode_funcs_set_compose_func (hb_unicode_funcs_t *ufuncs, hb_unicode_compose_func_t func, void *user_data, hb_destroy_func_t destroy)
 
HB_EXTERN void hb_unicode_funcs_set_decompose_func (hb_unicode_funcs_t *ufuncs, hb_unicode_decompose_func_t func, void *user_data, hb_destroy_func_t destroy)
 
HB_EXTERN hb_unicode_combining_class_t hb_unicode_combining_class (hb_unicode_funcs_t *ufuncs, hb_codepoint_t unicode)
 
HB_EXTERN hb_unicode_general_category_t hb_unicode_general_category (hb_unicode_funcs_t *ufuncs, hb_codepoint_t unicode)
 
HB_EXTERN hb_codepoint_t hb_unicode_mirroring (hb_unicode_funcs_t *ufuncs, hb_codepoint_t unicode)
 
HB_EXTERN hb_script_t hb_unicode_script (hb_unicode_funcs_t *ufuncs, hb_codepoint_t unicode)
 
HB_EXTERN hb_bool_t hb_unicode_compose (hb_unicode_funcs_t *ufuncs, hb_codepoint_t a, hb_codepoint_t b, hb_codepoint_t *ab)
 
HB_EXTERN hb_bool_t hb_unicode_decompose (hb_unicode_funcs_t *ufuncs, hb_codepoint_t ab, hb_codepoint_t *a, hb_codepoint_t *b)
 

Macro Definition Documentation

◆ HB_UNICODE_MAX

#define HB_UNICODE_MAX   0x10FFFFu

HB_UNICODE_MAX:

Maximum valid Unicode code point.

Since: 1.9.0

Definition at line 50 of file hb-unicode.h.

Typedef Documentation

◆ hb_unicode_combining_class_func_t

typedef 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_combining_class_func_t: @ufuncs: A Unicode-functions structure @unicode: The code point to query @user_data: User data pointer passed by the caller

A virtual method for the hb_unicode_funcs_t structure.

This method should retrieve the Canonical Combining Class (ccc) property for a specified Unicode code point.

Return value: The hb_unicode_combining_class_t of @unicode

Definition at line 354 of file hb-unicode.h.

◆ hb_unicode_compose_func_t

typedef 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_compose_func_t: @ufuncs: A Unicode-functions structure : The first code point to compose : The second code point to compose @ab: (out): The composed code point @user_data: user data pointer passed by the caller

A virtual method for the hb_unicode_funcs_t structure.

This method should compose a sequence of two input Unicode code points by canonical equivalence, returning the composed code point in a hb_codepoint_t output parameter (if successful). The method must return an hb_bool_t indicating the success of the composition.

Return value: true is ,composed, false otherwise

Definition at line 435 of file hb-unicode.h.

◆ hb_unicode_decompose_func_t

typedef 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_decompose_func_t: @ufuncs: A Unicode-functions structure @ab: The code point to decompose : (out): The first decomposed code point : (out): The second decomposed code point @user_data: user data pointer passed by the caller

A virtual method for the hb_unicode_funcs_t structure.

This method should decompose an input Unicode code point, returning the two decomposed code points in hb_codepoint_t output parameters (if successful). The method must return an hb_bool_t indicating the success of the composition.

Return value: true if @ab decomposed, false otherwise

Definition at line 459 of file hb-unicode.h.

◆ hb_unicode_funcs_t

hb_unicode_funcs_t:

Data type containing a set of virtual methods used for accessing various Unicode character properties.

HarfBuzz provides a default function for each of the methods in hb_unicode_funcs_t. Client programs can implement their own replacements for the individual Unicode functions, as needed, and replace the default by calling the setter for a method.

Definition at line 289 of file hb-unicode.h.

◆ hb_unicode_general_category_func_t

typedef 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_general_category_func_t: @ufuncs: A Unicode-functions structure @unicode: The code point to query @user_data: User data pointer passed by the caller

A virtual method for the hb_unicode_funcs_t structure.

This method should retrieve the General Category property for a specified Unicode code point.

Return value: The hb_unicode_general_category_t of @unicode

Definition at line 372 of file hb-unicode.h.

◆ hb_unicode_mirroring_func_t

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

hb_unicode_mirroring_func_t: @ufuncs: A Unicode-functions structure @unicode: The code point to query @user_data: User data pointer passed by the caller

A virtual method for the hb_unicode_funcs_t structure.

This method should retrieve the Bi-Directional Mirroring Glyph code point for a specified Unicode code point.

<note>Note: If a code point does not have a specified Bi-Directional Mirroring Glyph defined, the method should return the original code point.</note>

Return value: The hb_codepoint_t of the Mirroring Glyph for @unicode

Definition at line 394 of file hb-unicode.h.

◆ hb_unicode_script_func_t

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

hb_unicode_script_func_t: @ufuncs: A Unicode-functions structure @unicode: The code point to query @user_data: User data pointer passed by the caller

A virtual method for the hb_unicode_funcs_t structure.

This method should retrieve the Script property for a specified Unicode code point.

Return value: The hb_script_t of @unicode

Definition at line 412 of file hb-unicode.h.

Enumeration Type Documentation

◆ hb_unicode_combining_class_t

hb_unicode_combining_class_t: @HB_UNICODE_COMBINING_CLASS_NOT_REORDERED: Spacing and enclosing marks; also many vowel and consonant signs, even if nonspacing @HB_UNICODE_COMBINING_CLASS_OVERLAY: Marks which overlay a base letter or symbol @HB_UNICODE_COMBINING_CLASS_NUKTA: Diacritic nukta marks in Brahmi-derived scripts @HB_UNICODE_COMBINING_CLASS_KANA_VOICING: Hiragana/Katakana voicing marks @HB_UNICODE_COMBINING_CLASS_VIRAMA: Viramas @HB_UNICODE_COMBINING_CLASS_CCC10: [Hebrew] @HB_UNICODE_COMBINING_CLASS_CCC11: [Hebrew] @HB_UNICODE_COMBINING_CLASS_CCC12: [Hebrew] @HB_UNICODE_COMBINING_CLASS_CCC13: [Hebrew] @HB_UNICODE_COMBINING_CLASS_CCC14: [Hebrew] @HB_UNICODE_COMBINING_CLASS_CCC15: [Hebrew] @HB_UNICODE_COMBINING_CLASS_CCC16: [Hebrew] @HB_UNICODE_COMBINING_CLASS_CCC17: [Hebrew] @HB_UNICODE_COMBINING_CLASS_CCC18: [Hebrew] @HB_UNICODE_COMBINING_CLASS_CCC19: [Hebrew] @HB_UNICODE_COMBINING_CLASS_CCC20: [Hebrew] @HB_UNICODE_COMBINING_CLASS_CCC21: [Hebrew] @HB_UNICODE_COMBINING_CLASS_CCC22: [Hebrew] @HB_UNICODE_COMBINING_CLASS_CCC23: [Hebrew] @HB_UNICODE_COMBINING_CLASS_CCC24: [Hebrew] @HB_UNICODE_COMBINING_CLASS_CCC25: [Hebrew] @HB_UNICODE_COMBINING_CLASS_CCC26: [Hebrew] @HB_UNICODE_COMBINING_CLASS_CCC27: [Arabic] @HB_UNICODE_COMBINING_CLASS_CCC28: [Arabic] @HB_UNICODE_COMBINING_CLASS_CCC29: [Arabic] @HB_UNICODE_COMBINING_CLASS_CCC30: [Arabic] @HB_UNICODE_COMBINING_CLASS_CCC31: [Arabic] @HB_UNICODE_COMBINING_CLASS_CCC32: [Arabic] @HB_UNICODE_COMBINING_CLASS_CCC33: [Arabic] @HB_UNICODE_COMBINING_CLASS_CCC34: [Arabic] @HB_UNICODE_COMBINING_CLASS_CCC35: [Arabic] @HB_UNICODE_COMBINING_CLASS_CCC36: [Syriac] @HB_UNICODE_COMBINING_CLASS_CCC84: [Telugu] @HB_UNICODE_COMBINING_CLASS_CCC91: [Telugu] @HB_UNICODE_COMBINING_CLASS_CCC103: [Thai] @HB_UNICODE_COMBINING_CLASS_CCC107: [Thai] @HB_UNICODE_COMBINING_CLASS_CCC118: [Lao] @HB_UNICODE_COMBINING_CLASS_CCC122: [Lao] @HB_UNICODE_COMBINING_CLASS_CCC129: [Tibetan] @HB_UNICODE_COMBINING_CLASS_CCC130: [Tibetan] @HB_UNICODE_COMBINING_CLASS_CCC132: [Tibetan] Since: 7.2.0 @HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW_LEFT: Marks attached at the bottom left @HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW: Marks attached directly below @HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE: Marks attached directly above @HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE_RIGHT: Marks attached at the top right @HB_UNICODE_COMBINING_CLASS_BELOW_LEFT: Distinct marks at the bottom left @HB_UNICODE_COMBINING_CLASS_BELOW: Distinct marks directly below @HB_UNICODE_COMBINING_CLASS_BELOW_RIGHT: Distinct marks at the bottom right @HB_UNICODE_COMBINING_CLASS_LEFT: Distinct marks to the left @HB_UNICODE_COMBINING_CLASS_RIGHT: Distinct marks to the right @HB_UNICODE_COMBINING_CLASS_ABOVE_LEFT: Distinct marks at the top left @HB_UNICODE_COMBINING_CLASS_ABOVE: Distinct marks directly above @HB_UNICODE_COMBINING_CLASS_ABOVE_RIGHT: Distinct marks at the top right @HB_UNICODE_COMBINING_CLASS_DOUBLE_BELOW: Distinct marks subtending two bases @HB_UNICODE_COMBINING_CLASS_DOUBLE_ABOVE: Distinct marks extending above two bases @HB_UNICODE_COMBINING_CLASS_IOTA_SUBSCRIPT: Greek iota subscript only @HB_UNICODE_COMBINING_CLASS_INVALID: Invalid combining class

Data type for the Canonical_Combining_Class (ccc) property from the Unicode Character Database.

<note>Note: newer versions of Unicode may add new values. Client programs should be ready to handle any value in the 0..254 range being returned from hb_unicode_combining_class().</note>

Enumerator
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_CCC132 
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 

Definition at line 193 of file hb-unicode.h.

194{
200
201 /* Hebrew */
219
220 /* Arabic */
230
231 /* Syriac */
233
234 /* Telugu */
237
238 /* Thai */
241
242 /* Lao */
245
246 /* Tibetan */
250
251
266
268
hb_unicode_combining_class_t
Definition hb-unicode.h:194
@ HB_UNICODE_COMBINING_CLASS_RIGHT
Definition hb-unicode.h:260
@ HB_UNICODE_COMBINING_CLASS_CCC17
Definition hb-unicode.h:209
@ HB_UNICODE_COMBINING_CLASS_NUKTA
Definition hb-unicode.h:197
@ HB_UNICODE_COMBINING_CLASS_CCC122
Definition hb-unicode.h:244
@ HB_UNICODE_COMBINING_CLASS_BELOW
Definition hb-unicode.h:257
@ HB_UNICODE_COMBINING_CLASS_ABOVE
Definition hb-unicode.h:262
@ HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW_LEFT
Definition hb-unicode.h:252
@ HB_UNICODE_COMBINING_CLASS_CCC29
Definition hb-unicode.h:223
@ HB_UNICODE_COMBINING_CLASS_CCC10
Definition hb-unicode.h:202
@ HB_UNICODE_COMBINING_CLASS_CCC118
Definition hb-unicode.h:243
@ HB_UNICODE_COMBINING_CLASS_CCC24
Definition hb-unicode.h:216
@ HB_UNICODE_COMBINING_CLASS_CCC130
Definition hb-unicode.h:248
@ HB_UNICODE_COMBINING_CLASS_CCC20
Definition hb-unicode.h:212
@ HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE
Definition hb-unicode.h:254
@ HB_UNICODE_COMBINING_CLASS_CCC32
Definition hb-unicode.h:226
@ HB_UNICODE_COMBINING_CLASS_CCC30
Definition hb-unicode.h:224
@ HB_UNICODE_COMBINING_CLASS_CCC18
Definition hb-unicode.h:210
@ HB_UNICODE_COMBINING_CLASS_CCC23
Definition hb-unicode.h:215
@ HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW
Definition hb-unicode.h:253
@ HB_UNICODE_COMBINING_CLASS_CCC21
Definition hb-unicode.h:213
@ HB_UNICODE_COMBINING_CLASS_INVALID
Definition hb-unicode.h:269
@ HB_UNICODE_COMBINING_CLASS_DOUBLE_BELOW
Definition hb-unicode.h:264
@ HB_UNICODE_COMBINING_CLASS_CCC12
Definition hb-unicode.h:204
@ HB_UNICODE_COMBINING_CLASS_OVERLAY
Definition hb-unicode.h:196
@ HB_UNICODE_COMBINING_CLASS_CCC129
Definition hb-unicode.h:247
@ HB_UNICODE_COMBINING_CLASS_CCC14
Definition hb-unicode.h:206
@ HB_UNICODE_COMBINING_CLASS_IOTA_SUBSCRIPT
Definition hb-unicode.h:267
@ HB_UNICODE_COMBINING_CLASS_CCC28
Definition hb-unicode.h:222
@ HB_UNICODE_COMBINING_CLASS_CCC132
Definition hb-unicode.h:249
@ HB_UNICODE_COMBINING_CLASS_CCC22
Definition hb-unicode.h:214
@ HB_UNICODE_COMBINING_CLASS_KANA_VOICING
Definition hb-unicode.h:198
@ HB_UNICODE_COMBINING_CLASS_CCC84
Definition hb-unicode.h:235
@ HB_UNICODE_COMBINING_CLASS_CCC27
Definition hb-unicode.h:221
@ HB_UNICODE_COMBINING_CLASS_BELOW_RIGHT
Definition hb-unicode.h:258
@ HB_UNICODE_COMBINING_CLASS_CCC33
Definition hb-unicode.h:227
@ HB_UNICODE_COMBINING_CLASS_VIRAMA
Definition hb-unicode.h:199
@ HB_UNICODE_COMBINING_CLASS_LEFT
Definition hb-unicode.h:259
@ HB_UNICODE_COMBINING_CLASS_CCC16
Definition hb-unicode.h:208
@ HB_UNICODE_COMBINING_CLASS_CCC36
Definition hb-unicode.h:232
@ HB_UNICODE_COMBINING_CLASS_CCC26
Definition hb-unicode.h:218
@ HB_UNICODE_COMBINING_CLASS_CCC103
Definition hb-unicode.h:239
@ HB_UNICODE_COMBINING_CLASS_CCC34
Definition hb-unicode.h:228
@ HB_UNICODE_COMBINING_CLASS_CCC31
Definition hb-unicode.h:225
@ HB_UNICODE_COMBINING_CLASS_CCC15
Definition hb-unicode.h:207
@ HB_UNICODE_COMBINING_CLASS_BELOW_LEFT
Definition hb-unicode.h:256
@ HB_UNICODE_COMBINING_CLASS_NOT_REORDERED
Definition hb-unicode.h:195
@ HB_UNICODE_COMBINING_CLASS_CCC19
Definition hb-unicode.h:211
@ HB_UNICODE_COMBINING_CLASS_CCC11
Definition hb-unicode.h:203
@ HB_UNICODE_COMBINING_CLASS_CCC35
Definition hb-unicode.h:229
@ HB_UNICODE_COMBINING_CLASS_ABOVE_RIGHT
Definition hb-unicode.h:263
@ HB_UNICODE_COMBINING_CLASS_CCC107
Definition hb-unicode.h:240
@ HB_UNICODE_COMBINING_CLASS_CCC91
Definition hb-unicode.h:236
@ HB_UNICODE_COMBINING_CLASS_ABOVE_LEFT
Definition hb-unicode.h:261
@ HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE_RIGHT
Definition hb-unicode.h:255
@ HB_UNICODE_COMBINING_CLASS_CCC25
Definition hb-unicode.h:217
@ HB_UNICODE_COMBINING_CLASS_CCC13
Definition hb-unicode.h:205
@ HB_UNICODE_COMBINING_CLASS_DOUBLE_ABOVE
Definition hb-unicode.h:265

◆ hb_unicode_general_category_t

hb_unicode_general_category_t: @HB_UNICODE_GENERAL_CATEGORY_CONTROL: [Cc] @HB_UNICODE_GENERAL_CATEGORY_FORMAT: [Cf] @HB_UNICODE_GENERAL_CATEGORY_UNASSIGNED: [Cn] @HB_UNICODE_GENERAL_CATEGORY_PRIVATE_USE: [Co] @HB_UNICODE_GENERAL_CATEGORY_SURROGATE: [Cs] @HB_UNICODE_GENERAL_CATEGORY_LOWERCASE_LETTER: [Ll] @HB_UNICODE_GENERAL_CATEGORY_MODIFIER_LETTER: [Lm] @HB_UNICODE_GENERAL_CATEGORY_OTHER_LETTER: [Lo] @HB_UNICODE_GENERAL_CATEGORY_TITLECASE_LETTER: [Lt] @HB_UNICODE_GENERAL_CATEGORY_UPPERCASE_LETTER: [Lu] @HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK: [Mc] @HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK: [Me] @HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK: [Mn] @HB_UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER: [Nd] @HB_UNICODE_GENERAL_CATEGORY_LETTER_NUMBER: [Nl] @HB_UNICODE_GENERAL_CATEGORY_OTHER_NUMBER: [No] @HB_UNICODE_GENERAL_CATEGORY_CONNECT_PUNCTUATION: [Pc] @HB_UNICODE_GENERAL_CATEGORY_DASH_PUNCTUATION: [Pd] @HB_UNICODE_GENERAL_CATEGORY_CLOSE_PUNCTUATION: [Pe] @HB_UNICODE_GENERAL_CATEGORY_FINAL_PUNCTUATION: [Pf] @HB_UNICODE_GENERAL_CATEGORY_INITIAL_PUNCTUATION: [Pi] @HB_UNICODE_GENERAL_CATEGORY_OTHER_PUNCTUATION: [Po] @HB_UNICODE_GENERAL_CATEGORY_OPEN_PUNCTUATION: [Ps] @HB_UNICODE_GENERAL_CATEGORY_CURRENCY_SYMBOL: [Sc] @HB_UNICODE_GENERAL_CATEGORY_MODIFIER_SYMBOL: [Sk] @HB_UNICODE_GENERAL_CATEGORY_MATH_SYMBOL: [Sm] @HB_UNICODE_GENERAL_CATEGORY_OTHER_SYMBOL: [So] @HB_UNICODE_GENERAL_CATEGORY_LINE_SEPARATOR: [Zl] @HB_UNICODE_GENERAL_CATEGORY_PARAGRAPH_SEPARATOR: [Zp] @HB_UNICODE_GENERAL_CATEGORY_SPACE_SEPARATOR: [Zs]

Data type for the "General_Category" (gc) property from the Unicode Character Database.

Enumerator
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 

Definition at line 91 of file hb-unicode.h.

92{
hb_unicode_general_category_t
Definition hb-unicode.h:92
@ HB_UNICODE_GENERAL_CATEGORY_SPACE_SEPARATOR
Definition hb-unicode.h:122
@ HB_UNICODE_GENERAL_CATEGORY_OTHER_SYMBOL
Definition hb-unicode.h:119
@ HB_UNICODE_GENERAL_CATEGORY_CONTROL
Definition hb-unicode.h:93
@ HB_UNICODE_GENERAL_CATEGORY_FORMAT
Definition hb-unicode.h:94
@ HB_UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER
Definition hb-unicode.h:106
@ HB_UNICODE_GENERAL_CATEGORY_OPEN_PUNCTUATION
Definition hb-unicode.h:115
@ HB_UNICODE_GENERAL_CATEGORY_UNASSIGNED
Definition hb-unicode.h:95
@ HB_UNICODE_GENERAL_CATEGORY_PARAGRAPH_SEPARATOR
Definition hb-unicode.h:121
@ HB_UNICODE_GENERAL_CATEGORY_DASH_PUNCTUATION
Definition hb-unicode.h:110
@ HB_UNICODE_GENERAL_CATEGORY_MODIFIER_LETTER
Definition hb-unicode.h:99
@ HB_UNICODE_GENERAL_CATEGORY_OTHER_NUMBER
Definition hb-unicode.h:108
@ HB_UNICODE_GENERAL_CATEGORY_CLOSE_PUNCTUATION
Definition hb-unicode.h:111
@ HB_UNICODE_GENERAL_CATEGORY_OTHER_LETTER
Definition hb-unicode.h:100
@ HB_UNICODE_GENERAL_CATEGORY_INITIAL_PUNCTUATION
Definition hb-unicode.h:113
@ HB_UNICODE_GENERAL_CATEGORY_OTHER_PUNCTUATION
Definition hb-unicode.h:114
@ HB_UNICODE_GENERAL_CATEGORY_PRIVATE_USE
Definition hb-unicode.h:96
@ HB_UNICODE_GENERAL_CATEGORY_UPPERCASE_LETTER
Definition hb-unicode.h:102
@ HB_UNICODE_GENERAL_CATEGORY_CURRENCY_SYMBOL
Definition hb-unicode.h:116
@ HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK
Definition hb-unicode.h:105
@ HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK
Definition hb-unicode.h:104
@ HB_UNICODE_GENERAL_CATEGORY_MATH_SYMBOL
Definition hb-unicode.h:118
@ HB_UNICODE_GENERAL_CATEGORY_SURROGATE
Definition hb-unicode.h:97
@ HB_UNICODE_GENERAL_CATEGORY_LETTER_NUMBER
Definition hb-unicode.h:107
@ HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK
Definition hb-unicode.h:103
@ HB_UNICODE_GENERAL_CATEGORY_LINE_SEPARATOR
Definition hb-unicode.h:120
@ HB_UNICODE_GENERAL_CATEGORY_MODIFIER_SYMBOL
Definition hb-unicode.h:117
@ HB_UNICODE_GENERAL_CATEGORY_TITLECASE_LETTER
Definition hb-unicode.h:101
@ HB_UNICODE_GENERAL_CATEGORY_LOWERCASE_LETTER
Definition hb-unicode.h:98
@ HB_UNICODE_GENERAL_CATEGORY_CONNECT_PUNCTUATION
Definition hb-unicode.h:109
@ HB_UNICODE_GENERAL_CATEGORY_FINAL_PUNCTUATION
Definition hb-unicode.h:112

Function Documentation

◆ hb_unicode_combining_class()

HB_EXTERN hb_unicode_combining_class_t hb_unicode_combining_class ( hb_unicode_funcs_t * ufuncs,
hb_codepoint_t unicode )

hb_unicode_combining_class: @ufuncs: The Unicode-functions structure @unicode: The code point to query

Retrieves the Canonical Combining Class (ccc) property of code point @unicode.

Return value: The hb_unicode_combining_class_t of @unicode

Since: 0.9.2

◆ hb_unicode_compose()

HB_EXTERN hb_bool_t hb_unicode_compose ( hb_unicode_funcs_t * ufuncs,
hb_codepoint_t a,
hb_codepoint_t b,
hb_codepoint_t * ab )

◆ hb_unicode_decompose()

HB_EXTERN hb_bool_t hb_unicode_decompose ( hb_unicode_funcs_t * ufuncs,
hb_codepoint_t ab,
hb_codepoint_t * a,
hb_codepoint_t * b )

◆ hb_unicode_funcs_create()

HB_EXTERN hb_unicode_funcs_t * hb_unicode_funcs_create ( hb_unicode_funcs_t * parent)

◆ hb_unicode_funcs_destroy()

HB_EXTERN void hb_unicode_funcs_destroy ( hb_unicode_funcs_t * ufuncs)

◆ hb_unicode_funcs_get_default()

HB_EXTERN hb_unicode_funcs_t * hb_unicode_funcs_get_default ( void )

◆ hb_unicode_funcs_get_empty()

HB_EXTERN hb_unicode_funcs_t * hb_unicode_funcs_get_empty ( void )

◆ hb_unicode_funcs_get_parent()

HB_EXTERN hb_unicode_funcs_t * hb_unicode_funcs_get_parent ( hb_unicode_funcs_t * ufuncs)

◆ hb_unicode_funcs_get_user_data()

HB_EXTERN void * hb_unicode_funcs_get_user_data ( const hb_unicode_funcs_t * ufuncs,
hb_user_data_key_t * key )

◆ hb_unicode_funcs_is_immutable()

HB_EXTERN hb_bool_t hb_unicode_funcs_is_immutable ( hb_unicode_funcs_t * ufuncs)

◆ hb_unicode_funcs_make_immutable()

HB_EXTERN void hb_unicode_funcs_make_immutable ( hb_unicode_funcs_t * ufuncs)

◆ hb_unicode_funcs_reference()

HB_EXTERN hb_unicode_funcs_t * hb_unicode_funcs_reference ( hb_unicode_funcs_t * ufuncs)

◆ hb_unicode_funcs_set_combining_class_func()

HB_EXTERN void hb_unicode_funcs_set_combining_class_func ( hb_unicode_funcs_t * ufuncs,
hb_unicode_combining_class_func_t func,
void * user_data,
hb_destroy_func_t destroy )

hb_unicode_funcs_set_combining_class_func: @ufuncs: A Unicode-functions structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore

Sets the implementation function for hb_unicode_combining_class_func_t.

Since: 0.9.2

◆ hb_unicode_funcs_set_compose_func()

HB_EXTERN void hb_unicode_funcs_set_compose_func ( hb_unicode_funcs_t * ufuncs,
hb_unicode_compose_func_t func,
void * user_data,
hb_destroy_func_t destroy )

hb_unicode_funcs_set_compose_func: @ufuncs: A Unicode-functions structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore

Sets the implementation function for hb_unicode_compose_func_t.

Since: 0.9.2

◆ hb_unicode_funcs_set_decompose_func()

HB_EXTERN void hb_unicode_funcs_set_decompose_func ( hb_unicode_funcs_t * ufuncs,
hb_unicode_decompose_func_t func,
void * user_data,
hb_destroy_func_t destroy )

hb_unicode_funcs_set_decompose_func: @ufuncs: A Unicode-functions structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore

Sets the implementation function for hb_unicode_decompose_func_t.

Since: 0.9.2

◆ hb_unicode_funcs_set_general_category_func()

HB_EXTERN void hb_unicode_funcs_set_general_category_func ( hb_unicode_funcs_t * ufuncs,
hb_unicode_general_category_func_t func,
void * user_data,
hb_destroy_func_t destroy )

hb_unicode_funcs_set_general_category_func: @ufuncs: A Unicode-functions structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore

Sets the implementation function for hb_unicode_general_category_func_t.

Since: 0.9.2

◆ hb_unicode_funcs_set_mirroring_func()

HB_EXTERN void hb_unicode_funcs_set_mirroring_func ( hb_unicode_funcs_t * ufuncs,
hb_unicode_mirroring_func_t func,
void * user_data,
hb_destroy_func_t destroy )

hb_unicode_funcs_set_mirroring_func: @ufuncs: A Unicode-functions structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore

Sets the implementation function for hb_unicode_mirroring_func_t.

Since: 0.9.2

◆ hb_unicode_funcs_set_script_func()

HB_EXTERN void hb_unicode_funcs_set_script_func ( hb_unicode_funcs_t * ufuncs,
hb_unicode_script_func_t func,
void * user_data,
hb_destroy_func_t destroy )

hb_unicode_funcs_set_script_func: @ufuncs: A Unicode-functions structure @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign @user_data: Data to pass to @func @destroy: (nullable): The function to call when @user_data is not needed anymore

Sets the implementation function for hb_unicode_script_func_t.

Since: 0.9.2

◆ hb_unicode_funcs_set_user_data()

HB_EXTERN hb_bool_t hb_unicode_funcs_set_user_data ( hb_unicode_funcs_t * ufuncs,
hb_user_data_key_t * key,
void * data,
hb_destroy_func_t destroy,
hb_bool_t replace )

◆ hb_unicode_general_category()

HB_EXTERN hb_unicode_general_category_t hb_unicode_general_category ( hb_unicode_funcs_t * ufuncs,
hb_codepoint_t unicode )

hb_unicode_general_category: @ufuncs: The Unicode-functions structure @unicode: The code point to query

Retrieves the General Category (gc) property of code point @unicode.

Return value: The hb_unicode_general_category_t of @unicode

Since: 0.9.2

◆ hb_unicode_mirroring()

HB_EXTERN hb_codepoint_t hb_unicode_mirroring ( hb_unicode_funcs_t * ufuncs,
hb_codepoint_t unicode )

hb_unicode_mirroring: @ufuncs: The Unicode-functions structure @unicode: The code point to query

Retrieves the Bi-directional Mirroring Glyph code point defined for code point @unicode.

Return value: The hb_codepoint_t of the Mirroring Glyph for @unicode

Since: 0.9.2

◆ hb_unicode_script()

HB_EXTERN hb_script_t hb_unicode_script ( hb_unicode_funcs_t * ufuncs,
hb_codepoint_t unicode )

hb_unicode_script: @ufuncs: The Unicode-functions structure @unicode: The code point to query

Retrieves the hb_script_t script to which code point @unicode belongs.

Return value: The hb_script_t of @unicode

Since: 0.9.2