118 lines
4.7 KiB
C
118 lines
4.7 KiB
C
/* -*- 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 <glib.h>
|
|
|
|
#include <pango/pango-types.h>
|
|
|
|
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 */
|
|
} 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__ */
|