1 <refentry id="pango-FreeType-Fonts-and-Rendering">
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>
9 <refname>FreeType Fonts and Rendering</refname>
10 <refpurpose>Functions for shape engines to manipulate FreeType fonts</refpurpose>
13 <refsynopsisdiv id="pango-FreeType-Fonts-and-Rendering.synopsis" role="synopsis">
14 <title role="synopsis.title">Synopsis</title>
15 <anchor id="PangoFT2FontMap"/>
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);
75 <refsect1 id="pango-FreeType-Fonts-and-Rendering.object-hierarchy" role="object_hierarchy">
76 <title role="object_hierarchy.title">Object Hierarchy</title>
78 <link linkend="GObject">GObject</link>
79 +----<link linkend="PangoFontMap">PangoFontMap</link>
80 +----<link linkend="PangoFcFontMap">PangoFcFontMap</link>
92 <refsect1 id="pango-FreeType-Fonts-and-Rendering.description" role="desc">
93 <title role="desc.title">Description</title>
95 The macros and functions in this section are used to access fonts and render
96 text to bitmaps using the FreeType 2 library.
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>
106 The <link linkend="PangoFT2FontMap"><type>PangoFT2FontMap</type></link> is the <link linkend="PangoFontMap"><type>PangoFontMap</type></link> implementation for FreeType fonts.
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"
112 <warning><para><literal>PANGO_RENDER_TYPE_FT2</literal> is deprecated and should not be used in newly-written code.</para></warning>
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.
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>
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>
127 </para><variablelist role="params">
128 <varlistentry><term><emphasis>Returns</emphasis> :</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.
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>
139 Sets the horizontal and vertical resolutions for the fontmap.</para>
141 </para><variablelist role="params">
142 <varlistentry><term><parameter>fontmap</parameter> :</term>
143 <listitem><simpara> a <link linkend="PangoFT2Fontmap"><type>PangoFT2Fontmap</type></link>
144 </simpara></listitem></varlistentry>
145 <varlistentry><term><parameter>dpi_x</parameter> :</term>
146 <listitem><simpara> dots per inch in the X direction
147 </simpara></listitem></varlistentry>
148 <varlistentry><term><parameter>dpi_y</parameter> :</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>
157 Create a <link linkend="PangoContext"><type>PangoContext</type></link> for the given fontmap.</para>
159 </para><variablelist role="params">
160 <varlistentry><term><parameter>fontmap</parameter> :</term>
161 <listitem><simpara> a <link linkend="PangoFT2Fontmap"><type>PangoFT2Fontmap</type></link>
162 </simpara></listitem></varlistentry>
163 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the newly created context; free with <link linkend="g-object-unref"><function>g_object_unref()</function></link>.
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>
172 Function type for doing final config tweaking on prepared FcPatterns.
173 </para><variablelist role="params">
174 <varlistentry><term><parameter>pattern</parameter> :</term>
175 <listitem><simpara>the <type>FcPattern</type> to tweak.
176 </simpara></listitem></varlistentry>
177 <varlistentry><term><parameter>data</parameter> :</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>
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>
194 </para><variablelist role="params">
195 <varlistentry><term><parameter>fontmap</parameter> :</term>
196 <listitem><simpara> a <link linkend="PangoFT2FontMap"><type>PangoFT2FontMap</type></link>
197 </simpara></listitem></varlistentry>
198 <varlistentry><term><parameter>func</parameter> :</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> :</term>
203 <listitem><simpara> data to pass to <parameter>func</parameter>
204 </simpara></listitem></varlistentry>
205 <varlistentry><term><parameter>notify</parameter> :</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>
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>
220 </para><variablelist role="params">
221 <varlistentry><term><parameter>fontmap</parameter> :</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>
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>
235 </para><variablelist role="params">
236 <varlistentry><term><parameter>dpi_x</parameter> :</term>
237 <listitem><simpara> the horizontal DPI of the target device
238 </simpara></listitem></varlistentry>
239 <varlistentry><term><parameter>dpi_y</parameter> :</term>
240 <listitem><simpara> the vertical DPI of the target device
241 </simpara></listitem></varlistentry>
242 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the new <link linkend="PangoContext"><type>PangoContext</type></link>
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>
254 Renders a <link linkend="PangoGlyphString"><type>PangoGlyphString</type></link> onto a FreeType2 bitmap.</para>
256 </para><variablelist role="params">
257 <varlistentry><term><parameter>bitmap</parameter> :</term>
258 <listitem><simpara> the FreeType2 bitmap onto which to draw the string
259 </simpara></listitem></varlistentry>
260 <varlistentry><term><parameter>font</parameter> :</term>
261 <listitem><simpara> the font in which to draw the string
262 </simpara></listitem></varlistentry>
263 <varlistentry><term><parameter>glyphs</parameter> :</term>
264 <listitem><simpara> the glyph string to draw
265 </simpara></listitem></varlistentry>
266 <varlistentry><term><parameter>x</parameter> :</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> :</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>
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>
289 </para><variablelist role="params">
290 <varlistentry><term><parameter>bitmap</parameter> :</term>
291 <listitem><simpara> the FreeType2 bitmap onto which to draw the string
292 </simpara></listitem></varlistentry>
293 <varlistentry><term><parameter>matrix</parameter> :</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> :</term>
297 <listitem><simpara> the font in which to draw the string
298 </simpara></listitem></varlistentry>
299 <varlistentry><term><parameter>glyphs</parameter> :</term>
300 <listitem><simpara> the glyph string to draw
301 </simpara></listitem></varlistentry>
302 <varlistentry><term><parameter>x</parameter> :</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> :</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>
318 Render a <link linkend="PangoLayoutLine"><type>PangoLayoutLine</type></link> onto a FreeType2 bitmap</para>
320 </para><variablelist role="params">
321 <varlistentry><term><parameter>bitmap</parameter> :</term>
322 <listitem><simpara> a <type>FT_Bitmap</type> to render the line onto
323 </simpara></listitem></varlistentry>
324 <varlistentry><term><parameter>line</parameter> :</term>
325 <listitem><simpara> a <link linkend="PangoLayoutLine"><type>PangoLayoutLine</type></link>
326 </simpara></listitem></varlistentry>
327 <varlistentry><term><parameter>x</parameter> :</term>
328 <listitem><simpara> the x position of start of string (in pixels)
329 </simpara></listitem></varlistentry>
330 <varlistentry><term><parameter>y</parameter> :</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>
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>
348 </para><variablelist role="params">
349 <varlistentry><term><parameter>bitmap</parameter> :</term>
350 <listitem><simpara> a <type>FT_Bitmap</type> to render the line onto
351 </simpara></listitem></varlistentry>
352 <varlistentry><term><parameter>line</parameter> :</term>
353 <listitem><simpara> a <link linkend="PangoLayoutLine"><type>PangoLayoutLine</type></link>
354 </simpara></listitem></varlistentry>
355 <varlistentry><term><parameter>x</parameter> :</term>
356 <listitem><simpara> the x position of start of string (in Pango units)
357 </simpara></listitem></varlistentry>
358 <varlistentry><term><parameter>y</parameter> :</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>
369 Render a <link linkend="PangoLayout"><type>PangoLayout</type></link> onto a FreeType2 bitmap</para>
371 </para><variablelist role="params">
372 <varlistentry><term><parameter>bitmap</parameter> :</term>
373 <listitem><simpara> a <type>FT_Bitmap</type> to render the layout onto
374 </simpara></listitem></varlistentry>
375 <varlistentry><term><parameter>layout</parameter> :</term>
376 <listitem><simpara> a <link linkend="PangoLayout"><type>PangoLayout</type></link>
377 </simpara></listitem></varlistentry>
378 <varlistentry><term><parameter>x</parameter> :</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> :</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>
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>
398 </para><variablelist role="params">
399 <varlistentry><term><parameter>bitmap</parameter> :</term>
400 <listitem><simpara> a <type>FT_Bitmap</type> to render the layout onto
401 </simpara></listitem></varlistentry>
402 <varlistentry><term><parameter>layout</parameter> :</term>
403 <listitem><simpara> a <link linkend="PangoLayout"><type>PangoLayout</type></link>
404 </simpara></listitem></varlistentry>
405 <varlistentry><term><parameter>x</parameter> :</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> :</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>
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.
421 If you want to draw an unknown-box for a character that is not covered
423 use <link linkend="PANGO-GET-UNKNOWN-GLYPH--CAPS"><function>PANGO_GET_UNKNOWN_GLYPH()</function></link> instead.</para>
425 </para><variablelist role="params">
426 <varlistentry><term><parameter>font</parameter> :</term>
427 <listitem><simpara> a <link linkend="PangoFont"><type>PangoFont</type></link>
428 </simpara></listitem></varlistentry>
429 <varlistentry><term><emphasis>Returns</emphasis> :</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>
439 Retrieves kerning information for a combination of two glyphs.
442 Use <link linkend="pango-fc-font-kern-glyphs"><function>pango_fc_font_kern_glyphs()</function></link> instead.</para>
444 </para><variablelist role="params">
445 <varlistentry><term><parameter>font</parameter> :</term>
446 <listitem><simpara> a <link linkend="PangoFont"><type>PangoFont</type></link>
447 </simpara></listitem></varlistentry>
448 <varlistentry><term><parameter>left</parameter> :</term>
449 <listitem><simpara> the left <link linkend="PangoGlyph"><type>PangoGlyph</type></link>
450 </simpara></listitem></varlistentry>
451 <varlistentry><term><parameter>right</parameter> :</term>
452 <listitem><simpara> the right <link linkend="PangoGlyph"><type>PangoGlyph</type></link>
453 </simpara></listitem></varlistentry>
454 <varlistentry><term><emphasis>Returns</emphasis> :</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>
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.
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>
471 </para><variablelist role="params">
472 <varlistentry><term><parameter>font</parameter> :</term>
473 <listitem><simpara> a <link linkend="PangoFont"><type>PangoFont</type></link>
474 </simpara></listitem></varlistentry>
475 <varlistentry><term><emphasis>Returns</emphasis> :</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>
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>
488 </para><variablelist role="params">
489 <varlistentry><term><parameter>font</parameter> :</term>
490 <listitem><simpara> a <link linkend="PangoFT2Font"><type>PangoFT2Font</type></link>.
491 </simpara></listitem></varlistentry>
492 <varlistentry><term><parameter>language</parameter> :</term>
493 <listitem><simpara> a language tag.
494 </simpara></listitem></varlistentry>
495 <varlistentry><term><emphasis>Returns</emphasis> :</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>
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>
509 </para><variablelist role="params">
510 <varlistentry><term><emphasis>Returns</emphasis> :</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>
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>