summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2003-08-03 21:57:35 +0000
committerOwen Taylor <otaylor@src.gnome.org>2003-08-03 21:57:35 +0000
commit2584212cd0976f5f95d9381e829917e7d2a10d28 (patch)
tree5773e9f6802f8316c5c7463aa55677babe67343c /docs
parent95a8d1788e884b7d8d29d4171a1adc51c61e880e (diff)
downloadpango-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.am6
-rw-r--r--docs/pango-docs.sgml6
-rw-r--r--docs/pango-sections.txt70
-rw-r--r--docs/pango.types3
-rw-r--r--docs/tmpl/engines.sgml81
-rw-r--r--docs/tmpl/modules.sgml5
-rw-r--r--docs/tmpl/pango-engine-lang.sgml56
-rw-r--r--docs/tmpl/pango-engine-shape.sgml57
-rw-r--r--docs/tmpl/scripts.sgml146
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:
+
+