<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
  "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
[
<!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
]>
<refentry id="pango-Xft-Fonts-and-Rendering">
<refmeta>
<refentrytitle role="top_of_page" id="pango-Xft-Fonts-and-Rendering.top_of_page">Xft Fonts and Rendering</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>PANGO Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>Xft Fonts and Rendering</refname>
<refpurpose>Font handling and rendering with the Xft backend</refpurpose>
</refnamediv>

<refsect1 id="pango-Xft-Fonts-and-Rendering.functions" role="functions_proto">
<title role="functions_proto.title">Functions</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="functions_return" colwidth="150px"/>
<colspec colname="functions_name"/>
<tbody>
<row><entry role="function_type"><link linkend="PangoContext"><returnvalue>PangoContext</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-xft-get-context">pango_xft_get_context</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoFontMap"><returnvalue>PangoFontMap</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-xft-get-font-map">pango_xft_get_font_map</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-xft-set-default-substitute">pango_xft_set_default_substitute</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><phrase role="c_punctuation">(</phrase><link linkend="PangoXftSubstituteFunc">*PangoXftSubstituteFunc</link><phrase role="c_punctuation">)</phrase>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-xft-substitute-changed">pango_xft_substitute_changed</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-xft-shutdown-display">pango_xft_shutdown_display</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="XftFont"><returnvalue>XftFont</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-xft-font-get-font">pango_xft_font_get_font</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="Display"><returnvalue>Display</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-xft-font-get-display">pango_xft_font_get_display</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-xft-font-has-char">pango_xft_font_has_char</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="FT-Face"><returnvalue>FT_Face</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-xft-font-lock-face">pango_xft_font_lock_face</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-xft-font-unlock-face">pango_xft_font_unlock_face</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="guint"><returnvalue>guint</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-xft-font-get-glyph">pango_xft_font_get_glyph</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoGlyph"><returnvalue>PangoGlyph</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-xft-font-get-unknown-glyph">pango_xft_font_get_unknown_glyph</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="PangoRenderer"><returnvalue>PangoRenderer</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="pango-xft-renderer-new">pango_xft_renderer_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-xft-renderer-set-draw">pango_xft_renderer_set_draw</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-xft-renderer-set-default-color">pango_xft_renderer_set_default_color</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-xft-render">pango_xft_render</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-xft-picture-render">pango_xft_picture_render</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-xft-render-transformed">pango_xft_render_transformed</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-xft-render-layout-line">pango_xft_render_layout_line</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="pango-xft-render-layout">pango_xft_render_layout</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="pango-Xft-Fonts-and-Rendering.properties" role="properties">
<title role="properties.title">Properties</title>
<informaltable frame="none">
<tgroup cols="3">
<colspec colname="properties_type" colwidth="150px"/>
<colspec colname="properties_name" colwidth="300px"/>
<colspec colname="properties_flags" colwidth="200px"/>
<tbody>
<row><entry role="property_type"><link linkend="gpointer"><type>gpointer</type></link></entry><entry role="property_name"><link linkend="PangoXftRenderer--display">display</link></entry><entry role="property_flags">Write / Construct Only</entry></row>
<row><entry role="property_type"><link linkend="gint"><type>gint</type></link></entry><entry role="property_name"><link linkend="PangoXftRenderer--screen">screen</link></entry><entry role="property_flags">Write / Construct Only</entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<anchor id="PangoXftFont"/><anchor id="PangoXftFontMap"/><anchor id="PangoXftRenderer"/><refsect1 id="pango-Xft-Fonts-and-Rendering.other" role="other_proto">
<title role="other_proto.title">Types and Values</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="name" colwidth="150px"/>
<colspec colname="description"/>
<tbody>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="PangoXftFont-struct">PangoXftFont</link></entry></row>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="PangoXftFontMap-struct">PangoXftFontMap</link></entry></row>
<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="PANGO-RENDER-TYPE-XFT:CAPS">PANGO_RENDER_TYPE_XFT</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="PangoXftRenderer-struct">PangoXftRenderer</link></entry></row>
<row><entry role="datatype_keyword">struct</entry><entry role="function_name"><link linkend="PangoXftRendererClass">PangoXftRendererClass</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="pango-Xft-Fonts-and-Rendering.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<screen>    <link linkend="GObject">GObject</link>
    <phrase role="lineart">&#9500;&#9472;&#9472;</phrase> <link linkend="PangoFont">PangoFont</link>
    <phrase role="lineart">&#9474;</phrase>   <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> <link linkend="PangoFcFont">PangoFcFont</link>
    <phrase role="lineart">&#9474;</phrase>       <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> PangoXftFont
    <phrase role="lineart">&#9500;&#9472;&#9472;</phrase> <link linkend="PangoFontMap">PangoFontMap</link>
    <phrase role="lineart">&#9474;</phrase>   <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> <link linkend="PangoFcFontMap">PangoFcFontMap</link>
    <phrase role="lineart">&#9474;</phrase>       <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> PangoXftFontMap
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> <link linkend="PangoRenderer">PangoRenderer</link>
        <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> PangoXftRenderer
</screen>
</refsect1>


<refsect1 id="pango-Xft-Fonts-and-Rendering.description" role="desc">
<title role="desc.title">Description</title>
<para>The Xft library is a library for displaying fonts on the X window
system; internally it uses the fontconfig library to locate font
files, and the FreeType library to load and render fonts. The
Xft backend is the recommended Pango font backend for screen
display with X. (The <link linkend="pango-Cairo-Rendering">Cairo back end</link> is another possibility.)</para>
<para>Using the Xft backend is generally straightforward;
<link linkend="pango-xft-get-context"><function>pango_xft_get_context()</function></link> creates a context for a specified display
and screen. You can then create a <link linkend="PangoLayout"><type>PangoLayout</type></link> with that context
and render it with <link linkend="pango-xft-render-layout"><function>pango_xft_render_layout()</function></link>. At a more advanced
level, the low-level fontconfig options used for rendering fonts
can be affected using <link linkend="pango-xft-set-default-substitute"><function>pango_xft_set_default_substitute()</function></link>, and
<link linkend="pango-xft-substitute-changed"><function>pango_xft_substitute_changed()</function></link>.</para>
<para>A range of functions for drawing pieces of a layout, such as
individual layout lines and glyphs strings are provided.  You can also
directly create a <link linkend="PangoXftRenderer"><type>PangoXftRenderer</type></link>. Finally, in some advanced cases, it
is useful to derive from <link linkend="PangoXftRenderer"><type>PangoXftRenderer</type></link>. Deriving from
<link linkend="PangoXftRenderer"><type>PangoXftRenderer</type></link> is useful for two reasons. One reason is be to
support custom attributes by overriding <link linkend="PangoRendererClass"><type>PangoRendererClass</type></link> virtual
functions like 'prepare_run' or 'draw_shape'. The reason is to
customize exactly how the final bits are drawn to the destination by
overriding the <link linkend="PangoXftRendererClass"><type>PangoXftRendererClass</type></link> virtual functions
'composite_glyphs' and 'composite_trapezoids'.</para>

</refsect1>
<refsect1 id="pango-Xft-Fonts-and-Rendering.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="pango-xft-get-context" role="function" condition="deprecated">
<title>pango_xft_get_context&#160;()</title>
<indexterm zone="pango-xft-get-context" role="deprecated"><primary>pango_xft_get_context</primary></indexterm>
<programlisting language="C"><link linkend="PangoContext"><returnvalue>PangoContext</returnvalue></link>&#160;*
pango_xft_get_context (<parameter><link linkend="Display"><type>Display</type></link> *display</parameter>,
                       <parameter><link linkend="int"><type>int</type></link> screen</parameter>);</programlisting>
<warning><para><literal>pango_xft_get_context</literal> has been deprecated since version 1.22 and should not be used in newly-written code.</para> <para>Use <link linkend="pango-xft-get-font-map"><function>pango_xft_get_font_map()</function></link> followed by
<link linkend="pango-font-map-create-context"><function>pango_font_map_create_context()</function></link> instead.</para>
</warning>
<para>Retrieves a <link linkend="PangoContext"><type>PangoContext</type></link> appropriate for rendering with
Xft fonts on the given screen of the given display.</para>

<para><emphasis role="annotation">[<acronym>skip</acronym>]</emphasis></para><refsect3 id="pango-xft-get-context.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>display</para></entry>
<entry role="parameter_description"><para>an X display.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>screen</para></entry>
<entry role="parameter_description"><para>an X screen.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-xft-get-context.returns" role="returns">
<title>Returns</title>
<para> the new <link linkend="PangoContext"><type>PangoContext</type></link>.</para>
</refsect3></refsect2>
<refsect2 id="pango-xft-get-font-map" role="function" condition="since:1.2">
<title>pango_xft_get_font_map&#160;()</title>
<indexterm zone="pango-xft-get-font-map" role="1.2"><primary>pango_xft_get_font_map</primary></indexterm>
<programlisting language="C"><link linkend="PangoFontMap"><returnvalue>PangoFontMap</returnvalue></link>&#160;*
pango_xft_get_font_map (<parameter><link linkend="Display"><type>Display</type></link> *display</parameter>,
                        <parameter><link linkend="int"><type>int</type></link> screen</parameter>);</programlisting>
<para>Returns the <link linkend="PangoXftFontMap"><type>PangoXftFontMap</type></link> for the given display and screen.
The fontmap is owned by Pango and will be valid until
the display is closed.</para>
<refsect3 id="pango-xft-get-font-map.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>display</para></entry>
<entry role="parameter_description"><para>an X display</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>screen</para></entry>
<entry role="parameter_description"><para>the screen number of a screen within <parameter>display</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-xft-get-font-map.returns" role="returns">
<title>Returns</title>
<para>a <link linkend="PangoFontMap"><type>PangoFontMap</type></link> object, owned by Pango. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2>
<refsect2 id="pango-xft-set-default-substitute" role="function" condition="since:1.2">
<title>pango_xft_set_default_substitute&#160;()</title>
<indexterm zone="pango-xft-set-default-substitute" role="1.2"><primary>pango_xft_set_default_substitute</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_xft_set_default_substitute (<parameter><link linkend="Display"><type>Display</type></link> *display</parameter>,
                                  <parameter><link linkend="int"><type>int</type></link> screen</parameter>,
                                  <parameter><link linkend="PangoXftSubstituteFunc"><type>PangoXftSubstituteFunc</type></link> func</parameter>,
                                  <parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>,
                                  <parameter><link linkend="GDestroyNotify"><type>GDestroyNotify</type></link> notify</parameter>);</programlisting>
<para>Sets a function that will be called to do final configuration
substitution on a <link linkend="FcPattern"><type>FcPattern</type></link> before it is used to load
the font. This function can be used to do things like set
hinting and antialiasing options.</para>
<refsect3 id="pango-xft-set-default-substitute.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>display</para></entry>
<entry role="parameter_description"><para>an X Display</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>screen</para></entry>
<entry role="parameter_description"><para>the screen number of a screen within <parameter>display</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>func</para></entry>
<entry role="parameter_description"><para>function to call to to do final config tweaking
on <link linkend="FcPattern"><type>FcPattern</type></link> objects.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>data</para></entry>
<entry role="parameter_description"><para>data to pass to <parameter>func</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>notify</para></entry>
<entry role="parameter_description"><para>function to call when <parameter>data</parameter>
is no longer used.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2>
<refsect2 id="PangoXftSubstituteFunc" role="function">
<title>PangoXftSubstituteFunc&#160;()</title>
<indexterm zone="PangoXftSubstituteFunc"><primary>PangoXftSubstituteFunc</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
<phrase role="c_punctuation">(</phrase>*PangoXftSubstituteFunc<phrase role="c_punctuation">)</phrase> (<parameter><link linkend="FcPattern"><type>FcPattern</type></link> *pattern</parameter>,
                           <parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>);</programlisting>
<para>Function type for doing final config tweaking on prepared FcPatterns.</para>
<refsect3 id="PangoXftSubstituteFunc.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>pattern</para></entry>
<entry role="parameter_description"><para>the FcPattern to tweak.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>data</para></entry>
<entry role="parameter_description"><para>user data.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="pango-xft-substitute-changed" role="function" condition="since:1.2">
<title>pango_xft_substitute_changed&#160;()</title>
<indexterm zone="pango-xft-substitute-changed" role="1.2"><primary>pango_xft_substitute_changed</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_xft_substitute_changed (<parameter><link linkend="Display"><type>Display</type></link> *display</parameter>,
                              <parameter><link linkend="int"><type>int</type></link> screen</parameter>);</programlisting>
<para>Call this function any time the results of the
default substitution function set with
<link linkend="pango-xft-set-default-substitute"><function>pango_xft_set_default_substitute()</function></link> change.
That is, if your substitution function will return different
results for the same input pattern, you must call this function.</para>
<refsect3 id="pango-xft-substitute-changed.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>display</para></entry>
<entry role="parameter_description"><para>an X Display</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>screen</para></entry>
<entry role="parameter_description"><para>the screen number of a screen within <parameter>display</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2>
<refsect2 id="pango-xft-shutdown-display" role="function" condition="since:1.2">
<title>pango_xft_shutdown_display&#160;()</title>
<indexterm zone="pango-xft-shutdown-display" role="1.2"><primary>pango_xft_shutdown_display</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_xft_shutdown_display (<parameter><link linkend="Display"><type>Display</type></link> *display</parameter>,
                            <parameter><link linkend="int"><type>int</type></link> screen</parameter>);</programlisting>
<para>Release any resources that have been cached for the
combination of <parameter>display</parameter>
 and <parameter>screen</parameter>
. Note that when the
X display is closed, resources are released automatically,
without needing to call this function.</para>
<refsect3 id="pango-xft-shutdown-display.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>display</para></entry>
<entry role="parameter_description"><para>an X display</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>screen</para></entry>
<entry role="parameter_description"><para>the screen number of a screen within <parameter>display</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2>
<refsect2 id="pango-xft-font-get-font" role="function" condition="deprecated:">
<title>pango_xft_font_get_font&#160;()</title>
<indexterm zone="pango-xft-font-get-font" role="deprecated"><primary>pango_xft_font_get_font</primary></indexterm>
<programlisting language="C"><link linkend="XftFont"><returnvalue>XftFont</returnvalue></link>&#160;*
pango_xft_font_get_font (<parameter><link linkend="PangoFont"><type>PangoFont</type></link> *font</parameter>);</programlisting>
<warning><para><literal>pango_xft_font_get_font</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>Returns the XftFont of a font.</para>
<refsect3 id="pango-xft-font-get-font.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>font</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFont"><type>PangoFont</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-xft-font-get-font.returns" role="returns">
<title>Returns</title>
<para>the XftFont associated to <parameter>font</parameter>
, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>
if <parameter>font</parameter>
is <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="pango-xft-font-get-display" role="function" condition="deprecated:">
<title>pango_xft_font_get_display&#160;()</title>
<indexterm zone="pango-xft-font-get-display" role="deprecated"><primary>pango_xft_font_get_display</primary></indexterm>
<programlisting language="C"><link linkend="Display"><returnvalue>Display</returnvalue></link>&#160;*
pango_xft_font_get_display (<parameter><link linkend="PangoFont"><type>PangoFont</type></link> *font</parameter>);</programlisting>
<warning><para><literal>pango_xft_font_get_display</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>Returns the X display of the XftFont of a font.</para>
<refsect3 id="pango-xft-font-get-display.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>font</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFont"><type>PangoFont</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-xft-font-get-display.returns" role="returns">
<title>Returns</title>
<para> the X display of the XftFont associated to <parameter>font</parameter>
.</para>
</refsect3></refsect2>
<refsect2 id="pango-xft-font-has-char" role="function" condition="deprecated:|since:1.2">
<title>pango_xft_font_has_char&#160;()</title>
<indexterm zone="pango-xft-font-has-char" role="deprecated"><primary>pango_xft_font_has_char</primary></indexterm><indexterm zone="pango-xft-font-has-char" role="1.2"><primary>pango_xft_font_has_char</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
pango_xft_font_has_char (<parameter><link linkend="PangoFont"><type>PangoFont</type></link> *font</parameter>,
                         <parameter><link linkend="gunichar"><type>gunichar</type></link> wc</parameter>);</programlisting>
<warning><para><literal>pango_xft_font_has_char</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>Determines whether <parameter>font</parameter>
 has a glyph for the codepoint <parameter>wc</parameter>
.</para>
<para>Use <link linkend="pango-fc-font-has-char"><function>pango_fc_font_has_char()</function></link> instead.</para>
<refsect3 id="pango-xft-font-has-char.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>font</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFont"><type>PangoFont</type></link> for the Xft backend</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>wc</para></entry>
<entry role="parameter_description"><para>Unicode codepoint to look up</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-xft-font-has-char.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>font</parameter>
has the requested codepoint.</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2>
<refsect2 id="pango-xft-font-lock-face" role="function" condition="deprecated:|since:1.2">
<title>pango_xft_font_lock_face&#160;()</title>
<indexterm zone="pango-xft-font-lock-face" role="deprecated"><primary>pango_xft_font_lock_face</primary></indexterm><indexterm zone="pango-xft-font-lock-face" role="1.2"><primary>pango_xft_font_lock_face</primary></indexterm>
<programlisting language="C"><link linkend="FT-Face"><returnvalue>FT_Face</returnvalue></link>
pango_xft_font_lock_face (<parameter><link linkend="PangoFont"><type>PangoFont</type></link> *font</parameter>);</programlisting>
<warning><para><literal>pango_xft_font_lock_face</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>Gets the FreeType <type>FT_Face</type> associated with a font,
This face will be kept around until you call
<link linkend="pango-xft-font-unlock-face"><function>pango_xft_font_unlock_face()</function></link>.</para>
<para>Use <link linkend="pango-fc-font-lock-face"><function>pango_fc_font_lock_face()</function></link> instead.</para>
<refsect3 id="pango-xft-font-lock-face.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>font</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFont"><type>PangoFont</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-xft-font-lock-face.returns" role="returns">
<title>Returns</title>
<para> the FreeType <type>FT_Face</type> associated with <parameter>font</parameter>
.</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2>
<refsect2 id="pango-xft-font-unlock-face" role="function" condition="deprecated:|since:1.2">
<title>pango_xft_font_unlock_face&#160;()</title>
<indexterm zone="pango-xft-font-unlock-face" role="deprecated"><primary>pango_xft_font_unlock_face</primary></indexterm><indexterm zone="pango-xft-font-unlock-face" role="1.2"><primary>pango_xft_font_unlock_face</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_xft_font_unlock_face (<parameter><link linkend="PangoFont"><type>PangoFont</type></link> *font</parameter>);</programlisting>
<warning><para><literal>pango_xft_font_unlock_face</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>Releases a font previously obtained with
<link linkend="pango-xft-font-lock-face"><function>pango_xft_font_lock_face()</function></link>.</para>
<para>Use <link linkend="pango-fc-font-unlock-face"><function>pango_fc_font_unlock_face()</function></link> instead.</para>
<refsect3 id="pango-xft-font-unlock-face.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>font</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFont"><type>PangoFont</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2>
<refsect2 id="pango-xft-font-get-glyph" role="function" condition="deprecated:|since:1.2">
<title>pango_xft_font_get_glyph&#160;()</title>
<indexterm zone="pango-xft-font-get-glyph" role="deprecated"><primary>pango_xft_font_get_glyph</primary></indexterm><indexterm zone="pango-xft-font-get-glyph" role="1.2"><primary>pango_xft_font_get_glyph</primary></indexterm>
<programlisting language="C"><link linkend="guint"><returnvalue>guint</returnvalue></link>
pango_xft_font_get_glyph (<parameter><link linkend="PangoFont"><type>PangoFont</type></link> *font</parameter>,
                          <parameter><link linkend="gunichar"><type>gunichar</type></link> wc</parameter>);</programlisting>
<warning><para><literal>pango_xft_font_get_glyph</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>Gets the glyph index for a given Unicode character
for <parameter>font</parameter>
. If you only want to determine
whether the font has the glyph, use <link linkend="pango-xft-font-has-char"><function>pango_xft_font_has_char()</function></link>.</para>
<para>Use <link linkend="pango-fc-font-get-glyph"><function>pango_fc_font_get_glyph()</function></link> instead.</para>
<refsect3 id="pango-xft-font-get-glyph.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>font</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFont"><type>PangoFont</type></link> for the Xft backend</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>wc</para></entry>
<entry role="parameter_description"><para>Unicode codepoint to look up</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-xft-font-get-glyph.returns" role="returns">
<title>Returns</title>
<para> the glyph index, or 0, if the Unicode
character does not exist in the font.</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.2">1.2</link></para></refsect2>
<refsect2 id="pango-xft-font-get-unknown-glyph" role="function" condition="deprecated:">
<title>pango_xft_font_get_unknown_glyph&#160;()</title>
<indexterm zone="pango-xft-font-get-unknown-glyph" role="deprecated"><primary>pango_xft_font_get_unknown_glyph</primary></indexterm>
<programlisting language="C"><link linkend="PangoGlyph"><returnvalue>PangoGlyph</returnvalue></link>
pango_xft_font_get_unknown_glyph (<parameter><link linkend="PangoFont"><type>PangoFont</type></link> *font</parameter>,
                                  <parameter><link linkend="gunichar"><type>gunichar</type></link> wc</parameter>);</programlisting>
<warning><para><literal>pango_xft_font_get_unknown_glyph</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>Returns the index of a glyph suitable for drawing <parameter>wc</parameter>
 as an
unknown character.</para>
<para>Use <link linkend="PANGO-GET-UNKNOWN-GLYPH:CAPS"><function>PANGO_GET_UNKNOWN_GLYPH()</function></link> instead.</para>
<refsect3 id="pango-xft-font-get-unknown-glyph.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>font</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoFont"><type>PangoFont</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>wc</para></entry>
<entry role="parameter_description"><para>the Unicode character for which a glyph is needed.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-xft-font-get-unknown-glyph.returns" role="returns">
<title>Returns</title>
<para> a glyph index into <parameter>font</parameter>
.</para>
</refsect3></refsect2>
<refsect2 id="pango-xft-renderer-new" role="function" condition="since:1.8">
<title>pango_xft_renderer_new&#160;()</title>
<indexterm zone="pango-xft-renderer-new" role="1.8"><primary>pango_xft_renderer_new</primary></indexterm>
<programlisting language="C"><link linkend="PangoRenderer"><returnvalue>PangoRenderer</returnvalue></link>&#160;*
pango_xft_renderer_new (<parameter><link linkend="Display"><type>Display</type></link> *display</parameter>,
                        <parameter><link linkend="int"><type>int</type></link> screen</parameter>);</programlisting>
<para>Create a new <link linkend="PangoXftRenderer"><type>PangoXftRenderer</type></link> to allow rendering Pango objects
with the Xft library. You must call <link linkend="pango-xft-renderer-set-draw"><function>pango_xft_renderer_set_draw()</function></link> before
using the renderer.</para>
<refsect3 id="pango-xft-renderer-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>display</para></entry>
<entry role="parameter_description"><para>an X display</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>screen</para></entry>
<entry role="parameter_description"><para>the index of the screen for <parameter>display</parameter>
to which rendering will be done</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="pango-xft-renderer-new.returns" role="returns">
<title>Returns</title>
<para> the newly created <link linkend="PangoXftRenderer"><type>PangoXftRenderer</type></link>, which should
be freed with <link linkend="g-object-unref"><function>g_object_unref()</function></link>.</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2>
<refsect2 id="pango-xft-renderer-set-draw" role="function" condition="since:1.8">
<title>pango_xft_renderer_set_draw&#160;()</title>
<indexterm zone="pango-xft-renderer-set-draw" role="1.8"><primary>pango_xft_renderer_set_draw</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_xft_renderer_set_draw (<parameter><link linkend="PangoXftRenderer"><type>PangoXftRenderer</type></link> *xftrenderer</parameter>,
                             <parameter><link linkend="XftDraw"><type>XftDraw</type></link> *draw</parameter>);</programlisting>
<para>Sets the <link linkend="XftDraw"><type>XftDraw</type></link> object that the renderer is drawing to.
The renderer must not be currently active.</para>
<refsect3 id="pango-xft-renderer-set-draw.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>xftrenderer</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoXftRenderer"><type>PangoXftRenderer</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>draw</para></entry>
<entry role="parameter_description"><para>a <link linkend="XftDraw"><type>XftDraw</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2>
<refsect2 id="pango-xft-renderer-set-default-color" role="function" condition="since:1.8">
<title>pango_xft_renderer_set_default_color&#160;()</title>
<indexterm zone="pango-xft-renderer-set-default-color" role="1.8"><primary>pango_xft_renderer_set_default_color</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_xft_renderer_set_default_color (<parameter><link linkend="PangoXftRenderer"><type>PangoXftRenderer</type></link> *xftrenderer</parameter>,
                                      <parameter><link linkend="PangoColor"><type>PangoColor</type></link> *default_color</parameter>);</programlisting>
<para>Sets the default foreground color for a <link linkend="XftRenderer"><type>XftRenderer</type></link>.</para>
<refsect3 id="pango-xft-renderer-set-default-color.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>xftrenderer</para></entry>
<entry role="parameter_description"><para>a <link linkend="XftRenderer"><type>XftRenderer</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>default_color</para></entry>
<entry role="parameter_description"><para>the default foreground color</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2>
<refsect2 id="pango-xft-render" role="function">
<title>pango_xft_render&#160;()</title>
<indexterm zone="pango-xft-render"><primary>pango_xft_render</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_xft_render (<parameter><link linkend="XftDraw"><type>XftDraw</type></link> *draw</parameter>,
                  <parameter><link linkend="XftColor"><type>XftColor</type></link> *color</parameter>,
                  <parameter><link linkend="PangoFont"><type>PangoFont</type></link> *font</parameter>,
                  <parameter><link linkend="PangoGlyphString"><type>PangoGlyphString</type></link> *glyphs</parameter>,
                  <parameter><link linkend="gint"><type>gint</type></link> x</parameter>,
                  <parameter><link linkend="gint"><type>gint</type></link> y</parameter>);</programlisting>
<para>Renders a <link linkend="PangoGlyphString"><type>PangoGlyphString</type></link> onto an <type>XftDraw</type> object wrapping an X drawable.</para>
<refsect3 id="pango-xft-render.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>draw</para></entry>
<entry role="parameter_description"><para>the <type>XftDraw</type> object.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>color</para></entry>
<entry role="parameter_description"><para>the color in which to draw the string</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>font</para></entry>
<entry role="parameter_description"><para>the font in which to draw the string</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>glyphs</para></entry>
<entry role="parameter_description"><para>the glyph string to draw</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>x</para></entry>
<entry role="parameter_description"><para>the x position of start of string (in pixels)</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>y</para></entry>
<entry role="parameter_description"><para>the y position of baseline (in pixels)</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="pango-xft-picture-render" role="function">
<title>pango_xft_picture_render&#160;()</title>
<indexterm zone="pango-xft-picture-render"><primary>pango_xft_picture_render</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_xft_picture_render (<parameter><link linkend="Display"><type>Display</type></link> *display</parameter>,
                          <parameter><link linkend="Picture"><type>Picture</type></link> src_picture</parameter>,
                          <parameter><link linkend="Picture"><type>Picture</type></link> dest_picture</parameter>,
                          <parameter><link linkend="PangoFont"><type>PangoFont</type></link> *font</parameter>,
                          <parameter><link linkend="PangoGlyphString"><type>PangoGlyphString</type></link> *glyphs</parameter>,
                          <parameter><link linkend="gint"><type>gint</type></link> x</parameter>,
                          <parameter><link linkend="gint"><type>gint</type></link> y</parameter>);</programlisting>
<para>Renders a <link linkend="PangoGlyphString"><type>PangoGlyphString</type></link> onto an Xrender <type>Picture</type> object.</para>
<refsect3 id="pango-xft-picture-render.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>display</para></entry>
<entry role="parameter_description"><para>an X display</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>src_picture</para></entry>
<entry role="parameter_description"><para>the source picture to draw the string with</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>dest_picture</para></entry>
<entry role="parameter_description"><para>the destination picture to draw the string onto</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>font</para></entry>
<entry role="parameter_description"><para>the font in which to draw the string</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>glyphs</para></entry>
<entry role="parameter_description"><para>the glyph string to draw</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>x</para></entry>
<entry role="parameter_description"><para>the x position of start of string (in pixels)</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>y</para></entry>
<entry role="parameter_description"><para>the y position of baseline (in pixels)</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="pango-xft-render-transformed" role="function" condition="since:1.8">
<title>pango_xft_render_transformed&#160;()</title>
<indexterm zone="pango-xft-render-transformed" role="1.8"><primary>pango_xft_render_transformed</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_xft_render_transformed (<parameter><link linkend="XftDraw"><type>XftDraw</type></link> *draw</parameter>,
                              <parameter><link linkend="XftColor"><type>XftColor</type></link> *color</parameter>,
                              <parameter><link linkend="PangoMatrix"><type>PangoMatrix</type></link> *matrix</parameter>,
                              <parameter><link linkend="PangoFont"><type>PangoFont</type></link> *font</parameter>,
                              <parameter><link linkend="PangoGlyphString"><type>PangoGlyphString</type></link> *glyphs</parameter>,
                              <parameter><link linkend="int"><type>int</type></link> x</parameter>,
                              <parameter><link linkend="int"><type>int</type></link> y</parameter>);</programlisting>
<para>Renders a <link linkend="PangoGlyphString"><type>PangoGlyphString</type></link> onto a <link linkend="XftDraw"><type>XftDraw</type></link>, possibly
transforming the layed-out coordinates through a transformation
matrix. Note that the transformation matrix for <parameter>font</parameter>
 is not
changed, so to produce correct rendering results, the <parameter>font</parameter>

must have been loaded using a <link linkend="PangoContext"><type>PangoContext</type></link> with an identical
transformation matrix to that passed in to this function.</para>
<refsect3 id="pango-xft-render-transformed.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>draw</para></entry>
<entry role="parameter_description"><para>an <link linkend="XftDraw"><type>XftDraw</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>color</para></entry>
<entry role="parameter_description"><para>the color in which to draw the glyphs</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>font</para></entry>
<entry role="parameter_description"><para>the font in which to draw the string</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>matrix</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoMatrix"><type>PangoMatrix</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> to use an identity
transformation. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>glyphs</para></entry>
<entry role="parameter_description"><para>the glyph string to draw</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>x</para></entry>
<entry role="parameter_description"><para>the x position of the start of the string (in Pango
units in user space coordinates)</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>y</para></entry>
<entry role="parameter_description"><para>the y position of the baseline (in Pango units
in user space coordinates)</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2>
<refsect2 id="pango-xft-render-layout-line" role="function" condition="since:1.8">
<title>pango_xft_render_layout_line&#160;()</title>
<indexterm zone="pango-xft-render-layout-line" role="1.8"><primary>pango_xft_render_layout_line</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_xft_render_layout_line (<parameter><link linkend="XftDraw"><type>XftDraw</type></link> *draw</parameter>,
                              <parameter><link linkend="XftColor"><type>XftColor</type></link> *color</parameter>,
                              <parameter><link linkend="PangoLayoutLine"><type>PangoLayoutLine</type></link> *line</parameter>,
                              <parameter><link linkend="int"><type>int</type></link> x</parameter>,
                              <parameter><link linkend="int"><type>int</type></link> y</parameter>);</programlisting>
<para>Render a <link linkend="PangoLayoutLine"><type>PangoLayoutLine</type></link> onto a <link linkend="XftDraw"><type>XftDraw</type></link></para>
<refsect3 id="pango-xft-render-layout-line.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>draw</para></entry>
<entry role="parameter_description"><para>an <link linkend="XftDraw"><type>XftDraw</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>color</para></entry>
<entry role="parameter_description"><para>the foreground color in which to draw the layout line
(may be overridden by color attributes)</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>line</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoLayoutLine"><type>PangoLayoutLine</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>x</para></entry>
<entry role="parameter_description"><para>the x position of start of string (in Pango units)</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>y</para></entry>
<entry role="parameter_description"><para>the y position of baseline (in Pango units)</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2>
<refsect2 id="pango-xft-render-layout" role="function" condition="since:1.8">
<title>pango_xft_render_layout&#160;()</title>
<indexterm zone="pango-xft-render-layout" role="1.8"><primary>pango_xft_render_layout</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
pango_xft_render_layout (<parameter><link linkend="XftDraw"><type>XftDraw</type></link> *draw</parameter>,
                         <parameter><link linkend="XftColor"><type>XftColor</type></link> *color</parameter>,
                         <parameter><link linkend="PangoLayout"><type>PangoLayout</type></link> *layout</parameter>,
                         <parameter><link linkend="int"><type>int</type></link> x</parameter>,
                         <parameter><link linkend="int"><type>int</type></link> y</parameter>);</programlisting>
<para>Render a <link linkend="PangoLayout"><type>PangoLayout</type></link> onto a <link linkend="XftDraw"><type>XftDraw</type></link></para>
<refsect3 id="pango-xft-render-layout.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>draw</para></entry>
<entry role="parameter_description"><para>an <link linkend="XftDraw"><type>XftDraw</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>color</para></entry>
<entry role="parameter_description"><para>the foreground color in which to draw the layout
(may be overridden by color attributes)</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>layout</para></entry>
<entry role="parameter_description"><para>a <link linkend="PangoLayout"><type>PangoLayout</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>x</para></entry>
<entry role="parameter_description"><para>the X position of the left of the layout (in Pango units)</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>y</para></entry>
<entry role="parameter_description"><para>the Y position of the top of the layout (in Pango units)</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2>

</refsect1>
<refsect1 id="pango-Xft-Fonts-and-Rendering.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="PangoXftFont-struct" role="struct">
<title>PangoXftFont</title>
<indexterm zone="PangoXftFont-struct"><primary>PangoXftFont</primary></indexterm>
<programlisting language="C">typedef struct _PangoXftFont PangoXftFont;</programlisting>
<para><link linkend="PangoXftFont"><type>PangoXftFont</type></link> is an implementation of <link linkend="PangoFcFont"><type>PangoFcFont</type></link> using the Xft
library for rendering.  It is used in conjunction with <link linkend="PangoXftFontMap"><type>PangoXftFontMap</type></link>.</para>
</refsect2>
<refsect2 id="PangoXftFontMap-struct" role="struct">
<title>PangoXftFontMap</title>
<indexterm zone="PangoXftFontMap-struct"><primary>PangoXftFontMap</primary></indexterm>
<programlisting language="C">typedef struct _PangoXftFontMap PangoXftFontMap;</programlisting>
<para><link linkend="PangoXftFontMap"><type>PangoXftFontMap</type></link> is an implementation of <link linkend="PangoFcFontMap"><type>PangoFcFontMap</type></link> suitable for
the Xft library as the renderer.  It is used in to create fonts of
type <link linkend="PangoXftFont"><type>PangoXftFont</type></link>.</para>
</refsect2>
<refsect2 id="PANGO-RENDER-TYPE-XFT:CAPS" role="macro" condition="deprecated:">
<title>PANGO_RENDER_TYPE_XFT</title>
<indexterm zone="PANGO-RENDER-TYPE-XFT:CAPS" role="deprecated"><primary>PANGO_RENDER_TYPE_XFT</primary></indexterm>
<programlisting language="C">#define PANGO_RENDER_TYPE_XFT "PangoRenderXft"
</programlisting>
<warning><para><literal>PANGO_RENDER_TYPE_XFT</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>A string constant that was used to identify shape engines that work
with the Xft backend. See <link linkend="PANGO-RENDER-TYPE-FC:CAPS"><literal>PANGO_RENDER_TYPE_FC</literal></link> for the replacement.</para>
</refsect2>
<refsect2 id="PangoXftRenderer-struct" role="struct">
<title>struct PangoXftRenderer</title>
<indexterm zone="PangoXftRenderer-struct" role="1.8"><primary>PangoXftRenderer</primary></indexterm>
<programlisting language="C">struct PangoXftRenderer;</programlisting>
<para><link linkend="PangoXftRenderer"><type>PangoXftRenderer</type></link> is a subclass of <link linkend="PangoRenderer"><type>PangoRenderer</type></link> used for rendering
with Pango's Xft backend. It can be used directly, or it can be
further subclassed to modify exactly how drawing of individual
elements occurs.</para>
<para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2>
<refsect2 id="PangoXftRendererClass" role="struct" condition="since:1.8">
<title>struct PangoXftRendererClass</title>
<indexterm zone="PangoXftRendererClass" role="1.8"><primary>PangoXftRendererClass</primary></indexterm>
<programlisting language="C">struct PangoXftRendererClass {
  void (*composite_trapezoids) (PangoXftRenderer *xftrenderer,
				PangoRenderPart   part,
				XTrapezoid       *trapezoids,
				int               n_trapezoids);
  void (*composite_glyphs)     (PangoXftRenderer *xftrenderer,
				XftFont          *xft_font,
				XftGlyphSpec     *glyphs,
				int               n_glyphs);
};
</programlisting>
<para>The class structure for <link linkend="PangoXftRenderer"><type>PangoXftRenderer</type></link></para>
<refsect3 id="PangoXftRendererClass.members" role="struct_members">
<title>Members</title>
<informaltable role="struct_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="struct_members_name" colwidth="300px"/>
<colspec colname="struct_members_description"/>
<colspec colname="struct_members_annotations" colwidth="200px"/>
<tbody>
<row role="member"><entry role="struct_member_name"><para><structfield id="PangoXftRendererClass.composite-trapezoids">composite_trapezoids</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>draw the specified trapezoids using
the current color and other attributes for <parameter>part</parameter>
</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
<row role="member"><entry role="struct_member_name"><para><structfield id="PangoXftRendererClass.composite-glyphs">composite_glyphs</structfield>&#160;()</para></entry>
<entry role="struct_member_description"><para>draw the specified glyphs using
the current foreground color and other foreground
attributes</para></entry>
<entry role="struct_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3>
<para role="since">Since: <link linkend="api-index-1.8">1.8</link></para></refsect2>

</refsect1>
<refsect1 id="pango-Xft-Fonts-and-Rendering.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="PangoXftRenderer--display" role="property"><title>The <literal>“display”</literal> property</title>
<indexterm zone="PangoXftRenderer--display"><primary>PangoXftRenderer:display</primary></indexterm>
<programlisting>  “display”                  <link linkend="gpointer"><type>gpointer</type></link></programlisting>
<para>The display being rendered to.</para><para>Flags: Write / Construct Only</para>
</refsect2>
<refsect2 id="PangoXftRenderer--screen" role="property"><title>The <literal>“screen”</literal> property</title>
<indexterm zone="PangoXftRenderer--screen"><primary>PangoXftRenderer:screen</primary></indexterm>
<programlisting>  “screen”                   <link linkend="gint"><type>gint</type></link></programlisting>
<para>The screen being rendered to.</para><para>Flags: Write / Construct Only</para>
<para>Allowed values: &gt;= 0</para>
<para>Default value: 0</para>
</refsect2>

</refsect1>

</refentry>
