| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright © 2007,2008,2009 Red Hat, Inc. | 2 * Copyright © 2007,2008,2009 Red Hat, Inc. |
| 3 * Copyright © 2011,2012 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 |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 83 int16_t i16[2]; | 83 int16_t i16[2]; |
| 84 uint8_t u8[4]; | 84 uint8_t u8[4]; |
| 85 int8_t i8[4]; | 85 int8_t i8[4]; |
| 86 } hb_var_int_t; | 86 } hb_var_int_t; |
| 87 | 87 |
| 88 | 88 |
| 89 /* hb_tag_t */ | 89 /* hb_tag_t */ |
| 90 | 90 |
| 91 typedef uint32_t hb_tag_t; | 91 typedef uint32_t hb_tag_t; |
| 92 | 92 |
| 93 #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)))) | 93 #define HB_TAG(c1,c2,c3,c4) ((hb_tag_t)((((uint8_t)(c1))<<24)|(((uint8_t)(c2))<<
16)|(((uint8_t)(c3))<<8)|((uint8_t)(c4)))) |
| 94 #define HB_UNTAG(tag) ((uint8_t)((tag)>>24)), ((uint8_t)((tag)>>16)), ((uint8_
t)((tag)>>8)), ((uint8_t)(tag)) | 94 #define HB_UNTAG(tag) ((uint8_t)((tag)>>24)), ((uint8_t)((tag)>>16)), ((uint8_
t)((tag)>>8)), ((uint8_t)(tag)) |
| 95 | 95 |
| 96 #define HB_TAG_NONE HB_TAG(0,0,0,0) | 96 #define HB_TAG_NONE HB_TAG(0,0,0,0) |
| 97 | 97 |
| 98 /* len=-1 means str is NUL-terminated. */ | 98 /* len=-1 means str is NUL-terminated. */ |
| 99 hb_tag_t | 99 hb_tag_t |
| 100 hb_tag_from_string (const char *str, int len); | 100 hb_tag_from_string (const char *str, int len); |
| 101 | 101 |
| 102 /* buf should have 4 bytes. */ | 102 /* buf should have 4 bytes. */ |
| 103 void | 103 void |
| (...skipping 20 matching lines...) Expand all Loading... |
| 124 #define HB_DIRECTION_IS_HORIZONTAL(dir) ((((unsigned int) (dir)) & ~1U) == 4) | 124 #define HB_DIRECTION_IS_HORIZONTAL(dir) ((((unsigned int) (dir)) & ~1U) == 4) |
| 125 #define HB_DIRECTION_IS_VERTICAL(dir) ((((unsigned int) (dir)) & ~1U) == 6) | 125 #define HB_DIRECTION_IS_VERTICAL(dir) ((((unsigned int) (dir)) & ~1U) == 6) |
| 126 #define HB_DIRECTION_IS_FORWARD(dir) ((((unsigned int) (dir)) & ~2U) == 4) | 126 #define HB_DIRECTION_IS_FORWARD(dir) ((((unsigned int) (dir)) & ~2U) == 4) |
| 127 #define HB_DIRECTION_IS_BACKWARD(dir) ((((unsigned int) (dir)) & ~2U) == 5) | 127 #define HB_DIRECTION_IS_BACKWARD(dir) ((((unsigned int) (dir)) & ~2U) == 5) |
| 128 #define HB_DIRECTION_IS_VALID(dir) ((((unsigned int) (dir)) & ~3U) == 4) | 128 #define HB_DIRECTION_IS_VALID(dir) ((((unsigned int) (dir)) & ~3U) == 4) |
| 129 #define HB_DIRECTION_REVERSE(dir) ((hb_direction_t) (((unsigned int) (dir)
) ^ 1)) /* Direction must be valid */ | 129 #define HB_DIRECTION_REVERSE(dir) ((hb_direction_t) (((unsigned int) (dir)
) ^ 1)) /* Direction must be valid */ |
| 130 | 130 |
| 131 | 131 |
| 132 /* hb_language_t */ | 132 /* hb_language_t */ |
| 133 | 133 |
| 134 typedef struct hb_language_impl_t *hb_language_t; | 134 typedef const struct hb_language_impl_t *hb_language_t; |
| 135 | 135 |
| 136 /* len=-1 means str is NUL-terminated */ | 136 /* len=-1 means str is NUL-terminated */ |
| 137 hb_language_t | 137 hb_language_t |
| 138 hb_language_from_string (const char *str, int len); | 138 hb_language_from_string (const char *str, int len); |
| 139 | 139 |
| 140 const char * | 140 const char * |
| 141 hb_language_to_string (hb_language_t language); | 141 hb_language_to_string (hb_language_t language); |
| 142 | 142 |
| 143 #define HB_LANGUAGE_INVALID ((hb_language_t) NULL) | 143 #define HB_LANGUAGE_INVALID ((hb_language_t) NULL) |
| 144 | 144 |
| 145 hb_language_t | 145 hb_language_t |
| 146 hb_language_get_default (void); | 146 hb_language_get_default (void); |
| 147 | 147 |
| 148 | 148 |
| 149 /* hb_script_t */ | 149 /* hb_script_t */ |
| 150 | 150 |
| 151 /* http://unicode.org/iso15924/ */ | 151 /* http://unicode.org/iso15924/ */ |
| 152 /* http://goo.gl/x9ilM */ | 152 /* http://goo.gl/x9ilM */ |
| 153 /* Unicode Character Database property: Script (sc) */ | 153 /* Unicode Character Database property: Script (sc) */ |
| 154 typedef enum | 154 typedef enum |
| 155 { | 155 { |
| 156 /* Unicode-1.1 additions */ | 156 /*1.1*/ HB_SCRIPT_COMMON» » » = HB_TAG ('Z','y','y','y'), |
| 157 HB_SCRIPT_COMMON» » » = HB_TAG ('Z','y','y','y'), | 157 /*1.1*/ HB_SCRIPT_INHERITED» » » = HB_TAG ('Z','i','n','h'), |
| 158 HB_SCRIPT_ARABIC» » » = HB_TAG ('A','r','a','b'), | 158 /*5.0*/ HB_SCRIPT_UNKNOWN» » » = HB_TAG ('Z','z','z','z'), |
| 159 HB_SCRIPT_ARMENIAN» » » = HB_TAG ('A','r','m','n'), | |
| 160 HB_SCRIPT_BENGALI» » » = HB_TAG ('B','e','n','g'), | |
| 161 HB_SCRIPT_BOPOMOFO» » » = HB_TAG ('B','o','p','o'), | |
| 162 HB_SCRIPT_CANADIAN_ABORIGINAL»» = HB_TAG ('C','a','n','s'), | |
| 163 HB_SCRIPT_CHEROKEE» » » = HB_TAG ('C','h','e','r'), | |
| 164 HB_SCRIPT_COPTIC» » » = HB_TAG ('C','o','p','t'), | |
| 165 HB_SCRIPT_CYRILLIC» » » = HB_TAG ('C','y','r','l'), | |
| 166 HB_SCRIPT_DEVANAGARI» » » = HB_TAG ('D','e','v','a'), | |
| 167 HB_SCRIPT_GEORGIAN» » » = HB_TAG ('G','e','o','r'), | |
| 168 HB_SCRIPT_GREEK» » » = HB_TAG ('G','r','e','k'), | |
| 169 HB_SCRIPT_GUJARATI» » » = HB_TAG ('G','u','j','r'), | |
| 170 HB_SCRIPT_GURMUKHI» » » = HB_TAG ('G','u','r','u'), | |
| 171 HB_SCRIPT_HANGUL» » » = HB_TAG ('H','a','n','g'), | |
| 172 HB_SCRIPT_HAN»» » » = HB_TAG ('H','a','n','i'), | |
| 173 HB_SCRIPT_HEBREW» » » = HB_TAG ('H','e','b','r'), | |
| 174 HB_SCRIPT_HIRAGANA» » » = HB_TAG ('H','i','r','a'), | |
| 175 HB_SCRIPT_INHERITED» » » = HB_TAG ('Z','i','n','h'), | |
| 176 HB_SCRIPT_KANNADA» » » = HB_TAG ('K','n','d','a'), | |
| 177 HB_SCRIPT_KATAKANA» » » = HB_TAG ('K','a','n','a'), | |
| 178 HB_SCRIPT_LAO»» » » = HB_TAG ('L','a','o','o'), | |
| 179 HB_SCRIPT_LATIN» » » = HB_TAG ('L','a','t','n'), | |
| 180 HB_SCRIPT_MALAYALAM» » » = HB_TAG ('M','l','y','m'), | |
| 181 HB_SCRIPT_MONGOLIAN» » » = HB_TAG ('M','o','n','g'), | |
| 182 HB_SCRIPT_OGHAM» » » = HB_TAG ('O','g','a','m'), | |
| 183 HB_SCRIPT_ORIYA» » » = HB_TAG ('O','r','y','a'), | |
| 184 HB_SCRIPT_RUNIC» » » = HB_TAG ('R','u','n','r'), | |
| 185 HB_SCRIPT_SYRIAC» » » = HB_TAG ('S','y','r','c'), | |
| 186 HB_SCRIPT_TAMIL» » » = HB_TAG ('T','a','m','l'), | |
| 187 HB_SCRIPT_TELUGU» » » = HB_TAG ('T','e','l','u'), | |
| 188 HB_SCRIPT_THAI» » » = HB_TAG ('T','h','a','i'), | |
| 189 HB_SCRIPT_YI» » » » = HB_TAG ('Y','i','i','i'), | |
| 190 | 159 |
| 191 /* Unicode-2.0 additions */ | 160 /*1.1*/ HB_SCRIPT_ARABIC» » » = HB_TAG ('A','r','a','b'), |
| 192 HB_SCRIPT_TIBETAN» » » = HB_TAG ('T','i','b','t'), | 161 /*1.1*/ HB_SCRIPT_ARMENIAN» » » = HB_TAG ('A','r','m','n'), |
| 162 /*1.1*/ HB_SCRIPT_BENGALI» » » = HB_TAG ('B','e','n','g'), |
| 163 /*1.1*/ HB_SCRIPT_CYRILLIC» » » = HB_TAG ('C','y','r','l'), |
| 164 /*1.1*/ HB_SCRIPT_DEVANAGARI» » » = HB_TAG ('D','e','v','a'), |
| 165 /*1.1*/ HB_SCRIPT_GEORGIAN» » » = HB_TAG ('G','e','o','r'), |
| 166 /*1.1*/ HB_SCRIPT_GREEK» » » = HB_TAG ('G','r','e','k'), |
| 167 /*1.1*/ HB_SCRIPT_GUJARATI» » » = HB_TAG ('G','u','j','r'), |
| 168 /*1.1*/ HB_SCRIPT_GURMUKHI» » » = HB_TAG ('G','u','r','u'), |
| 169 /*1.1*/ HB_SCRIPT_HANGUL» » » = HB_TAG ('H','a','n','g'), |
| 170 /*1.1*/ HB_SCRIPT_HAN»» » » = HB_TAG ('H','a','n','i'), |
| 171 /*1.1*/ HB_SCRIPT_HEBREW» » » = HB_TAG ('H','e','b','r'), |
| 172 /*1.1*/ HB_SCRIPT_HIRAGANA» » » = HB_TAG ('H','i','r','a'), |
| 173 /*1.1*/ HB_SCRIPT_KANNADA» » » = HB_TAG ('K','n','d','a'), |
| 174 /*1.1*/ HB_SCRIPT_KATAKANA» » » = HB_TAG ('K','a','n','a'), |
| 175 /*1.1*/ HB_SCRIPT_LAO»» » » = HB_TAG ('L','a','o','o'), |
| 176 /*1.1*/ HB_SCRIPT_LATIN» » » = HB_TAG ('L','a','t','n'), |
| 177 /*1.1*/ HB_SCRIPT_MALAYALAM» » » = HB_TAG ('M','l','y','m'), |
| 178 /*1.1*/ HB_SCRIPT_ORIYA» » » = HB_TAG ('O','r','y','a'), |
| 179 /*1.1*/ HB_SCRIPT_TAMIL» » » = HB_TAG ('T','a','m','l'), |
| 180 /*1.1*/ HB_SCRIPT_TELUGU» » » = HB_TAG ('T','e','l','u'), |
| 181 /*1.1*/ HB_SCRIPT_THAI» » » = HB_TAG ('T','h','a','i'), |
| 193 | 182 |
| 194 /* Unicode-3.0 additions */ | 183 /*2.0*/ HB_SCRIPT_TIBETAN» » » = HB_TAG ('T','i','b','t'), |
| 195 HB_SCRIPT_ETHIOPIC» » » = HB_TAG ('E','t','h','i'), | |
| 196 HB_SCRIPT_KHMER» » » = HB_TAG ('K','h','m','r'), | |
| 197 HB_SCRIPT_MYANMAR» » » = HB_TAG ('M','y','m','r'), | |
| 198 HB_SCRIPT_SINHALA» » » = HB_TAG ('S','i','n','h'), | |
| 199 HB_SCRIPT_THAANA» » » = HB_TAG ('T','h','a','a'), | |
| 200 | 184 |
| 201 /* Unicode-3.1 additions */ | 185 /*3.0*/ HB_SCRIPT_BOPOMOFO» » » = HB_TAG ('B','o','p','o'), |
| 202 HB_SCRIPT_DESERET» » » = HB_TAG ('D','s','r','t'), | 186 /*3.0*/ HB_SCRIPT_BRAILLE» » » = HB_TAG ('B','r','a','i'), |
| 203 HB_SCRIPT_GOTHIC» » » = HB_TAG ('G','o','t','h'), | 187 /*3.0*/ HB_SCRIPT_CANADIAN_SYLLABICS» » = HB_TAG ('C','a','n','s'), |
| 204 HB_SCRIPT_OLD_ITALIC» » » = HB_TAG ('I','t','a','l'), | 188 /*3.0*/ HB_SCRIPT_CHEROKEE» » » = HB_TAG ('C','h','e','r'), |
| 189 /*3.0*/ HB_SCRIPT_ETHIOPIC» » » = HB_TAG ('E','t','h','i'), |
| 190 /*3.0*/ HB_SCRIPT_KHMER» » » = HB_TAG ('K','h','m','r'), |
| 191 /*3.0*/ HB_SCRIPT_MONGOLIAN» » » = HB_TAG ('M','o','n','g'), |
| 192 /*3.0*/ HB_SCRIPT_MYANMAR» » » = HB_TAG ('M','y','m','r'), |
| 193 /*3.0*/ HB_SCRIPT_OGHAM» » » = HB_TAG ('O','g','a','m'), |
| 194 /*3.0*/ HB_SCRIPT_RUNIC» » » = HB_TAG ('R','u','n','r'), |
| 195 /*3.0*/ HB_SCRIPT_SINHALA» » » = HB_TAG ('S','i','n','h'), |
| 196 /*3.0*/ HB_SCRIPT_SYRIAC» » » = HB_TAG ('S','y','r','c'), |
| 197 /*3.0*/ HB_SCRIPT_THAANA» » » = HB_TAG ('T','h','a','a'), |
| 198 /*3.0*/ HB_SCRIPT_YI» » » » = HB_TAG ('Y','i','i','i'), |
| 205 | 199 |
| 206 /* Unicode-3.2 additions */ | 200 /*3.1*/ HB_SCRIPT_DESERET» » » = HB_TAG ('D','s','r','t'), |
| 207 HB_SCRIPT_BUHID» » » = HB_TAG ('B','u','h','d'), | 201 /*3.1*/ HB_SCRIPT_GOTHIC» » » = HB_TAG ('G','o','t','h'), |
| 208 HB_SCRIPT_HANUNOO» » » = HB_TAG ('H','a','n','o'), | 202 /*3.1*/ HB_SCRIPT_OLD_ITALIC» » » = HB_TAG ('I','t','a','l'), |
| 209 HB_SCRIPT_TAGALOG» » » = HB_TAG ('T','g','l','g'), | |
| 210 HB_SCRIPT_TAGBANWA» » » = HB_TAG ('T','a','g','b'), | |
| 211 | 203 |
| 212 /* Unicode-4.0 additions */ | 204 /*3.2*/ HB_SCRIPT_BUHID» » » = HB_TAG ('B','u','h','d'), |
| 213 HB_SCRIPT_BRAILLE» » » = HB_TAG ('B','r','a','i'), | 205 /*3.2*/ HB_SCRIPT_HANUNOO» » » = HB_TAG ('H','a','n','o'), |
| 214 HB_SCRIPT_CYPRIOT» » » = HB_TAG ('C','p','r','t'), | 206 /*3.2*/ HB_SCRIPT_TAGALOG» » » = HB_TAG ('T','g','l','g'), |
| 215 HB_SCRIPT_LIMBU» » » = HB_TAG ('L','i','m','b'), | 207 /*3.2*/ HB_SCRIPT_TAGBANWA» » » = HB_TAG ('T','a','g','b'), |
| 216 HB_SCRIPT_LINEAR_B» » » = HB_TAG ('L','i','n','b'), | |
| 217 HB_SCRIPT_OSMANYA» » » = HB_TAG ('O','s','m','a'), | |
| 218 HB_SCRIPT_SHAVIAN» » » = HB_TAG ('S','h','a','w'), | |
| 219 HB_SCRIPT_TAI_LE» » » = HB_TAG ('T','a','l','e'), | |
| 220 HB_SCRIPT_UGARITIC» » » = HB_TAG ('U','g','a','r'), | |
| 221 | 208 |
| 222 /* Unicode-4.1 additions */ | 209 /*4.0*/ HB_SCRIPT_CYPRIOT» » » = HB_TAG ('C','p','r','t'), |
| 223 HB_SCRIPT_BUGINESE» » » = HB_TAG ('B','u','g','i'), | 210 /*4.0*/ HB_SCRIPT_LIMBU» » » = HB_TAG ('L','i','m','b'), |
| 224 HB_SCRIPT_GLAGOLITIC» » » = HB_TAG ('G','l','a','g'), | 211 /*4.0*/ HB_SCRIPT_LINEAR_B» » » = HB_TAG ('L','i','n','b'), |
| 225 HB_SCRIPT_KHAROSHTHI» » » = HB_TAG ('K','h','a','r'), | 212 /*4.0*/ HB_SCRIPT_OSMANYA» » » = HB_TAG ('O','s','m','a'), |
| 226 HB_SCRIPT_NEW_TAI_LUE»» » = HB_TAG ('T','a','l','u'), | 213 /*4.0*/ HB_SCRIPT_SHAVIAN» » » = HB_TAG ('S','h','a','w'), |
| 227 HB_SCRIPT_OLD_PERSIAN»» » = HB_TAG ('X','p','e','o'), | 214 /*4.0*/ HB_SCRIPT_TAI_LE» » » = HB_TAG ('T','a','l','e'), |
| 228 HB_SCRIPT_SYLOTI_NAGRI» » = HB_TAG ('S','y','l','o'), | 215 /*4.0*/ HB_SCRIPT_UGARITIC» » » = HB_TAG ('U','g','a','r'), |
| 229 HB_SCRIPT_TIFINAGH» » » = HB_TAG ('T','f','n','g'), | |
| 230 | 216 |
| 231 /* Unicode-5.0 additions */ | 217 /*4.1*/ HB_SCRIPT_BUGINESE» » » = HB_TAG ('B','u','g','i'), |
| 232 HB_SCRIPT_BALINESE» » » = HB_TAG ('B','a','l','i'), | 218 /*4.1*/ HB_SCRIPT_COPTIC» » » = HB_TAG ('C','o','p','t'), |
| 233 HB_SCRIPT_CUNEIFORM» » » = HB_TAG ('X','s','u','x'), | 219 /*4.1*/ HB_SCRIPT_GLAGOLITIC» » » = HB_TAG ('G','l','a','g'), |
| 234 HB_SCRIPT_NKO»» » » = HB_TAG ('N','k','o','o'), | 220 /*4.1*/ HB_SCRIPT_KHAROSHTHI» » » = HB_TAG ('K','h','a','r'), |
| 235 HB_SCRIPT_PHAGS_PA» » » = HB_TAG ('P','h','a','g'), | 221 /*4.1*/ HB_SCRIPT_NEW_TAI_LUE»» » = HB_TAG ('T','a','l','u'), |
| 236 HB_SCRIPT_PHOENICIAN» » » = HB_TAG ('P','h','n','x'), | 222 /*4.1*/ HB_SCRIPT_OLD_PERSIAN»» » = HB_TAG ('X','p','e','o'), |
| 237 HB_SCRIPT_UNKNOWN» » » = HB_TAG ('Z','z','z','z'), | 223 /*4.1*/ HB_SCRIPT_SYLOTI_NAGRI» » = HB_TAG ('S','y','l','o'), |
| 224 /*4.1*/ HB_SCRIPT_TIFINAGH» » » = HB_TAG ('T','f','n','g'), |
| 238 | 225 |
| 239 /* Unicode-5.1 additions */ | 226 /*5.0*/ HB_SCRIPT_BALINESE» » » = HB_TAG ('B','a','l','i'), |
| 240 HB_SCRIPT_CARIAN» » » = HB_TAG ('C','a','r','i'), | 227 /*5.0*/ HB_SCRIPT_CUNEIFORM» » » = HB_TAG ('X','s','u','x'), |
| 241 HB_SCRIPT_CHAM» » » = HB_TAG ('C','h','a','m'), | 228 /*5.0*/ HB_SCRIPT_NKO»» » » = HB_TAG ('N','k','o','o'), |
| 242 HB_SCRIPT_KAYAH_LI» » » = HB_TAG ('K','a','l','i'), | 229 /*5.0*/ HB_SCRIPT_PHAGS_PA» » » = HB_TAG ('P','h','a','g'), |
| 243 HB_SCRIPT_LEPCHA» » » = HB_TAG ('L','e','p','c'), | 230 /*5.0*/ HB_SCRIPT_PHOENICIAN» » » = HB_TAG ('P','h','n','x'), |
| 244 HB_SCRIPT_LYCIAN» » » = HB_TAG ('L','y','c','i'), | |
| 245 HB_SCRIPT_LYDIAN» » » = HB_TAG ('L','y','d','i'), | |
| 246 HB_SCRIPT_OL_CHIKI» » » = HB_TAG ('O','l','c','k'), | |
| 247 HB_SCRIPT_REJANG» » » = HB_TAG ('R','j','n','g'), | |
| 248 HB_SCRIPT_SAURASHTRA» » » = HB_TAG ('S','a','u','r'), | |
| 249 HB_SCRIPT_SUNDANESE» » » = HB_TAG ('S','u','n','d'), | |
| 250 HB_SCRIPT_VAI»» » » = HB_TAG ('V','a','i','i'), | |
| 251 | 231 |
| 252 /* Unicode-5.2 additions */ | 232 /*5.1*/ HB_SCRIPT_CARIAN» » » = HB_TAG ('C','a','r','i'), |
| 253 HB_SCRIPT_AVESTAN» » » = HB_TAG ('A','v','s','t'), | 233 /*5.1*/ HB_SCRIPT_CHAM» » » = HB_TAG ('C','h','a','m'), |
| 254 HB_SCRIPT_BAMUM» » » = HB_TAG ('B','a','m','u'), | 234 /*5.1*/ HB_SCRIPT_KAYAH_LI» » » = HB_TAG ('K','a','l','i'), |
| 255 HB_SCRIPT_EGYPTIAN_HIEROGLYPHS» = HB_TAG ('E','g','y','p'), | 235 /*5.1*/ HB_SCRIPT_LEPCHA» » » = HB_TAG ('L','e','p','c'), |
| 256 HB_SCRIPT_IMPERIAL_ARAMAIC» » = HB_TAG ('A','r','m','i'), | 236 /*5.1*/ HB_SCRIPT_LYCIAN» » » = HB_TAG ('L','y','c','i'), |
| 257 HB_SCRIPT_INSCRIPTIONAL_PAHLAVI» = HB_TAG ('P','h','l','i'), | 237 /*5.1*/ HB_SCRIPT_LYDIAN» » » = HB_TAG ('L','y','d','i'), |
| 258 HB_SCRIPT_INSCRIPTIONAL_PARTHIAN» = HB_TAG ('P','r','t','i'), | 238 /*5.1*/ HB_SCRIPT_OL_CHIKI» » » = HB_TAG ('O','l','c','k'), |
| 259 HB_SCRIPT_JAVANESE» » » = HB_TAG ('J','a','v','a'), | 239 /*5.1*/ HB_SCRIPT_REJANG» » » = HB_TAG ('R','j','n','g'), |
| 260 HB_SCRIPT_KAITHI» » » = HB_TAG ('K','t','h','i'), | 240 /*5.1*/ HB_SCRIPT_SAURASHTRA» » » = HB_TAG ('S','a','u','r'), |
| 261 HB_SCRIPT_LISU» » » = HB_TAG ('L','i','s','u'), | 241 /*5.1*/ HB_SCRIPT_SUNDANESE» » » = HB_TAG ('S','u','n','d'), |
| 262 HB_SCRIPT_MEETEI_MAYEK» » = HB_TAG ('M','t','e','i'), | 242 /*5.1*/ HB_SCRIPT_VAI»» » » = HB_TAG ('V','a','i','i'), |
| 263 HB_SCRIPT_OLD_SOUTH_ARABIAN» » = HB_TAG ('S','a','r','b'), | |
| 264 HB_SCRIPT_OLD_TURKIC» » » = HB_TAG ('O','r','k','h'), | |
| 265 HB_SCRIPT_SAMARITAN» » » = HB_TAG ('S','a','m','r'), | |
| 266 HB_SCRIPT_TAI_THAM» » » = HB_TAG ('L','a','n','a'), | |
| 267 HB_SCRIPT_TAI_VIET» » » = HB_TAG ('T','a','v','t'), | |
| 268 | 243 |
| 269 /* Unicode-6.0 additions */ | 244 /*5.2*/ HB_SCRIPT_AVESTAN» » » = HB_TAG ('A','v','s','t'), |
| 270 HB_SCRIPT_BATAK» » » = HB_TAG ('B','a','t','k'), | 245 /*5.2*/ HB_SCRIPT_BAMUM» » » = HB_TAG ('B','a','m','u'), |
| 271 HB_SCRIPT_BRAHMI» » » = HB_TAG ('B','r','a','h'), | 246 /*5.2*/ HB_SCRIPT_EGYPTIAN_HIEROGLYPHS» = HB_TAG ('E','g','y','p'), |
| 272 HB_SCRIPT_MANDAIC» » » = HB_TAG ('M','a','n','d'), | 247 /*5.2*/ HB_SCRIPT_IMPERIAL_ARAMAIC» » = HB_TAG ('A','r','m','i'), |
| 248 /*5.2*/ HB_SCRIPT_INSCRIPTIONAL_PAHLAVI» = HB_TAG ('P','h','l','i'), |
| 249 /*5.2*/ HB_SCRIPT_INSCRIPTIONAL_PARTHIAN» = HB_TAG ('P','r','t','i'), |
| 250 /*5.2*/ HB_SCRIPT_JAVANESE» » » = HB_TAG ('J','a','v','a'), |
| 251 /*5.2*/ HB_SCRIPT_KAITHI» » » = HB_TAG ('K','t','h','i'), |
| 252 /*5.2*/ HB_SCRIPT_LISU» » » = HB_TAG ('L','i','s','u'), |
| 253 /*5.2*/ HB_SCRIPT_MEETEI_MAYEK» » = HB_TAG ('M','t','e','i'), |
| 254 /*5.2*/ HB_SCRIPT_OLD_SOUTH_ARABIAN» » = HB_TAG ('S','a','r','b'), |
| 255 /*5.2*/ HB_SCRIPT_OLD_TURKIC» » » = HB_TAG ('O','r','k','h'), |
| 256 /*5.2*/ HB_SCRIPT_SAMARITAN» » » = HB_TAG ('S','a','m','r'), |
| 257 /*5.2*/ HB_SCRIPT_TAI_THAM» » » = HB_TAG ('L','a','n','a'), |
| 258 /*5.2*/ HB_SCRIPT_TAI_VIET» » » = HB_TAG ('T','a','v','t'), |
| 273 | 259 |
| 274 /* Unicode-6.1 additions */ | 260 /*6.0*/ HB_SCRIPT_BATAK» » » = HB_TAG ('B','a','t','k'), |
| 275 HB_SCRIPT_CHAKMA» » » = HB_TAG ('C','a','k','m'), | 261 /*6.0*/ HB_SCRIPT_BRAHMI» » » = HB_TAG ('B','r','a','h'), |
| 276 HB_SCRIPT_MEROITIC_CURSIVE» » = HB_TAG ('M','e','r','c'), | 262 /*6.0*/ HB_SCRIPT_MANDAIC» » » = HB_TAG ('M','a','n','d'), |
| 277 HB_SCRIPT_MEROITIC_HIEROGLYPHS» = HB_TAG ('M','e','r','o'), | |
| 278 HB_SCRIPT_MIAO» » » = HB_TAG ('P','l','r','d'), | |
| 279 HB_SCRIPT_SHARADA» » » = HB_TAG ('S','h','r','d'), | |
| 280 HB_SCRIPT_SORA_SOMPENG» » = HB_TAG ('S','o','r','a'), | |
| 281 HB_SCRIPT_TAKRI» » » = HB_TAG ('T','a','k','r'), | |
| 282 | 263 |
| 283 /* No script set */ | 264 /*6.1*/ HB_SCRIPT_CHAKMA» » » = HB_TAG ('C','a','k','m'), |
| 284 HB_SCRIPT_INVALID» » » = HB_TAG_NONE | 265 /*6.1*/ HB_SCRIPT_MEROITIC_CURSIVE» » = HB_TAG ('M','e','r','c'), |
| 266 /*6.1*/ HB_SCRIPT_MEROITIC_HIEROGLYPHS» = HB_TAG ('M','e','r','o'), |
| 267 /*6.1*/ HB_SCRIPT_MIAO» » » = HB_TAG ('P','l','r','d'), |
| 268 /*6.1*/ HB_SCRIPT_SHARADA» » » = HB_TAG ('S','h','r','d'), |
| 269 /*6.1*/ HB_SCRIPT_SORA_SOMPENG» » = HB_TAG ('S','o','r','a'), |
| 270 /*6.1*/ HB_SCRIPT_TAKRI» » » = HB_TAG ('T','a','k','r'), |
| 271 |
| 272 /* No script set. */ |
| 273 /*---*/ HB_SCRIPT_INVALID» » » = HB_TAG_NONE |
| 285 } hb_script_t; | 274 } hb_script_t; |
| 286 | 275 |
| 276 /* These are moved out of hb_script_t because glib-mkenums chokes otherwise. */ |
| 277 #if 0 |
| 278 /*7.0*/ HB_SCRIPT_BASSA_VAH = HB_TAG ('B','a','s','s'), |
| 279 /*7.0*/ HB_SCRIPT_CAUCASIAN_ALBANIAN = HB_TAG ('A','g','h','b'), |
| 280 /*7.0*/ HB_SCRIPT_DUPLOYAN = HB_TAG ('D','u','p','l'), |
| 281 /*7.0*/ HB_SCRIPT_ELBASAN = HB_TAG ('E','l','b','a'), |
| 282 /*7.0*/ HB_SCRIPT_GRANTHA = HB_TAG ('G','r','a','n'), |
| 283 /*7.0*/ HB_SCRIPT_KHOJKI = HB_TAG ('K','h','o','j'), |
| 284 /*7.0*/ HB_SCRIPT_KHUDAWADI = HB_TAG ('S','i','n','d'), |
| 285 /*7.0*/ HB_SCRIPT_LINEAR_A = HB_TAG ('L','i','n','a'), |
| 286 /*7.0*/ HB_SCRIPT_MAHAJANI = HB_TAG ('M','a','h','j'), |
| 287 /*7.0*/ HB_SCRIPT_MANICHAEAN = HB_TAG ('M','a','n','i'), |
| 288 /*7.0*/ HB_SCRIPT_MENDE_KIKAKUI = HB_TAG ('M','e','n','d'), |
| 289 /*7.0*/ HB_SCRIPT_MODI = ??? |
| 290 /*7.0*/ HB_SCRIPT_MRO = HB_TAG ('M','r','o','o'), |
| 291 /*7.0*/ HB_SCRIPT_NABATAEAN = HB_TAG ('N','b','a','t'), |
| 292 /*7.0*/ HB_SCRIPT_OLD_NORTH_ARABIAN = HB_TAG ('N','a','r','b'), |
| 293 /*7.0*/ HB_SCRIPT_OLD_PERMIC = HB_TAG ('P','e','r','m'), |
| 294 /*7.0*/ HB_SCRIPT_PAHAWH_HMONG = HB_TAG ('H','m','n','g'), |
| 295 /*7.0*/ HB_SCRIPT_PALMYRENE = HB_TAG ('P','a','l','m'), |
| 296 /*7.0*/ HB_SCRIPT_PAU_CIN_HAU = ??? |
| 297 /*7.0*/ HB_SCRIPT_PSALTER_PAHLAVI = HB_TAG ('P','h','l','p'), |
| 298 /*7.0*/ HB_SCRIPT_SIDDHAM = ??? |
| 299 /*7.0*/ HB_SCRIPT_TIRHUTA = HB_TAG ('T','i','r','h'), |
| 300 /*7.0*/ HB_SCRIPT_WARANG_CITI = HB_TAG ('W','a','r','a'), |
| 301 #endif |
| 302 |
| 287 | 303 |
| 288 /* Script functions */ | 304 /* Script functions */ |
| 289 | 305 |
| 290 hb_script_t | 306 hb_script_t |
| 291 hb_script_from_iso15924_tag (hb_tag_t tag); | 307 hb_script_from_iso15924_tag (hb_tag_t tag); |
| 292 | 308 |
| 293 /* suger for tag_from_string() then script_from_iso15924_tag */ | 309 /* suger for tag_from_string() then script_from_iso15924_tag */ |
| 294 /* len=-1 means s is NUL-terminated */ | 310 /* len=-1 means s is NUL-terminated */ |
| 295 hb_script_t | 311 hb_script_t |
| 296 hb_script_from_string (const char *s, int len); | 312 hb_script_from_string (const char *s, int len); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 308 /*< private >*/ | 324 /*< private >*/ |
| 309 char unused; | 325 char unused; |
| 310 } hb_user_data_key_t; | 326 } hb_user_data_key_t; |
| 311 | 327 |
| 312 typedef void (*hb_destroy_func_t) (void *user_data); | 328 typedef void (*hb_destroy_func_t) (void *user_data); |
| 313 | 329 |
| 314 | 330 |
| 315 HB_END_DECLS | 331 HB_END_DECLS |
| 316 | 332 |
| 317 #endif /* HB_COMMON_H */ | 333 #endif /* HB_COMMON_H */ |
| OLD | NEW |