jassub 1.7.11 → 1.7.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/LICENSE +22 -22
  2. package/README.md +251 -251
  3. package/dist/COPYRIGHT +951 -951
  4. package/dist/jassub-worker-modern.wasm +0 -0
  5. package/dist/jassub-worker.js +11 -11
  6. package/dist/jassub-worker.wasm +0 -0
  7. package/dist/jassub-worker.wasm.js +1 -1
  8. package/dist/jassub.es.js +1 -1
  9. package/dist/jassub.umd.js +1 -1
  10. package/dist/js/jassub-worker-modern.js +119 -1
  11. package/dist/js/jassub-worker-modern.wasm +0 -0
  12. package/dist/js/jassub-worker.js +122 -4
  13. package/dist/js/jassub-worker.wasm +0 -0
  14. package/dist/js/jassub-worker.wasm.js +26 -25
  15. package/dist/js/jassub.js +832 -832
  16. package/dist/libraries/bin/brotli.js +1 -0
  17. package/dist/libraries/include/ass/ass.h +812 -0
  18. package/dist/libraries/include/ass/ass_types.h +292 -0
  19. package/dist/libraries/include/brotli/decode.h +344 -0
  20. package/dist/libraries/include/brotli/encode.h +448 -0
  21. package/dist/libraries/include/brotli/port.h +288 -0
  22. package/dist/libraries/include/brotli/types.h +83 -0
  23. package/dist/libraries/include/expat.h +1064 -0
  24. package/dist/libraries/include/expat_config.h +115 -0
  25. package/dist/libraries/include/expat_external.h +165 -0
  26. package/dist/libraries/include/fontconfig/fcfreetype.h +59 -0
  27. package/dist/libraries/include/fontconfig/fcprivate.h +134 -0
  28. package/dist/libraries/include/fontconfig/fontconfig.h +1154 -0
  29. package/dist/libraries/include/freetype2/freetype/config/ftconfig.h +63 -0
  30. package/dist/libraries/include/freetype2/freetype/config/ftheader.h +824 -0
  31. package/dist/libraries/include/freetype2/freetype/config/ftmodule.h +20 -0
  32. package/dist/libraries/include/freetype2/freetype/config/ftoption.h +1011 -0
  33. package/dist/libraries/include/freetype2/freetype/config/ftstdlib.h +175 -0
  34. package/dist/libraries/include/freetype2/freetype/config/integer-types.h +245 -0
  35. package/dist/libraries/include/freetype2/freetype/config/mac-support.h +49 -0
  36. package/dist/libraries/include/freetype2/freetype/config/public-macros.h +120 -0
  37. package/dist/libraries/include/freetype2/freetype/freetype.h +4833 -0
  38. package/dist/libraries/include/freetype2/freetype/ftadvanc.h +188 -0
  39. package/dist/libraries/include/freetype2/freetype/ftbbox.h +101 -0
  40. package/dist/libraries/include/freetype2/freetype/ftbdf.h +212 -0
  41. package/dist/libraries/include/freetype2/freetype/ftbitmap.h +329 -0
  42. package/dist/libraries/include/freetype2/freetype/ftbzip2.h +102 -0
  43. package/dist/libraries/include/freetype2/freetype/ftcache.h +1087 -0
  44. package/dist/libraries/include/freetype2/freetype/ftchapters.h +147 -0
  45. package/dist/libraries/include/freetype2/freetype/ftcid.h +167 -0
  46. package/dist/libraries/include/freetype2/freetype/ftcolor.h +1609 -0
  47. package/dist/libraries/include/freetype2/freetype/ftdriver.h +1193 -0
  48. package/dist/libraries/include/freetype2/freetype/fterrdef.h +279 -0
  49. package/dist/libraries/include/freetype2/freetype/fterrors.h +296 -0
  50. package/dist/libraries/include/freetype2/freetype/ftfntfmt.h +93 -0
  51. package/dist/libraries/include/freetype2/freetype/ftgasp.h +143 -0
  52. package/dist/libraries/include/freetype2/freetype/ftglyph.h +664 -0
  53. package/dist/libraries/include/freetype2/freetype/ftgxval.h +354 -0
  54. package/dist/libraries/include/freetype2/freetype/ftgzip.h +151 -0
  55. package/dist/libraries/include/freetype2/freetype/ftimage.h +1276 -0
  56. package/dist/libraries/include/freetype2/freetype/ftincrem.h +348 -0
  57. package/dist/libraries/include/freetype2/freetype/ftlcdfil.h +323 -0
  58. package/dist/libraries/include/freetype2/freetype/ftlist.h +296 -0
  59. package/dist/libraries/include/freetype2/freetype/ftlogging.h +184 -0
  60. package/dist/libraries/include/freetype2/freetype/ftlzw.h +100 -0
  61. package/dist/libraries/include/freetype2/freetype/ftmac.h +289 -0
  62. package/dist/libraries/include/freetype2/freetype/ftmm.h +752 -0
  63. package/dist/libraries/include/freetype2/freetype/ftmodapi.h +806 -0
  64. package/dist/libraries/include/freetype2/freetype/ftmoderr.h +204 -0
  65. package/dist/libraries/include/freetype2/freetype/ftotval.h +206 -0
  66. package/dist/libraries/include/freetype2/freetype/ftoutln.h +586 -0
  67. package/dist/libraries/include/freetype2/freetype/ftparams.h +203 -0
  68. package/dist/libraries/include/freetype2/freetype/ftpfr.h +179 -0
  69. package/dist/libraries/include/freetype2/freetype/ftrender.h +244 -0
  70. package/dist/libraries/include/freetype2/freetype/ftsizes.h +159 -0
  71. package/dist/libraries/include/freetype2/freetype/ftsnames.h +272 -0
  72. package/dist/libraries/include/freetype2/freetype/ftstroke.h +773 -0
  73. package/dist/libraries/include/freetype2/freetype/ftsynth.h +83 -0
  74. package/dist/libraries/include/freetype2/freetype/ftsystem.h +352 -0
  75. package/dist/libraries/include/freetype2/freetype/fttrigon.h +350 -0
  76. package/dist/libraries/include/freetype2/freetype/fttypes.h +615 -0
  77. package/dist/libraries/include/freetype2/freetype/ftwinfnt.h +276 -0
  78. package/dist/libraries/include/freetype2/freetype/t1tables.h +773 -0
  79. package/dist/libraries/include/freetype2/freetype/ttnameid.h +1235 -0
  80. package/dist/libraries/include/freetype2/freetype/tttables.h +855 -0
  81. package/dist/libraries/include/freetype2/freetype/tttags.h +123 -0
  82. package/dist/libraries/include/freetype2/ft2build.h +42 -0
  83. package/dist/libraries/include/fribidi/fribidi-arabic.h +81 -0
  84. package/dist/libraries/include/fribidi/fribidi-begindecls.h +3 -0
  85. package/dist/libraries/include/fribidi/fribidi-bidi-types-list.h +96 -0
  86. package/dist/libraries/include/fribidi/fribidi-bidi-types.h +405 -0
  87. package/dist/libraries/include/fribidi/fribidi-bidi.h +142 -0
  88. package/dist/libraries/include/fribidi/fribidi-brackets.h +89 -0
  89. package/dist/libraries/include/fribidi/fribidi-char-sets-list.h +54 -0
  90. package/dist/libraries/include/fribidi/fribidi-char-sets.h +106 -0
  91. package/dist/libraries/include/fribidi/fribidi-common.h +158 -0
  92. package/dist/libraries/include/fribidi/fribidi-config.h +23 -0
  93. package/dist/libraries/include/fribidi/fribidi-deprecated.h +175 -0
  94. package/dist/libraries/include/fribidi/fribidi-enddecls.h +3 -0
  95. package/dist/libraries/include/fribidi/fribidi-flags.h +72 -0
  96. package/dist/libraries/include/fribidi/fribidi-joining-types-list.h +44 -0
  97. package/dist/libraries/include/fribidi/fribidi-joining-types.h +249 -0
  98. package/dist/libraries/include/fribidi/fribidi-joining.h +74 -0
  99. package/dist/libraries/include/fribidi/fribidi-mirroring.h +86 -0
  100. package/dist/libraries/include/fribidi/fribidi-shape.h +71 -0
  101. package/dist/libraries/include/fribidi/fribidi-types.h +79 -0
  102. package/dist/libraries/include/fribidi/fribidi-unicode-version.h +10 -0
  103. package/dist/libraries/include/fribidi/fribidi-unicode.h +105 -0
  104. package/dist/libraries/include/fribidi/fribidi.h +129 -0
  105. package/dist/libraries/include/harfbuzz/hb-aat-layout.h +795 -0
  106. package/dist/libraries/include/harfbuzz/hb-aat.h +38 -0
  107. package/dist/libraries/include/harfbuzz/hb-blob.h +160 -0
  108. package/dist/libraries/include/harfbuzz/hb-buffer.h +799 -0
  109. package/dist/libraries/include/harfbuzz/hb-common.h +902 -0
  110. package/dist/libraries/include/harfbuzz/hb-cplusplus.hh +221 -0
  111. package/dist/libraries/include/harfbuzz/hb-deprecated.h +251 -0
  112. package/dist/libraries/include/harfbuzz/hb-draw.h +325 -0
  113. package/dist/libraries/include/harfbuzz/hb-face.h +181 -0
  114. package/dist/libraries/include/harfbuzz/hb-font.h +1108 -0
  115. package/dist/libraries/include/harfbuzz/hb-ft.h +145 -0
  116. package/dist/libraries/include/harfbuzz/hb-map.h +124 -0
  117. package/dist/libraries/include/harfbuzz/hb-ot-color.h +146 -0
  118. package/dist/libraries/include/harfbuzz/hb-ot-deprecated.h +141 -0
  119. package/dist/libraries/include/harfbuzz/hb-ot-font.h +45 -0
  120. package/dist/libraries/include/harfbuzz/hb-ot-layout.h +503 -0
  121. package/dist/libraries/include/harfbuzz/hb-ot-math.h +333 -0
  122. package/dist/libraries/include/harfbuzz/hb-ot-meta.h +72 -0
  123. package/dist/libraries/include/harfbuzz/hb-ot-metrics.h +129 -0
  124. package/dist/libraries/include/harfbuzz/hb-ot-name.h +158 -0
  125. package/dist/libraries/include/harfbuzz/hb-ot-shape.h +53 -0
  126. package/dist/libraries/include/harfbuzz/hb-ot-var.h +191 -0
  127. package/dist/libraries/include/harfbuzz/hb-ot.h +49 -0
  128. package/dist/libraries/include/harfbuzz/hb-set.h +200 -0
  129. package/dist/libraries/include/harfbuzz/hb-shape-plan.h +122 -0
  130. package/dist/libraries/include/harfbuzz/hb-shape.h +62 -0
  131. package/dist/libraries/include/harfbuzz/hb-style.h +81 -0
  132. package/dist/libraries/include/harfbuzz/hb-subset-repacker.h +81 -0
  133. package/dist/libraries/include/harfbuzz/hb-subset.h +234 -0
  134. package/dist/libraries/include/harfbuzz/hb-unicode.h +643 -0
  135. package/dist/libraries/include/harfbuzz/hb-version.h +95 -0
  136. package/dist/libraries/include/harfbuzz/hb.h +50 -0
  137. package/dist/libraries/lib/cmake/expat-2.4.7/expat-config-version.cmake +70 -0
  138. package/dist/libraries/lib/cmake/expat-2.4.7/expat-config.cmake +99 -0
  139. package/dist/libraries/lib/cmake/expat-2.4.7/expat-noconfig.cmake +19 -0
  140. package/dist/libraries/lib/cmake/expat-2.4.7/expat.cmake +99 -0
  141. package/dist/libraries/lib/libass.a +0 -0
  142. package/dist/libraries/lib/libass.la +41 -0
  143. package/dist/libraries/lib/libbrotlicommon.a +0 -0
  144. package/dist/libraries/lib/libbrotlidec.a +0 -0
  145. package/dist/libraries/lib/libbrotlienc.a +0 -0
  146. package/dist/libraries/lib/libexpat.a +0 -0
  147. package/dist/libraries/lib/libfontconfig.a +0 -0
  148. package/dist/libraries/lib/libfontconfig.la +41 -0
  149. package/dist/libraries/lib/libfreetype.a +0 -0
  150. package/dist/libraries/lib/libfreetype.la +41 -0
  151. package/dist/libraries/lib/libfribidi.a +0 -0
  152. package/dist/libraries/lib/libfribidi.la +41 -0
  153. package/dist/libraries/lib/libharfbuzz-subset.a +0 -0
  154. package/dist/libraries/lib/libharfbuzz-subset.la +41 -0
  155. package/dist/libraries/lib/libharfbuzz.a +0 -0
  156. package/dist/libraries/lib/libharfbuzz.la +41 -0
  157. package/dist/libraries/lib/pkgconfig/expat.pc +11 -0
  158. package/dist/libraries/lib/pkgconfig/fontconfig.pc +18 -0
  159. package/dist/libraries/lib/pkgconfig/freetype2.pc +14 -0
  160. package/dist/libraries/lib/pkgconfig/fribidi.pc +13 -0
  161. package/dist/libraries/lib/pkgconfig/harfbuzz-subset.pc +12 -0
  162. package/dist/libraries/lib/pkgconfig/harfbuzz.pc +13 -0
  163. package/dist/libraries/lib/pkgconfig/libass.pc +13 -0
  164. package/dist/libraries/lib/pkgconfig/libbrotlicommon.pc +11 -0
  165. package/dist/libraries/lib/pkgconfig/libbrotlidec.pc +12 -0
  166. package/dist/libraries/lib/pkgconfig/libbrotlienc.pc +12 -0
  167. package/dist/libraries/share/aclocal/freetype2.m4 +194 -0
  168. package/dist/libraries/share/doc/expat/AUTHORS +10 -0
  169. package/dist/libraries/share/doc/expat/changelog +1161 -0
  170. package/index.d.ts +115 -115
  171. package/package.json +1 -1
@@ -0,0 +1,643 @@
1
+ /*
2
+ * Copyright © 2009 Red Hat, Inc.
3
+ * Copyright © 2011 Codethink Limited
4
+ * Copyright © 2011,2012 Google, Inc.
5
+ *
6
+ * This is part of HarfBuzz, a text shaping library.
7
+ *
8
+ * Permission is hereby granted, without written agreement and without
9
+ * license or royalty fees, to use, copy, modify, and distribute this
10
+ * software and its documentation for any purpose, provided that the
11
+ * above copyright notice and the following two paragraphs appear in
12
+ * all copies of this software.
13
+ *
14
+ * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
15
+ * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
16
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
17
+ * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
18
+ * DAMAGE.
19
+ *
20
+ * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
21
+ * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
22
+ * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
23
+ * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
24
+ * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
25
+ *
26
+ * Red Hat Author(s): Behdad Esfahbod
27
+ * Codethink Author(s): Ryan Lortie
28
+ * Google Author(s): Behdad Esfahbod
29
+ */
30
+
31
+ #if !defined(HB_H_IN) && !defined(HB_NO_SINGLE_HEADER_ERROR)
32
+ #error "Include <hb.h> instead."
33
+ #endif
34
+
35
+ #ifndef HB_UNICODE_H
36
+ #define HB_UNICODE_H
37
+
38
+ #include "hb-common.h"
39
+
40
+ HB_BEGIN_DECLS
41
+
42
+
43
+ /**
44
+ * HB_UNICODE_MAX:
45
+ *
46
+ * Maximum valid Unicode code point.
47
+ *
48
+ * Since: 1.9.0
49
+ **/
50
+ #define HB_UNICODE_MAX 0x10FFFFu
51
+
52
+
53
+ /**
54
+ * hb_unicode_general_category_t:
55
+ * @HB_UNICODE_GENERAL_CATEGORY_CONTROL: [Cc]
56
+ * @HB_UNICODE_GENERAL_CATEGORY_FORMAT: [Cf]
57
+ * @HB_UNICODE_GENERAL_CATEGORY_UNASSIGNED: [Cn]
58
+ * @HB_UNICODE_GENERAL_CATEGORY_PRIVATE_USE: [Co]
59
+ * @HB_UNICODE_GENERAL_CATEGORY_SURROGATE: [Cs]
60
+ * @HB_UNICODE_GENERAL_CATEGORY_LOWERCASE_LETTER: [Ll]
61
+ * @HB_UNICODE_GENERAL_CATEGORY_MODIFIER_LETTER: [Lm]
62
+ * @HB_UNICODE_GENERAL_CATEGORY_OTHER_LETTER: [Lo]
63
+ * @HB_UNICODE_GENERAL_CATEGORY_TITLECASE_LETTER: [Lt]
64
+ * @HB_UNICODE_GENERAL_CATEGORY_UPPERCASE_LETTER: [Lu]
65
+ * @HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK: [Mc]
66
+ * @HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK: [Me]
67
+ * @HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK: [Mn]
68
+ * @HB_UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER: [Nd]
69
+ * @HB_UNICODE_GENERAL_CATEGORY_LETTER_NUMBER: [Nl]
70
+ * @HB_UNICODE_GENERAL_CATEGORY_OTHER_NUMBER: [No]
71
+ * @HB_UNICODE_GENERAL_CATEGORY_CONNECT_PUNCTUATION: [Pc]
72
+ * @HB_UNICODE_GENERAL_CATEGORY_DASH_PUNCTUATION: [Pd]
73
+ * @HB_UNICODE_GENERAL_CATEGORY_CLOSE_PUNCTUATION: [Pe]
74
+ * @HB_UNICODE_GENERAL_CATEGORY_FINAL_PUNCTUATION: [Pf]
75
+ * @HB_UNICODE_GENERAL_CATEGORY_INITIAL_PUNCTUATION: [Pi]
76
+ * @HB_UNICODE_GENERAL_CATEGORY_OTHER_PUNCTUATION: [Po]
77
+ * @HB_UNICODE_GENERAL_CATEGORY_OPEN_PUNCTUATION: [Ps]
78
+ * @HB_UNICODE_GENERAL_CATEGORY_CURRENCY_SYMBOL: [Sc]
79
+ * @HB_UNICODE_GENERAL_CATEGORY_MODIFIER_SYMBOL: [Sk]
80
+ * @HB_UNICODE_GENERAL_CATEGORY_MATH_SYMBOL: [Sm]
81
+ * @HB_UNICODE_GENERAL_CATEGORY_OTHER_SYMBOL: [So]
82
+ * @HB_UNICODE_GENERAL_CATEGORY_LINE_SEPARATOR: [Zl]
83
+ * @HB_UNICODE_GENERAL_CATEGORY_PARAGRAPH_SEPARATOR: [Zp]
84
+ * @HB_UNICODE_GENERAL_CATEGORY_SPACE_SEPARATOR: [Zs]
85
+ *
86
+ * Data type for the "General_Category" (gc) property from
87
+ * the Unicode Character Database.
88
+ **/
89
+
90
+ /* Unicode Character Database property: General_Category (gc) */
91
+ typedef enum
92
+ {
93
+ HB_UNICODE_GENERAL_CATEGORY_CONTROL, /* Cc */
94
+ HB_UNICODE_GENERAL_CATEGORY_FORMAT, /* Cf */
95
+ HB_UNICODE_GENERAL_CATEGORY_UNASSIGNED, /* Cn */
96
+ HB_UNICODE_GENERAL_CATEGORY_PRIVATE_USE, /* Co */
97
+ HB_UNICODE_GENERAL_CATEGORY_SURROGATE, /* Cs */
98
+ HB_UNICODE_GENERAL_CATEGORY_LOWERCASE_LETTER, /* Ll */
99
+ HB_UNICODE_GENERAL_CATEGORY_MODIFIER_LETTER, /* Lm */
100
+ HB_UNICODE_GENERAL_CATEGORY_OTHER_LETTER, /* Lo */
101
+ HB_UNICODE_GENERAL_CATEGORY_TITLECASE_LETTER, /* Lt */
102
+ HB_UNICODE_GENERAL_CATEGORY_UPPERCASE_LETTER, /* Lu */
103
+ HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK, /* Mc */
104
+ HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK, /* Me */
105
+ HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK, /* Mn */
106
+ HB_UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER, /* Nd */
107
+ HB_UNICODE_GENERAL_CATEGORY_LETTER_NUMBER, /* Nl */
108
+ HB_UNICODE_GENERAL_CATEGORY_OTHER_NUMBER, /* No */
109
+ HB_UNICODE_GENERAL_CATEGORY_CONNECT_PUNCTUATION, /* Pc */
110
+ HB_UNICODE_GENERAL_CATEGORY_DASH_PUNCTUATION, /* Pd */
111
+ HB_UNICODE_GENERAL_CATEGORY_CLOSE_PUNCTUATION, /* Pe */
112
+ HB_UNICODE_GENERAL_CATEGORY_FINAL_PUNCTUATION, /* Pf */
113
+ HB_UNICODE_GENERAL_CATEGORY_INITIAL_PUNCTUATION, /* Pi */
114
+ HB_UNICODE_GENERAL_CATEGORY_OTHER_PUNCTUATION, /* Po */
115
+ HB_UNICODE_GENERAL_CATEGORY_OPEN_PUNCTUATION, /* Ps */
116
+ HB_UNICODE_GENERAL_CATEGORY_CURRENCY_SYMBOL, /* Sc */
117
+ HB_UNICODE_GENERAL_CATEGORY_MODIFIER_SYMBOL, /* Sk */
118
+ HB_UNICODE_GENERAL_CATEGORY_MATH_SYMBOL, /* Sm */
119
+ HB_UNICODE_GENERAL_CATEGORY_OTHER_SYMBOL, /* So */
120
+ HB_UNICODE_GENERAL_CATEGORY_LINE_SEPARATOR, /* Zl */
121
+ HB_UNICODE_GENERAL_CATEGORY_PARAGRAPH_SEPARATOR, /* Zp */
122
+ HB_UNICODE_GENERAL_CATEGORY_SPACE_SEPARATOR /* Zs */
123
+ } hb_unicode_general_category_t;
124
+
125
+ /**
126
+ * hb_unicode_combining_class_t:
127
+ * @HB_UNICODE_COMBINING_CLASS_NOT_REORDERED: Spacing and enclosing marks; also many vowel and consonant signs, even if nonspacing
128
+ * @HB_UNICODE_COMBINING_CLASS_OVERLAY: Marks which overlay a base letter or symbol
129
+ * @HB_UNICODE_COMBINING_CLASS_NUKTA: Diacritic nukta marks in Brahmi-derived scripts
130
+ * @HB_UNICODE_COMBINING_CLASS_KANA_VOICING: Hiragana/Katakana voicing marks
131
+ * @HB_UNICODE_COMBINING_CLASS_VIRAMA: Viramas
132
+ * @HB_UNICODE_COMBINING_CLASS_CCC10: [Hebrew]
133
+ * @HB_UNICODE_COMBINING_CLASS_CCC11: [Hebrew]
134
+ * @HB_UNICODE_COMBINING_CLASS_CCC12: [Hebrew]
135
+ * @HB_UNICODE_COMBINING_CLASS_CCC13: [Hebrew]
136
+ * @HB_UNICODE_COMBINING_CLASS_CCC14: [Hebrew]
137
+ * @HB_UNICODE_COMBINING_CLASS_CCC15: [Hebrew]
138
+ * @HB_UNICODE_COMBINING_CLASS_CCC16: [Hebrew]
139
+ * @HB_UNICODE_COMBINING_CLASS_CCC17: [Hebrew]
140
+ * @HB_UNICODE_COMBINING_CLASS_CCC18: [Hebrew]
141
+ * @HB_UNICODE_COMBINING_CLASS_CCC19: [Hebrew]
142
+ * @HB_UNICODE_COMBINING_CLASS_CCC20: [Hebrew]
143
+ * @HB_UNICODE_COMBINING_CLASS_CCC21: [Hebrew]
144
+ * @HB_UNICODE_COMBINING_CLASS_CCC22: [Hebrew]
145
+ * @HB_UNICODE_COMBINING_CLASS_CCC23: [Hebrew]
146
+ * @HB_UNICODE_COMBINING_CLASS_CCC24: [Hebrew]
147
+ * @HB_UNICODE_COMBINING_CLASS_CCC25: [Hebrew]
148
+ * @HB_UNICODE_COMBINING_CLASS_CCC26: [Hebrew]
149
+ * @HB_UNICODE_COMBINING_CLASS_CCC27: [Arabic]
150
+ * @HB_UNICODE_COMBINING_CLASS_CCC28: [Arabic]
151
+ * @HB_UNICODE_COMBINING_CLASS_CCC29: [Arabic]
152
+ * @HB_UNICODE_COMBINING_CLASS_CCC30: [Arabic]
153
+ * @HB_UNICODE_COMBINING_CLASS_CCC31: [Arabic]
154
+ * @HB_UNICODE_COMBINING_CLASS_CCC32: [Arabic]
155
+ * @HB_UNICODE_COMBINING_CLASS_CCC33: [Arabic]
156
+ * @HB_UNICODE_COMBINING_CLASS_CCC34: [Arabic]
157
+ * @HB_UNICODE_COMBINING_CLASS_CCC35: [Arabic]
158
+ * @HB_UNICODE_COMBINING_CLASS_CCC36: [Syriac]
159
+ * @HB_UNICODE_COMBINING_CLASS_CCC84: [Telugu]
160
+ * @HB_UNICODE_COMBINING_CLASS_CCC91: [Telugu]
161
+ * @HB_UNICODE_COMBINING_CLASS_CCC103: [Thai]
162
+ * @HB_UNICODE_COMBINING_CLASS_CCC107: [Thai]
163
+ * @HB_UNICODE_COMBINING_CLASS_CCC118: [Lao]
164
+ * @HB_UNICODE_COMBINING_CLASS_CCC122: [Lao]
165
+ * @HB_UNICODE_COMBINING_CLASS_CCC129: [Tibetan]
166
+ * @HB_UNICODE_COMBINING_CLASS_CCC130: [Tibetan]
167
+ * @HB_UNICODE_COMBINING_CLASS_CCC133: [Tibetan]
168
+ * @HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW_LEFT: Marks attached at the bottom left
169
+ * @HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW: Marks attached directly below
170
+ * @HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE: Marks attached directly above
171
+ * @HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE_RIGHT: Marks attached at the top right
172
+ * @HB_UNICODE_COMBINING_CLASS_BELOW_LEFT: Distinct marks at the bottom left
173
+ * @HB_UNICODE_COMBINING_CLASS_BELOW: Distinct marks directly below
174
+ * @HB_UNICODE_COMBINING_CLASS_BELOW_RIGHT: Distinct marks at the bottom right
175
+ * @HB_UNICODE_COMBINING_CLASS_LEFT: Distinct marks to the left
176
+ * @HB_UNICODE_COMBINING_CLASS_RIGHT: Distinct marks to the right
177
+ * @HB_UNICODE_COMBINING_CLASS_ABOVE_LEFT: Distinct marks at the top left
178
+ * @HB_UNICODE_COMBINING_CLASS_ABOVE: Distinct marks directly above
179
+ * @HB_UNICODE_COMBINING_CLASS_ABOVE_RIGHT: Distinct marks at the top right
180
+ * @HB_UNICODE_COMBINING_CLASS_DOUBLE_BELOW: Distinct marks subtending two bases
181
+ * @HB_UNICODE_COMBINING_CLASS_DOUBLE_ABOVE: Distinct marks extending above two bases
182
+ * @HB_UNICODE_COMBINING_CLASS_IOTA_SUBSCRIPT: Greek iota subscript only
183
+ * @HB_UNICODE_COMBINING_CLASS_INVALID: Invalid combining class
184
+ *
185
+ * Data type for the Canonical_Combining_Class (ccc) property
186
+ * from the Unicode Character Database.
187
+ *
188
+ * <note>Note: newer versions of Unicode may add new values.
189
+ * Client programs should be ready to handle any value in the 0..254 range
190
+ * being returned from hb_unicode_combining_class().</note>
191
+ *
192
+ **/
193
+ typedef enum
194
+ {
195
+ HB_UNICODE_COMBINING_CLASS_NOT_REORDERED = 0,
196
+ HB_UNICODE_COMBINING_CLASS_OVERLAY = 1,
197
+ HB_UNICODE_COMBINING_CLASS_NUKTA = 7,
198
+ HB_UNICODE_COMBINING_CLASS_KANA_VOICING = 8,
199
+ HB_UNICODE_COMBINING_CLASS_VIRAMA = 9,
200
+
201
+ /* Hebrew */
202
+ HB_UNICODE_COMBINING_CLASS_CCC10 = 10,
203
+ HB_UNICODE_COMBINING_CLASS_CCC11 = 11,
204
+ HB_UNICODE_COMBINING_CLASS_CCC12 = 12,
205
+ HB_UNICODE_COMBINING_CLASS_CCC13 = 13,
206
+ HB_UNICODE_COMBINING_CLASS_CCC14 = 14,
207
+ HB_UNICODE_COMBINING_CLASS_CCC15 = 15,
208
+ HB_UNICODE_COMBINING_CLASS_CCC16 = 16,
209
+ HB_UNICODE_COMBINING_CLASS_CCC17 = 17,
210
+ HB_UNICODE_COMBINING_CLASS_CCC18 = 18,
211
+ HB_UNICODE_COMBINING_CLASS_CCC19 = 19,
212
+ HB_UNICODE_COMBINING_CLASS_CCC20 = 20,
213
+ HB_UNICODE_COMBINING_CLASS_CCC21 = 21,
214
+ HB_UNICODE_COMBINING_CLASS_CCC22 = 22,
215
+ HB_UNICODE_COMBINING_CLASS_CCC23 = 23,
216
+ HB_UNICODE_COMBINING_CLASS_CCC24 = 24,
217
+ HB_UNICODE_COMBINING_CLASS_CCC25 = 25,
218
+ HB_UNICODE_COMBINING_CLASS_CCC26 = 26,
219
+
220
+ /* Arabic */
221
+ HB_UNICODE_COMBINING_CLASS_CCC27 = 27,
222
+ HB_UNICODE_COMBINING_CLASS_CCC28 = 28,
223
+ HB_UNICODE_COMBINING_CLASS_CCC29 = 29,
224
+ HB_UNICODE_COMBINING_CLASS_CCC30 = 30,
225
+ HB_UNICODE_COMBINING_CLASS_CCC31 = 31,
226
+ HB_UNICODE_COMBINING_CLASS_CCC32 = 32,
227
+ HB_UNICODE_COMBINING_CLASS_CCC33 = 33,
228
+ HB_UNICODE_COMBINING_CLASS_CCC34 = 34,
229
+ HB_UNICODE_COMBINING_CLASS_CCC35 = 35,
230
+
231
+ /* Syriac */
232
+ HB_UNICODE_COMBINING_CLASS_CCC36 = 36,
233
+
234
+ /* Telugu */
235
+ HB_UNICODE_COMBINING_CLASS_CCC84 = 84,
236
+ HB_UNICODE_COMBINING_CLASS_CCC91 = 91,
237
+
238
+ /* Thai */
239
+ HB_UNICODE_COMBINING_CLASS_CCC103 = 103,
240
+ HB_UNICODE_COMBINING_CLASS_CCC107 = 107,
241
+
242
+ /* Lao */
243
+ HB_UNICODE_COMBINING_CLASS_CCC118 = 118,
244
+ HB_UNICODE_COMBINING_CLASS_CCC122 = 122,
245
+
246
+ /* Tibetan */
247
+ HB_UNICODE_COMBINING_CLASS_CCC129 = 129,
248
+ HB_UNICODE_COMBINING_CLASS_CCC130 = 130,
249
+ HB_UNICODE_COMBINING_CLASS_CCC133 = 132,
250
+
251
+
252
+ HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW_LEFT = 200,
253
+ HB_UNICODE_COMBINING_CLASS_ATTACHED_BELOW = 202,
254
+ HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE = 214,
255
+ HB_UNICODE_COMBINING_CLASS_ATTACHED_ABOVE_RIGHT = 216,
256
+ HB_UNICODE_COMBINING_CLASS_BELOW_LEFT = 218,
257
+ HB_UNICODE_COMBINING_CLASS_BELOW = 220,
258
+ HB_UNICODE_COMBINING_CLASS_BELOW_RIGHT = 222,
259
+ HB_UNICODE_COMBINING_CLASS_LEFT = 224,
260
+ HB_UNICODE_COMBINING_CLASS_RIGHT = 226,
261
+ HB_UNICODE_COMBINING_CLASS_ABOVE_LEFT = 228,
262
+ HB_UNICODE_COMBINING_CLASS_ABOVE = 230,
263
+ HB_UNICODE_COMBINING_CLASS_ABOVE_RIGHT = 232,
264
+ HB_UNICODE_COMBINING_CLASS_DOUBLE_BELOW = 233,
265
+ HB_UNICODE_COMBINING_CLASS_DOUBLE_ABOVE = 234,
266
+
267
+ HB_UNICODE_COMBINING_CLASS_IOTA_SUBSCRIPT = 240,
268
+
269
+ HB_UNICODE_COMBINING_CLASS_INVALID = 255
270
+ } hb_unicode_combining_class_t;
271
+
272
+
273
+ /*
274
+ * hb_unicode_funcs_t
275
+ */
276
+
277
+ /**
278
+ * hb_unicode_funcs_t:
279
+ *
280
+ * Data type containing a set of virtual methods used for
281
+ * accessing various Unicode character properties.
282
+ *
283
+ * HarfBuzz provides a default function for each of the
284
+ * methods in #hb_unicode_funcs_t. Client programs can implement
285
+ * their own replacements for the individual Unicode functions, as
286
+ * needed, and replace the default by calling the setter for a
287
+ * method.
288
+ **/
289
+ typedef struct hb_unicode_funcs_t hb_unicode_funcs_t;
290
+
291
+
292
+ /*
293
+ * just give me the best implementation you've got there.
294
+ */
295
+ HB_EXTERN hb_unicode_funcs_t *
296
+ hb_unicode_funcs_get_default (void);
297
+
298
+
299
+ HB_EXTERN hb_unicode_funcs_t *
300
+ hb_unicode_funcs_create (hb_unicode_funcs_t *parent);
301
+
302
+ HB_EXTERN hb_unicode_funcs_t *
303
+ hb_unicode_funcs_get_empty (void);
304
+
305
+ HB_EXTERN hb_unicode_funcs_t *
306
+ hb_unicode_funcs_reference (hb_unicode_funcs_t *ufuncs);
307
+
308
+ HB_EXTERN void
309
+ hb_unicode_funcs_destroy (hb_unicode_funcs_t *ufuncs);
310
+
311
+ HB_EXTERN hb_bool_t
312
+ hb_unicode_funcs_set_user_data (hb_unicode_funcs_t *ufuncs,
313
+ hb_user_data_key_t *key,
314
+ void * data,
315
+ hb_destroy_func_t destroy,
316
+ hb_bool_t replace);
317
+
318
+
319
+ HB_EXTERN void *
320
+ hb_unicode_funcs_get_user_data (const hb_unicode_funcs_t *ufuncs,
321
+ hb_user_data_key_t *key);
322
+
323
+
324
+ HB_EXTERN void
325
+ hb_unicode_funcs_make_immutable (hb_unicode_funcs_t *ufuncs);
326
+
327
+ HB_EXTERN hb_bool_t
328
+ hb_unicode_funcs_is_immutable (hb_unicode_funcs_t *ufuncs);
329
+
330
+ HB_EXTERN hb_unicode_funcs_t *
331
+ hb_unicode_funcs_get_parent (hb_unicode_funcs_t *ufuncs);
332
+
333
+
334
+ /*
335
+ * funcs
336
+ */
337
+
338
+ /* typedefs */
339
+
340
+ /**
341
+ * hb_unicode_combining_class_func_t:
342
+ * @ufuncs: A Unicode-functions structure
343
+ * @unicode: The code point to query
344
+ * @user_data: User data pointer passed by the caller
345
+ *
346
+ * A virtual method for the #hb_unicode_funcs_t structure.
347
+ *
348
+ * This method should retrieve the Canonical Combining Class (ccc)
349
+ * property for a specified Unicode code point.
350
+ *
351
+ * Return value: The #hb_unicode_combining_class_t of @unicode
352
+ *
353
+ **/
354
+ typedef hb_unicode_combining_class_t (*hb_unicode_combining_class_func_t) (hb_unicode_funcs_t *ufuncs,
355
+ hb_codepoint_t unicode,
356
+ void *user_data);
357
+
358
+ /**
359
+ * hb_unicode_general_category_func_t:
360
+ * @ufuncs: A Unicode-functions structure
361
+ * @unicode: The code point to query
362
+ * @user_data: User data pointer passed by the caller
363
+ *
364
+ * A virtual method for the #hb_unicode_funcs_t structure.
365
+ *
366
+ * This method should retrieve the General Category property for
367
+ * a specified Unicode code point.
368
+ *
369
+ * Return value: The #hb_unicode_general_category_t of @unicode
370
+ *
371
+ **/
372
+ typedef hb_unicode_general_category_t (*hb_unicode_general_category_func_t) (hb_unicode_funcs_t *ufuncs,
373
+ hb_codepoint_t unicode,
374
+ void *user_data);
375
+
376
+ /**
377
+ * hb_unicode_mirroring_func_t:
378
+ * @ufuncs: A Unicode-functions structure
379
+ * @unicode: The code point to query
380
+ * @user_data: User data pointer passed by the caller
381
+ *
382
+ * A virtual method for the #hb_unicode_funcs_t structure.
383
+ *
384
+ * This method should retrieve the Bi-Directional Mirroring Glyph
385
+ * code point for a specified Unicode code point.
386
+ *
387
+ * <note>Note: If a code point does not have a specified
388
+ * Bi-Directional Mirroring Glyph defined, the method should
389
+ * return the original code point.</note>
390
+ *
391
+ * Return value: The #hb_codepoint_t of the Mirroring Glyph for @unicode
392
+ *
393
+ **/
394
+ typedef hb_codepoint_t (*hb_unicode_mirroring_func_t) (hb_unicode_funcs_t *ufuncs,
395
+ hb_codepoint_t unicode,
396
+ void *user_data);
397
+
398
+ /**
399
+ * hb_unicode_script_func_t:
400
+ * @ufuncs: A Unicode-functions structure
401
+ * @unicode: The code point to query
402
+ * @user_data: User data pointer passed by the caller
403
+ *
404
+ * A virtual method for the #hb_unicode_funcs_t structure.
405
+ *
406
+ * This method should retrieve the Script property for a
407
+ * specified Unicode code point.
408
+ *
409
+ * Return value: The #hb_script_t of @unicode
410
+ *
411
+ **/
412
+ typedef hb_script_t (*hb_unicode_script_func_t) (hb_unicode_funcs_t *ufuncs,
413
+ hb_codepoint_t unicode,
414
+ void *user_data);
415
+
416
+ /**
417
+ * hb_unicode_compose_func_t:
418
+ * @ufuncs: A Unicode-functions structure
419
+ * @a: The first code point to compose
420
+ * @b: The second code point to compose
421
+ * @ab: (out): The composed code point
422
+ * @user_data: user data pointer passed by the caller
423
+ *
424
+ * A virtual method for the #hb_unicode_funcs_t structure.
425
+ *
426
+ * This method should compose a sequence of two input Unicode code
427
+ * points by canonical equivalence, returning the composed code
428
+ * point in a #hb_codepoint_t output parameter (if successful).
429
+ * The method must return an #hb_bool_t indicating the success
430
+ * of the composition.
431
+ *
432
+ * Return value: `true` is @a,@b composed, `false` otherwise
433
+ *
434
+ **/
435
+ typedef hb_bool_t (*hb_unicode_compose_func_t) (hb_unicode_funcs_t *ufuncs,
436
+ hb_codepoint_t a,
437
+ hb_codepoint_t b,
438
+ hb_codepoint_t *ab,
439
+ void *user_data);
440
+
441
+ /**
442
+ * hb_unicode_decompose_func_t:
443
+ * @ufuncs: A Unicode-functions structure
444
+ * @ab: The code point to decompose
445
+ * @a: (out): The first decomposed code point
446
+ * @b: (out): The second decomposed code point
447
+ * @user_data: user data pointer passed by the caller
448
+ *
449
+ * A virtual method for the #hb_unicode_funcs_t structure.
450
+ *
451
+ * This method should decompose an input Unicode code point,
452
+ * returning the two decomposed code points in #hb_codepoint_t
453
+ * output parameters (if successful). The method must return an
454
+ * #hb_bool_t indicating the success of the composition.
455
+ *
456
+ * Return value: `true` if @ab decomposed, `false` otherwise
457
+ *
458
+ **/
459
+ typedef hb_bool_t (*hb_unicode_decompose_func_t) (hb_unicode_funcs_t *ufuncs,
460
+ hb_codepoint_t ab,
461
+ hb_codepoint_t *a,
462
+ hb_codepoint_t *b,
463
+ void *user_data);
464
+
465
+ /* func setters */
466
+
467
+ /**
468
+ * hb_unicode_funcs_set_combining_class_func:
469
+ * @ufuncs: A Unicode-functions structure
470
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
471
+ * @user_data: Data to pass to @func
472
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
473
+ *
474
+ * Sets the implementation function for #hb_unicode_combining_class_func_t.
475
+ *
476
+ * Since: 0.9.2
477
+ **/
478
+ HB_EXTERN void
479
+ hb_unicode_funcs_set_combining_class_func (hb_unicode_funcs_t *ufuncs,
480
+ hb_unicode_combining_class_func_t func,
481
+ void *user_data, hb_destroy_func_t destroy);
482
+
483
+ /**
484
+ * hb_unicode_funcs_set_general_category_func:
485
+ * @ufuncs: A Unicode-functions structure
486
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
487
+ * @user_data: Data to pass to @func
488
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
489
+ *
490
+ * Sets the implementation function for #hb_unicode_general_category_func_t.
491
+ *
492
+ * Since: 0.9.2
493
+ **/
494
+ HB_EXTERN void
495
+ hb_unicode_funcs_set_general_category_func (hb_unicode_funcs_t *ufuncs,
496
+ hb_unicode_general_category_func_t func,
497
+ void *user_data, hb_destroy_func_t destroy);
498
+
499
+ /**
500
+ * hb_unicode_funcs_set_mirroring_func:
501
+ * @ufuncs: A Unicode-functions structure
502
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
503
+ * @user_data: Data to pass to @func
504
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
505
+ *
506
+ * Sets the implementation function for #hb_unicode_mirroring_func_t.
507
+ *
508
+ * Since: 0.9.2
509
+ **/
510
+ HB_EXTERN void
511
+ hb_unicode_funcs_set_mirroring_func (hb_unicode_funcs_t *ufuncs,
512
+ hb_unicode_mirroring_func_t func,
513
+ void *user_data, hb_destroy_func_t destroy);
514
+
515
+ /**
516
+ * hb_unicode_funcs_set_script_func:
517
+ * @ufuncs: A Unicode-functions structure
518
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
519
+ * @user_data: Data to pass to @func
520
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
521
+ *
522
+ * Sets the implementation function for #hb_unicode_script_func_t.
523
+ *
524
+ * Since: 0.9.2
525
+ **/
526
+ HB_EXTERN void
527
+ hb_unicode_funcs_set_script_func (hb_unicode_funcs_t *ufuncs,
528
+ hb_unicode_script_func_t func,
529
+ void *user_data, hb_destroy_func_t destroy);
530
+
531
+ /**
532
+ * hb_unicode_funcs_set_compose_func:
533
+ * @ufuncs: A Unicode-functions structure
534
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
535
+ * @user_data: Data to pass to @func
536
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
537
+ *
538
+ * Sets the implementation function for #hb_unicode_compose_func_t.
539
+ *
540
+ * Since: 0.9.2
541
+ **/
542
+ HB_EXTERN void
543
+ hb_unicode_funcs_set_compose_func (hb_unicode_funcs_t *ufuncs,
544
+ hb_unicode_compose_func_t func,
545
+ void *user_data, hb_destroy_func_t destroy);
546
+
547
+ /**
548
+ * hb_unicode_funcs_set_decompose_func:
549
+ * @ufuncs: A Unicode-functions structure
550
+ * @func: (closure user_data) (destroy destroy) (scope notified): The callback function to assign
551
+ * @user_data: Data to pass to @func
552
+ * @destroy: (nullable): The function to call when @user_data is not needed anymore
553
+ *
554
+ * Sets the implementation function for #hb_unicode_decompose_func_t.
555
+ *
556
+ * Since: 0.9.2
557
+ **/
558
+ HB_EXTERN void
559
+ hb_unicode_funcs_set_decompose_func (hb_unicode_funcs_t *ufuncs,
560
+ hb_unicode_decompose_func_t func,
561
+ void *user_data, hb_destroy_func_t destroy);
562
+
563
+ /* accessors */
564
+
565
+ /**
566
+ * hb_unicode_combining_class:
567
+ * @ufuncs: The Unicode-functions structure
568
+ * @unicode: The code point to query
569
+ *
570
+ * Retrieves the Canonical Combining Class (ccc) property
571
+ * of code point @unicode.
572
+ *
573
+ * Return value: The #hb_unicode_combining_class_t of @unicode
574
+ *
575
+ * Since: 0.9.2
576
+ **/
577
+ HB_EXTERN hb_unicode_combining_class_t
578
+ hb_unicode_combining_class (hb_unicode_funcs_t *ufuncs,
579
+ hb_codepoint_t unicode);
580
+
581
+ /**
582
+ * hb_unicode_general_category:
583
+ * @ufuncs: The Unicode-functions structure
584
+ * @unicode: The code point to query
585
+ *
586
+ * Retrieves the General Category (gc) property
587
+ * of code point @unicode.
588
+ *
589
+ * Return value: The #hb_unicode_general_category_t of @unicode
590
+ *
591
+ * Since: 0.9.2
592
+ **/
593
+ HB_EXTERN hb_unicode_general_category_t
594
+ hb_unicode_general_category (hb_unicode_funcs_t *ufuncs,
595
+ hb_codepoint_t unicode);
596
+
597
+ /**
598
+ * hb_unicode_mirroring:
599
+ * @ufuncs: The Unicode-functions structure
600
+ * @unicode: The code point to query
601
+ *
602
+ * Retrieves the Bi-directional Mirroring Glyph code
603
+ * point defined for code point @unicode.
604
+ *
605
+ * Return value: The #hb_codepoint_t of the Mirroring Glyph for @unicode
606
+ *
607
+ * Since: 0.9.2
608
+ **/
609
+ HB_EXTERN hb_codepoint_t
610
+ hb_unicode_mirroring (hb_unicode_funcs_t *ufuncs,
611
+ hb_codepoint_t unicode);
612
+
613
+ /**
614
+ * hb_unicode_script:
615
+ * @ufuncs: The Unicode-functions structure
616
+ * @unicode: The code point to query
617
+ *
618
+ * Retrieves the #hb_script_t script to which code
619
+ * point @unicode belongs.
620
+ *
621
+ * Return value: The #hb_script_t of @unicode
622
+ *
623
+ * Since: 0.9.2
624
+ **/
625
+ HB_EXTERN hb_script_t
626
+ hb_unicode_script (hb_unicode_funcs_t *ufuncs,
627
+ hb_codepoint_t unicode);
628
+
629
+ HB_EXTERN hb_bool_t
630
+ hb_unicode_compose (hb_unicode_funcs_t *ufuncs,
631
+ hb_codepoint_t a,
632
+ hb_codepoint_t b,
633
+ hb_codepoint_t *ab);
634
+
635
+ HB_EXTERN hb_bool_t
636
+ hb_unicode_decompose (hb_unicode_funcs_t *ufuncs,
637
+ hb_codepoint_t ab,
638
+ hb_codepoint_t *a,
639
+ hb_codepoint_t *b);
640
+
641
+ HB_END_DECLS
642
+
643
+ #endif /* HB_UNICODE_H */