summaryrefslogtreecommitdiff
path: root/libs/cairo-1.16.0/doc/public/xml/cairo-ft.xml
diff options
context:
space:
mode:
Diffstat (limited to 'libs/cairo-1.16.0/doc/public/xml/cairo-ft.xml')
-rw-r--r--libs/cairo-1.16.0/doc/public/xml/cairo-ft.xml408
1 files changed, 408 insertions, 0 deletions
diff --git a/libs/cairo-1.16.0/doc/public/xml/cairo-ft.xml b/libs/cairo-1.16.0/doc/public/xml/cairo-ft.xml
new file mode 100644
index 0000000..e68e2ad
--- /dev/null
+++ b/libs/cairo-1.16.0/doc/public/xml/cairo-ft.xml
@@ -0,0 +1,408 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
+<!ENTITY version SYSTEM "version.xml">
+]>
+<refentry id="cairo-FreeType-Fonts">
+<refmeta>
+<refentrytitle role="top_of_page" id="cairo-FreeType-Fonts.top_of_page">FreeType Fonts</refentrytitle>
+<manvolnum>3</manvolnum>
+<refmiscinfo>CAIRO Library</refmiscinfo>
+</refmeta>
+<refnamediv>
+<refname>FreeType Fonts</refname>
+<refpurpose>Font support for FreeType</refpurpose>
+</refnamediv>
+
+<refsect1 id="cairo-FreeType-Fonts.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="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link>&#160;*
+</entry><entry role="function_name"><link linkend="cairo-ft-font-face-create-for-ft-face">cairo_ft_font_face_create_for_ft_face</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
+<row><entry role="function_type"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link>&#160;*
+</entry><entry role="function_name"><link linkend="cairo-ft-font-face-create-for-pattern">cairo_ft_font_face_create_for_pattern</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="cairo-ft-font-options-substitute">cairo_ft_font_options_substitute</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="cairo-ft-scaled-font-lock-face">cairo_ft_scaled_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="cairo-ft-scaled-font-unlock-face">cairo_ft_scaled_font_unlock_face</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
+<row><entry role="function_type">unsigned <link linkend="int"><returnvalue>int</returnvalue></link>
+</entry><entry role="function_name"><link linkend="cairo-ft-font-face-get-synthesize">cairo_ft_font_face_get_synthesize</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="cairo-ft-font-face-set-synthesize">cairo_ft_font_face_set_synthesize</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="cairo-ft-font-face-unset-synthesize">cairo_ft_font_face_unset_synthesize</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
+
+</tbody>
+</tgroup>
+</informaltable>
+</refsect1>
+<refsect1 id="cairo-FreeType-Fonts.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="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-HAS-FT-FONT:CAPS">CAIRO_HAS_FT_FONT</link></entry></row>
+<row><entry role="define_keyword">#define</entry><entry role="function_name"><link linkend="CAIRO-HAS-FC-FONT:CAPS">CAIRO_HAS_FC_FONT</link></entry></row>
+<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="cairo-ft-synthesize-t">cairo_ft_synthesize_t</link></entry></row>
+
+</tbody>
+</tgroup>
+</informaltable>
+</refsect1>
+
+
+<refsect1 id="cairo-FreeType-Fonts.description" role="desc">
+<title role="desc.title">Description</title>
+<para>The FreeType font backend is primarily used to render text on GNU/Linux
+systems, but can be used on other platforms too.</para>
+
+</refsect1>
+<refsect1 id="cairo-FreeType-Fonts.functions_details" role="details">
+<title role="details.title">Functions</title>
+<refsect2 id="cairo-ft-font-face-create-for-ft-face" role="function" condition="since:1.0">
+<title>cairo_ft_font_face_create_for_ft_face&#160;()</title>
+<indexterm zone="cairo-ft-font-face-create-for-ft-face" role="1.0"><primary sortas="ft_font_face_create_for_ft_face">cairo_ft_font_face_create_for_ft_face</primary></indexterm>
+<programlisting language="C"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link>&#160;*
+cairo_ft_font_face_create_for_ft_face (<parameter><link linkend="FT-Face"><type>FT_Face</type></link> face</parameter>,
+ <parameter><link linkend="int"><type>int</type></link> load_flags</parameter>);</programlisting>
+<para>Creates a new font face for the FreeType font backend from a
+pre-opened FreeType face. This font can then be used with
+<link linkend="cairo-set-font-face"><function>cairo_set_font_face()</function></link> or <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link>. The
+<link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> returned from <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link> is
+also for the FreeType backend and can be used with functions such
+as <link linkend="cairo-ft-scaled-font-lock-face"><function>cairo_ft_scaled_font_lock_face()</function></link>. Note that Cairo may keep a reference
+to the FT_Face alive in a font-cache and the exact lifetime of the reference
+depends highly upon the exact usage pattern and is subject to external
+factors. You must not call <link linkend="FT-Done-Face"><function>FT_Done_Face()</function></link> before the last reference to the
+<link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> has been dropped.</para>
+<para>As an example, below is how one might correctly couple the lifetime of
+the FreeType face object to the <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link>.</para>
+<informalexample><programlisting>
+static const cairo_user_data_key_t key;
+
+font_face = cairo_ft_font_face_create_for_ft_face (ft_face, 0);
+status = cairo_font_face_set_user_data (font_face, &amp;key,
+ ft_face, (cairo_destroy_func_t) FT_Done_Face);
+if (status) {
+ cairo_font_face_destroy (font_face);
+ FT_Done_Face (ft_face);
+ return ERROR;
+}
+</programlisting></informalexample>
+<refsect3 id="cairo-ft-font-face-create-for-ft-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>face</para></entry>
+<entry role="parameter_description"><para>A FreeType face object, already opened. This must
+be kept around until the face's ref_count drops to
+zero and it is freed. Since the face may be referenced
+internally to Cairo, the best way to determine when it
+is safe to free the face is to pass a
+<link linkend="cairo-destroy-func-t"><type>cairo_destroy_func_t</type></link> to <link linkend="cairo-font-face-set-user-data"><function>cairo_font_face_set_user_data()</function></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+<row><entry role="parameter_name"><para>load_flags</para></entry>
+<entry role="parameter_description"><para>flags to pass to FT_Load_Glyph when loading
+glyphs from the font. These flags are OR'ed together with
+the flags derived from the <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> passed
+to <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link>, so only a few values such
+as <link linkend="FT-LOAD-VERTICAL-LAYOUT:CAPS"><literal>FT_LOAD_VERTICAL_LAYOUT</literal></link>, and <link linkend="FT-LOAD-FORCE-AUTOHINT:CAPS"><literal>FT_LOAD_FORCE_AUTOHINT</literal></link>
+are useful. You should not pass any of the flags affecting
+the load target, such as <link linkend="FT-LOAD-TARGET-LIGHT:CAPS"><literal>FT_LOAD_TARGET_LIGHT</literal></link>.</para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><refsect3 id="cairo-ft-font-face-create-for-ft-face.returns" role="returns">
+<title>Returns</title>
+<para> a newly created <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link>. Free with
+<link linkend="cairo-font-face-destroy"><function>cairo_font_face_destroy()</function></link> when you are done using it.</para>
+</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2>
+<refsect2 id="cairo-ft-font-face-create-for-pattern" role="function" condition="since:1.0">
+<title>cairo_ft_font_face_create_for_pattern&#160;()</title>
+<indexterm zone="cairo-ft-font-face-create-for-pattern" role="1.0"><primary sortas="ft_font_face_create_for_pattern">cairo_ft_font_face_create_for_pattern</primary></indexterm>
+<programlisting language="C"><link linkend="cairo-font-face-t"><returnvalue>cairo_font_face_t</returnvalue></link>&#160;*
+cairo_ft_font_face_create_for_pattern (<parameter><link linkend="FcPattern"><type>FcPattern</type></link> *pattern</parameter>);</programlisting>
+<para>Creates a new font face for the FreeType font backend based on a
+fontconfig pattern. This font can then be used with
+<link linkend="cairo-set-font-face"><function>cairo_set_font_face()</function></link> or <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link>. The
+<link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> returned from <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link> is
+also for the FreeType backend and can be used with functions such
+as <link linkend="cairo-ft-scaled-font-lock-face"><function>cairo_ft_scaled_font_lock_face()</function></link>.</para>
+<para>Font rendering options are represented both here and when you
+call <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link>. Font options that have a representation
+in a <link linkend="FcPattern"><type>FcPattern</type></link> must be passed in here; to modify <link linkend="FcPattern"><type>FcPattern</type></link>
+appropriately to reflect the options in a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>, call
+<link linkend="cairo-ft-font-options-substitute"><function>cairo_ft_font_options_substitute()</function></link>.</para>
+<para>The pattern's FC_FT_FACE element is inspected first and if that is set,
+that will be the FreeType font face associated with the returned cairo
+font face. Otherwise the FC_FILE element is checked. If it's set,
+that and the value of the FC_INDEX element (defaults to zero) of <parameter>pattern</parameter>
+
+are used to load a font face from file.</para>
+<para>If both steps from the previous paragraph fails, <parameter>pattern</parameter>
+ will be passed
+to FcConfigSubstitute, FcDefaultSubstitute, and finally FcFontMatch,
+and the resulting font pattern is used.</para>
+<para>If the FC_FT_FACE element of <parameter>pattern</parameter>
+ is set, the user is responsible
+for making sure that the referenced FT_Face remains valid for the life
+time of the returned <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link>. See
+<link linkend="cairo-ft-font-face-create-for-ft-face"><function>cairo_ft_font_face_create_for_ft_face()</function></link> for an example of how to couple
+the life time of the FT_Face to that of the cairo font-face.</para>
+<refsect3 id="cairo-ft-font-face-create-for-pattern.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>A fontconfig pattern. Cairo makes a copy of the pattern
+if it needs to. You are free to modify or free <parameter>pattern</parameter>
+after this call.</para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><refsect3 id="cairo-ft-font-face-create-for-pattern.returns" role="returns">
+<title>Returns</title>
+<para> a newly created <link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link>. Free with
+<link linkend="cairo-font-face-destroy"><function>cairo_font_face_destroy()</function></link> when you are done using it.</para>
+</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2>
+<refsect2 id="cairo-ft-font-options-substitute" role="function" condition="since:1.0">
+<title>cairo_ft_font_options_substitute&#160;()</title>
+<indexterm zone="cairo-ft-font-options-substitute" role="1.0"><primary sortas="ft_font_options_substitute">cairo_ft_font_options_substitute</primary></indexterm>
+<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
+cairo_ft_font_options_substitute (<parameter>const <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> *options</parameter>,
+ <parameter><link linkend="FcPattern"><type>FcPattern</type></link> *pattern</parameter>);</programlisting>
+<para>Add options to a <link linkend="FcPattern"><type>FcPattern</type></link> based on a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> font
+options object. Options that are already in the pattern, are not overridden,
+so you should call this function after calling <link linkend="FcConfigSubstitute"><function>FcConfigSubstitute()</function></link> (the
+user's settings should override options based on the surface type), but
+before calling <link linkend="FcDefaultSubstitute"><function>FcDefaultSubstitute()</function></link>.</para>
+<refsect3 id="cairo-ft-font-options-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>options</para></entry>
+<entry role="parameter_description"><para>a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> object</para></entry>
+<entry role="parameter_annotations"></entry></row>
+<row><entry role="parameter_name"><para>pattern</para></entry>
+<entry role="parameter_description"><para>an existing <link linkend="FcPattern"><type>FcPattern</type></link></para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2>
+<refsect2 id="cairo-ft-scaled-font-lock-face" role="function" condition="since:1.0">
+<title>cairo_ft_scaled_font_lock_face&#160;()</title>
+<indexterm zone="cairo-ft-scaled-font-lock-face" role="1.0"><primary sortas="ft_scaled_font_lock_face">cairo_ft_scaled_font_lock_face</primary></indexterm>
+<programlisting language="C"><link linkend="FT-Face"><returnvalue>FT_Face</returnvalue></link>
+cairo_ft_scaled_font_lock_face (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>);</programlisting>
+<para>cairo_ft_scaled_font_lock_face() gets the <link linkend="FT-Face"><type>FT_Face</type></link> object from a FreeType
+backend font and scales it appropriately for the font and applies OpenType
+font variations if applicable. You must
+release the face with <link linkend="cairo-ft-scaled-font-unlock-face"><function>cairo_ft_scaled_font_unlock_face()</function></link>
+when you are done using it. Since the <link linkend="FT-Face"><type>FT_Face</type></link> object can be
+shared between multiple <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> objects, you must not
+lock any other font objects until you unlock this one. A count is
+kept of the number of times <link linkend="cairo-ft-scaled-font-lock-face"><function>cairo_ft_scaled_font_lock_face()</function></link> is
+called. <link linkend="cairo-ft-scaled-font-unlock-face"><function>cairo_ft_scaled_font_unlock_face()</function></link> must be called the same number
+of times.</para>
+<para>You must be careful when using this function in a library or in a
+threaded application, because freetype's design makes it unsafe to
+call freetype functions simultaneously from multiple threads, (even
+if using distinct FT_Face objects). Because of this, application
+code that acquires an FT_Face object with this call must add its
+own locking to protect any use of that object, (and which also must
+protect any other calls into cairo as almost any cairo function
+might result in a call into the freetype library).</para>
+<refsect3 id="cairo-ft-scaled-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>scaled_font</para></entry>
+<entry role="parameter_description"><para>A <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> from the FreeType font backend. Such an
+object can be created by calling <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link> on a
+FreeType backend font face (see <link linkend="cairo-ft-font-face-create-for-pattern"><function>cairo_ft_font_face_create_for_pattern()</function></link>,
+<link linkend="cairo-ft-font-face-create-for-ft-face"><function>cairo_ft_font_face_create_for_ft_face()</function></link>).</para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><refsect3 id="cairo-ft-scaled-font-lock-face.returns" role="returns">
+<title>Returns</title>
+<para> The <link linkend="FT-Face"><type>FT_Face</type></link> object for <parameter>font</parameter>
+, scaled appropriately,
+or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if <parameter>scaled_font</parameter>
+is in an error state (see
+<link linkend="cairo-scaled-font-status"><function>cairo_scaled_font_status()</function></link>) or there is insufficient memory.</para>
+</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2>
+<refsect2 id="cairo-ft-scaled-font-unlock-face" role="function" condition="since:1.0">
+<title>cairo_ft_scaled_font_unlock_face&#160;()</title>
+<indexterm zone="cairo-ft-scaled-font-unlock-face" role="1.0"><primary sortas="ft_scaled_font_unlock_face">cairo_ft_scaled_font_unlock_face</primary></indexterm>
+<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
+cairo_ft_scaled_font_unlock_face (<parameter><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> *scaled_font</parameter>);</programlisting>
+<para>Releases a face obtained with <link linkend="cairo-ft-scaled-font-lock-face"><function>cairo_ft_scaled_font_lock_face()</function></link>.</para>
+<refsect3 id="cairo-ft-scaled-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>scaled_font</para></entry>
+<entry role="parameter_description"><para>A <link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link> from the FreeType font backend. Such an
+object can be created by calling <link linkend="cairo-scaled-font-create"><function>cairo_scaled_font_create()</function></link> on a
+FreeType backend font face (see <link linkend="cairo-ft-font-face-create-for-pattern"><function>cairo_ft_font_face_create_for_pattern()</function></link>,
+<link linkend="cairo-ft-font-face-create-for-ft-face"><function>cairo_ft_font_face_create_for_ft_face()</function></link>).</para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2>
+<refsect2 id="cairo-ft-font-face-get-synthesize" role="function" condition="since:1.12">
+<title>cairo_ft_font_face_get_synthesize&#160;()</title>
+<indexterm zone="cairo-ft-font-face-get-synthesize" role="1.12"><primary sortas="ft_font_face_get_synthesize">cairo_ft_font_face_get_synthesize</primary></indexterm>
+<programlisting language="C">unsigned <link linkend="int"><returnvalue>int</returnvalue></link>
+cairo_ft_font_face_get_synthesize (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>);</programlisting>
+<para>See <link linkend="cairo-ft-synthesize-t"><type>cairo_ft_synthesize_t</type></link>.</para>
+<refsect3 id="cairo-ft-font-face-get-synthesize.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_face</para></entry>
+<entry role="parameter_description"><para>The <link linkend="cairo-ft-font-face-t"><type>cairo_ft_font_face_t</type></link> object to query</para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><refsect3 id="cairo-ft-font-face-get-synthesize.returns" role="returns">
+<title>Returns</title>
+<para> the current set of synthesis options.</para>
+</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2>
+<refsect2 id="cairo-ft-font-face-set-synthesize" role="function" condition="since:1.12">
+<title>cairo_ft_font_face_set_synthesize&#160;()</title>
+<indexterm zone="cairo-ft-font-face-set-synthesize" role="1.12"><primary sortas="ft_font_face_set_synthesize">cairo_ft_font_face_set_synthesize</primary></indexterm>
+<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
+cairo_ft_font_face_set_synthesize (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>,
+ <parameter>unsigned <link linkend="int"><type>int</type></link> synth_flags</parameter>);</programlisting>
+<para>FreeType provides the ability to synthesize different glyphs from a base
+font, which is useful if you lack those glyphs from a true bold or oblique
+font. See also <link linkend="cairo-ft-synthesize-t"><type>cairo_ft_synthesize_t</type></link>.</para>
+<refsect3 id="cairo-ft-font-face-set-synthesize.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_face</para></entry>
+<entry role="parameter_description"><para>The <link linkend="cairo-ft-font-face-t"><type>cairo_ft_font_face_t</type></link> object to modify</para></entry>
+<entry role="parameter_annotations"></entry></row>
+<row><entry role="parameter_name"><para>synth_flags</para></entry>
+<entry role="parameter_description"><para>the set of synthesis options to enable</para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2>
+<refsect2 id="cairo-ft-font-face-unset-synthesize" role="function" condition="since:1.12">
+<title>cairo_ft_font_face_unset_synthesize&#160;()</title>
+<indexterm zone="cairo-ft-font-face-unset-synthesize" role="1.12"><primary sortas="ft_font_face_unset_synthesize">cairo_ft_font_face_unset_synthesize</primary></indexterm>
+<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
+cairo_ft_font_face_unset_synthesize (<parameter><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link> *font_face</parameter>,
+ <parameter>unsigned <link linkend="int"><type>int</type></link> synth_flags</parameter>);</programlisting>
+<para>See <link linkend="cairo-ft-font-face-set-synthesize"><function>cairo_ft_font_face_set_synthesize()</function></link>.</para>
+<refsect3 id="cairo-ft-font-face-unset-synthesize.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_face</para></entry>
+<entry role="parameter_description"><para>The <link linkend="cairo-ft-font-face-t"><type>cairo_ft_font_face_t</type></link> object to modify</para></entry>
+<entry role="parameter_annotations"></entry></row>
+<row><entry role="parameter_name"><para>synth_flags</para></entry>
+<entry role="parameter_description"><para>the set of synthesis options to disable</para></entry>
+<entry role="parameter_annotations"></entry></row>
+</tbody></tgroup></informaltable>
+</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2>
+
+</refsect1>
+<refsect1 id="cairo-FreeType-Fonts.other_details" role="details">
+<title role="details.title">Types and Values</title>
+<refsect2 id="CAIRO-HAS-FT-FONT:CAPS" role="macro" condition="since:1.0">
+<title>CAIRO_HAS_FT_FONT</title>
+<indexterm zone="CAIRO-HAS-FT-FONT:CAPS" role="1.0"><primary sortas="HAS_FT_FONT">CAIRO_HAS_FT_FONT</primary></indexterm>
+<programlisting language="C">#define CAIRO_HAS_FT_FONT 1
+</programlisting>
+<para>Defined if the FreeType font backend is available.
+This macro can be used to conditionally compile backend-specific code.</para>
+<para role="since">Since: <link linkend="api-index-1.0">1.0</link></para></refsect2>
+<refsect2 id="CAIRO-HAS-FC-FONT:CAPS" role="macro" condition="since:1.10">
+<title>CAIRO_HAS_FC_FONT</title>
+<indexterm zone="CAIRO-HAS-FC-FONT:CAPS" role="1.10"><primary sortas="HAS_FC_FONT">CAIRO_HAS_FC_FONT</primary></indexterm>
+<programlisting language="C">#define CAIRO_HAS_FC_FONT 1
+</programlisting>
+<para>Defined if the Fontconfig-specific functions of the FreeType font backend
+are available.
+This macro can be used to conditionally compile backend-specific code.</para>
+<para role="since">Since: <link linkend="api-index-1.10">1.10</link></para></refsect2>
+<refsect2 id="cairo-ft-synthesize-t" role="enum" condition="since:1.12">
+<title>enum cairo_ft_synthesize_t</title>
+<indexterm zone="cairo-ft-synthesize-t" role="1.12"><primary sortas="ft_synthesize_t">cairo_ft_synthesize_t</primary></indexterm>
+<para>A set of synthesis options to control how FreeType renders the glyphs
+for a particular font face.</para>
+<para>Individual synthesis features of a <link linkend="cairo-ft-font-face-t"><type>cairo_ft_font_face_t</type></link> can be set
+using <link linkend="cairo-ft-font-face-set-synthesize"><function>cairo_ft_font_face_set_synthesize()</function></link>, or disabled using
+<link linkend="cairo-ft-font-face-unset-synthesize"><function>cairo_ft_font_face_unset_synthesize()</function></link>. The currently enabled set of
+synthesis options can be queried with <link linkend="cairo-ft-font-face-get-synthesize"><function>cairo_ft_font_face_get_synthesize()</function></link>.</para>
+<para>Note: that when synthesizing glyphs, the font metrics returned will only
+be estimates.</para>
+<refsect3 id="cairo-ft-synthesize-t.members" role="enum_members">
+<title>Members</title>
+<informaltable role="enum_members_table" pgwide="1" frame="none">
+<tgroup cols="3">
+<colspec colname="enum_members_name" colwidth="300px"/>
+<colspec colname="enum_members_description"/>
+<colspec colname="enum_members_annotations" colwidth="200px"/>
+<tbody>
+<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FT-SYNTHESIZE-BOLD:CAPS">CAIRO_FT_SYNTHESIZE_BOLD</para></entry>
+<entry role="enum_member_description"><para>Embolden the glyphs (redraw with a pixel offset)</para>
+</entry>
+<entry role="enum_member_annotations"></entry>
+</row>
+<row role="constant"><entry role="enum_member_name"><para id="CAIRO-FT-SYNTHESIZE-OBLIQUE:CAPS">CAIRO_FT_SYNTHESIZE_OBLIQUE</para></entry>
+<entry role="enum_member_description"><para>Slant the glyph outline by 12 degrees to the
+right.</para>
+</entry>
+<entry role="enum_member_annotations"></entry>
+</row>
+</tbody></tgroup></informaltable>
+</refsect3><para role="since">Since: <link linkend="api-index-1.12">1.12</link></para></refsect2>
+
+</refsect1>
+<refsect1 id="cairo-FreeType-Fonts.see-also">
+<title>See Also</title>
+<para><link linkend="cairo-font-face-t"><type>cairo_font_face_t</type></link></para>
+
+</refsect1>
+
+</refentry>