/* -*- mode: C; c-file-style: "gnu" -*- */ /* Pango * pango-script.h: Script tag handling * * Copyright (C) 2002 Red Hat Software * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #ifndef __PANGO_SCRIPT_H__ #define __PANGO_SCRIPT_H__ #include #include G_BEGIN_DECLS /** * PangoScriptIter: * A #PangoScriptIter is used to iterate through a string * and identify ranges in different scripts. **/ typedef struct _PangoScriptIter PangoScriptIter; typedef enum { /* ISO 15924 code */ PANGO_SCRIPT_INVALID_CODE = -1, PANGO_SCRIPT_COMMON = 0, /* Zyyy */ PANGO_SCRIPT_INHERITED, /* Qaai */ PANGO_SCRIPT_ARABIC, /* Arab */ PANGO_SCRIPT_ARMENIAN, /* Armn */ PANGO_SCRIPT_BENGALI, /* Beng */ PANGO_SCRIPT_BOPOMOFO, /* Bopo */ PANGO_SCRIPT_CHEROKEE, /* Cher */ PANGO_SCRIPT_COPTIC, /* Qaac */ PANGO_SCRIPT_CYRILLIC, /* Cyrl (Cyrs) */ PANGO_SCRIPT_DESERET, /* Dsrt */ PANGO_SCRIPT_DEVANAGARI, /* Deva */ PANGO_SCRIPT_ETHIOPIC, /* Ethi */ PANGO_SCRIPT_GEORGIAN, /* Geor (Geon, Geoa) */ PANGO_SCRIPT_GOTHIC, /* Goth */ PANGO_SCRIPT_GREEK, /* Grek */ PANGO_SCRIPT_GUJARATI, /* Gujr */ PANGO_SCRIPT_GURMUKHI, /* Guru */ PANGO_SCRIPT_HAN, /* Hani */ PANGO_SCRIPT_HANGUL, /* Hang */ PANGO_SCRIPT_HEBREW, /* Hebr */ PANGO_SCRIPT_HIRAGANA, /* Hira */ PANGO_SCRIPT_KANNADA, /* Knda */ PANGO_SCRIPT_KATAKANA, /* Kana */ PANGO_SCRIPT_KHMER, /* Khmr */ PANGO_SCRIPT_LAO, /* Laoo */ PANGO_SCRIPT_LATIN, /* Latn (Latf, Latg) */ PANGO_SCRIPT_MALAYALAM, /* Mlym */ PANGO_SCRIPT_MONGOLIAN, /* Mong */ PANGO_SCRIPT_MYANMAR, /* Mymr */ PANGO_SCRIPT_OGHAM, /* Ogam */ PANGO_SCRIPT_OLD_ITALIC, /* Ital */ PANGO_SCRIPT_ORIYA, /* Orya */ PANGO_SCRIPT_RUNIC, /* Runr */ PANGO_SCRIPT_SINHALA, /* Sinh */ PANGO_SCRIPT_SYRIAC, /* Syrc (Syrj, Syrn, Syre) */ PANGO_SCRIPT_TAMIL, /* Taml */ PANGO_SCRIPT_TELUGU, /* Telu */ PANGO_SCRIPT_THAANA, /* Thaa */ PANGO_SCRIPT_THAI, /* Thai */ PANGO_SCRIPT_TIBETAN, /* Tibt */ PANGO_SCRIPT_CANADIAN_ABORIGINAL, /* Cans */ PANGO_SCRIPT_YI, /* Yiii */ PANGO_SCRIPT_TAGALOG, /* Tglg */ PANGO_SCRIPT_HANUNOO, /* Hano */ PANGO_SCRIPT_BUHID, /* Buhd */ PANGO_SCRIPT_TAGBANWA, /* Tagb */ /* Unicode-4.0 additions */ PANGO_SCRIPT_BRAILLE, /* Brai */ PANGO_SCRIPT_CYPRIOT, /* Cprt */ PANGO_SCRIPT_LIMBU, /* Limb */ PANGO_SCRIPT_OSMANYA, /* Osma */ PANGO_SCRIPT_SHAVIAN, /* Shaw */ PANGO_SCRIPT_LINEAR_B, /* Linb */ PANGO_SCRIPT_TAI_LE, /* Tale */ PANGO_SCRIPT_UGARITIC, /* Ugar */ /* Unicode-4.1 additions */ PANGO_SCRIPT_NEW_TAI_LUE, /* Talu */ PANGO_SCRIPT_BUGINESE, /* Bugi */ PANGO_SCRIPT_GLAGOLITIC, /* Glag */ PANGO_SCRIPT_TIFINAGH, /* Tfng */ PANGO_SCRIPT_SYLOTI_NAGRI, /* Sylo */ PANGO_SCRIPT_OLD_PERSIAN, /* Xpeo */ PANGO_SCRIPT_KHAROSHTHI /* Khar */ } PangoScript; PangoScript pango_script_for_unichar (gunichar ch); PangoScriptIter *pango_script_iter_new (const char *text, int length); void pango_script_iter_get_range (PangoScriptIter *iter, G_CONST_RETURN char **start, G_CONST_RETURN char **end, PangoScript *script); gboolean pango_script_iter_next (PangoScriptIter *iter); void pango_script_iter_free (PangoScriptIter *iter); PangoLanguage *pango_script_get_sample_language (PangoScript script); gboolean pango_language_includes_script (PangoLanguage *language, PangoScript script); G_END_DECLS #endif /* __PANGO_SCRIPT_H__ */