summaryrefslogtreecommitdiff
path: root/modules/basic/basic-fc.c
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2003-09-23 23:11:59 +0000
committerOwen Taylor <otaylor@src.gnome.org>2003-09-23 23:11:59 +0000
commit0f36f55ee0e7c9bf224fabbaf31843b3868f213c (patch)
treea8446856f4dce9b792f5e2ca1c3f9d25bbc40b76 /modules/basic/basic-fc.c
parent8fa8e29cd61c802c6b100b3cca800784e3a9de20 (diff)
downloadpango-0f36f55ee0e7c9bf224fabbaf31843b3868f213c.tar.gz
Modules now declare a list of scripts that they cover instead of a list of
Tue Sep 23 18:03:57 2003 Owen Taylor <otaylor@redhat.com> * pango/pango-engines.[ch] pango/pango-engines-private.h: Modules now declare a list of scripts that they cover instead of a list of code point ranges. Also, there is now a ->covers() virtual function that allows a module to decide live whether the font covers a particular codepoint; remove old get_coverage() method. * pango/pango-fontset.[ch]: Add a foreach() function to iterate over all the fonts in a fontset (with a true return stopping iteration). * pango/pango-context.c: Complete rewrite using script-run information to improve language tags. Switch to an approach where we handle one run at a time rather than computing information for each character individually then later breaking the result into runs. * pango/pango-fontset.[ch]: Switch over to using pango-impl-utils.h. * modules/basic/basic-x.c pango/pangox-fontmap.c: Adapt to the change from get_coverage => covers. * pango/pango-modules.h pango/modules.c: Switch PangoMap over to being based on script rather than being based on codepoint. Remove the no longer needed pango_map_get_entry(). * pango/modules.c: Handle new script-based modules. * pango/pango-fc-fontmap.c pango/pango-win32-fontmap.c pango/pang-fontmap.[ch]: Add a shape_engine_type field to PangoFontmapClass, pango_font_map_get_shape_engine_type(); this allows generic code to find a shaper for a particular fontmap. * pango/pango-script.[ch]: Add pango_script_get_sample_language(), pango_language_includes_script(); functions for determining the relationship between scripts and language. * tools/gen-script-for-lang.c: Modify to spit out a useful table. * pango/pango-script-lang-table.h: Version of table generated from current fontconfig data. * pango/pangox.c: Remove complicated code to compute coverages; no longer useful now that we just have the basic shaper as a legacy thing. * modules/*/*.c: Adapt to identifying shape engines by language range. * modules/thai/thai-fc.c modules/thai/thai-shaper.[ch]: Remove now unused "has_glyph" function and XTIS support. * modules/thai/thai-fc.c: Handle non-Thai characters as well, since the Thai module now gets spaces, punctuation, and so forth.
Diffstat (limited to 'modules/basic/basic-fc.c')
-rw-r--r--modules/basic/basic-fc.c60
1 files changed, 30 insertions, 30 deletions
diff --git a/modules/basic/basic-fc.c b/modules/basic/basic-fc.c
index 6de50e8c..6fb28ecf 100644
--- a/modules/basic/basic-fc.c
+++ b/modules/basic/basic-fc.c
@@ -36,35 +36,35 @@ typedef PangoEngineShapeClass BasicEngineFcClass;
#define SCRIPT_ENGINE_NAME "BasicScriptEngineFc"
#define RENDER_TYPE PANGO_RENDER_TYPE_FC
-static PangoEngineRange basic_ranges[] = {
- /* Basic Latin, Latin-1 Supplement, Latin Extended-A, Latin Extended-B,
- * IPA Extensions
- */
- { 0x0000, 0x02af, "*" },
- { 0x0380, 0x058f, "*" }, /* Greek, Cyrillic, Armenian */
- { 0x10a0, 0x10ff, "*" }, /* Georgian */
- { 0x1200, 0x16ff, "*" }, /* Ethiopic,Cherokee,Canadian,Ogham,Runic */
- { 0x1e00, 0x1fff, "*" }, /* Latin Extended Additional, Greek Extended */
-
- /* General Punctuation, Superscripts and Subscripts, Currency Symbols,
- * Combining Marks for Symbols, Letterlike Symbols, Number Forms,
- * Arrows, Mathematical Operators, Miscellaneous Technical,
- * Control Pictures, Optical Character Recognition, Enclosed Alphanumerics,
- * Box Drawing, Block Elements, Geometric Shapes, Miscellaneous Symbols,
- * Dingbats, Braille Patterns, CJK Radicals Supplement, Kangxi Radicals,
- * Ideographic Description Characters, CJK Symbols and Punctuation,
- * Hiragana, Katakana, Bopomofo, Hangul Compatibility Jamo, Kanbun,
- * Bopomofo Extended, Enclosed CJK Letters and Months, CJK Compatibility,
- * CJK Unified Ideographs Extension A, CJK Unified Ideographs
- */
- { 0x2000, 0x3029, "*" }, /* Gap for Hangul diacritics */
- { 0x3030, 0x9fff, "*" },
- { 0xa000, 0xa4c6, "*" }, /* Yi */
- { 0xe000, 0xf7ee, "*" }, /* HKSCS-1999 */
- { 0xf900, 0xfa2d, "*" }, /* CJK Compatibility Ideographs */
- { 0xfe30, 0xfe6b, "*" }, /* CJK Compatibility Forms and Small Form Variants */
- { 0xff00, 0xffe3, "*" }, /* Halfwidth and Fullwidth Forms (partly) */
- { 0x0000, 0xffff, "" },
+static PangoEngineScriptInfo basic_scripts[] = {
+ { PANGO_SCRIPT_ARMENIAN, "*" },
+ { PANGO_SCRIPT_BOPOMOFO, "*" },
+ { PANGO_SCRIPT_CHEROKEE, "*" },
+ { PANGO_SCRIPT_COPTIC, "*" },
+ { PANGO_SCRIPT_CYRILLIC, "*" },
+ { PANGO_SCRIPT_DESERET, "*" },
+ { PANGO_SCRIPT_ETHIOPIC, "*" },
+ { PANGO_SCRIPT_GEORGIAN, "*" },
+ { PANGO_SCRIPT_GOTHIC, "*" },
+ { PANGO_SCRIPT_GREEK, "*" },
+ { PANGO_SCRIPT_HAN, "*" },
+ { PANGO_SCRIPT_HIRAGANA, "*" },
+ { PANGO_SCRIPT_KATAKANA, "*" },
+ { PANGO_SCRIPT_LATIN, "*" },
+ { PANGO_SCRIPT_OGHAM, "*" },
+ { PANGO_SCRIPT_OLD_ITALIC, "*" },
+ { PANGO_SCRIPT_RUNIC, "*" },
+ { PANGO_SCRIPT_CANADIAN_ABORIGINAL, "*" },
+ { PANGO_SCRIPT_YI, "*" },
+ { PANGO_SCRIPT_BRAILLE, "*" },
+ { PANGO_SCRIPT_CYPRIOT, "*" },
+ { PANGO_SCRIPT_LIMBU, "*" },
+ { PANGO_SCRIPT_OSMANYA, "*" },
+ { PANGO_SCRIPT_SHAVIAN, "*" },
+ { PANGO_SCRIPT_LINEAR_B, "*" },
+ { PANGO_SCRIPT_UGARITIC, "*" },
+
+ { PANGO_SCRIPT_COMMON, "" }
};
static PangoEngineInfo script_engines[] = {
@@ -72,7 +72,7 @@ static PangoEngineInfo script_engines[] = {
SCRIPT_ENGINE_NAME,
PANGO_ENGINE_TYPE_SHAPE,
RENDER_TYPE,
- basic_ranges, G_N_ELEMENTS(basic_ranges)
+ basic_scripts, G_N_ELEMENTS(basic_scripts)
}
};