summaryrefslogtreecommitdiff
path: root/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-unicode.h
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2020-12-24 07:21:30 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2020-12-24 07:21:30 +0000
commitf88f99b079f2902f7705a2aff36c0ff8c13df8a8 (patch)
tree9a4408ede2a693471e9316ce59708ca0eca1b68c /Build/source/libs/harfbuzz/harfbuzz-src/src/hb-unicode.h
parentd9a6a275c51f6dcebc04e63329571f020c5de19a (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.h307
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,