OLD | NEW |
1 /* | 1 /* |
2 * Copyright © 2007,2008,2009 Red Hat, Inc. | 2 * Copyright © 2007,2008,2009 Red Hat, Inc. |
3 * Copyright © 2011 Google, Inc. | 3 * Copyright © 2011,2012 Google, Inc. |
4 * | 4 * |
5 * This is part of HarfBuzz, a text shaping library. | 5 * This is part of HarfBuzz, a text shaping library. |
6 * | 6 * |
7 * Permission is hereby granted, without written agreement and without | 7 * Permission is hereby granted, without written agreement and without |
8 * license or royalty fees, to use, copy, modify, and distribute this | 8 * license or royalty fees, to use, copy, modify, and distribute this |
9 * software and its documentation for any purpose, provided that the | 9 * software and its documentation for any purpose, provided that the |
10 * above copyright notice and the following two paragraphs appear in | 10 * above copyright notice and the following two paragraphs appear in |
11 * all copies of this software. | 11 * all copies of this software. |
12 * | 12 * |
13 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR | 13 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR |
14 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES | 14 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES |
15 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN | 15 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN |
16 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH | 16 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH |
17 * DAMAGE. | 17 * DAMAGE. |
18 * | 18 * |
19 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, | 19 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, |
20 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | 20 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND |
21 * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS | 21 * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS |
22 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO | 22 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO |
23 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. | 23 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
24 * | 24 * |
25 * Red Hat Author(s): Behdad Esfahbod | 25 * Red Hat Author(s): Behdad Esfahbod |
26 * Google Author(s): Behdad Esfahbod | 26 * Google Author(s): Behdad Esfahbod |
27 */ | 27 */ |
28 | 28 |
| 29 #ifndef HB_H_IN |
| 30 #error "Include <hb.h> instead." |
| 31 #endif |
| 32 |
29 #ifndef HB_COMMON_H | 33 #ifndef HB_COMMON_H |
30 #define HB_COMMON_H | 34 #define HB_COMMON_H |
31 | 35 |
32 # ifdef __cplusplus | 36 # ifdef __cplusplus |
33 # define HB_BEGIN_DECLS extern "C" { | 37 # define HB_BEGIN_DECLS extern "C" { |
34 # define HB_END_DECLS } | 38 # define HB_END_DECLS } |
35 # else /* !__cplusplus */ | 39 # else /* !__cplusplus */ |
36 # define HB_BEGIN_DECLS | 40 # define HB_BEGIN_DECLS |
37 # define HB_END_DECLS | 41 # define HB_END_DECLS |
38 # endif /* !__cplusplus */ | 42 # endif /* !__cplusplus */ |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 | 86 |
83 /* hb_tag_t */ | 87 /* hb_tag_t */ |
84 | 88 |
85 typedef uint32_t hb_tag_t; | 89 typedef uint32_t hb_tag_t; |
86 | 90 |
87 #define HB_TAG(a,b,c,d) ((hb_tag_t)((((uint8_t)(a))<<24)|(((uint8_t)(b))<<16)|((
(uint8_t)(c))<<8)|((uint8_t)(d)))) | 91 #define HB_TAG(a,b,c,d) ((hb_tag_t)((((uint8_t)(a))<<24)|(((uint8_t)(b))<<16)|((
(uint8_t)(c))<<8)|((uint8_t)(d)))) |
88 #define HB_UNTAG(tag) ((uint8_t)((tag)>>24)), ((uint8_t)((tag)>>16)), ((uint8_
t)((tag)>>8)), ((uint8_t)(tag)) | 92 #define HB_UNTAG(tag) ((uint8_t)((tag)>>24)), ((uint8_t)((tag)>>16)), ((uint8_
t)((tag)>>8)), ((uint8_t)(tag)) |
89 | 93 |
90 #define HB_TAG_NONE HB_TAG(0,0,0,0) | 94 #define HB_TAG_NONE HB_TAG(0,0,0,0) |
91 | 95 |
92 /* len=-1 means s is NUL-terminated */ | 96 /* len=-1 means str is NUL-terminated */ |
93 hb_tag_t hb_tag_from_string (const char *s, int len); | 97 hb_tag_t hb_tag_from_string (const char *str, int len); |
94 | 98 |
95 | 99 |
96 /* hb_direction_t */ | 100 /* hb_direction_t */ |
97 | 101 |
98 typedef enum { | 102 typedef enum { |
99 HB_DIRECTION_INVALID = -1, | 103 HB_DIRECTION_INVALID = 0, |
100 HB_DIRECTION_LTR = 0, | 104 HB_DIRECTION_LTR = 4, |
101 HB_DIRECTION_RTL, | 105 HB_DIRECTION_RTL, |
102 HB_DIRECTION_TTB, | 106 HB_DIRECTION_TTB, |
103 HB_DIRECTION_BTT | 107 HB_DIRECTION_BTT |
104 } hb_direction_t; | 108 } hb_direction_t; |
105 | 109 |
106 /* len=-1 means s is NUL-terminated */ | 110 /* len=-1 means str is NUL-terminated */ |
107 hb_direction_t | 111 hb_direction_t |
108 hb_direction_from_string (const char *str, int len); | 112 hb_direction_from_string (const char *str, int len); |
109 | 113 |
110 const char * | 114 const char * |
111 hb_direction_to_string (hb_direction_t direction); | 115 hb_direction_to_string (hb_direction_t direction); |
112 | 116 |
113 #define HB_DIRECTION_IS_HORIZONTAL(dir)»((((unsigned int) (dir)) & ~1U) == 0) | 117 #define HB_DIRECTION_IS_HORIZONTAL(dir)»((((unsigned int) (dir)) & ~1U) == 4) |
114 #define HB_DIRECTION_IS_VERTICAL(dir)» ((((unsigned int) (dir)) & ~1U) == 2) | 118 #define HB_DIRECTION_IS_VERTICAL(dir)» ((((unsigned int) (dir)) & ~1U) == 6) |
115 #define HB_DIRECTION_IS_FORWARD(dir)» ((((unsigned int) (dir)) & ~2U) == 0) | 119 #define HB_DIRECTION_IS_FORWARD(dir)» ((((unsigned int) (dir)) & ~2U) == 4) |
116 #define HB_DIRECTION_IS_BACKWARD(dir)» ((((unsigned int) (dir)) & ~2U) == 1) | 120 #define HB_DIRECTION_IS_BACKWARD(dir)» ((((unsigned int) (dir)) & ~2U) == 5) |
117 #define HB_DIRECTION_REVERSE(dir)» ((hb_direction_t) (((unsigned int) (dir)
) ^ 1)) | 121 #define HB_DIRECTION_IS_VALID(dir)» ((((unsigned int) (dir)) & ~3U) == 4) |
| 122 #define HB_DIRECTION_REVERSE(dir)» ((hb_direction_t) (((unsigned int) (dir)
) ^ 1)) /* Direction must be valid */ |
118 | 123 |
119 | 124 |
120 /* hb_language_t */ | 125 /* hb_language_t */ |
121 | 126 |
122 typedef struct _hb_language_t *hb_language_t; | 127 typedef struct _hb_language_t *hb_language_t; |
123 | 128 |
124 /* len=-1 means s is NUL-terminated */ | 129 /* len=-1 means str is NUL-terminated */ |
125 hb_language_t | 130 hb_language_t |
126 hb_language_from_string (const char *str, int len); | 131 hb_language_from_string (const char *str, int len); |
127 | 132 |
128 const char * | 133 const char * |
129 hb_language_to_string (hb_language_t language); | 134 hb_language_to_string (hb_language_t language); |
130 | 135 |
131 #define HB_LANGUAGE_INVALID ((hb_language_t) NULL) | 136 #define HB_LANGUAGE_INVALID ((hb_language_t) NULL) |
132 | 137 |
133 hb_language_t | 138 hb_language_t |
134 hb_language_get_default (void); | 139 hb_language_get_default (void); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 HB_UNICODE_GENERAL_CATEGORY_OTHER_SYMBOL, /* So */ | 172 HB_UNICODE_GENERAL_CATEGORY_OTHER_SYMBOL, /* So */ |
168 HB_UNICODE_GENERAL_CATEGORY_LINE_SEPARATOR, /* Zl */ | 173 HB_UNICODE_GENERAL_CATEGORY_LINE_SEPARATOR, /* Zl */ |
169 HB_UNICODE_GENERAL_CATEGORY_PARAGRAPH_SEPARATOR, /* Zp */ | 174 HB_UNICODE_GENERAL_CATEGORY_PARAGRAPH_SEPARATOR, /* Zp */ |
170 HB_UNICODE_GENERAL_CATEGORY_SPACE_SEPARATOR /* Zs */ | 175 HB_UNICODE_GENERAL_CATEGORY_SPACE_SEPARATOR /* Zs */ |
171 } hb_unicode_general_category_t; | 176 } hb_unicode_general_category_t; |
172 | 177 |
173 | 178 |
174 /* hb_script_t */ | 179 /* hb_script_t */ |
175 | 180 |
176 /* http://unicode.org/iso15924/ */ | 181 /* http://unicode.org/iso15924/ */ |
| 182 /* http://goo.gl/x9ilM */ |
177 typedef enum | 183 typedef enum |
178 { | 184 { |
179 HB_SCRIPT_COMMON = HB_TAG ('Z','y','y','y'), | 185 /* Unicode-1.1 additions */ |
180 HB_SCRIPT_INHERITED = HB_TAG ('Z','i','n','h'), | 186 HB_SCRIPT_COMMON» » » = HB_TAG ('Z','y','y','y'), |
181 HB_SCRIPT_ARABIC = HB_TAG ('A','r','a','b'), | 187 HB_SCRIPT_ARABIC» » » = HB_TAG ('A','r','a','b'), |
182 HB_SCRIPT_ARMENIAN = HB_TAG ('A','r','m','n'), | 188 HB_SCRIPT_ARMENIAN» » » = HB_TAG ('A','r','m','n'), |
183 HB_SCRIPT_BENGALI = HB_TAG ('B','e','n','g'), | 189 HB_SCRIPT_BENGALI» » » = HB_TAG ('B','e','n','g'), |
184 HB_SCRIPT_BOPOMOFO = HB_TAG ('B','o','p','o'), | 190 HB_SCRIPT_BOPOMOFO» » » = HB_TAG ('B','o','p','o'), |
185 HB_SCRIPT_CHEROKEE = HB_TAG ('C','h','e','r'), | 191 HB_SCRIPT_CANADIAN_ABORIGINAL»» = HB_TAG ('C','a','n','s'), |
186 HB_SCRIPT_COPTIC = HB_TAG ('C','o','p','t'), | 192 HB_SCRIPT_CHEROKEE» » » = HB_TAG ('C','h','e','r'), |
187 HB_SCRIPT_CYRILLIC = HB_TAG ('C','y','r','l'), | 193 HB_SCRIPT_COPTIC» » » = HB_TAG ('C','o','p','t'), |
188 HB_SCRIPT_DESERET = HB_TAG ('D','s','r','t'), | 194 HB_SCRIPT_CYRILLIC» » » = HB_TAG ('C','y','r','l'), |
189 HB_SCRIPT_DEVANAGARI = HB_TAG ('D','e','v','a'), | 195 HB_SCRIPT_DEVANAGARI» » » = HB_TAG ('D','e','v','a'), |
190 HB_SCRIPT_ETHIOPIC = HB_TAG ('E','t','h','i'), | 196 HB_SCRIPT_GEORGIAN» » » = HB_TAG ('G','e','o','r'), |
191 HB_SCRIPT_GEORGIAN = HB_TAG ('G','e','o','r'), | 197 HB_SCRIPT_GREEK» » » = HB_TAG ('G','r','e','k'), |
192 HB_SCRIPT_GOTHIC = HB_TAG ('G','o','t','h'), | 198 HB_SCRIPT_GUJARATI» » » = HB_TAG ('G','u','j','r'), |
193 HB_SCRIPT_GREEK = HB_TAG ('G','r','e','k'), | 199 HB_SCRIPT_GURMUKHI» » » = HB_TAG ('G','u','r','u'), |
194 HB_SCRIPT_GUJARATI = HB_TAG ('G','u','j','r'), | 200 HB_SCRIPT_HANGUL» » » = HB_TAG ('H','a','n','g'), |
195 HB_SCRIPT_GURMUKHI = HB_TAG ('G','u','r','u'), | 201 HB_SCRIPT_HAN»» » » = HB_TAG ('H','a','n','i'), |
196 HB_SCRIPT_HAN = HB_TAG ('H','a','n','i'), | 202 HB_SCRIPT_HEBREW» » » = HB_TAG ('H','e','b','r'), |
197 HB_SCRIPT_HANGUL = HB_TAG ('H','a','n','g'), | 203 HB_SCRIPT_HIRAGANA» » » = HB_TAG ('H','i','r','a'), |
198 HB_SCRIPT_HEBREW = HB_TAG ('H','e','b','r'), | 204 HB_SCRIPT_INHERITED» » » = HB_TAG ('Z','i','n','h'), |
199 HB_SCRIPT_HIRAGANA = HB_TAG ('H','i','r','a'), | 205 HB_SCRIPT_KANNADA» » » = HB_TAG ('K','n','d','a'), |
200 HB_SCRIPT_KANNADA = HB_TAG ('K','n','d','a'), | 206 HB_SCRIPT_KATAKANA» » » = HB_TAG ('K','a','n','a'), |
201 HB_SCRIPT_KATAKANA = HB_TAG ('K','a','n','a'), | 207 HB_SCRIPT_LAO»» » » = HB_TAG ('L','a','o','o'), |
202 HB_SCRIPT_KHMER = HB_TAG ('K','h','m','r'), | 208 HB_SCRIPT_LATIN» » » = HB_TAG ('L','a','t','n'), |
203 HB_SCRIPT_LAO = HB_TAG ('L','a','o','o'), | 209 HB_SCRIPT_MALAYALAM» » » = HB_TAG ('M','l','y','m'), |
204 HB_SCRIPT_LATIN = HB_TAG ('L','a','t','n'), | 210 HB_SCRIPT_MONGOLIAN» » » = HB_TAG ('M','o','n','g'), |
205 HB_SCRIPT_MALAYALAM = HB_TAG ('M','l','y','m'), | 211 HB_SCRIPT_OGHAM» » » = HB_TAG ('O','g','a','m'), |
206 HB_SCRIPT_MONGOLIAN = HB_TAG ('M','o','n','g'), | 212 HB_SCRIPT_ORIYA» » » = HB_TAG ('O','r','y','a'), |
207 HB_SCRIPT_MYANMAR = HB_TAG ('M','y','m','r'), | 213 HB_SCRIPT_RUNIC» » » = HB_TAG ('R','u','n','r'), |
208 HB_SCRIPT_OGHAM = HB_TAG ('O','g','a','m'), | 214 HB_SCRIPT_SYRIAC» » » = HB_TAG ('S','y','r','c'), |
209 HB_SCRIPT_OLD_ITALIC = HB_TAG ('I','t','a','l'), | 215 HB_SCRIPT_TAMIL» » » = HB_TAG ('T','a','m','l'), |
210 HB_SCRIPT_ORIYA = HB_TAG ('O','r','y','a'), | 216 HB_SCRIPT_TELUGU» » » = HB_TAG ('T','e','l','u'), |
211 HB_SCRIPT_RUNIC = HB_TAG ('R','u','n','r'), | 217 HB_SCRIPT_THAI» » » = HB_TAG ('T','h','a','i'), |
212 HB_SCRIPT_SINHALA = HB_TAG ('S','i','n','h'), | 218 HB_SCRIPT_YI» » » » = HB_TAG ('Y','i','i','i'), |
213 HB_SCRIPT_SYRIAC = HB_TAG ('S','y','r','c'), | 219 |
214 HB_SCRIPT_TAMIL = HB_TAG ('T','a','m','l'), | 220 /* Unicode-2.0 additions */ |
215 HB_SCRIPT_TELUGU = HB_TAG ('T','e','l','u'), | 221 HB_SCRIPT_TIBETAN» » » = HB_TAG ('T','i','b','t'), |
216 HB_SCRIPT_THAANA = HB_TAG ('T','h','a','a'), | 222 |
217 HB_SCRIPT_THAI = HB_TAG ('T','h','a','i'), | 223 /* Unicode-3.0 additions */ |
218 HB_SCRIPT_TIBETAN = HB_TAG ('T','i','b','t'), | 224 HB_SCRIPT_ETHIOPIC» » » = HB_TAG ('E','t','h','i'), |
219 HB_SCRIPT_CANADIAN_ABORIGINAL = HB_TAG ('C','a','n','s'), | 225 HB_SCRIPT_KHMER» » » = HB_TAG ('K','h','m','r'), |
220 HB_SCRIPT_YI = HB_TAG ('Y','i','i','i'), | 226 HB_SCRIPT_MYANMAR» » » = HB_TAG ('M','y','m','r'), |
221 HB_SCRIPT_TAGALOG = HB_TAG ('T','g','l','g'), | 227 HB_SCRIPT_SINHALA» » » = HB_TAG ('S','i','n','h'), |
222 HB_SCRIPT_HANUNOO = HB_TAG ('H','a','n','o'), | 228 HB_SCRIPT_THAANA» » » = HB_TAG ('T','h','a','a'), |
223 HB_SCRIPT_BUHID = HB_TAG ('B','u','h','d'), | 229 |
224 HB_SCRIPT_TAGBANWA = HB_TAG ('T','a','g','b'), | 230 /* Unicode-3.1 additions */ |
| 231 HB_SCRIPT_DESERET» » » = HB_TAG ('D','s','r','t'), |
| 232 HB_SCRIPT_GOTHIC» » » = HB_TAG ('G','o','t','h'), |
| 233 HB_SCRIPT_OLD_ITALIC» » » = HB_TAG ('I','t','a','l'), |
| 234 |
| 235 /* Unicode-3.2 additions */ |
| 236 HB_SCRIPT_BUHID» » » = HB_TAG ('B','u','h','d'), |
| 237 HB_SCRIPT_HANUNOO» » » = HB_TAG ('H','a','n','o'), |
| 238 HB_SCRIPT_TAGALOG» » » = HB_TAG ('T','g','l','g'), |
| 239 HB_SCRIPT_TAGBANWA» » » = HB_TAG ('T','a','g','b'), |
225 | 240 |
226 /* Unicode-4.0 additions */ | 241 /* Unicode-4.0 additions */ |
227 HB_SCRIPT_BRAILLE = HB_TAG ('B','r','a','i'), | 242 HB_SCRIPT_BRAILLE» » » = HB_TAG ('B','r','a','i'), |
228 HB_SCRIPT_CYPRIOT = HB_TAG ('C','p','r','t'), | 243 HB_SCRIPT_CYPRIOT» » » = HB_TAG ('C','p','r','t'), |
229 HB_SCRIPT_LIMBU = HB_TAG ('L','i','m','b'), | 244 HB_SCRIPT_LIMBU» » » = HB_TAG ('L','i','m','b'), |
230 HB_SCRIPT_OSMANYA = HB_TAG ('O','s','m','a'), | 245 HB_SCRIPT_LINEAR_B» » » = HB_TAG ('L','i','n','b'), |
231 HB_SCRIPT_SHAVIAN = HB_TAG ('S','h','a','w'), | 246 HB_SCRIPT_OSMANYA» » » = HB_TAG ('O','s','m','a'), |
232 HB_SCRIPT_LINEAR_B = HB_TAG ('L','i','n','b'), | 247 HB_SCRIPT_SHAVIAN» » » = HB_TAG ('S','h','a','w'), |
233 HB_SCRIPT_TAI_LE = HB_TAG ('T','a','l','e'), | 248 HB_SCRIPT_TAI_LE» » » = HB_TAG ('T','a','l','e'), |
234 HB_SCRIPT_UGARITIC = HB_TAG ('U','g','a','r'), | 249 HB_SCRIPT_UGARITIC» » » = HB_TAG ('U','g','a','r'), |
235 | 250 |
236 /* Unicode-4.1 additions */ | 251 /* Unicode-4.1 additions */ |
237 HB_SCRIPT_NEW_TAI_LUE = HB_TAG ('T','a','l','u'), | 252 HB_SCRIPT_BUGINESE» » » = HB_TAG ('B','u','g','i'), |
238 HB_SCRIPT_BUGINESE = HB_TAG ('B','u','g','i'), | 253 HB_SCRIPT_GLAGOLITIC» » » = HB_TAG ('G','l','a','g'), |
239 HB_SCRIPT_GLAGOLITIC = HB_TAG ('G','l','a','g'), | 254 HB_SCRIPT_KHAROSHTHI» » » = HB_TAG ('K','h','a','r'), |
240 HB_SCRIPT_TIFINAGH = HB_TAG ('T','f','n','g'), | 255 HB_SCRIPT_NEW_TAI_LUE»» » = HB_TAG ('T','a','l','u'), |
241 HB_SCRIPT_SYLOTI_NAGRI = HB_TAG ('S','y','l','o'), | 256 HB_SCRIPT_OLD_PERSIAN»» » = HB_TAG ('X','p','e','o'), |
242 HB_SCRIPT_OLD_PERSIAN = HB_TAG ('X','p','e','o'), | 257 HB_SCRIPT_SYLOTI_NAGRI» » = HB_TAG ('S','y','l','o'), |
243 HB_SCRIPT_KHAROSHTHI = HB_TAG ('K','h','a','r'), | 258 HB_SCRIPT_TIFINAGH» » » = HB_TAG ('T','f','n','g'), |
244 | 259 |
245 /* Unicode-5.0 additions */ | 260 /* Unicode-5.0 additions */ |
246 HB_SCRIPT_UNKNOWN = HB_TAG ('Z','z','z','z'), | 261 HB_SCRIPT_BALINESE» » » = HB_TAG ('B','a','l','i'), |
247 HB_SCRIPT_BALINESE = HB_TAG ('B','a','l','i'), | 262 HB_SCRIPT_CUNEIFORM» » » = HB_TAG ('X','s','u','x'), |
248 HB_SCRIPT_CUNEIFORM = HB_TAG ('X','s','u','x'), | 263 HB_SCRIPT_NKO»» » » = HB_TAG ('N','k','o','o'), |
249 HB_SCRIPT_PHOENICIAN = HB_TAG ('P','h','n','x'), | 264 HB_SCRIPT_PHAGS_PA» » » = HB_TAG ('P','h','a','g'), |
250 HB_SCRIPT_PHAGS_PA = HB_TAG ('P','h','a','g'), | 265 HB_SCRIPT_PHOENICIAN» » » = HB_TAG ('P','h','n','x'), |
251 HB_SCRIPT_NKO = HB_TAG ('N','k','o','o'), | 266 HB_SCRIPT_UNKNOWN» » » = HB_TAG ('Z','z','z','z'), |
252 | 267 |
253 /* Unicode-5.1 additions */ | 268 /* Unicode-5.1 additions */ |
254 HB_SCRIPT_KAYAH_LI = HB_TAG ('K','a','l','i'), | 269 HB_SCRIPT_CARIAN» » » = HB_TAG ('C','a','r','i'), |
255 HB_SCRIPT_LEPCHA = HB_TAG ('L','e','p','c'), | 270 HB_SCRIPT_CHAM» » » = HB_TAG ('C','h','a','m'), |
256 HB_SCRIPT_REJANG = HB_TAG ('R','j','n','g'), | 271 HB_SCRIPT_KAYAH_LI» » » = HB_TAG ('K','a','l','i'), |
257 HB_SCRIPT_SUNDANESE = HB_TAG ('S','u','n','d'), | 272 HB_SCRIPT_LEPCHA» » » = HB_TAG ('L','e','p','c'), |
258 HB_SCRIPT_SAURASHTRA = HB_TAG ('S','a','u','r'), | 273 HB_SCRIPT_LYCIAN» » » = HB_TAG ('L','y','c','i'), |
259 HB_SCRIPT_CHAM = HB_TAG ('C','h','a','m'), | 274 HB_SCRIPT_LYDIAN» » » = HB_TAG ('L','y','d','i'), |
260 HB_SCRIPT_OL_CHIKI = HB_TAG ('O','l','c','k'), | 275 HB_SCRIPT_OL_CHIKI» » » = HB_TAG ('O','l','c','k'), |
261 HB_SCRIPT_VAI = HB_TAG ('V','a','i','i'), | 276 HB_SCRIPT_REJANG» » » = HB_TAG ('R','j','n','g'), |
262 HB_SCRIPT_CARIAN = HB_TAG ('C','a','r','i'), | 277 HB_SCRIPT_SAURASHTRA» » » = HB_TAG ('S','a','u','r'), |
263 HB_SCRIPT_LYCIAN = HB_TAG ('L','y','c','i'), | 278 HB_SCRIPT_SUNDANESE» » » = HB_TAG ('S','u','n','d'), |
264 HB_SCRIPT_LYDIAN = HB_TAG ('L','y','d','i'), | 279 HB_SCRIPT_VAI»» » » = HB_TAG ('V','a','i','i'), |
265 | 280 |
266 /* Unicode-5.2 additions */ | 281 /* Unicode-5.2 additions */ |
267 HB_SCRIPT_AVESTAN = HB_TAG ('A','v','s','t'), | 282 HB_SCRIPT_AVESTAN» » » = HB_TAG ('A','v','s','t'), |
268 HB_SCRIPT_BAMUM = HB_TAG ('B','a','m','u'), | 283 HB_SCRIPT_BAMUM» » » = HB_TAG ('B','a','m','u'), |
269 HB_SCRIPT_EGYPTIAN_HIEROGLYPHS = HB_TAG ('E','g','y','p'), | 284 HB_SCRIPT_EGYPTIAN_HIEROGLYPHS» = HB_TAG ('E','g','y','p'), |
270 HB_SCRIPT_IMPERIAL_ARAMAIC = HB_TAG ('A','r','m','i'), | 285 HB_SCRIPT_IMPERIAL_ARAMAIC» » = HB_TAG ('A','r','m','i'), |
271 HB_SCRIPT_INSCRIPTIONAL_PAHLAVI = HB_TAG ('P','h','l','i'), | 286 HB_SCRIPT_INSCRIPTIONAL_PAHLAVI» = HB_TAG ('P','h','l','i'), |
272 HB_SCRIPT_INSCRIPTIONAL_PARTHIAN = HB_TAG ('P','r','t','i'), | 287 HB_SCRIPT_INSCRIPTIONAL_PARTHIAN» = HB_TAG ('P','r','t','i'), |
273 HB_SCRIPT_JAVANESE = HB_TAG ('J','a','v','a'), | 288 HB_SCRIPT_JAVANESE» » » = HB_TAG ('J','a','v','a'), |
274 HB_SCRIPT_KAITHI = HB_TAG ('K','t','h','i'), | 289 HB_SCRIPT_KAITHI» » » = HB_TAG ('K','t','h','i'), |
275 HB_SCRIPT_LISU = HB_TAG ('L','i','s','u'), | 290 HB_SCRIPT_LISU» » » = HB_TAG ('L','i','s','u'), |
276 HB_SCRIPT_MEETEI_MAYEK = HB_TAG ('M','t','e','i'), | 291 HB_SCRIPT_MEETEI_MAYEK» » = HB_TAG ('M','t','e','i'), |
277 HB_SCRIPT_OLD_SOUTH_ARABIAN = HB_TAG ('S','a','r','b'), | 292 HB_SCRIPT_OLD_SOUTH_ARABIAN» » = HB_TAG ('S','a','r','b'), |
278 HB_SCRIPT_OLD_TURKIC = HB_TAG ('O','r','k','h'), | 293 HB_SCRIPT_OLD_TURKIC» » » = HB_TAG ('O','r','k','h'), |
279 HB_SCRIPT_SAMARITAN = HB_TAG ('S','a','m','r'), | 294 HB_SCRIPT_SAMARITAN» » » = HB_TAG ('S','a','m','r'), |
280 HB_SCRIPT_TAI_THAM = HB_TAG ('L','a','n','a'), | 295 HB_SCRIPT_TAI_THAM» » » = HB_TAG ('L','a','n','a'), |
281 HB_SCRIPT_TAI_VIET = HB_TAG ('T','a','v','t'), | 296 HB_SCRIPT_TAI_VIET» » » = HB_TAG ('T','a','v','t'), |
282 | 297 |
283 /* Unicode-6.0 additions */ | 298 /* Unicode-6.0 additions */ |
284 HB_SCRIPT_BATAK = HB_TAG ('B','a','t','k'), | 299 HB_SCRIPT_BATAK» » » = HB_TAG ('B','a','t','k'), |
285 HB_SCRIPT_BRAHMI = HB_TAG ('B','r','a','h'), | 300 HB_SCRIPT_BRAHMI» » » = HB_TAG ('B','r','a','h'), |
286 HB_SCRIPT_MANDAIC = HB_TAG ('M','a','n','d'), | 301 HB_SCRIPT_MANDAIC» » » = HB_TAG ('M','a','n','d'), |
| 302 |
| 303 /* Unicode-6.1 additions */ |
| 304 HB_SCRIPT_CHAKMA» » » = HB_TAG ('C','a','k','m'), |
| 305 HB_SCRIPT_MEROITIC_CURSIVE» » = HB_TAG ('M','e','r','c'), |
| 306 HB_SCRIPT_MEROITIC_HIEROGLYPHS» = HB_TAG ('M','e','r','o'), |
| 307 HB_SCRIPT_MIAO» » » = HB_TAG ('P','l','r','d'), |
| 308 HB_SCRIPT_SHARADA» » » = HB_TAG ('S','h','r','d'), |
| 309 HB_SCRIPT_SORA_SOMPENG» » = HB_TAG ('S','o','r','a'), |
| 310 HB_SCRIPT_TAKRI» » » = HB_TAG ('T','a','k','r'), |
287 | 311 |
288 /* No script set */ | 312 /* No script set */ |
289 HB_SCRIPT_INVALID = HB_TAG_NONE | 313 HB_SCRIPT_INVALID» » » = HB_TAG_NONE |
290 } hb_script_t; | 314 } hb_script_t; |
291 | 315 |
292 | 316 |
293 /* Script functions */ | 317 /* Script functions */ |
294 | 318 |
295 hb_script_t | 319 hb_script_t |
296 hb_script_from_iso15924_tag (hb_tag_t tag); | 320 hb_script_from_iso15924_tag (hb_tag_t tag); |
297 | 321 |
298 /* suger for tag_from_string() then script_from_iso15924_tag */ | 322 /* suger for tag_from_string() then script_from_iso15924_tag */ |
299 /* len=-1 means s is NUL-terminated */ | 323 /* len=-1 means s is NUL-terminated */ |
(...skipping 13 matching lines...) Expand all Loading... |
313 /*< private >*/ | 337 /*< private >*/ |
314 char unused; | 338 char unused; |
315 } hb_user_data_key_t; | 339 } hb_user_data_key_t; |
316 | 340 |
317 typedef void (*hb_destroy_func_t) (void *user_data); | 341 typedef void (*hb_destroy_func_t) (void *user_data); |
318 | 342 |
319 | 343 |
320 HB_END_DECLS | 344 HB_END_DECLS |
321 | 345 |
322 #endif /* HB_COMMON_H */ | 346 #endif /* HB_COMMON_H */ |
OLD | NEW |