diff options
author | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2020-12-24 07:21:30 +0000 |
---|---|---|
committer | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2020-12-24 07:21:30 +0000 |
commit | f88f99b079f2902f7705a2aff36c0ff8c13df8a8 (patch) | |
tree | 9a4408ede2a693471e9316ce59708ca0eca1b68c /Build/source/libs/harfbuzz/harfbuzz-src/src/hb-unicode.h | |
parent | d9a6a275c51f6dcebc04e63329571f020c5de19a (diff) |
harfbuzz 2.7.3
git-svn-id: svn://tug.org/texlive/trunk@57216 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/harfbuzz/harfbuzz-src/src/hb-unicode.h')
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-src/src/hb-unicode.h | 307 |
1 files changed, 268 insertions, 39 deletions
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-unicode.h b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-unicode.h index 61b1b0ba1f7..2353f0fbf2e 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-unicode.h +++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-unicode.h @@ -48,7 +48,42 @@ HB_BEGIN_DECLS #define HB_UNICODE_MAX 0x10FFFFu -/* 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. + **/ /* Unicode Character Database property: General_Category (gc) */ typedef enum @@ -85,13 +120,72 @@ typedef enum HB_UNICODE_GENERAL_CATEGORY_SPACE_SEPARATOR /* Zs */ } hb_unicode_general_category_t; -/* hb_unicode_combining_class_t */ - -/* Note: newer versions of Unicode may add new values. Clients should be ready to handle - * any value in the 0..254 range being returned from hb_unicode_combining_class(). - */ - -/* Unicode Character Database property: Canonical_Combining_Class (ccc) */ +/** + * hb_unicode_combining_class_t: + * @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_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_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_CCC133: (Tibetan) + * @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: 255 + * + * 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> + * + **/ typedef enum { HB_UNICODE_COMBINING_CLASS_NOT_REORDERED = 0, @@ -176,6 +270,18 @@ typedef enum * 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. + **/ typedef struct hb_unicode_funcs_t hb_unicode_funcs_t; @@ -227,40 +333,107 @@ hb_unicode_funcs_get_parent (hb_unicode_funcs_t *ufuncs); /* typedefs */ +/** + * hb_unicode_combining_class_func_t: + * + * 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. + * + **/ 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_general_category_func_t: + * + * A virtual method for the #hb_unicode_funcs_t structure. + * + * This method should retrieve the General Category property for + * a specified Unicode code point. + * + **/ 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_mirroring_func_t: + * + * 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> + * + **/ typedef 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: + * + * A virtual method for the #hb_unicode_funcs_t structure. + * + * This method should retrieve the Script property for a + * specified Unicode code point. + * + **/ typedef hb_script_t (*hb_unicode_script_func_t) (hb_unicode_funcs_t *ufuncs, hb_codepoint_t unicode, void *user_data); +/** + * hb_unicode_compose_func_t: + * + * 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. + * + **/ 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_decompose_func_t: + * + * 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. + * + **/ 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); -/* setters */ +/* func setters */ /** * hb_unicode_funcs_set_combining_class_func: - * @ufuncs: a Unicode function structure - * @func: (closure user_data) (destroy destroy) (scope notified): - * @user_data: - * @destroy: - * + * @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: 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 **/ @@ -271,12 +444,12 @@ hb_unicode_funcs_set_combining_class_func (hb_unicode_funcs_t *ufuncs, /** * hb_unicode_funcs_set_general_category_func: - * @ufuncs: a Unicode function structure - * @func: (closure user_data) (destroy destroy) (scope notified): - * @user_data: - * @destroy: - * + * @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: 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 **/ @@ -287,12 +460,12 @@ hb_unicode_funcs_set_general_category_func (hb_unicode_funcs_t *ufuncs, /** * hb_unicode_funcs_set_mirroring_func: - * @ufuncs: a Unicode function structure - * @func: (closure user_data) (destroy destroy) (scope notified): - * @user_data: - * @destroy: - * + * @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: 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 **/ @@ -303,12 +476,12 @@ hb_unicode_funcs_set_mirroring_func (hb_unicode_funcs_t *ufuncs, /** * hb_unicode_funcs_set_script_func: - * @ufuncs: a Unicode function structure - * @func: (closure user_data) (destroy destroy) (scope notified): - * @user_data: - * @destroy: - * + * @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: 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 **/ @@ -319,12 +492,12 @@ hb_unicode_funcs_set_script_func (hb_unicode_funcs_t *ufuncs, /** * hb_unicode_funcs_set_compose_func: - * @ufuncs: a Unicode function structure - * @func: (closure user_data) (destroy destroy) (scope notified): - * @user_data: - * @destroy: - * + * @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: 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 **/ @@ -335,12 +508,12 @@ hb_unicode_funcs_set_compose_func (hb_unicode_funcs_t *ufuncs, /** * hb_unicode_funcs_set_decompose_func: - * @ufuncs: a Unicode function structure - * @func: (closure user_data) (destroy destroy) (scope notified): - * @user_data: - * @destroy: - * + * @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: 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 **/ @@ -353,6 +526,13 @@ hb_unicode_funcs_set_decompose_func (hb_unicode_funcs_t *ufuncs, /** * 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 **/ @@ -362,6 +542,13 @@ hb_unicode_combining_class (hb_unicode_funcs_t *ufuncs, /** * 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 **/ @@ -371,6 +558,13 @@ hb_unicode_general_category (hb_unicode_funcs_t *ufuncs, /** * 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 **/ @@ -380,6 +574,13 @@ hb_unicode_mirroring (hb_unicode_funcs_t *ufuncs, /** * 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 **/ @@ -387,12 +588,40 @@ HB_EXTERN hb_script_t hb_unicode_script (hb_unicode_funcs_t *ufuncs, hb_codepoint_t unicode); +/** + * hb_unicode_compose: + * @ufuncs: The Unicode-functions structure + * @a: The first code point to compose + * @b: The second code point to compose + * @ab: (out): The composed code point + * + * Composes the code point sequence @a,@b by canonical equivalence into + * code point @ab. + * + * Return value: True is @a,@b composed, false otherwise + * + * Since: 0.9.2 + **/ 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: + * @ufuncs: The Unicode-functions structure + * @ab: The code point to decompose + * @a: (out): The first decomposed code point + * @b: (out): The second decomposed code point + * + * Decomposes code point @ab by canonical equivalence, into code points + * @a and @b. + * + * Return value: True if @ab decomposed, false otherwise + * + * Since: 0.9.2 + **/ HB_EXTERN hb_bool_t hb_unicode_decompose (hb_unicode_funcs_t *ufuncs, hb_codepoint_t ab, |