Fix severe security issues
[external/pango1.0.git] / docs / tmpl / engines.sgml
1 <!-- ##### SECTION Title ##### -->
2 Engines
3
4 <!-- ##### SECTION Short_Description ##### -->
5 Language-specific and rendering-system-specific processing
6
7 <!-- ##### SECTION Long_Description ##### -->
8 <para>
9 Pango utilizes a module architecture in which the language-specific
10 and render-system-specific components are provided by loadable
11 modules. Each loadable module supplies one or more
12 <firstterm>engines</firstterm>.  Each <firstterm>engine</firstterm>
13 has an associated <firstterm>engine type</firstterm> and
14 <firstterm>render type</firstterm>. These two types are represented by
15 strings.
16 </para>
17 <para>
18 Each dynamically-loaded module exports several functions which provide
19 the public API. These functions are script_engine_list(),
20 script_engine_init() and script_engine_exit, and
21 script_engine_create(). The latter three functions are used when
22 creating engines from the module at run time, while the first
23 function is used when building a catalog of all available modules.
24 </para>
25
26 <!-- ##### SECTION See_Also ##### -->
27 <para>
28
29 </para>
30
31 <!-- ##### SECTION Stability_Level ##### -->
32
33
34 <!-- ##### SECTION Image ##### -->
35
36
37 <!-- ##### STRUCT PangoEngineInfo ##### -->
38 <para>
39 The #PangoEngineInfo structure contains information about a particular
40 engine. It contains the following fields:
41 </para>
42
43 @id: a unique string ID for the engine.
44 @engine_type: a string identifying the engine type.
45 @render_type: a string identifying the render type.
46 @scripts: array of scripts this engine supports.
47 @n_scripts: number of items in @scripts.
48
49 <!-- ##### STRUCT PangoEngineScriptInfo ##### -->
50 <para>
51 The #PangoEngineScriptInfo structure contains
52 information about how the shaper covers a particular
53 script.
54 </para>
55
56 @script: a #PangoScript. The value %PANGO_SCRIPT_COMMON has
57         the special meaning here of "all scripts"
58 @langs: a semicolon separated list of languages that this
59         engine handles for this script. This may be empty, 
60         in which case the engine is saying that it is a
61         fallback choice for all languages for this range,
62         but should not be used if another engine 
63         indicates that it is specific for the language for
64         a given code point. An entry in this list of "*"
65         indicates that this engine is specific to all
66         languages for this range.
67
68 <!-- ##### STRUCT PangoEngine ##### -->
69 <para>
70 </para>
71
72
73 <!-- ##### STRUCT PangoEngineClass ##### -->
74 <para>
75
76 </para>
77
78
79 <!-- ##### MACRO PANGO_RENDER_TYPE_NONE ##### -->
80 <para>
81 A string constant defining the render type
82 for engines that are not rendering-system 
83 specific.
84 </para>
85
86
87
88 <!-- ##### FUNCTION script_engine_list ##### -->
89 <para>
90 </para>
91
92 @engines: location to store a pointer to an array of engines.
93 @n_engines: location to store the number of elements in @engines.
94
95
96 <!-- ##### FUNCTION script_engine_init ##### -->
97 <para>
98
99 </para>
100
101 @module: 
102
103
104 <!-- ##### FUNCTION script_engine_exit ##### -->
105 <para>
106
107 </para>
108
109 @void: 
110
111
112 <!-- ##### FUNCTION script_engine_create ##### -->
113 <para>
114
115 </para>
116
117 @id: 
118 @Returns: 
119
120