~ubuntu-branches/ubuntu/maverick/pango1.0/maverick-security

« back to all changes in this revision

Viewing changes to docs/xml/pango-engine-lang.xml

  • Committer: Bazaar Package Importer
  • Author(s): Sebastien Bacher
  • Date: 2010-03-31 13:45:57 UTC
  • mfrom: (1.5.10 upstream)
  • Revision ID: james.westby@ubuntu.com-20100331134557-ls7q7w9n62sif2qa
Tags: 1.28.0-0ubuntu1
* New upstream version:
  - [HB] Fix leak when duplicating blob
  - Misc bug fixes
  - Bugs fixed:
  Bug 611033 - Layout using ATSUI fontmap treats absolute font sizes a...
  Bug 605655 - Pango 1.26.2 introduces kerning bug
  Bug 611229 - Pango reads from uninitialized memory
  Bug 594101 - [Indic] needed character class data updates to support unicode 5.1
  Bug 345066 - backspace changes independent indic characters
  Bug 609326 - Complex script shaping failed in the FT2 backend on Windows
  Bug 604128 - Applications crash when displaying Hebrew characters
  Bug 608923 - Incorrect/broken ligatures on MacOS
  Bug 610791 - checks fail for unused documented symbols
* debian/patches/13_fix-gobject-introspection-build.patch,
  debian/patches/90_autoreconf.patch:
  - the new version doesn't require those

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<refentry id="PangoEngineLang">
2
 
<refmeta>
3
 
<refentrytitle role="top_of_page" id="PangoEngineLang.top_of_page">PangoEngineLang</refentrytitle>
4
 
<manvolnum>3</manvolnum>
5
 
<refmiscinfo>PANGO Library</refmiscinfo>
6
 
</refmeta>
7
 
 
8
 
<refnamediv>
9
 
<refname>PangoEngineLang</refname>
10
 
<refpurpose>Rendering-system independent script engines</refpurpose>
11
 
</refnamediv>
12
 
<refsect1 id="PangoEngineLang.stability-level">
13
 
<title>Stability Level</title>
14
 
Unstable, unless otherwise indicated
15
 
</refsect1>
16
 
 
17
 
<refsynopsisdiv id="PangoEngineLang.synopsis" role="synopsis">
18
 
<title role="synopsis.title">Synopsis</title>
19
 
 
20
 
<synopsis>
21
 
                    <link linkend="PangoEngineLang-struct">PangoEngineLang</link>;
22
 
                    <link linkend="PangoEngineLangClass">PangoEngineLangClass</link>;
23
 
#define             <link linkend="PANGO-ENGINE-TYPE-LANG--CAPS">PANGO_ENGINE_TYPE_LANG</link>
24
 
#define             <link linkend="PANGO-ENGINE-LANG-DEFINE-TYPE--CAPS">PANGO_ENGINE_LANG_DEFINE_TYPE</link>       (name, prefix, class_init, instance_init)
25
 
</synopsis>
26
 
</refsynopsisdiv>
27
 
 
28
 
<refsect1 id="PangoEngineLang.object-hierarchy" role="object_hierarchy">
29
 
<title role="object_hierarchy.title">Object Hierarchy</title>
30
 
<synopsis>
31
 
  <link linkend="GObject">GObject</link>
32
 
   +----<link linkend="PangoEngine">PangoEngine</link>
33
 
         +----PangoEngineLang
34
 
</synopsis>
35
 
</refsect1>
36
 
 
37
 
 
38
 
 
39
 
 
40
 
 
41
 
 
42
 
 
43
 
 
44
 
<refsect1 id="PangoEngineLang.description" role="desc">
45
 
<title role="desc.title">Description</title>
46
 
<para>
47
 
The <firstterm>language engines</firstterm> are rendering-system independent
48
 
engines that determine line, word, and character breaks for character strings.
49
 
These engines are used in <link linkend="pango-break"><function>pango_break()</function></link>.
50
 
</para>
51
 
</refsect1>
52
 
 
53
 
<refsect1 id="PangoEngineLang.details" role="details">
54
 
<title role="details.title">Details</title>
55
 
<refsect2 id="PangoEngineLang-struct" role="struct">
56
 
<title>PangoEngineLang</title>
57
 
<indexterm zone="PangoEngineLang-struct"><primary sortas="PangoEngineLang">PangoEngineLang</primary></indexterm><programlisting>typedef struct _PangoEngineLang PangoEngineLang;</programlisting>
58
 
<para>
59
 
The <link linkend="PangoEngineLang"><type>PangoEngineLang</type></link> class is implemented by engines that
60
 
customize the rendering-system independent part of the
61
 
Pango pipeline for a particular script or language. For
62
 
instance, a custom <link linkend="PangoEngineLang"><type>PangoEngineLang</type></link> could be provided for
63
 
Thai to implement the dictionary-based word boundary
64
 
lookups needed for that language.</para>
65
 
<para>
66
 
</para></refsect2>
67
 
<refsect2 id="PangoEngineLangClass" role="struct">
68
 
<title>PangoEngineLangClass</title>
69
 
<indexterm zone="PangoEngineLangClass"><primary sortas="PangoEngineLangClass">PangoEngineLangClass</primary></indexterm><programlisting>typedef struct {
70
 
  void (*script_break) (PangoEngineLang *engine,
71
 
                        const char    *text,
72
 
                        int            len,
73
 
                        PangoAnalysis *analysis,
74
 
                        PangoLogAttr  *attrs,
75
 
                        int            attrs_len);
76
 
} PangoEngineLangClass;
77
 
</programlisting>
78
 
<para>
79
 
Class structure for <link linkend="PangoEngineLang"><type>PangoEngineLang</type></link></para>
80
 
<para>
81
 
</para><variablelist role="struct">
82
 
<varlistentry>
83
 
<term><structfield>script_break</structfield>&#160;()</term>
84
 
<listitem><simpara> Provides a custom implementation of <link linkend="pango-break"><function>pango_break()</function></link>.
85
 
If <link linkend="NULL--CAPS"><literal>NULL</literal></link>, <link linkend="pango-default-break"><function>pango_default_break()</function></link> is used instead. If not <link linkend="NULL--CAPS"><literal>NULL</literal></link>, for
86
 
Pango versions before 1.16 (module interface version before 1.6.0),
87
 
this was called instead of <link linkend="pango-default-break"><function>pango_default_break()</function></link>, but in newer versions,
88
 
<link linkend="pango-default-break"><function>pango_default_break()</function></link> is always called and this is called after that to
89
 
allow tailoring the breaking results.
90
 
</simpara></listitem>
91
 
</varlistentry>
92
 
</variablelist></refsect2>
93
 
<refsect2 id="PANGO-ENGINE-TYPE-LANG--CAPS" role="macro">
94
 
<title>PANGO_ENGINE_TYPE_LANG</title>
95
 
<indexterm zone="PANGO-ENGINE-TYPE-LANG--CAPS"><primary sortas="PANGO_ENGINE_TYPE_LANG">PANGO_ENGINE_TYPE_LANG</primary></indexterm><programlisting>#define PANGO_ENGINE_TYPE_LANG "PangoEngineLang"
96
 
</programlisting>
97
 
<para>
98
 
A string constant defining the engine type
99
 
for language engines.
100
 
These engines derive from <link linkend="PangoEngineLang"><type>PangoEngineLang</type></link>.
101
 
</para></refsect2>
102
 
<refsect2 id="PANGO-ENGINE-LANG-DEFINE-TYPE--CAPS" role="macro">
103
 
<title>PANGO_ENGINE_LANG_DEFINE_TYPE()</title>
104
 
<indexterm zone="PANGO-ENGINE-LANG-DEFINE-TYPE--CAPS"><primary sortas="PANGO_ENGINE_LANG_DEFINE_TYPE">PANGO_ENGINE_LANG_DEFINE_TYPE</primary></indexterm><programlisting>#define             PANGO_ENGINE_LANG_DEFINE_TYPE(name, prefix, class_init, instance_init)</programlisting>
105
 
<para>
106
 
Outputs the necessary code for GObject type registration for a
107
 
<link linkend="PangoEngineLang"><type>PangoEngineLang</type></link> class defined in a module. Two static symbols
108
 
are defined.
109
 
</para>
110
 
<para>
111
 
<programlisting>
112
 
 static GType <replaceable>prefix</replaceable>_type;
113
 
 static void <replaceable>prefix</replaceable>_register_type (GTypeModule module);
114
 
</programlisting>
115
 
</para>
116
 
<para>
117
 
The <function><replaceable>prefix</replaceable><link linkend="register-type"><function>_register_type()</function></link></function>
118
 
function should be called in your <link linkend="script-engine-init"><function>script_engine_init()</function></link> function for
119
 
each type that your module implements, and then your <link linkend="script-engine-create"><function>script_engine_create()</function></link>
120
 
function can create instances of the object as follows:
121
 
</para>
122
 
<para>
123
 
<informalexample><programlisting>
124
 
 PangoEngine *engine = g_object_new (<replaceable>prefix</replaceable>_type, NULL);
125
 
</programlisting></informalexample></para>
126
 
<para>
127
 
</para><variablelist role="params">
128
 
<varlistentry><term><parameter>name</parameter>&#160;:</term>
129
 
<listitem><simpara> Name of the the type to register (for example:, <literal>ArabicEngineFc</literal>
130
 
</simpara></listitem></varlistentry>
131
 
<varlistentry><term><parameter>prefix</parameter>&#160;:</term>
132
 
<listitem><simpara> Prefix for symbols that will be defined (for example:, <literal>arabic_engine_fc</literal>
133
 
</simpara></listitem></varlistentry>
134
 
<varlistentry><term><parameter>class_init</parameter>&#160;:</term>
135
 
<listitem><simpara> Class initialization function for the new type, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
136
 
</simpara></listitem></varlistentry>
137
 
<varlistentry><term><parameter>instance_init</parameter>&#160;:</term>
138
 
<listitem><simpara> Instance initialization function for the new type, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
139
 
</simpara></listitem></varlistentry>
140
 
</variablelist></refsect2>
141
 
 
142
 
</refsect1>
143
 
 
144
 
 
145
 
 
146
 
 
147
 
</refentry>