diff options
author | Owen Taylor <otaylor@redhat.com> | 2003-08-03 21:57:35 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2003-08-03 21:57:35 +0000 |
commit | 2584212cd0976f5f95d9381e829917e7d2a10d28 (patch) | |
tree | 5773e9f6802f8316c5c7463aa55677babe67343c /docs | |
parent | 95a8d1788e884b7d8d29d4171a1adc51c61e880e (diff) | |
download | pango-2584212cd0976f5f95d9381e829917e7d2a10d28.tar.gz |
Make PangoEngine{,Lang,Shape} GObjects, and use a GTypeModule-based
Sat Aug 2 23:19:16 2003 Owen Taylor <otaylor@redhat.com>
* pango/pango-engine.[ch] modules/*/*-{fc,win32,x}.c
pango/modules.c pango/break.c pango/pango-context.c
pango/pango-layout.c pango/pango-modules.h
pango/querymodules.c pango/shape.c: Make
PangoEngine{,Lang,Shape} GObjects, and use a
GTypeModule-based module-loading system closely based
on the one used for GtkIMContext and GtkThemeEngine.
* pango/pango-impl-utils.h: OK, I'm tired of typing
in get_type() functions.
* pango/pango-script.[ch] pango/pango-script-table.h
tests/testscript.c tools/gen-script-table.pl: Add port
of script-range code from ICU in preparation for future
use. (#91542)
* tools/gen-script-for-lang.c: Utility program to determine
the script for each fontconfig .orth file.
* docs/tmpl/{scripts.sgml,pango-engine-lang.sgml,
pango-engine-shape.sgml} docs/pango-sections.txt docs/pango-docs.sgml:
Redo to go along with the above changes.
* configure.in: chmod +x tests/runtests.sh
Diffstat (limited to 'docs')
-rw-r--r-- | docs/Makefile.am | 6 | ||||
-rw-r--r-- | docs/pango-docs.sgml | 6 | ||||
-rw-r--r-- | docs/pango-sections.txt | 70 | ||||
-rw-r--r-- | docs/pango.types | 3 | ||||
-rw-r--r-- | docs/tmpl/engines.sgml | 81 | ||||
-rw-r--r-- | docs/tmpl/modules.sgml | 5 | ||||
-rw-r--r-- | docs/tmpl/pango-engine-lang.sgml | 56 | ||||
-rw-r--r-- | docs/tmpl/pango-engine-shape.sgml | 57 | ||||
-rw-r--r-- | docs/tmpl/scripts.sgml | 146 |
9 files changed, 356 insertions, 74 deletions
diff --git a/docs/Makefile.am b/docs/Makefile.am index e7948401..63814d94 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -22,9 +22,12 @@ CFILE_GLOB=$(top_srcdir)/pango/*.c IGNORE_HFILES= \ mini-fribidi \ mini-xft \ + module-defs.h \ opentype \ modules.h \ - pango-intset.h \ + pango-engine-private.h \ + pango-impl-utils.h \ + pango-script-table.h \ pango-utils.h \ pangofc-private.h \ pangoft2-private.h \ @@ -36,6 +39,7 @@ IGNORE_HFILES= \ # if $(DOC_MODULE).types is non-empty. INCLUDES = \ -DPANGO_ENABLE_BACKEND \ + -DPANGO_ENABLE_ENGINE \ -I$(top_srcdir) \ $(GLIB_CFLAGS) \ $(XFT_CFLAGS) \ diff --git a/docs/pango-docs.sgml b/docs/pango-docs.sgml index 79cdf112..a923b96c 100644 --- a/docs/pango-docs.sgml +++ b/docs/pango-docs.sgml @@ -8,7 +8,10 @@ <!ENTITY pango-Text-Attributes SYSTEM "xml/text-attributes.xml"> <!ENTITY pango-Tab-Stops SYSTEM "xml/tab-stops.xml"> <!ENTITY pango-Layout-Objects SYSTEM "xml/layout.xml"> +<!ENTITY pango-Scripts SYSTEM "xml/scripts.xml"> <!ENTITY pango-Engines SYSTEM "xml/engines.xml"> +<!ENTITY PangoEngineLang SYSTEM "xml/pango-engine-lang.xml"> +<!ENTITY PangoEngineShape SYSTEM "xml/pango-engine-shape.xml"> <!ENTITY pango-Modules SYSTEM "xml/modules.xml"> <!ENTITY pango-X-Fonts-and-Rendering SYSTEM "xml/x-fonts.xml"> <!ENTITY pango-Win32-Fonts-and-Rendering SYSTEM "xml/win32-fonts.xml"> @@ -36,6 +39,7 @@ &pango-Tab-Stops; &markup-format; &pango-Layout-Objects; + &pango-Scripts; </chapter> <chapter id="rendering"> @@ -53,6 +57,8 @@ &pango-OpenType-Font-Handling; &pango-Coverage-Maps; &pango-Engines; + &PangoEngineLang; + &PangoEngineShape; &pango-Modules; </chapter> diff --git a/docs/pango-sections.txt b/docs/pango-sections.txt index 27c9bb9c..d1306e0b 100644 --- a/docs/pango-sections.txt +++ b/docs/pango-sections.txt @@ -450,21 +450,79 @@ pango_wrap_mode_get_type </SECTION> <SECTION> +<TITLE>Scripts</TITLE> +<FILE>scripts</FILE> +PangoScriptIter +PangoScript +PANGO_TYPE_SCRIPT +pango_script_for_unichar +pango_script_iter_new +pango_script_iter_get_range +pango_script_iter_next +pango_script_iter_free +<SUBSECTION Private> +pango_script_get_type +</SECTION> + +<SECTION> <TITLE>Engines</TITLE> <FILE>engines</FILE> PangoEngineInfo PangoEngineRange PangoEngine -PangoEngineLang -PangoEngineShape -PANGO_ENGINE_TYPE_LANG -PANGO_ENGINE_TYPE_SHAPE +PangoEngineClass PANGO_RENDER_TYPE_NONE script_engine_list -script_engine_load -script_engine_unload +script_engine_init +script_engine_exit +script_engine_create +<SUBSECTION Standard> +PANGO_ENGINE +PANGO_IS_ENGINE +PANGO_TYPE_ENGINE +PANGO_ENGINE_CLASS +PANGO_IS_ENGINE_CLASS +PANGO_ENGINE_GET_CLASS <SUBSECTION Private> +pango_engine_get_type PANGO_MODULE_ENTRY +PANGO_ENGINE_DEFINE_TYPE +</SECTION> + +<SECTION> +<TITLE>PangoEngineLang</TITLE> +<FILE>pango-engine-lang</FILE> +PangoEngineLang +PangoEngineLangClass +PANGO_ENGINE_TYPE_LANG +PANGO_ENGINE_LANG_DEFINE_TYPE +<SUBSECTION Standard> +PANGO_ENGINE_LANG +PANGO_IS_ENGINE_LANG +PANGO_TYPE_ENGINE_LANG +PANGO_ENGINE_LANG_CLASS +PANGO_IS_ENGINE_LANG_CLASS +PANGO_ENGINE_LANG_GET_CLASS +<SUBSECTION Private> +pango_engine_lang_get_type +</SECTION> + +<SECTION> +<TITLE>PangoEngineShape</TITLE> +<FILE>pango-engine-shape</FILE> +PangoEngineShape +PangoEngineShapeClass +PANGO_ENGINE_TYPE_SHAPE +PANGO_ENGINE_SHAPE_DEFINE_TYPE +<SUBSECTION Standard> +PANGO_ENGINE_SHAPE +PANGO_IS_ENGINE_SHAPE +PANGO_TYPE_ENGINE_SHAPE +PANGO_ENGINE_SHAPE_CLASS +PANGO_IS_ENGINE_SHAPE_CLASS +PANGO_ENGINE_SHAPE_GET_CLASS +<SUBSECTION Private> +pango_engine_shape_get_type </SECTION> <SECTION> diff --git a/docs/pango.types b/docs/pango.types index ae3d2947..4e54d55f 100644 --- a/docs/pango.types +++ b/docs/pango.types @@ -4,6 +4,9 @@ #include <pango/pangoft2.h> #include <pango/pangoxft.h> +pango_engine_get_type +pango_engine_lang_get_type +pango_engine_shape_get_type pango_font_get_type pango_font_family_get_type pango_font_face_get_type diff --git a/docs/tmpl/engines.sgml b/docs/tmpl/engines.sgml index 4b88affd..754540ce 100644 --- a/docs/tmpl/engines.sgml +++ b/docs/tmpl/engines.sgml @@ -17,8 +17,9 @@ strings. <para> Each dynamically-loaded module exports several functions which provide the public API. These functions are script_engine_list(), -script_engine_load() and script_engine_unload(). The latter two -functions are used for loading and unloading modules, while the first +script_engine_init() and script_engine_exit, and +script_engine_create(). The latter three functions are used when +creating engines from the module at run time, while the first function is used when building a catalog of all available modules. </para> @@ -63,61 +64,15 @@ points. It contains the following fields: <!-- ##### STRUCT PangoEngine ##### --> <para> -The #PangoEngine structure contains basic -information common to all script engines. It -contains the following fields: </para> -@id: a unique string ID for this language engine. -@type: the "type" of the engine. (Is this engine type or render type??). -@length: the length of the entire structure in bytes. This is - provided so that new functions can be added at the - end of subtypes of #PangoEngine without breaking - older modules. -<!-- ##### STRUCT PangoEngineLang ##### --> +<!-- ##### STRUCT PangoEngineClass ##### --> <para> -The #PangoEngineLang structure extends the -basic #PangoEngine structure to engines that -deal with the rendering-system independent part -of of the rendering pipeline. It contains the following fields: -</para> - -@engine: a nested structure containing basic engine data. -@script_break: a function that provides an implementation for pango_break(). - -<!-- ##### STRUCT PangoEngineShape ##### --> -<para> -The #PangoEngineShape structure extends the -basic #PangoEngine structure to engines that -deal with the rendering-system dependent part -of of the rendering pipeline. It contains the following fields: -</para> -@engine: a nested structure containing basic engine data. -@script_shape: a function that provides an implementation for pango_shape. -@get_coverage: - -<!-- ##### MACRO PANGO_ENGINE_TYPE_LANG ##### --> -<para> -A string constant defining the engine type -for <firstterm>language engines</firstterm>. -These engines have a engine structure of -type #PangoEngineLang. </para> - -<!-- ##### MACRO PANGO_ENGINE_TYPE_SHAPE ##### --> -<para> -A string constant defining the engine type -for <firstterm>shaping engines</firstterm>. -These engines have a engine structure of -type #PangoEngineShape. -</para> - - - <!-- ##### MACRO PANGO_RENDER_TYPE_NONE ##### --> <para> A string constant defining the render type @@ -129,37 +84,33 @@ specific. <!-- ##### FUNCTION script_engine_list ##### --> <para> -Function to be provided by a module to list the engines that the -module supplies. The function stores a pointer to an array -of #PangoEngineInfo structures and the length of that array in -the given location. </para> @engines: location to store a pointer to an array of engines. @n_engines: location to store the number of elements in @engines. -<!-- ##### FUNCTION script_engine_load ##### --> +<!-- ##### FUNCTION script_engine_init ##### --> <para> -Function to be provided by a module to load a particular engine. + </para> -@id: the ID from the #PangoEngineInfo structure of the - module to load. -@Returns: the newly created script engine. +@module: -<!-- ##### FUNCTION script_engine_unload ##### --> +<!-- ##### FUNCTION script_engine_exit ##### --> <para> -Function to be provided by a module to unload an engine loaded -with script_engine_load(). + </para> -@engine: the engine to unload. -<!-- Local Variables: --> -<!-- sgml-parent-document: ("../pango-docs.sgml" "book" "refsect2") --> -<!-- End: --> +<!-- ##### FUNCTION script_engine_create ##### --> +<para> + +</para> + +@id: +@Returns: diff --git a/docs/tmpl/modules.sgml b/docs/tmpl/modules.sgml index 032248a3..32172efd 100644 --- a/docs/tmpl/modules.sgml +++ b/docs/tmpl/modules.sgml @@ -22,8 +22,9 @@ loaded module. </para> @list: -@load: -@unload: +@init: +@exit: +@create: <!-- ##### STRUCT PangoMap ##### --> <para> diff --git a/docs/tmpl/pango-engine-lang.sgml b/docs/tmpl/pango-engine-lang.sgml new file mode 100644 index 00000000..79b08f21 --- /dev/null +++ b/docs/tmpl/pango-engine-lang.sgml @@ -0,0 +1,56 @@ +<!-- ##### SECTION Title ##### --> +PangoEngineLang + +<!-- ##### SECTION Short_Description ##### --> +Rendering-system independent script engines + +<!-- ##### SECTION Long_Description ##### --> +<para> + +</para> + +<!-- ##### SECTION See_Also ##### --> +<para> + +</para> + +<!-- ##### STRUCT PangoEngineLang ##### --> +<para> +</para> + + +<!-- ##### STRUCT PangoEngineLangClass ##### --> +<para> + +</para> + +@script_break: + +<!-- ##### MACRO PANGO_ENGINE_TYPE_LANG ##### --> +<para> +A string constant defining the engine type +for <firstterm>language engines</firstterm>. +These engines derive from #PangoEngineLang. +</para> + + + +<!-- ##### MACRO PANGO_ENGINE_LANG_DEFINE_TYPE ##### --> +<para> + +</para> + +@name: +@prefix: +@\ + class_init: +@\ + class_init: +@\ + class_init: +@\ + class_init: +@class_init: +@instance_init: + + diff --git a/docs/tmpl/pango-engine-shape.sgml b/docs/tmpl/pango-engine-shape.sgml new file mode 100644 index 00000000..2e0f91ce --- /dev/null +++ b/docs/tmpl/pango-engine-shape.sgml @@ -0,0 +1,57 @@ +<!-- ##### SECTION Title ##### --> +PangoEngineShape + +<!-- ##### SECTION Short_Description ##### --> +Rendering-system dependent script engines + +<!-- ##### SECTION Long_Description ##### --> +<para> + +</para> + +<!-- ##### SECTION See_Also ##### --> +<para> + +</para> + +<!-- ##### STRUCT PangoEngineShape ##### --> +<para> +</para> + + +<!-- ##### STRUCT PangoEngineShapeClass ##### --> +<para> + +</para> + +@script_shape: +@get_coverage: + +<!-- ##### MACRO PANGO_ENGINE_TYPE_SHAPE ##### --> +<para> +A string constant defining the engine type +for <firstterm>shaping engines</firstterm>. +These engines derive from #PangoEngineShape. +</para> + + + +<!-- ##### MACRO PANGO_ENGINE_SHAPE_DEFINE_TYPE ##### --> +<para> + +</para> + +@name: +@prefix: +@\ + class_init: +@\ + class_init: +@\ + class_init: +@\ + class_init: +@class_init: +@instance_init: + + diff --git a/docs/tmpl/scripts.sgml b/docs/tmpl/scripts.sgml new file mode 100644 index 00000000..be1db3a3 --- /dev/null +++ b/docs/tmpl/scripts.sgml @@ -0,0 +1,146 @@ +<!-- ##### SECTION Title ##### --> +Scripts + +<!-- ##### SECTION Short_Description ##### --> +Identifying writing systems + +<!-- ##### SECTION Long_Description ##### --> +<para> +The functions in this section are used to identify the writing +system, or <firstterm>script</firstterm> of individual characters +and of ranges within a larger text string. +</para> + + +<!-- ##### SECTION See_Also ##### --> +<para> + +</para> + + +<!-- ##### STRUCT PangoScriptIter ##### --> +<para> + +</para> + + +<!-- ##### ENUM PangoScript ##### --> +<para> +The #PangoScript enumeration identifies different writing +systems. The values correspond to the names defined in the +Unicode standard. (See <ulink +url="http://www.unicode.org/reports/tr24/">Unicode Standard Annex +#24: Script names</ulink>). +</para> + +@PANGO_SCRIPT_INVALID_CODE: a value never used for any unicode character +@PANGO_SCRIPT_COMMON: a character used by multiple different scripts +@PANGO_SCRIPT_INHERITED: a mark glyph that takes its script from the + base glyph to which it is attached. +@PANGO_SCRIPT_ARABIC: +@PANGO_SCRIPT_ARMENIAN: +@PANGO_SCRIPT_BENGALI: +@PANGO_SCRIPT_BOPOMOFO: +@PANGO_SCRIPT_CHEROKEE: +@PANGO_SCRIPT_COPTIC: +@PANGO_SCRIPT_CYRILLIC: +@PANGO_SCRIPT_DESERET: +@PANGO_SCRIPT_DEVANAGARI: +@PANGO_SCRIPT_ETHIOPIC: +@PANGO_SCRIPT_GEORGIAN: +@PANGO_SCRIPT_GOTHIC: +@PANGO_SCRIPT_GREEK: +@PANGO_SCRIPT_GUJARATI: +@PANGO_SCRIPT_GURMUKHI: +@PANGO_SCRIPT_HAN: +@PANGO_SCRIPT_HANGUL: +@PANGO_SCRIPT_HEBREW: +@PANGO_SCRIPT_HIRAGANA: +@PANGO_SCRIPT_KANNADA: +@PANGO_SCRIPT_KATAKANA: +@PANGO_SCRIPT_KHMER: +@PANGO_SCRIPT_LAO: +@PANGO_SCRIPT_LATIN: +@PANGO_SCRIPT_MALAYALAM: +@PANGO_SCRIPT_MONGOLIAN: +@PANGO_SCRIPT_MYANMAR: +@PANGO_SCRIPT_OGHAM: +@PANGO_SCRIPT_OLD_ITALIC: +@PANGO_SCRIPT_ORIYA: +@PANGO_SCRIPT_RUNIC: +@PANGO_SCRIPT_SINHALA: +@PANGO_SCRIPT_SYRIAC: +@PANGO_SCRIPT_TAMIL: +@PANGO_SCRIPT_TELUGU: +@PANGO_SCRIPT_THAANA: +@PANGO_SCRIPT_THAI: +@PANGO_SCRIPT_TIBETAN: +@PANGO_SCRIPT_CANADIAN_ABORIGINAL: +@PANGO_SCRIPT_YI: +@PANGO_SCRIPT_TAGALOG: +@PANGO_SCRIPT_HANUNOO: +@PANGO_SCRIPT_BUHID: +@PANGO_SCRIPT_TAGBANWA: +@PANGO_SCRIPT_BRAILLE: +@PANGO_SCRIPT_CYPRIOT: +@PANGO_SCRIPT_LIMBU: +@PANGO_SCRIPT_OSMANYA: +@PANGO_SCRIPT_SHAVIAN: +@PANGO_SCRIPT_LINEAR_B: +@PANGO_SCRIPT_TAI_LE: +@PANGO_SCRIPT_UGARITIC: + +<!-- ##### MACRO PANGO_TYPE_SCRIPT ##### --> +<para> +The GObject type for #PangoScript +</para> + + + +<!-- ##### FUNCTION pango_script_for_unichar ##### --> +<para> + +</para> + +@ch: +@Returns: + + +<!-- ##### FUNCTION pango_script_iter_new ##### --> +<para> + +</para> + +@text: +@length: +@Returns: + + +<!-- ##### FUNCTION pango_script_iter_get_range ##### --> +<para> + +</para> + +@iter: +@start: +@end: +@script: + + +<!-- ##### FUNCTION pango_script_iter_next ##### --> +<para> + +</para> + +@iter: +@Returns: + + +<!-- ##### FUNCTION pango_script_iter_free ##### --> +<para> + +</para> + +@iter: + + |