Git init
[external/pango1.0.git] / docs / xml / freetype-fonts.xml
1 <refentry id="pango-FreeType-Fonts-and-Rendering">
2 <refmeta>
3 <refentrytitle role="top_of_page" id="pango-FreeType-Fonts-and-Rendering.top_of_page">FreeType Fonts and Rendering</refentrytitle>
4 <manvolnum>3</manvolnum>
5 <refmiscinfo>PANGO Library</refmiscinfo>
6 </refmeta>
7
8 <refnamediv>
9 <refname>FreeType Fonts and Rendering</refname>
10 <refpurpose>Functions for shape engines to manipulate FreeType fonts</refpurpose>
11 </refnamediv>
12
13 <refsynopsisdiv id="pango-FreeType-Fonts-and-Rendering.synopsis" role="synopsis">
14 <title role="synopsis.title">Synopsis</title>
15 <anchor id="PangoFT2FontMap"/>
16 <synopsis>
17                     <link linkend="PangoFT2FontMap-struct">PangoFT2FontMap</link>;
18 #define             <link linkend="PANGO-RENDER-TYPE-FT2--CAPS">PANGO_RENDER_TYPE_FT2</link>
19 <link linkend="PangoFontMap">PangoFontMap</link> *      <link linkend="pango-ft2-font-map-new">pango_ft2_font_map_new</link>              (void);
20 <link linkend="void">void</link>                <link linkend="pango-ft2-font-map-set-resolution">pango_ft2_font_map_set_resolution</link>   (<link linkend="PangoFT2FontMap">PangoFT2FontMap</link> *fontmap,
21                                                          <link linkend="double">double</link> dpi_x,
22                                                          <link linkend="double">double</link> dpi_y);
23 <link linkend="PangoContext">PangoContext</link> *      <link linkend="pango-ft2-font-map-create-context">pango_ft2_font_map_create_context</link>   (<link linkend="PangoFT2FontMap">PangoFT2FontMap</link> *fontmap);
24 <link linkend="void">void</link>                (<link linkend="PangoFT2SubstituteFunc">*PangoFT2SubstituteFunc</link>)           (<link linkend="FcPattern">FcPattern</link> *pattern,
25                                                          <link linkend="gpointer">gpointer</link> data);
26 <link linkend="void">void</link>                <link linkend="pango-ft2-font-map-set-default-substitute">pango_ft2_font_map_set_default_substitute</link>
27                                                         (<link linkend="PangoFT2FontMap">PangoFT2FontMap</link> *fontmap,
28                                                          <link linkend="PangoFT2SubstituteFunc">PangoFT2SubstituteFunc</link> func,
29                                                          <link linkend="gpointer">gpointer</link> data,
30                                                          <link linkend="GDestroyNotify">GDestroyNotify</link> notify);
31 <link linkend="void">void</link>                <link linkend="pango-ft2-font-map-substitute-changed">pango_ft2_font_map_substitute_changed</link>
32                                                         (<link linkend="PangoFT2FontMap">PangoFT2FontMap</link> *fontmap);
33 <link linkend="PangoContext">PangoContext</link> *      <link linkend="pango-ft2-get-context">pango_ft2_get_context</link>               (<link linkend="double">double</link> dpi_x,
34                                                          <link linkend="double">double</link> dpi_y);
35 <link linkend="void">void</link>                <link linkend="pango-ft2-render">pango_ft2_render</link>                    (<link linkend="FT-Bitmap">FT_Bitmap</link> *bitmap,
36                                                          <link linkend="PangoFont">PangoFont</link> *font,
37                                                          <link linkend="PangoGlyphString">PangoGlyphString</link> *glyphs,
38                                                          <link linkend="gint">gint</link> x,
39                                                          <link linkend="gint">gint</link> y);
40 <link linkend="void">void</link>                <link linkend="pango-ft2-render-transformed">pango_ft2_render_transformed</link>        (<link linkend="FT-Bitmap">FT_Bitmap</link> *bitmap,
41                                                          const <link linkend="PangoMatrix">PangoMatrix</link> *matrix,
42                                                          <link linkend="PangoFont">PangoFont</link> *font,
43                                                          <link linkend="PangoGlyphString">PangoGlyphString</link> *glyphs,
44                                                          <link linkend="int">int</link> x,
45                                                          <link linkend="int">int</link> y);
46 <link linkend="void">void</link>                <link linkend="pango-ft2-render-layout-line">pango_ft2_render_layout_line</link>        (<link linkend="FT-Bitmap">FT_Bitmap</link> *bitmap,
47                                                          <link linkend="PangoLayoutLine">PangoLayoutLine</link> *line,
48                                                          <link linkend="int">int</link> x,
49                                                          <link linkend="int">int</link> y);
50 <link linkend="void">void</link>                <link linkend="pango-ft2-render-layout-line-subpixel">pango_ft2_render_layout_line_subpixel</link>
51                                                         (<link linkend="FT-Bitmap">FT_Bitmap</link> *bitmap,
52                                                          <link linkend="PangoLayoutLine">PangoLayoutLine</link> *line,
53                                                          <link linkend="int">int</link> x,
54                                                          <link linkend="int">int</link> y);
55 <link linkend="void">void</link>                <link linkend="pango-ft2-render-layout">pango_ft2_render_layout</link>             (<link linkend="FT-Bitmap">FT_Bitmap</link> *bitmap,
56                                                          <link linkend="PangoLayout">PangoLayout</link> *layout,
57                                                          <link linkend="int">int</link> x,
58                                                          <link linkend="int">int</link> y);
59 <link linkend="void">void</link>                <link linkend="pango-ft2-render-layout-subpixel">pango_ft2_render_layout_subpixel</link>    (<link linkend="FT-Bitmap">FT_Bitmap</link> *bitmap,
60                                                          <link linkend="PangoLayout">PangoLayout</link> *layout,
61                                                          <link linkend="int">int</link> x,
62                                                          <link linkend="int">int</link> y);
63 <link linkend="PangoGlyph">PangoGlyph</link>          <link linkend="pango-ft2-get-unknown-glyph">pango_ft2_get_unknown_glyph</link>         (<link linkend="PangoFont">PangoFont</link> *font);
64 <link linkend="int">int</link>                 <link linkend="pango-ft2-font-get-kerning">pango_ft2_font_get_kerning</link>          (<link linkend="PangoFont">PangoFont</link> *font,
65                                                          <link linkend="PangoGlyph">PangoGlyph</link> left,
66                                                          <link linkend="PangoGlyph">PangoGlyph</link> right);
67 <link linkend="FT-Face">FT_Face</link>             <link linkend="pango-ft2-font-get-face">pango_ft2_font_get_face</link>             (<link linkend="PangoFont">PangoFont</link> *font);
68 <link linkend="PangoCoverage">PangoCoverage</link> *     <link linkend="pango-ft2-font-get-coverage">pango_ft2_font_get_coverage</link>         (<link linkend="PangoFont">PangoFont</link> *font,
69                                                          <link linkend="PangoLanguage">PangoLanguage</link> *language);
70 <link linkend="PangoFontMap">PangoFontMap</link> *      <link linkend="pango-ft2-font-map-for-display">pango_ft2_font_map_for_display</link>      (void);
71 <link linkend="void">void</link>                <link linkend="pango-ft2-shutdown-display">pango_ft2_shutdown_display</link>          (void);
72 </synopsis>
73 </refsynopsisdiv>
74
75 <refsect1 id="pango-FreeType-Fonts-and-Rendering.object-hierarchy" role="object_hierarchy">
76 <title role="object_hierarchy.title">Object Hierarchy</title>
77 <synopsis>
78   <link linkend="GObject">GObject</link>
79    +----<link linkend="PangoFontMap">PangoFontMap</link>
80          +----<link linkend="PangoFcFontMap">PangoFcFontMap</link>
81                +----PangoFT2FontMap
82 </synopsis>
83 </refsect1>
84
85
86
87
88
89
90
91
92 <refsect1 id="pango-FreeType-Fonts-and-Rendering.description" role="desc">
93 <title role="desc.title">Description</title>
94 <para>
95 The macros and functions in this section are used to access fonts and render
96 text to bitmaps using the FreeType 2 library.
97 </para>
98 </refsect1>
99
100 <refsect1 id="pango-FreeType-Fonts-and-Rendering.details" role="details">
101 <title role="details.title">Details</title>
102 <refsect2 id="PangoFT2FontMap-struct" role="struct">
103 <title>PangoFT2FontMap</title>
104 <indexterm zone="PangoFT2FontMap-struct"><primary sortas="PangoFT2FontMap">PangoFT2FontMap</primary></indexterm><programlisting>typedef struct _PangoFT2FontMap PangoFT2FontMap;</programlisting>
105 <para>
106 The <link linkend="PangoFT2FontMap"><type>PangoFT2FontMap</type></link> is the <link linkend="PangoFontMap"><type>PangoFontMap</type></link> implementation for FreeType fonts.
107 </para></refsect2>
108 <refsect2 id="PANGO-RENDER-TYPE-FT2--CAPS" role="macro" condition="deprecated:">
109 <title>PANGO_RENDER_TYPE_FT2</title>
110 <indexterm zone="PANGO-RENDER-TYPE-FT2--CAPS" role="deprecated"><primary sortas="PANGO_RENDER_TYPE_FT2">PANGO_RENDER_TYPE_FT2</primary></indexterm><programlisting>#define PANGO_RENDER_TYPE_FT2 "PangoRenderFT2"
111 </programlisting>
112 <warning><para><literal>PANGO_RENDER_TYPE_FT2</literal> is deprecated and should not be used in newly-written code.</para></warning>
113 <para>
114 A string constant that was used to identify shape engines that work
115 with the FreeType backend. See <link linkend="PANGO-RENDER-TYPE-FC--CAPS"><literal>PANGO_RENDER_TYPE_FC</literal></link> for the replacement.
116 </para></refsect2>
117 <refsect2 id="pango-ft2-font-map-new" role="function" condition="since:1.2">
118 <title>pango_ft2_font_map_new ()</title>
119 <indexterm zone="pango-ft2-font-map-new" role="1.2"><primary sortas="pango_ft2_font_map_new">pango_ft2_font_map_new</primary></indexterm><programlisting><link linkend="PangoFontMap">PangoFontMap</link> *      pango_ft2_font_map_new              (void);</programlisting>
120 <para>
121 Create a new <link linkend="PangoFT2FontMap"><type>PangoFT2FontMap</type></link> object; a fontmap is used
122 to cache information about available fonts, and holds
123 certain global parameters such as the resolution and
124 the default substitute function (see
125 <link linkend="pango-ft2-font-map-set-default-substitute"><function>pango_ft2_font_map_set_default_substitute()</function></link>).</para>
126 <para>
127 </para><variablelist role="params">
128 <varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the newly created fontmap object. Unref
129 with <link linkend="g-object-unref"><function>g_object_unref()</function></link> when you are finished with it.
130
131 </simpara></listitem></varlistentry>
132 </variablelist><para role="since">Since 1.2</para></refsect2>
133 <refsect2 id="pango-ft2-font-map-set-resolution" role="function" condition="since:1.2">
134 <title>pango_ft2_font_map_set_resolution ()</title>
135 <indexterm zone="pango-ft2-font-map-set-resolution" role="1.2"><primary sortas="pango_ft2_font_map_set_resolution">pango_ft2_font_map_set_resolution</primary></indexterm><programlisting><link linkend="void">void</link>                pango_ft2_font_map_set_resolution   (<link linkend="PangoFT2FontMap">PangoFT2FontMap</link> *fontmap,
136                                                          <link linkend="double">double</link> dpi_x,
137                                                          <link linkend="double">double</link> dpi_y);</programlisting>
138 <para>
139 Sets the horizontal and vertical resolutions for the fontmap.</para>
140 <para>
141 </para><variablelist role="params">
142 <varlistentry><term><parameter>fontmap</parameter>&#160;:</term>
143 <listitem><simpara> a <link linkend="PangoFT2Fontmap"><type>PangoFT2Fontmap</type></link>
144 </simpara></listitem></varlistentry>
145 <varlistentry><term><parameter>dpi_x</parameter>&#160;:</term>
146 <listitem><simpara> dots per inch in the X direction
147 </simpara></listitem></varlistentry>
148 <varlistentry><term><parameter>dpi_y</parameter>&#160;:</term>
149 <listitem><simpara> dots per inch in the Y direction
150 </simpara></listitem></varlistentry>
151 </variablelist><para role="since">Since 1.2</para></refsect2>
152 <refsect2 id="pango-ft2-font-map-create-context" role="function" condition="deprecated:1.22: Use pango_font_map_create_context() instead.|since:1.2">
153 <title>pango_ft2_font_map_create_context ()</title>
154 <indexterm zone="pango-ft2-font-map-create-context" role="deprecated"><primary sortas="pango_ft2_font_map_create_context">pango_ft2_font_map_create_context</primary></indexterm><indexterm zone="pango-ft2-font-map-create-context" role="1.2"><primary sortas="pango_ft2_font_map_create_context">pango_ft2_font_map_create_context</primary></indexterm><programlisting><link linkend="PangoContext">PangoContext</link> *      pango_ft2_font_map_create_context   (<link linkend="PangoFT2FontMap">PangoFT2FontMap</link> *fontmap);</programlisting>
155 <warning><para><literal>pango_ft2_font_map_create_context</literal> has been deprecated since version 1.22 and should not be used in newly-written code. Use <link linkend="pango-font-map-create-context"><function>pango_font_map_create_context()</function></link> instead.</para></warning>
156 <para>
157 Create a <link linkend="PangoContext"><type>PangoContext</type></link> for the given fontmap.</para>
158 <para>
159 </para><variablelist role="params">
160 <varlistentry><term><parameter>fontmap</parameter>&#160;:</term>
161 <listitem><simpara> a <link linkend="PangoFT2Fontmap"><type>PangoFT2Fontmap</type></link>
162 </simpara></listitem></varlistentry>
163 <varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the newly created context; free with <link linkend="g-object-unref"><function>g_object_unref()</function></link>.
164
165 </simpara></listitem></varlistentry>
166 </variablelist><para role="since">Since 1.2</para></refsect2>
167 <refsect2 id="PangoFT2SubstituteFunc" role="function">
168 <title>PangoFT2SubstituteFunc ()</title>
169 <indexterm zone="PangoFT2SubstituteFunc"><primary sortas="PangoFT2SubstituteFunc">PangoFT2SubstituteFunc</primary></indexterm><programlisting><link linkend="void">void</link>                (*PangoFT2SubstituteFunc)           (<link linkend="FcPattern">FcPattern</link> *pattern,
170                                                          <link linkend="gpointer">gpointer</link> data);</programlisting>
171 <para>
172 Function type for doing final config tweaking on prepared FcPatterns.
173 </para><variablelist role="params">
174 <varlistentry><term><parameter>pattern</parameter>&#160;:</term>
175 <listitem><simpara>the <type>FcPattern</type> to tweak.
176 </simpara></listitem></varlistentry>
177 <varlistentry><term><parameter>data</parameter>&#160;:</term>
178 <listitem><simpara>user data.
179 </simpara></listitem></varlistentry>
180 </variablelist></refsect2>
181 <refsect2 id="pango-ft2-font-map-set-default-substitute" role="function" condition="since:1.2">
182 <title>pango_ft2_font_map_set_default_substitute ()</title>
183 <indexterm zone="pango-ft2-font-map-set-default-substitute" role="1.2"><primary sortas="pango_ft2_font_map_set_default_substitute">pango_ft2_font_map_set_default_substitute</primary></indexterm><programlisting><link linkend="void">void</link>                pango_ft2_font_map_set_default_substitute
184                                                         (<link linkend="PangoFT2FontMap">PangoFT2FontMap</link> *fontmap,
185                                                          <link linkend="PangoFT2SubstituteFunc">PangoFT2SubstituteFunc</link> func,
186                                                          <link linkend="gpointer">gpointer</link> data,
187                                                          <link linkend="GDestroyNotify">GDestroyNotify</link> notify);</programlisting>
188 <para>
189 Sets a function that will be called to do final configuration
190 substitution on a <link linkend="FcPattern"><type>FcPattern</type></link> before it is used to load
191 the font. This function can be used to do things like set
192 hinting and antialiasing options.</para>
193 <para>
194 </para><variablelist role="params">
195 <varlistentry><term><parameter>fontmap</parameter>&#160;:</term>
196 <listitem><simpara> a <link linkend="PangoFT2FontMap"><type>PangoFT2FontMap</type></link>
197 </simpara></listitem></varlistentry>
198 <varlistentry><term><parameter>func</parameter>&#160;:</term>
199 <listitem><simpara> function to call to to do final config tweaking
200        on <link linkend="FcPattern"><type>FcPattern</type></link> objects.
201 </simpara></listitem></varlistentry>
202 <varlistentry><term><parameter>data</parameter>&#160;:</term>
203 <listitem><simpara> data to pass to <parameter>func</parameter>
204 </simpara></listitem></varlistentry>
205 <varlistentry><term><parameter>notify</parameter>&#160;:</term>
206 <listitem><simpara> function to call when <parameter>data</parameter> is no longer used.
207 </simpara></listitem></varlistentry>
208 </variablelist><para role="since">Since 1.2</para></refsect2>
209 <refsect2 id="pango-ft2-font-map-substitute-changed" role="function" condition="since:1.2">
210 <title>pango_ft2_font_map_substitute_changed ()</title>
211 <indexterm zone="pango-ft2-font-map-substitute-changed" role="1.2"><primary sortas="pango_ft2_font_map_substitute_changed">pango_ft2_font_map_substitute_changed</primary></indexterm><programlisting><link linkend="void">void</link>                pango_ft2_font_map_substitute_changed
212                                                         (<link linkend="PangoFT2FontMap">PangoFT2FontMap</link> *fontmap);</programlisting>
213 <para>
214 Call this function any time the results of the
215 default substitution function set with
216 <link linkend="pango-ft2-font-map-set-default-substitute"><function>pango_ft2_font_map_set_default_substitute()</function></link> change.
217 That is, if your substitution function will return different
218 results for the same input pattern, you must call this function.</para>
219 <para>
220 </para><variablelist role="params">
221 <varlistentry><term><parameter>fontmap</parameter>&#160;:</term>
222 <listitem><simpara> a <link linkend="PangoFT2Fontmap"><type>PangoFT2Fontmap</type></link>
223 </simpara></listitem></varlistentry>
224 </variablelist><para role="since">Since 1.2</para></refsect2>
225 <refsect2 id="pango-ft2-get-context" role="function" condition="deprecated:1.22: Use pango_font_map_create_context() instead.">
226 <title>pango_ft2_get_context ()</title>
227 <indexterm zone="pango-ft2-get-context" role="deprecated"><primary sortas="pango_ft2_get_context">pango_ft2_get_context</primary></indexterm><programlisting><link linkend="PangoContext">PangoContext</link> *      pango_ft2_get_context               (<link linkend="double">double</link> dpi_x,
228                                                          <link linkend="double">double</link> dpi_y);</programlisting>
229 <warning><para><literal>pango_ft2_get_context</literal> has been deprecated since version 1.22 and should not be used in newly-written code. Use <link linkend="pango-font-map-create-context"><function>pango_font_map_create_context()</function></link> instead.</para></warning>
230 <para>
231 Retrieves a <link linkend="PangoContext"><type>PangoContext</type></link> for the default PangoFT2 fontmap
232 (see <link linkend="pango-ft2-fontmap-get-for-display"><function>pango_ft2_fontmap_get_for_display()</function></link>) and sets the resolution
233 for the default fontmap to <parameter>dpi_x</parameter> by <parameter>dpi_y</parameter>.</para>
234 <para>
235 </para><variablelist role="params">
236 <varlistentry><term><parameter>dpi_x</parameter>&#160;:</term>
237 <listitem><simpara>  the horizontal DPI of the target device
238 </simpara></listitem></varlistentry>
239 <varlistentry><term><parameter>dpi_y</parameter>&#160;:</term>
240 <listitem><simpara>  the vertical DPI of the target device
241 </simpara></listitem></varlistentry>
242 <varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the new <link linkend="PangoContext"><type>PangoContext</type></link>
243
244 </simpara></listitem></varlistentry>
245 </variablelist></refsect2>
246 <refsect2 id="pango-ft2-render" role="function">
247 <title>pango_ft2_render ()</title>
248 <indexterm zone="pango-ft2-render"><primary sortas="pango_ft2_render">pango_ft2_render</primary></indexterm><programlisting><link linkend="void">void</link>                pango_ft2_render                    (<link linkend="FT-Bitmap">FT_Bitmap</link> *bitmap,
249                                                          <link linkend="PangoFont">PangoFont</link> *font,
250                                                          <link linkend="PangoGlyphString">PangoGlyphString</link> *glyphs,
251                                                          <link linkend="gint">gint</link> x,
252                                                          <link linkend="gint">gint</link> y);</programlisting>
253 <para>
254 Renders a <link linkend="PangoGlyphString"><type>PangoGlyphString</type></link> onto a FreeType2 bitmap.</para>
255 <para>
256 </para><variablelist role="params">
257 <varlistentry><term><parameter>bitmap</parameter>&#160;:</term>
258 <listitem><simpara>  the FreeType2 bitmap onto which to draw the string
259 </simpara></listitem></varlistentry>
260 <varlistentry><term><parameter>font</parameter>&#160;:</term>
261 <listitem><simpara>    the font in which to draw the string
262 </simpara></listitem></varlistentry>
263 <varlistentry><term><parameter>glyphs</parameter>&#160;:</term>
264 <listitem><simpara>  the glyph string to draw
265 </simpara></listitem></varlistentry>
266 <varlistentry><term><parameter>x</parameter>&#160;:</term>
267 <listitem><simpara>       the x position of the start of the string (in pixels)
268 </simpara></listitem></varlistentry>
269 <varlistentry><term><parameter>y</parameter>&#160;:</term>
270 <listitem><simpara>       the y position of the baseline (in pixels)
271 </simpara></listitem></varlistentry>
272 </variablelist></refsect2>
273 <refsect2 id="pango-ft2-render-transformed" role="function" condition="since:1.6">
274 <title>pango_ft2_render_transformed ()</title>
275 <indexterm zone="pango-ft2-render-transformed" role="1.6"><primary sortas="pango_ft2_render_transformed">pango_ft2_render_transformed</primary></indexterm><programlisting><link linkend="void">void</link>                pango_ft2_render_transformed        (<link linkend="FT-Bitmap">FT_Bitmap</link> *bitmap,
276                                                          const <link linkend="PangoMatrix">PangoMatrix</link> *matrix,
277                                                          <link linkend="PangoFont">PangoFont</link> *font,
278                                                          <link linkend="PangoGlyphString">PangoGlyphString</link> *glyphs,
279                                                          <link linkend="int">int</link> x,
280                                                          <link linkend="int">int</link> y);</programlisting>
281 <para>
282 Renders a <link linkend="PangoGlyphString"><type>PangoGlyphString</type></link> onto a FreeType2 bitmap, possibly
283 transforming the layed-out coordinates through a transformation
284 matrix. Note that the transformation matrix for <parameter>font</parameter> is not
285 changed, so to produce correct rendering results, the <parameter>font</parameter>
286 must have been loaded using a <link linkend="PangoContext"><type>PangoContext</type></link> with an identical
287 transformation matrix to that passed in to this function.</para>
288 <para>
289 </para><variablelist role="params">
290 <varlistentry><term><parameter>bitmap</parameter>&#160;:</term>
291 <listitem><simpara>  the FreeType2 bitmap onto which to draw the string
292 </simpara></listitem></varlistentry>
293 <varlistentry><term><parameter>matrix</parameter>&#160;:</term>
294 <listitem><simpara>  a <link linkend="PangoMatrix"><type>PangoMatrix</type></link>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> to use an identity transformation
295 </simpara></listitem></varlistentry>
296 <varlistentry><term><parameter>font</parameter>&#160;:</term>
297 <listitem><simpara>    the font in which to draw the string
298 </simpara></listitem></varlistentry>
299 <varlistentry><term><parameter>glyphs</parameter>&#160;:</term>
300 <listitem><simpara>  the glyph string to draw
301 </simpara></listitem></varlistentry>
302 <varlistentry><term><parameter>x</parameter>&#160;:</term>
303 <listitem><simpara>       the x position of the start of the string (in Pango
304           units in user space coordinates)
305 </simpara></listitem></varlistentry>
306 <varlistentry><term><parameter>y</parameter>&#160;:</term>
307 <listitem><simpara>       the y position of the baseline (in Pango units
308           in user space coordinates)
309 </simpara></listitem></varlistentry>
310 </variablelist><para role="since">Since 1.6</para></refsect2>
311 <refsect2 id="pango-ft2-render-layout-line" role="function">
312 <title>pango_ft2_render_layout_line ()</title>
313 <indexterm zone="pango-ft2-render-layout-line"><primary sortas="pango_ft2_render_layout_line">pango_ft2_render_layout_line</primary></indexterm><programlisting><link linkend="void">void</link>                pango_ft2_render_layout_line        (<link linkend="FT-Bitmap">FT_Bitmap</link> *bitmap,
314                                                          <link linkend="PangoLayoutLine">PangoLayoutLine</link> *line,
315                                                          <link linkend="int">int</link> x,
316                                                          <link linkend="int">int</link> y);</programlisting>
317 <para>
318 Render a <link linkend="PangoLayoutLine"><type>PangoLayoutLine</type></link> onto a FreeType2 bitmap</para>
319 <para>
320 </para><variablelist role="params">
321 <varlistentry><term><parameter>bitmap</parameter>&#160;:</term>
322 <listitem><simpara>    a <type>FT_Bitmap</type> to render the line onto
323 </simpara></listitem></varlistentry>
324 <varlistentry><term><parameter>line</parameter>&#160;:</term>
325 <listitem><simpara>      a <link linkend="PangoLayoutLine"><type>PangoLayoutLine</type></link>
326 </simpara></listitem></varlistentry>
327 <varlistentry><term><parameter>x</parameter>&#160;:</term>
328 <listitem><simpara>         the x position of start of string (in pixels)
329 </simpara></listitem></varlistentry>
330 <varlistentry><term><parameter>y</parameter>&#160;:</term>
331 <listitem><simpara>         the y position of baseline (in pixels)
332 </simpara></listitem></varlistentry>
333 </variablelist></refsect2>
334 <refsect2 id="pango-ft2-render-layout-line-subpixel" role="function" condition="since:1.6">
335 <title>pango_ft2_render_layout_line_subpixel ()</title>
336 <indexterm zone="pango-ft2-render-layout-line-subpixel" role="1.6"><primary sortas="pango_ft2_render_layout_line_subpixel">pango_ft2_render_layout_line_subpixel</primary></indexterm><programlisting><link linkend="void">void</link>                pango_ft2_render_layout_line_subpixel
337                                                         (<link linkend="FT-Bitmap">FT_Bitmap</link> *bitmap,
338                                                          <link linkend="PangoLayoutLine">PangoLayoutLine</link> *line,
339                                                          <link linkend="int">int</link> x,
340                                                          <link linkend="int">int</link> y);</programlisting>
341 <para>
342 Render a <link linkend="PangoLayoutLine"><type>PangoLayoutLine</type></link> onto a FreeType2 bitmap, with he
343 location specified in fixed-point Pango units rather than
344 pixels. (Using this will avoid extra inaccuracies from
345 rounding to integer pixels multiple times, even if the
346 final glyph positions are integers.)</para>
347 <para>
348 </para><variablelist role="params">
349 <varlistentry><term><parameter>bitmap</parameter>&#160;:</term>
350 <listitem><simpara>    a <type>FT_Bitmap</type> to render the line onto
351 </simpara></listitem></varlistentry>
352 <varlistentry><term><parameter>line</parameter>&#160;:</term>
353 <listitem><simpara>      a <link linkend="PangoLayoutLine"><type>PangoLayoutLine</type></link>
354 </simpara></listitem></varlistentry>
355 <varlistentry><term><parameter>x</parameter>&#160;:</term>
356 <listitem><simpara>         the x position of start of string (in Pango units)
357 </simpara></listitem></varlistentry>
358 <varlistentry><term><parameter>y</parameter>&#160;:</term>
359 <listitem><simpara>         the y position of baseline (in Pango units)
360 </simpara></listitem></varlistentry>
361 </variablelist><para role="since">Since 1.6</para></refsect2>
362 <refsect2 id="pango-ft2-render-layout" role="function">
363 <title>pango_ft2_render_layout ()</title>
364 <indexterm zone="pango-ft2-render-layout"><primary sortas="pango_ft2_render_layout">pango_ft2_render_layout</primary></indexterm><programlisting><link linkend="void">void</link>                pango_ft2_render_layout             (<link linkend="FT-Bitmap">FT_Bitmap</link> *bitmap,
365                                                          <link linkend="PangoLayout">PangoLayout</link> *layout,
366                                                          <link linkend="int">int</link> x,
367                                                          <link linkend="int">int</link> y);</programlisting>
368 <para>
369 Render a <link linkend="PangoLayout"><type>PangoLayout</type></link> onto a FreeType2 bitmap</para>
370 <para>
371 </para><variablelist role="params">
372 <varlistentry><term><parameter>bitmap</parameter>&#160;:</term>
373 <listitem><simpara>    a <type>FT_Bitmap</type> to render the layout onto
374 </simpara></listitem></varlistentry>
375 <varlistentry><term><parameter>layout</parameter>&#160;:</term>
376 <listitem><simpara>    a <link linkend="PangoLayout"><type>PangoLayout</type></link>
377 </simpara></listitem></varlistentry>
378 <varlistentry><term><parameter>x</parameter>&#160;:</term>
379 <listitem><simpara>         the X position of the left of the layout (in pixels)
380 </simpara></listitem></varlistentry>
381 <varlistentry><term><parameter>y</parameter>&#160;:</term>
382 <listitem><simpara>         the Y position of the top of the layout (in pixels)
383 </simpara></listitem></varlistentry>
384 </variablelist></refsect2>
385 <refsect2 id="pango-ft2-render-layout-subpixel" role="function" condition="since:1.6">
386 <title>pango_ft2_render_layout_subpixel ()</title>
387 <indexterm zone="pango-ft2-render-layout-subpixel" role="1.6"><primary sortas="pango_ft2_render_layout_subpixel">pango_ft2_render_layout_subpixel</primary></indexterm><programlisting><link linkend="void">void</link>                pango_ft2_render_layout_subpixel    (<link linkend="FT-Bitmap">FT_Bitmap</link> *bitmap,
388                                                          <link linkend="PangoLayout">PangoLayout</link> *layout,
389                                                          <link linkend="int">int</link> x,
390                                                          <link linkend="int">int</link> y);</programlisting>
391 <para>
392 Render a <link linkend="PangoLayout"><type>PangoLayout</type></link> onto a FreeType2 bitmap, with he
393 location specified in fixed-point Pango units rather than
394 pixels. (Using this will avoid extra inaccuracies from
395 rounding to integer pixels multiple times, even if the
396 final glyph positions are integers.)</para>
397 <para>
398 </para><variablelist role="params">
399 <varlistentry><term><parameter>bitmap</parameter>&#160;:</term>
400 <listitem><simpara>    a <type>FT_Bitmap</type> to render the layout onto
401 </simpara></listitem></varlistentry>
402 <varlistentry><term><parameter>layout</parameter>&#160;:</term>
403 <listitem><simpara>    a <link linkend="PangoLayout"><type>PangoLayout</type></link>
404 </simpara></listitem></varlistentry>
405 <varlistentry><term><parameter>x</parameter>&#160;:</term>
406 <listitem><simpara>         the X position of the left of the layout (in Pango units)
407 </simpara></listitem></varlistentry>
408 <varlistentry><term><parameter>y</parameter>&#160;:</term>
409 <listitem><simpara>         the Y position of the top of the layout (in Pango units)
410 </simpara></listitem></varlistentry>
411 </variablelist><para role="since">Since 1.6</para></refsect2>
412 <refsect2 id="pango-ft2-get-unknown-glyph" role="function" condition="deprecated:">
413 <title>pango_ft2_get_unknown_glyph ()</title>
414 <indexterm zone="pango-ft2-get-unknown-glyph" role="deprecated"><primary sortas="pango_ft2_get_unknown_glyph">pango_ft2_get_unknown_glyph</primary></indexterm><programlisting><link linkend="PangoGlyph">PangoGlyph</link>          pango_ft2_get_unknown_glyph         (<link linkend="PangoFont">PangoFont</link> *font);</programlisting>
415 <warning><para><literal>pango_ft2_get_unknown_glyph</literal> is deprecated and should not be used in newly-written code.</para></warning>
416 <para>
417 Return the index of a glyph suitable for drawing unknown characters with
418 <parameter>font</parameter>, or <link linkend="PANGO-GLYPH-EMPTY--CAPS"><literal>PANGO_GLYPH_EMPTY</literal></link> if no suitable glyph found.
419 </para>
420 <para>
421 If you want to draw an unknown-box for a character that is not covered
422 by the font,
423 use <link linkend="PANGO-GET-UNKNOWN-GLYPH--CAPS"><function>PANGO_GET_UNKNOWN_GLYPH()</function></link> instead.</para>
424 <para>
425 </para><variablelist role="params">
426 <varlistentry><term><parameter>font</parameter>&#160;:</term>
427 <listitem><simpara> a <link linkend="PangoFont"><type>PangoFont</type></link>
428 </simpara></listitem></varlistentry>
429 <varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a glyph index into <parameter>font</parameter>, or <link linkend="PANGO-GLYPH-EMPTY--CAPS"><literal>PANGO_GLYPH_EMPTY</literal></link>
430 </simpara></listitem></varlistentry>
431 </variablelist></refsect2>
432 <refsect2 id="pango-ft2-font-get-kerning" role="function" condition="deprecated:">
433 <title>pango_ft2_font_get_kerning ()</title>
434 <indexterm zone="pango-ft2-font-get-kerning" role="deprecated"><primary sortas="pango_ft2_font_get_kerning">pango_ft2_font_get_kerning</primary></indexterm><programlisting><link linkend="int">int</link>                 pango_ft2_font_get_kerning          (<link linkend="PangoFont">PangoFont</link> *font,
435                                                          <link linkend="PangoGlyph">PangoGlyph</link> left,
436                                                          <link linkend="PangoGlyph">PangoGlyph</link> right);</programlisting>
437 <warning><para><literal>pango_ft2_font_get_kerning</literal> is deprecated and should not be used in newly-written code.</para></warning>
438 <para>
439 Retrieves kerning information for a combination of two glyphs.
440 </para>
441 <para>
442 Use <link linkend="pango-fc-font-kern-glyphs"><function>pango_fc_font_kern_glyphs()</function></link> instead.</para>
443 <para>
444 </para><variablelist role="params">
445 <varlistentry><term><parameter>font</parameter>&#160;:</term>
446 <listitem><simpara> a <link linkend="PangoFont"><type>PangoFont</type></link>
447 </simpara></listitem></varlistentry>
448 <varlistentry><term><parameter>left</parameter>&#160;:</term>
449 <listitem><simpara> the left <link linkend="PangoGlyph"><type>PangoGlyph</type></link>
450 </simpara></listitem></varlistentry>
451 <varlistentry><term><parameter>right</parameter>&#160;:</term>
452 <listitem><simpara> the right <link linkend="PangoGlyph"><type>PangoGlyph</type></link>
453 </simpara></listitem></varlistentry>
454 <varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> The amount of kerning (in Pango units) to apply for
455 the given combination of glyphs.
456 </simpara></listitem></varlistentry>
457 </variablelist></refsect2>
458 <refsect2 id="pango-ft2-font-get-face" role="function" condition="deprecated:">
459 <title>pango_ft2_font_get_face ()</title>
460 <indexterm zone="pango-ft2-font-get-face" role="deprecated"><primary sortas="pango_ft2_font_get_face">pango_ft2_font_get_face</primary></indexterm><programlisting><link linkend="FT-Face">FT_Face</link>             pango_ft2_font_get_face             (<link linkend="PangoFont">PangoFont</link> *font);</programlisting>
461 <warning><para><literal>pango_ft2_font_get_face</literal> is deprecated and should not be used in newly-written code.</para></warning>
462 <para>
463 Returns the native FreeType2 <type>FT_Face</type> structure used for this <link linkend="PangoFont"><type>PangoFont</type></link>.
464 This may be useful if you want to use FreeType2 functions directly.
465 </para>
466 <para>
467 Use <link linkend="pango-fc-font-lock-face"><function>pango_fc_font_lock_face()</function></link> instead; when you are done with a
468 face from <link linkend="pango-fc-font-lock-face"><function>pango_fc_font_lock_face()</function></link> you must call
469 <link linkend="pango-fc-font-unlock-face"><function>pango_fc_font_unlock_face()</function></link>.</para>
470 <para>
471 </para><variablelist role="params">
472 <varlistentry><term><parameter>font</parameter>&#160;:</term>
473 <listitem><simpara> a <link linkend="PangoFont"><type>PangoFont</type></link>
474 </simpara></listitem></varlistentry>
475 <varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a pointer to a <type>FT_Face</type> structure, with the size set correctly,
476               or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if <parameter>font</parameter> is <link linkend="NULL--CAPS"><literal>NULL</literal></link>.
477 </simpara></listitem></varlistentry>
478 </variablelist></refsect2>
479 <refsect2 id="pango-ft2-font-get-coverage" role="function" condition="deprecated:">
480 <title>pango_ft2_font_get_coverage ()</title>
481 <indexterm zone="pango-ft2-font-get-coverage" role="deprecated"><primary sortas="pango_ft2_font_get_coverage">pango_ft2_font_get_coverage</primary></indexterm><programlisting><link linkend="PangoCoverage">PangoCoverage</link> *     pango_ft2_font_get_coverage         (<link linkend="PangoFont">PangoFont</link> *font,
482                                                          <link linkend="PangoLanguage">PangoLanguage</link> *language);</programlisting>
483 <warning><para><literal>pango_ft2_font_get_coverage</literal> is deprecated and should not be used in newly-written code.</para></warning>
484 <para>
485 Gets the <link linkend="PangoCoverage"><type>PangoCoverage</type></link> for a <link linkend="PangoFT2Font"><type>PangoFT2Font</type></link>. Use
486 <link linkend="pango-font-get-coverage"><function>pango_font_get_coverage()</function></link> instead.</para>
487 <para>
488 </para><variablelist role="params">
489 <varlistentry><term><parameter>font</parameter>&#160;:</term>
490 <listitem><simpara> a <link linkend="PangoFT2Font"><type>PangoFT2Font</type></link>.
491 </simpara></listitem></varlistentry>
492 <varlistentry><term><parameter>language</parameter>&#160;:</term>
493 <listitem><simpara> a language tag.
494 </simpara></listitem></varlistentry>
495 <varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a <link linkend="PangoCoverage"><type>PangoCoverage</type></link>.
496 </simpara></listitem></varlistentry>
497 </variablelist></refsect2>
498 <refsect2 id="pango-ft2-font-map-for-display" role="function" condition="deprecated:">
499 <title>pango_ft2_font_map_for_display ()</title>
500 <indexterm zone="pango-ft2-font-map-for-display" role="deprecated"><primary sortas="pango_ft2_font_map_for_display">pango_ft2_font_map_for_display</primary></indexterm><programlisting><link linkend="PangoFontMap">PangoFontMap</link> *      pango_ft2_font_map_for_display      (void);</programlisting>
501 <warning><para><literal>pango_ft2_font_map_for_display</literal> is deprecated and should not be used in newly-written code.</para></warning>
502 <para>
503 Returns a <link linkend="PangoFT2FontMap"><type>PangoFT2FontMap</type></link>. This font map is cached and should
504 not be freed. If the font map is no longer needed, it can
505 be released with <link linkend="pango-ft2-shutdown-display"><function>pango_ft2_shutdown_display()</function></link>. Use of the
506 global PangoFT2 fontmap is deprecated; use <link linkend="pango-ft2-font-map-new"><function>pango_ft2_font_map_new()</function></link>
507 instead.</para>
508 <para>
509 </para><variablelist role="params">
510 <varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a <link linkend="PangoFT2FontMap"><type>PangoFT2FontMap</type></link>.
511 </simpara></listitem></varlistentry>
512 </variablelist></refsect2>
513 <refsect2 id="pango-ft2-shutdown-display" role="function" condition="deprecated:">
514 <title>pango_ft2_shutdown_display ()</title>
515 <indexterm zone="pango-ft2-shutdown-display" role="deprecated"><primary sortas="pango_ft2_shutdown_display">pango_ft2_shutdown_display</primary></indexterm><programlisting><link linkend="void">void</link>                pango_ft2_shutdown_display          (void);</programlisting>
516 <warning><para><literal>pango_ft2_shutdown_display</literal> is deprecated and should not be used in newly-written code.</para></warning>
517 <para>
518 Free the global fontmap. (See <link linkend="pango-ft2-font-map-for-display"><function>pango_ft2_font_map_for_display()</function></link>)
519 Use of the global PangoFT2 fontmap is deprecated.</para>
520 <para>
521 </para></refsect2>
522
523 </refsect1>
524
525
526
527
528 </refentry>