|
|
|||
File indexing completed on 2025-12-16 10:23:54
0001 /* Pango 0002 * pango-script.h: Script tag handling 0003 * 0004 * Copyright (C) 2002 Red Hat Software 0005 * 0006 * This library is free software; you can redistribute it and/or 0007 * modify it under the terms of the GNU Library General Public 0008 * License as published by the Free Software Foundation; either 0009 * version 2 of the License, or (at your option) any later version. 0010 * 0011 * This library is distributed in the hope that it will be useful, 0012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0014 * Library General Public License for more details. 0015 * 0016 * You should have received a copy of the GNU Library General Public 0017 * License along with this library; if not, write to the 0018 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 0019 * Boston, MA 02111-1307, USA. 0020 */ 0021 0022 #ifndef __PANGO_SCRIPT_H__ 0023 #define __PANGO_SCRIPT_H__ 0024 0025 #include <glib-object.h> 0026 0027 G_BEGIN_DECLS 0028 0029 /** 0030 * PangoScriptIter: 0031 * 0032 * A `PangoScriptIter` is used to iterate through a string 0033 * and identify ranges in different scripts. 0034 **/ 0035 typedef struct _PangoScriptIter PangoScriptIter; 0036 0037 /** 0038 * PangoScript: 0039 * @PANGO_SCRIPT_INVALID_CODE: a value never returned from pango_script_for_unichar() 0040 * @PANGO_SCRIPT_COMMON: a character used by multiple different scripts 0041 * @PANGO_SCRIPT_INHERITED: a mark glyph that takes its script from the 0042 * base glyph to which it is attached 0043 * @PANGO_SCRIPT_ARABIC: Arabic 0044 * @PANGO_SCRIPT_ARMENIAN: Armenian 0045 * @PANGO_SCRIPT_BENGALI: Bengali 0046 * @PANGO_SCRIPT_BOPOMOFO: Bopomofo 0047 * @PANGO_SCRIPT_CHEROKEE: Cherokee 0048 * @PANGO_SCRIPT_COPTIC: Coptic 0049 * @PANGO_SCRIPT_CYRILLIC: Cyrillic 0050 * @PANGO_SCRIPT_DESERET: Deseret 0051 * @PANGO_SCRIPT_DEVANAGARI: Devanagari 0052 * @PANGO_SCRIPT_ETHIOPIC: Ethiopic 0053 * @PANGO_SCRIPT_GEORGIAN: Georgian 0054 * @PANGO_SCRIPT_GOTHIC: Gothic 0055 * @PANGO_SCRIPT_GREEK: Greek 0056 * @PANGO_SCRIPT_GUJARATI: Gujarati 0057 * @PANGO_SCRIPT_GURMUKHI: Gurmukhi 0058 * @PANGO_SCRIPT_HAN: Han 0059 * @PANGO_SCRIPT_HANGUL: Hangul 0060 * @PANGO_SCRIPT_HEBREW: Hebrew 0061 * @PANGO_SCRIPT_HIRAGANA: Hiragana 0062 * @PANGO_SCRIPT_KANNADA: Kannada 0063 * @PANGO_SCRIPT_KATAKANA: Katakana 0064 * @PANGO_SCRIPT_KHMER: Khmer 0065 * @PANGO_SCRIPT_LAO: Lao 0066 * @PANGO_SCRIPT_LATIN: Latin 0067 * @PANGO_SCRIPT_MALAYALAM: Malayalam 0068 * @PANGO_SCRIPT_MONGOLIAN: Mongolian 0069 * @PANGO_SCRIPT_MYANMAR: Myanmar 0070 * @PANGO_SCRIPT_OGHAM: Ogham 0071 * @PANGO_SCRIPT_OLD_ITALIC: Old Italic 0072 * @PANGO_SCRIPT_ORIYA: Oriya 0073 * @PANGO_SCRIPT_RUNIC: Runic 0074 * @PANGO_SCRIPT_SINHALA: Sinhala 0075 * @PANGO_SCRIPT_SYRIAC: Syriac 0076 * @PANGO_SCRIPT_TAMIL: Tamil 0077 * @PANGO_SCRIPT_TELUGU: Telugu 0078 * @PANGO_SCRIPT_THAANA: Thaana 0079 * @PANGO_SCRIPT_THAI: Thai 0080 * @PANGO_SCRIPT_TIBETAN: Tibetan 0081 * @PANGO_SCRIPT_CANADIAN_ABORIGINAL: Canadian Aboriginal 0082 * @PANGO_SCRIPT_YI: Yi 0083 * @PANGO_SCRIPT_TAGALOG: Tagalog 0084 * @PANGO_SCRIPT_HANUNOO: Hanunoo 0085 * @PANGO_SCRIPT_BUHID: Buhid 0086 * @PANGO_SCRIPT_TAGBANWA: Tagbanwa 0087 * @PANGO_SCRIPT_BRAILLE: Braille 0088 * @PANGO_SCRIPT_CYPRIOT: Cypriot 0089 * @PANGO_SCRIPT_LIMBU: Limbu 0090 * @PANGO_SCRIPT_OSMANYA: Osmanya 0091 * @PANGO_SCRIPT_SHAVIAN: Shavian 0092 * @PANGO_SCRIPT_LINEAR_B: Linear B 0093 * @PANGO_SCRIPT_TAI_LE: Tai Le 0094 * @PANGO_SCRIPT_UGARITIC: Ugaritic 0095 * @PANGO_SCRIPT_NEW_TAI_LUE: New Tai Lue. Since 1.10 0096 * @PANGO_SCRIPT_BUGINESE: Buginese. Since 1.10 0097 * @PANGO_SCRIPT_GLAGOLITIC: Glagolitic. Since 1.10 0098 * @PANGO_SCRIPT_TIFINAGH: Tifinagh. Since 1.10 0099 * @PANGO_SCRIPT_SYLOTI_NAGRI: Syloti Nagri. Since 1.10 0100 * @PANGO_SCRIPT_OLD_PERSIAN: Old Persian. Since 1.10 0101 * @PANGO_SCRIPT_KHAROSHTHI: Kharoshthi. Since 1.10 0102 * @PANGO_SCRIPT_UNKNOWN: an unassigned code point. Since 1.14 0103 * @PANGO_SCRIPT_BALINESE: Balinese. Since 1.14 0104 * @PANGO_SCRIPT_CUNEIFORM: Cuneiform. Since 1.14 0105 * @PANGO_SCRIPT_PHOENICIAN: Phoenician. Since 1.14 0106 * @PANGO_SCRIPT_PHAGS_PA: Phags-pa. Since 1.14 0107 * @PANGO_SCRIPT_NKO: N'Ko. Since 1.14 0108 * @PANGO_SCRIPT_KAYAH_LI: Kayah Li. Since 1.20.1 0109 * @PANGO_SCRIPT_LEPCHA: Lepcha. Since 1.20.1 0110 * @PANGO_SCRIPT_REJANG: Rejang. Since 1.20.1 0111 * @PANGO_SCRIPT_SUNDANESE: Sundanese. Since 1.20.1 0112 * @PANGO_SCRIPT_SAURASHTRA: Saurashtra. Since 1.20.1 0113 * @PANGO_SCRIPT_CHAM: Cham. Since 1.20.1 0114 * @PANGO_SCRIPT_OL_CHIKI: Ol Chiki. Since 1.20.1 0115 * @PANGO_SCRIPT_VAI: Vai. Since 1.20.1 0116 * @PANGO_SCRIPT_CARIAN: Carian. Since 1.20.1 0117 * @PANGO_SCRIPT_LYCIAN: Lycian. Since 1.20.1 0118 * @PANGO_SCRIPT_LYDIAN: Lydian. Since 1.20.1 0119 * @PANGO_SCRIPT_BATAK: Batak. Since 1.32 0120 * @PANGO_SCRIPT_BRAHMI: Brahmi. Since 1.32 0121 * @PANGO_SCRIPT_MANDAIC: Mandaic. Since 1.32 0122 * @PANGO_SCRIPT_CHAKMA: Chakma. Since: 1.32 0123 * @PANGO_SCRIPT_MEROITIC_CURSIVE: Meroitic Cursive. Since: 1.32 0124 * @PANGO_SCRIPT_MEROITIC_HIEROGLYPHS: Meroitic Hieroglyphs. Since: 1.32 0125 * @PANGO_SCRIPT_MIAO: Miao. Since: 1.32 0126 * @PANGO_SCRIPT_SHARADA: Sharada. Since: 1.32 0127 * @PANGO_SCRIPT_SORA_SOMPENG: Sora Sompeng. Since: 1.32 0128 * @PANGO_SCRIPT_TAKRI: Takri. Since: 1.32 0129 * @PANGO_SCRIPT_BASSA_VAH: Bassa. Since: 1.40 0130 * @PANGO_SCRIPT_CAUCASIAN_ALBANIAN: Caucasian Albanian. Since: 1.40 0131 * @PANGO_SCRIPT_DUPLOYAN: Duployan. Since: 1.40 0132 * @PANGO_SCRIPT_ELBASAN: Elbasan. Since: 1.40 0133 * @PANGO_SCRIPT_GRANTHA: Grantha. Since: 1.40 0134 * @PANGO_SCRIPT_KHOJKI: Kjohki. Since: 1.40 0135 * @PANGO_SCRIPT_KHUDAWADI: Khudawadi, Sindhi. Since: 1.40 0136 * @PANGO_SCRIPT_LINEAR_A: Linear A. Since: 1.40 0137 * @PANGO_SCRIPT_MAHAJANI: Mahajani. Since: 1.40 0138 * @PANGO_SCRIPT_MANICHAEAN: Manichaean. Since: 1.40 0139 * @PANGO_SCRIPT_MENDE_KIKAKUI: Mende Kikakui. Since: 1.40 0140 * @PANGO_SCRIPT_MODI: Modi. Since: 1.40 0141 * @PANGO_SCRIPT_MRO: Mro. Since: 1.40 0142 * @PANGO_SCRIPT_NABATAEAN: Nabataean. Since: 1.40 0143 * @PANGO_SCRIPT_OLD_NORTH_ARABIAN: Old North Arabian. Since: 1.40 0144 * @PANGO_SCRIPT_OLD_PERMIC: Old Permic. Since: 1.40 0145 * @PANGO_SCRIPT_PAHAWH_HMONG: Pahawh Hmong. Since: 1.40 0146 * @PANGO_SCRIPT_PALMYRENE: Palmyrene. Since: 1.40 0147 * @PANGO_SCRIPT_PAU_CIN_HAU: Pau Cin Hau. Since: 1.40 0148 * @PANGO_SCRIPT_PSALTER_PAHLAVI: Psalter Pahlavi. Since: 1.40 0149 * @PANGO_SCRIPT_SIDDHAM: Siddham. Since: 1.40 0150 * @PANGO_SCRIPT_TIRHUTA: Tirhuta. Since: 1.40 0151 * @PANGO_SCRIPT_WARANG_CITI: Warang Citi. Since: 1.40 0152 * @PANGO_SCRIPT_AHOM: Ahom. Since: 1.40 0153 * @PANGO_SCRIPT_ANATOLIAN_HIEROGLYPHS: Anatolian Hieroglyphs. Since: 1.40 0154 * @PANGO_SCRIPT_HATRAN: Hatran. Since: 1.40 0155 * @PANGO_SCRIPT_MULTANI: Multani. Since: 1.40 0156 * @PANGO_SCRIPT_OLD_HUNGARIAN: Old Hungarian. Since: 1.40 0157 * @PANGO_SCRIPT_SIGNWRITING: Signwriting. Since: 1.40 0158 * 0159 * The `PangoScript` enumeration identifies different writing 0160 * systems. 0161 * 0162 * The values correspond to the names as defined in the Unicode standard. See 0163 * [Unicode Standard Annex 24: Script names](http://www.unicode.org/reports/tr24/) 0164 * 0165 * Note that this enumeration is deprecated and will not be updated to include values 0166 * in newer versions of the Unicode standard. Applications should use the 0167 * [enum@GLib.UnicodeScript] enumeration instead, 0168 * whose values are interchangeable with `PangoScript`. 0169 */ 0170 typedef enum { /* ISO 15924 code */ 0171 PANGO_SCRIPT_INVALID_CODE = -1, 0172 PANGO_SCRIPT_COMMON = 0, /* Zyyy */ 0173 PANGO_SCRIPT_INHERITED, /* Qaai */ 0174 PANGO_SCRIPT_ARABIC, /* Arab */ 0175 PANGO_SCRIPT_ARMENIAN, /* Armn */ 0176 PANGO_SCRIPT_BENGALI, /* Beng */ 0177 PANGO_SCRIPT_BOPOMOFO, /* Bopo */ 0178 PANGO_SCRIPT_CHEROKEE, /* Cher */ 0179 PANGO_SCRIPT_COPTIC, /* Qaac */ 0180 PANGO_SCRIPT_CYRILLIC, /* Cyrl (Cyrs) */ 0181 PANGO_SCRIPT_DESERET, /* Dsrt */ 0182 PANGO_SCRIPT_DEVANAGARI, /* Deva */ 0183 PANGO_SCRIPT_ETHIOPIC, /* Ethi */ 0184 PANGO_SCRIPT_GEORGIAN, /* Geor (Geon, Geoa) */ 0185 PANGO_SCRIPT_GOTHIC, /* Goth */ 0186 PANGO_SCRIPT_GREEK, /* Grek */ 0187 PANGO_SCRIPT_GUJARATI, /* Gujr */ 0188 PANGO_SCRIPT_GURMUKHI, /* Guru */ 0189 PANGO_SCRIPT_HAN, /* Hani */ 0190 PANGO_SCRIPT_HANGUL, /* Hang */ 0191 PANGO_SCRIPT_HEBREW, /* Hebr */ 0192 PANGO_SCRIPT_HIRAGANA, /* Hira */ 0193 PANGO_SCRIPT_KANNADA, /* Knda */ 0194 PANGO_SCRIPT_KATAKANA, /* Kana */ 0195 PANGO_SCRIPT_KHMER, /* Khmr */ 0196 PANGO_SCRIPT_LAO, /* Laoo */ 0197 PANGO_SCRIPT_LATIN, /* Latn (Latf, Latg) */ 0198 PANGO_SCRIPT_MALAYALAM, /* Mlym */ 0199 PANGO_SCRIPT_MONGOLIAN, /* Mong */ 0200 PANGO_SCRIPT_MYANMAR, /* Mymr */ 0201 PANGO_SCRIPT_OGHAM, /* Ogam */ 0202 PANGO_SCRIPT_OLD_ITALIC, /* Ital */ 0203 PANGO_SCRIPT_ORIYA, /* Orya */ 0204 PANGO_SCRIPT_RUNIC, /* Runr */ 0205 PANGO_SCRIPT_SINHALA, /* Sinh */ 0206 PANGO_SCRIPT_SYRIAC, /* Syrc (Syrj, Syrn, Syre) */ 0207 PANGO_SCRIPT_TAMIL, /* Taml */ 0208 PANGO_SCRIPT_TELUGU, /* Telu */ 0209 PANGO_SCRIPT_THAANA, /* Thaa */ 0210 PANGO_SCRIPT_THAI, /* Thai */ 0211 PANGO_SCRIPT_TIBETAN, /* Tibt */ 0212 PANGO_SCRIPT_CANADIAN_ABORIGINAL, /* Cans */ 0213 PANGO_SCRIPT_YI, /* Yiii */ 0214 PANGO_SCRIPT_TAGALOG, /* Tglg */ 0215 PANGO_SCRIPT_HANUNOO, /* Hano */ 0216 PANGO_SCRIPT_BUHID, /* Buhd */ 0217 PANGO_SCRIPT_TAGBANWA, /* Tagb */ 0218 0219 /* Unicode-4.0 additions */ 0220 PANGO_SCRIPT_BRAILLE, /* Brai */ 0221 PANGO_SCRIPT_CYPRIOT, /* Cprt */ 0222 PANGO_SCRIPT_LIMBU, /* Limb */ 0223 PANGO_SCRIPT_OSMANYA, /* Osma */ 0224 PANGO_SCRIPT_SHAVIAN, /* Shaw */ 0225 PANGO_SCRIPT_LINEAR_B, /* Linb */ 0226 PANGO_SCRIPT_TAI_LE, /* Tale */ 0227 PANGO_SCRIPT_UGARITIC, /* Ugar */ 0228 0229 /* Unicode-4.1 additions */ 0230 PANGO_SCRIPT_NEW_TAI_LUE, /* Talu */ 0231 PANGO_SCRIPT_BUGINESE, /* Bugi */ 0232 PANGO_SCRIPT_GLAGOLITIC, /* Glag */ 0233 PANGO_SCRIPT_TIFINAGH, /* Tfng */ 0234 PANGO_SCRIPT_SYLOTI_NAGRI, /* Sylo */ 0235 PANGO_SCRIPT_OLD_PERSIAN, /* Xpeo */ 0236 PANGO_SCRIPT_KHAROSHTHI, /* Khar */ 0237 0238 /* Unicode-5.0 additions */ 0239 PANGO_SCRIPT_UNKNOWN, /* Zzzz */ 0240 PANGO_SCRIPT_BALINESE, /* Bali */ 0241 PANGO_SCRIPT_CUNEIFORM, /* Xsux */ 0242 PANGO_SCRIPT_PHOENICIAN, /* Phnx */ 0243 PANGO_SCRIPT_PHAGS_PA, /* Phag */ 0244 PANGO_SCRIPT_NKO, /* Nkoo */ 0245 0246 /* Unicode-5.1 additions */ 0247 PANGO_SCRIPT_KAYAH_LI, /* Kali */ 0248 PANGO_SCRIPT_LEPCHA, /* Lepc */ 0249 PANGO_SCRIPT_REJANG, /* Rjng */ 0250 PANGO_SCRIPT_SUNDANESE, /* Sund */ 0251 PANGO_SCRIPT_SAURASHTRA, /* Saur */ 0252 PANGO_SCRIPT_CHAM, /* Cham */ 0253 PANGO_SCRIPT_OL_CHIKI, /* Olck */ 0254 PANGO_SCRIPT_VAI, /* Vaii */ 0255 PANGO_SCRIPT_CARIAN, /* Cari */ 0256 PANGO_SCRIPT_LYCIAN, /* Lyci */ 0257 PANGO_SCRIPT_LYDIAN, /* Lydi */ 0258 0259 /* Unicode-6.0 additions */ 0260 PANGO_SCRIPT_BATAK, /* Batk */ 0261 PANGO_SCRIPT_BRAHMI, /* Brah */ 0262 PANGO_SCRIPT_MANDAIC, /* Mand */ 0263 0264 /* Unicode-6.1 additions */ 0265 PANGO_SCRIPT_CHAKMA, /* Cakm */ 0266 PANGO_SCRIPT_MEROITIC_CURSIVE, /* Merc */ 0267 PANGO_SCRIPT_MEROITIC_HIEROGLYPHS,/* Mero */ 0268 PANGO_SCRIPT_MIAO, /* Plrd */ 0269 PANGO_SCRIPT_SHARADA, /* Shrd */ 0270 PANGO_SCRIPT_SORA_SOMPENG, /* Sora */ 0271 PANGO_SCRIPT_TAKRI, /* Takr */ 0272 0273 /* Unicode 7.0 additions */ 0274 PANGO_SCRIPT_BASSA_VAH, /* Bass */ 0275 PANGO_SCRIPT_CAUCASIAN_ALBANIAN, /* Aghb */ 0276 PANGO_SCRIPT_DUPLOYAN, /* Dupl */ 0277 PANGO_SCRIPT_ELBASAN, /* Elba */ 0278 PANGO_SCRIPT_GRANTHA, /* Gran */ 0279 PANGO_SCRIPT_KHOJKI, /* Khoj */ 0280 PANGO_SCRIPT_KHUDAWADI, /* Sind */ 0281 PANGO_SCRIPT_LINEAR_A, /* Lina */ 0282 PANGO_SCRIPT_MAHAJANI, /* Mahj */ 0283 PANGO_SCRIPT_MANICHAEAN, /* Manu */ 0284 PANGO_SCRIPT_MENDE_KIKAKUI, /* Mend */ 0285 PANGO_SCRIPT_MODI, /* Modi */ 0286 PANGO_SCRIPT_MRO, /* Mroo */ 0287 PANGO_SCRIPT_NABATAEAN, /* Nbat */ 0288 PANGO_SCRIPT_OLD_NORTH_ARABIAN, /* Narb */ 0289 PANGO_SCRIPT_OLD_PERMIC, /* Perm */ 0290 PANGO_SCRIPT_PAHAWH_HMONG, /* Hmng */ 0291 PANGO_SCRIPT_PALMYRENE, /* Palm */ 0292 PANGO_SCRIPT_PAU_CIN_HAU, /* Pauc */ 0293 PANGO_SCRIPT_PSALTER_PAHLAVI, /* Phlp */ 0294 PANGO_SCRIPT_SIDDHAM, /* Sidd */ 0295 PANGO_SCRIPT_TIRHUTA, /* Tirh */ 0296 PANGO_SCRIPT_WARANG_CITI, /* Wara */ 0297 0298 /* Unicode 8.0 additions */ 0299 PANGO_SCRIPT_AHOM, /* Ahom */ 0300 PANGO_SCRIPT_ANATOLIAN_HIEROGLYPHS, /* Hluw */ 0301 PANGO_SCRIPT_HATRAN, /* Hatr */ 0302 PANGO_SCRIPT_MULTANI, /* Mult */ 0303 PANGO_SCRIPT_OLD_HUNGARIAN, /* Hung */ 0304 PANGO_SCRIPT_SIGNWRITING /* Sgnw */ 0305 } PangoScript; 0306 0307 #include <pango/pango-version-macros.h> 0308 0309 PANGO_DEPRECATED_IN_1_44_FOR(g_unichar_get_script) 0310 PangoScript pango_script_for_unichar (gunichar ch) G_GNUC_CONST; 0311 0312 PANGO_AVAILABLE_IN_1_44 0313 GType pango_script_iter_get_type (void) G_GNUC_CONST; 0314 0315 PANGO_AVAILABLE_IN_1_4 0316 PangoScriptIter *pango_script_iter_new (const char *text, 0317 int length); 0318 PANGO_AVAILABLE_IN_1_4 0319 void pango_script_iter_get_range (PangoScriptIter *iter, 0320 const char **start, 0321 const char **end, 0322 PangoScript *script); 0323 PANGO_AVAILABLE_IN_1_4 0324 gboolean pango_script_iter_next (PangoScriptIter *iter); 0325 PANGO_AVAILABLE_IN_1_4 0326 void pango_script_iter_free (PangoScriptIter *iter); 0327 0328 #include <pango/pango-language.h> 0329 0330 PANGO_AVAILABLE_IN_1_4 0331 PangoLanguage *pango_script_get_sample_language (PangoScript script) G_GNUC_PURE; 0332 0333 G_END_DECLS 0334 0335 #endif /* __PANGO_SCRIPT_H__ */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|