<?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-Font-Options">
<refmeta>
<refentrytitle role="top_of_page">cairo_font_options_t</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>CAIRO Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>cairo_font_options_t</refname>
<refpurpose>How a font should be rendered</refpurpose>
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
</refnamediv>

<refsynopsisdiv role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>



typedef             <link linkend="cairo-font-options-t">cairo_font_options_t</link>;
<link linkend="cairo-font-options-t">cairo_font_options_t</link>* <link linkend="cairo-font-options-create">cairo_font_options_create</link>         (void);
<link linkend="cairo-font-options-t">cairo_font_options_t</link>* <link linkend="cairo-font-options-copy">cairo_font_options_copy</link>           (const <link linkend="cairo-font-options-t">cairo_font_options_t</link> *original);
<link linkend="void">void</link>                <link linkend="cairo-font-options-destroy">cairo_font_options_destroy</link>          (<link linkend="cairo-font-options-t">cairo_font_options_t</link> *options);
<link linkend="cairo-status-t">cairo_status_t</link>      <link linkend="cairo-font-options-status">cairo_font_options_status</link>           (<link linkend="cairo-font-options-t">cairo_font_options_t</link> *options);
<link linkend="void">void</link>                <link linkend="cairo-font-options-merge">cairo_font_options_merge</link>            (<link linkend="cairo-font-options-t">cairo_font_options_t</link> *options,
                                                         const <link linkend="cairo-font-options-t">cairo_font_options_t</link> *other);
unsigned <link linkend="long">long</link>       <link linkend="cairo-font-options-hash">cairo_font_options_hash</link>             (const <link linkend="cairo-font-options-t">cairo_font_options_t</link> *options);
<link linkend="cairo-bool-t">cairo_bool_t</link>        <link linkend="cairo-font-options-equal">cairo_font_options_equal</link>            (const <link linkend="cairo-font-options-t">cairo_font_options_t</link> *options,
                                                         const <link linkend="cairo-font-options-t">cairo_font_options_t</link> *other);
<link linkend="void">void</link>                <link linkend="cairo-font-options-set-antialias">cairo_font_options_set_antialias</link>    (<link linkend="cairo-font-options-t">cairo_font_options_t</link> *options,
                                                         <link linkend="cairo-antialias-t">cairo_antialias_t</link> antialias);
<link linkend="cairo-antialias-t">cairo_antialias_t</link>   <link linkend="cairo-font-options-get-antialias">cairo_font_options_get_antialias</link>    (const <link linkend="cairo-font-options-t">cairo_font_options_t</link> *options);
enum                <link linkend="cairo-subpixel-order-t">cairo_subpixel_order_t</link>;
<link linkend="void">void</link>                <link linkend="cairo-font-options-set-subpixel-order">cairo_font_options_set_subpixel_order</link>
                                                        (<link linkend="cairo-font-options-t">cairo_font_options_t</link> *options,
                                                         <link linkend="cairo-subpixel-order-t">cairo_subpixel_order_t</link> subpixel_order);
<link linkend="cairo-subpixel-order-t">cairo_subpixel_order_t</link> <link linkend="cairo-font-options-get-subpixel-order">cairo_font_options_get_subpixel_order</link>
                                                        (const <link linkend="cairo-font-options-t">cairo_font_options_t</link> *options);
enum                <link linkend="cairo-hint-style-t">cairo_hint_style_t</link>;
<link linkend="void">void</link>                <link linkend="cairo-font-options-set-hint-style">cairo_font_options_set_hint_style</link>   (<link linkend="cairo-font-options-t">cairo_font_options_t</link> *options,
                                                         <link linkend="cairo-hint-style-t">cairo_hint_style_t</link> hint_style);
<link linkend="cairo-hint-style-t">cairo_hint_style_t</link>  <link linkend="cairo-font-options-get-hint-style">cairo_font_options_get_hint_style</link>   (const <link linkend="cairo-font-options-t">cairo_font_options_t</link> *options);
enum                <link linkend="cairo-hint-metrics-t">cairo_hint_metrics_t</link>;
<link linkend="void">void</link>                <link linkend="cairo-font-options-set-hint-metrics">cairo_font_options_set_hint_metrics</link> (<link linkend="cairo-font-options-t">cairo_font_options_t</link> *options,
                                                         <link linkend="cairo-hint-metrics-t">cairo_hint_metrics_t</link> hint_metrics);
<link linkend="cairo-hint-metrics-t">cairo_hint_metrics_t</link> <link linkend="cairo-font-options-get-hint-metrics">cairo_font_options_get_hint_metrics</link>
                                                        (const <link linkend="cairo-font-options-t">cairo_font_options_t</link> *options);
</synopsis>
</refsynopsisdiv>









<refsect1 role="desc">
<title role="desc.title">Description</title>
<para>
The font options specify how fonts should be rendered.  Most of the time the
font options implied by a surface are just right and do not need any changes,
but for pixel-based targets tweaking font options may result in superior
output on a particular display.
</para>
</refsect1>

<refsect1 role="details">
<title role="details.title">Details</title>
<refsect2>
<title><anchor id="cairo-font-options-t" role="typedef"/>cairo_font_options_t</title>
<indexterm><primary>cairo_font_options_t</primary></indexterm><programlisting>typedef struct _cairo_font_options cairo_font_options_t;
</programlisting>
<para>
An opaque structure holding all options that are used when
rendering fonts.
</para>
<para>
Individual features of a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> can be set or
accessed using functions named
cairo_font_options_set_<emphasis>feature_name</emphasis> and
cairo_font_options_get_<emphasis>feature_name</emphasis>, like
<link linkend="cairo-font-options-set-antialias"><function>cairo_font_options_set_antialias()</function></link> and
<link linkend="cairo-font-options-get-antialias"><function>cairo_font_options_get_antialias()</function></link>.
</para>
<para>
New features may be added to a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> in the
future.  For this reason, <link linkend="cairo-font-options-copy"><function>cairo_font_options_copy()</function></link>,
<link linkend="cairo-font-options-equal"><function>cairo_font_options_equal()</function></link>, <link linkend="cairo-font-options-merge"><function>cairo_font_options_merge()</function></link>, and
<link linkend="cairo-font-options-hash"><function>cairo_font_options_hash()</function></link> should be used to copy, check
for equality, merge, or compute a hash value of
<link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> objects.</para>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="cairo-font-options-create" role="function"/>cairo_font_options_create ()</title>
<indexterm><primary>cairo_font_options_create</primary></indexterm><programlisting><link linkend="cairo-font-options-t">cairo_font_options_t</link>* cairo_font_options_create         (void);</programlisting>
<para>
Allocates a new font options object with all options initialized
 to default values.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly allocated <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>. Free with
  <link linkend="cairo-font-options-destroy"><function>cairo_font_options_destroy()</function></link>. This function always returns a
  valid pointer; if memory cannot be allocated, then a special
  error object is returned where all operations on the object do nothing.
  You can check for this with <link linkend="cairo-font-options-status"><function>cairo_font_options_status()</function></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-font-options-copy" role="function"/>cairo_font_options_copy ()</title>
<indexterm><primary>cairo_font_options_copy</primary></indexterm><programlisting><link linkend="cairo-font-options-t">cairo_font_options_t</link>* cairo_font_options_copy           (const <link linkend="cairo-font-options-t">cairo_font_options_t</link> *original);</programlisting>
<para>
Allocates a new font options object copying the option values from
 <parameter>original</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>original</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a newly allocated <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>. Free with
  <link linkend="cairo-font-options-destroy"><function>cairo_font_options_destroy()</function></link>. This function always returns a
  valid pointer; if memory cannot be allocated, then a special
  error object is returned where all operations on the object do nothing.
  You can check for this with <link linkend="cairo-font-options-status"><function>cairo_font_options_status()</function></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-font-options-destroy" role="function"/>cairo_font_options_destroy ()</title>
<indexterm><primary>cairo_font_options_destroy</primary></indexterm><programlisting><link linkend="void">void</link>                cairo_font_options_destroy          (<link linkend="cairo-font-options-t">cairo_font_options_t</link> *options);</programlisting>
<para>
Destroys a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link> object created with with
<link linkend="cairo-font-options-create"><function>cairo_font_options_create()</function></link> or <link linkend="cairo-font-options-copy"><function>cairo_font_options_copy()</function></link>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>options</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-font-options-status" role="function"/>cairo_font_options_status ()</title>
<indexterm><primary>cairo_font_options_status</primary></indexterm><programlisting><link linkend="cairo-status-t">cairo_status_t</link>      cairo_font_options_status           (<link linkend="cairo-font-options-t">cairo_font_options_t</link> *options);</programlisting>
<para>
Checks whether an error has previously occurred for this
font options object</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>options</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="CAIRO-STATUS-SUCCESS:CAPS"><literal>CAIRO_STATUS_SUCCESS</literal></link> or <link linkend="CAIRO-STATUS-NO-MEMORY:CAPS"><literal>CAIRO_STATUS_NO_MEMORY</literal></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-font-options-merge" role="function"/>cairo_font_options_merge ()</title>
<indexterm><primary>cairo_font_options_merge</primary></indexterm><programlisting><link linkend="void">void</link>                cairo_font_options_merge            (<link linkend="cairo-font-options-t">cairo_font_options_t</link> *options,
                                                         const <link linkend="cairo-font-options-t">cairo_font_options_t</link> *other);</programlisting>
<para>
Merges non-default options from <parameter>other</parameter> into <parameter>options</parameter>, replacing
existing values. This operation can be thought of as somewhat
similar to compositing <parameter>other</parameter> onto <parameter>options</parameter> with the operation
of <link linkend="CAIRO-OPERATION-OVER:CAPS"><literal>CAIRO_OPERATION_OVER</literal></link>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>options</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>other</parameter>&nbsp;:</term>
<listitem><simpara> another <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-font-options-hash" role="function"/>cairo_font_options_hash ()</title>
<indexterm><primary>cairo_font_options_hash</primary></indexterm><programlisting>unsigned <link linkend="long">long</link>       cairo_font_options_hash             (const <link linkend="cairo-font-options-t">cairo_font_options_t</link> *options);</programlisting>
<para>
Compute a hash for the font options object; this value will
be useful when storing an object containing a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>
in a hash table.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>options</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the hash value for the font options object.
  The return value can be cast to a 32-bit type if a
  32-bit hash value is needed.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-font-options-equal" role="function"/>cairo_font_options_equal ()</title>
<indexterm><primary>cairo_font_options_equal</primary></indexterm><programlisting><link linkend="cairo-bool-t">cairo_bool_t</link>        cairo_font_options_equal            (const <link linkend="cairo-font-options-t">cairo_font_options_t</link> *options,
                                                         const <link linkend="cairo-font-options-t">cairo_font_options_t</link> *other);</programlisting>
<para>
Compares two font options objects for equality.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>options</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>other</parameter>&nbsp;:</term>
<listitem><simpara> another <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if all fields of the two font options objects match.
Note that this function will return <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if either object is in
error.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-font-options-set-antialias" role="function"/>cairo_font_options_set_antialias ()</title>
<indexterm><primary>cairo_font_options_set_antialias</primary></indexterm><programlisting><link linkend="void">void</link>                cairo_font_options_set_antialias    (<link linkend="cairo-font-options-t">cairo_font_options_t</link> *options,
                                                         <link linkend="cairo-antialias-t">cairo_antialias_t</link> antialias);</programlisting>
<para>
Sets the antialiasing mode for the font options object. This
specifies the type of antialiasing to do when rendering text.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>options</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>antialias</parameter>&nbsp;:</term>
<listitem><simpara> the new antialiasing mode
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-font-options-get-antialias" role="function"/>cairo_font_options_get_antialias ()</title>
<indexterm><primary>cairo_font_options_get_antialias</primary></indexterm><programlisting><link linkend="cairo-antialias-t">cairo_antialias_t</link>   cairo_font_options_get_antialias    (const <link linkend="cairo-font-options-t">cairo_font_options_t</link> *options);</programlisting>
<para>
Gets the antialiasing mode for the font options object.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>options</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the antialiasing mode
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-subpixel-order-t" role="enum"/>enum cairo_subpixel_order_t</title>
<indexterm><primary>cairo_subpixel_order_t</primary></indexterm><programlisting>typedef enum _cairo_subpixel_order {
    CAIRO_SUBPIXEL_ORDER_DEFAULT,
    CAIRO_SUBPIXEL_ORDER_RGB,
    CAIRO_SUBPIXEL_ORDER_BGR,
    CAIRO_SUBPIXEL_ORDER_VRGB,
    CAIRO_SUBPIXEL_ORDER_VBGR
} cairo_subpixel_order_t;
</programlisting>
<para>
The subpixel order specifies the order of color elements within
each pixel on the display device when rendering with an
antialiasing mode of <link linkend="CAIRO-ANTIALIAS-SUBPIXEL:CAPS"><literal>CAIRO_ANTIALIAS_SUBPIXEL</literal></link>.</para>
<para>

</para><variablelist role="enum">
<varlistentry>
<term><anchor id="CAIRO-SUBPIXEL-ORDER-DEFAULT:CAPS" role="constant"/><literal>CAIRO_SUBPIXEL_ORDER_DEFAULT</literal></term>
<listitem><simpara> Use the default subpixel order for
  for the target device
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><anchor id="CAIRO-SUBPIXEL-ORDER-RGB:CAPS" role="constant"/><literal>CAIRO_SUBPIXEL_ORDER_RGB</literal></term>
<listitem><simpara> Subpixel elements are arranged horizontally
  with red at the left
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><anchor id="CAIRO-SUBPIXEL-ORDER-BGR:CAPS" role="constant"/><literal>CAIRO_SUBPIXEL_ORDER_BGR</literal></term>
<listitem><simpara>  Subpixel elements are arranged horizontally
  with blue at the left
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><anchor id="CAIRO-SUBPIXEL-ORDER-VRGB:CAPS" role="constant"/><literal>CAIRO_SUBPIXEL_ORDER_VRGB</literal></term>
<listitem><simpara> Subpixel elements are arranged vertically
  with red at the top
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><anchor id="CAIRO-SUBPIXEL-ORDER-VBGR:CAPS" role="constant"/><literal>CAIRO_SUBPIXEL_ORDER_VBGR</literal></term>
<listitem><simpara> Subpixel elements are arranged vertically
  with blue at the top
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-font-options-set-subpixel-order" role="function"/>cairo_font_options_set_subpixel_order ()</title>
<indexterm><primary>cairo_font_options_set_subpixel_order</primary></indexterm><programlisting><link linkend="void">void</link>                cairo_font_options_set_subpixel_order
                                                        (<link linkend="cairo-font-options-t">cairo_font_options_t</link> *options,
                                                         <link linkend="cairo-subpixel-order-t">cairo_subpixel_order_t</link> subpixel_order);</programlisting>
<para>
Sets the subpixel order for the font options object. The subpixel
order specifies the order of color elements within each pixel on
the display device when rendering with an antialiasing mode of
<link linkend="CAIRO-ANTIALIAS-SUBPIXEL:CAPS"><literal>CAIRO_ANTIALIAS_SUBPIXEL</literal></link>. See the documentation for
<link linkend="cairo-subpixel-order-t"><type>cairo_subpixel_order_t</type></link> for full details.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>options</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>subpixel_order</parameter>&nbsp;:</term>
<listitem><simpara> the new subpixel order
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-font-options-get-subpixel-order" role="function"/>cairo_font_options_get_subpixel_order ()</title>
<indexterm><primary>cairo_font_options_get_subpixel_order</primary></indexterm><programlisting><link linkend="cairo-subpixel-order-t">cairo_subpixel_order_t</link> cairo_font_options_get_subpixel_order
                                                        (const <link linkend="cairo-font-options-t">cairo_font_options_t</link> *options);</programlisting>
<para>
Gets the subpixel order for the font options object.
See the documentation for <link linkend="cairo-subpixel-order-t"><type>cairo_subpixel_order_t</type></link> for full details.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>options</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the subpixel order for the font options object
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-hint-style-t" role="enum"/>enum cairo_hint_style_t</title>
<indexterm><primary>cairo_hint_style_t</primary></indexterm><programlisting>typedef enum _cairo_hint_style {
    CAIRO_HINT_STYLE_DEFAULT,
    CAIRO_HINT_STYLE_NONE,
    CAIRO_HINT_STYLE_SLIGHT,
    CAIRO_HINT_STYLE_MEDIUM,
    CAIRO_HINT_STYLE_FULL
} cairo_hint_style_t;
</programlisting>
<para>
Specifies the type of hinting to do on font outlines. Hinting
is the process of fitting outlines to the pixel grid in order
to improve the appearance of the result. Since hinting outlines
involves distorting them, it also reduces the faithfulness
to the original outline shapes. Not all of the outline hinting
styles are supported by all font backends.
</para>
<para>
New entries may be added in future versions.</para>
<para>

</para><variablelist role="enum">
<varlistentry>
<term><anchor id="CAIRO-HINT-STYLE-DEFAULT:CAPS" role="constant"/><literal>CAIRO_HINT_STYLE_DEFAULT</literal></term>
<listitem><simpara> Use the default hint style for
  font backend and target device
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><anchor id="CAIRO-HINT-STYLE-NONE:CAPS" role="constant"/><literal>CAIRO_HINT_STYLE_NONE</literal></term>
<listitem><simpara> Do not hint outlines
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><anchor id="CAIRO-HINT-STYLE-SLIGHT:CAPS" role="constant"/><literal>CAIRO_HINT_STYLE_SLIGHT</literal></term>
<listitem><simpara> Hint outlines slightly to improve
  contrast while retaining good fidelity to the original
  shapes.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><anchor id="CAIRO-HINT-STYLE-MEDIUM:CAPS" role="constant"/><literal>CAIRO_HINT_STYLE_MEDIUM</literal></term>
<listitem><simpara> Hint outlines with medium strength
  giving a compromise between fidelity to the original shapes
  and contrast
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><anchor id="CAIRO-HINT-STYLE-FULL:CAPS" role="constant"/><literal>CAIRO_HINT_STYLE_FULL</literal></term>
<listitem><simpara> Hint outlines to maximize contrast
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-font-options-set-hint-style" role="function"/>cairo_font_options_set_hint_style ()</title>
<indexterm><primary>cairo_font_options_set_hint_style</primary></indexterm><programlisting><link linkend="void">void</link>                cairo_font_options_set_hint_style   (<link linkend="cairo-font-options-t">cairo_font_options_t</link> *options,
                                                         <link linkend="cairo-hint-style-t">cairo_hint_style_t</link> hint_style);</programlisting>
<para>
Sets the hint style for font outlines for the font options object.
This controls whether to fit font outlines to the pixel grid,
and if so, whether to optimize for fidelity or contrast.
See the documentation for <link linkend="cairo-hint-style-t"><type>cairo_hint_style_t</type></link> for full details.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>options</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>hint_style</parameter>&nbsp;:</term>
<listitem><simpara> the new hint style
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-font-options-get-hint-style" role="function"/>cairo_font_options_get_hint_style ()</title>
<indexterm><primary>cairo_font_options_get_hint_style</primary></indexterm><programlisting><link linkend="cairo-hint-style-t">cairo_hint_style_t</link>  cairo_font_options_get_hint_style   (const <link linkend="cairo-font-options-t">cairo_font_options_t</link> *options);</programlisting>
<para>
Gets the hint style for font outlines for the font options object.
See the documentation for <link linkend="cairo-hint-style-t"><type>cairo_hint_style_t</type></link> for full details.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>options</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the hint style for the font options object
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-hint-metrics-t" role="enum"/>enum cairo_hint_metrics_t</title>
<indexterm><primary>cairo_hint_metrics_t</primary></indexterm><programlisting>typedef enum _cairo_hint_metrics {
    CAIRO_HINT_METRICS_DEFAULT,
    CAIRO_HINT_METRICS_OFF,
    CAIRO_HINT_METRICS_ON
} cairo_hint_metrics_t;
</programlisting>
<para>
Specifies whether to hint font metrics; hinting font metrics
means quantizing them so that they are integer values in
device space. Doing this improves the consistency of
letter and line spacing, however it also means that text
will be laid out differently at different zoom factors.</para>
<para>

</para><variablelist role="enum">
<varlistentry>
<term><anchor id="CAIRO-HINT-METRICS-DEFAULT:CAPS" role="constant"/><literal>CAIRO_HINT_METRICS_DEFAULT</literal></term>
<listitem><simpara> Hint metrics in the default
 manner for the font backend and target device
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><anchor id="CAIRO-HINT-METRICS-OFF:CAPS" role="constant"/><literal>CAIRO_HINT_METRICS_OFF</literal></term>
<listitem><simpara> Do not hint font metrics
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><anchor id="CAIRO-HINT-METRICS-ON:CAPS" role="constant"/><literal>CAIRO_HINT_METRICS_ON</literal></term>
<listitem><simpara> Hint font metrics
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-font-options-set-hint-metrics" role="function"/>cairo_font_options_set_hint_metrics ()</title>
<indexterm><primary>cairo_font_options_set_hint_metrics</primary></indexterm><programlisting><link linkend="void">void</link>                cairo_font_options_set_hint_metrics (<link linkend="cairo-font-options-t">cairo_font_options_t</link> *options,
                                                         <link linkend="cairo-hint-metrics-t">cairo_hint_metrics_t</link> hint_metrics);</programlisting>
<para>
Sets the metrics hinting mode for the font options object. This
controls whether metrics are quantized to integer values in
device units.
See the documentation for <link linkend="cairo-hint-metrics-t"><type>cairo_hint_metrics_t</type></link> for full details.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>options</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>hint_metrics</parameter>&nbsp;:</term>
<listitem><simpara> the new metrics hinting mode
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="cairo-font-options-get-hint-metrics" role="function"/>cairo_font_options_get_hint_metrics ()</title>
<indexterm><primary>cairo_font_options_get_hint_metrics</primary></indexterm><programlisting><link linkend="cairo-hint-metrics-t">cairo_hint_metrics_t</link> cairo_font_options_get_hint_metrics
                                                        (const <link linkend="cairo-font-options-t">cairo_font_options_t</link> *options);</programlisting>
<para>
Gets the metrics hinting mode for the font options object.
See the documentation for <link linkend="cairo-hint-metrics-t"><type>cairo_hint_metrics_t</type></link> for full details.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>options</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the metrics hinting mode for the font options object
</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>



<refsect1>
<title>See Also</title>
<para>
<itemizedlist>
<listitem><link linkend="cairo-scaled-font-t"><type>cairo_scaled_font_t</type></link></listitem>
</itemizedlist>
</para>
</refsect1>


<refsect1><refsect2 /><refsect2 /></refsect1>
</refentry>
