Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>PangoFcFontMap: Pango Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="Pango Reference Manual">
<link rel="up" href="lowlevel.html" title="Low Level Functionality">
<link rel="prev" href="PangoRenderer.html" title="PangoRenderer">
<link rel="next" href="PangoFcFont.html" title="PangoFcFont">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#PangoFcFontMap.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#PangoFcFontMap.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="lowlevel.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="PangoRenderer.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="PangoFcFont.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="PangoFcFontMap"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="PangoFcFontMap.top_of_page"></a>PangoFcFontMap</span></h2>
<p>PangoFcFontMap — Base fontmap class for Fontconfig-based backends</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="PangoFcFontMap.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<a class="link" href="pango-Text-Processing.html#PangoContext"><span class="returnvalue">PangoContext</span></a> *
</td>
<td class="function_name">
<a class="link" href="PangoFcFontMap.html#pango-fc-font-map-create-context" title="pango_fc_font_map_create_context ()">pango_fc_font_map_create_context</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="PangoFcDecoder.html" title="PangoFcDecoder"><span class="returnvalue">PangoFcDecoder</span></a> *
</td>
<td class="function_name">
<span class="c_punctuation">(</span><a class="link" href="PangoFcFontMap.html#PangoFcDecoderFindFunc" title="PangoFcDecoderFindFunc ()">*PangoFcDecoderFindFunc</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="PangoFcFontMap.html#pango-fc-font-map-add-decoder-find-func" title="pango_fc_font_map_add_decoder_find_func ()">pango_fc_font_map_add_decoder_find_func</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="PangoFcDecoder.html" title="PangoFcDecoder"><span class="returnvalue">PangoFcDecoder</span></a> *
</td>
<td class="function_name">
<a class="link" href="PangoFcFontMap.html#pango-fc-font-map-find-decoder" title="pango_fc_font_map_find_decoder ()">pango_fc_font_map_find_decoder</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="PangoFcFontMap.html#pango-fc-font-map-cache-clear" title="pango_fc_font_map_cache_clear ()">pango_fc_font_map_cache_clear</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="PangoFcFontMap.html#pango-fc-font-map-config-changed" title="pango_fc_font_map_config_changed ()">pango_fc_font_map_config_changed</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="PangoFcFontMap.html#pango-fc-font-map-shutdown" title="pango_fc_font_map_shutdown ()">pango_fc_font_map_shutdown</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="PangoFcFontMap.html#pango-fc-font-map-set-config" title="pango_fc_font_map_set_config ()">pango_fc_font_map_set_config</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">FcConfig</span> *
</td>
<td class="function_name">
<a class="link" href="PangoFcFontMap.html#pango-fc-font-map-get-config" title="pango_fc_font_map_get_config ()">pango_fc_font_map_get_config</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="pango-Fonts.html#PangoFontDescription"><span class="returnvalue">PangoFontDescription</span></a> *
</td>
<td class="function_name">
<a class="link" href="PangoFcFontMap.html#pango-fc-font-description-from-pattern" title="pango_fc_font_description_from_pattern ()">pango_fc_font_description_from_pattern</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gpointer</span>
</td>
<td class="function_name">
<a class="link" href="PangoFcFontMap.html#pango-fc-fontset-key-get-context-key" title="pango_fc_fontset_key_get_context_key ()">pango_fc_fontset_key_get_context_key</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <a class="link" href="pango-Fonts.html#PangoFontDescription"><span class="returnvalue">PangoFontDescription</span></a> *
</td>
<td class="function_name">
<a class="link" href="PangoFcFontMap.html#pango-fc-fontset-key-get-description" title="pango_fc_fontset_key_get_description ()">pango_fc_fontset_key_get_description</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage"><span class="returnvalue">PangoLanguage</span></a> *
</td>
<td class="function_name">
<a class="link" href="PangoFcFontMap.html#pango-fc-fontset-key-get-language" title="pango_fc_fontset_key_get_language ()">pango_fc_fontset_key_get_language</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="returnvalue">PangoMatrix</span></a> *
</td>
<td class="function_name">
<a class="link" href="PangoFcFontMap.html#pango-fc-fontset-key-get-matrix" title="pango_fc_fontset_key_get_matrix ()">pango_fc_fontset_key_get_matrix</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">double</span>
</td>
<td class="function_name">
<a class="link" href="PangoFcFontMap.html#pango-fc-fontset-key-get-absolute-size" title="pango_fc_fontset_key_get_absolute_size ()">pango_fc_fontset_key_get_absolute_size</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">double</span>
</td>
<td class="function_name">
<a class="link" href="PangoFcFontMap.html#pango-fc-fontset-key-get-resolution" title="pango_fc_fontset_key_get_resolution ()">pango_fc_fontset_key_get_resolution</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gpointer</span>
</td>
<td class="function_name">
<a class="link" href="PangoFcFontMap.html#pango-fc-font-key-get-context-key" title="pango_fc_font_key_get_context_key ()">pango_fc_font_key_get_context_key</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="returnvalue">PangoMatrix</span></a> *
</td>
<td class="function_name">
<a class="link" href="PangoFcFontMap.html#pango-fc-font-key-get-matrix" title="pango_fc_font_key_get_matrix ()">pango_fc_font_key_get_matrix</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">FcPattern</span> *
</td>
<td class="function_name">
<a class="link" href="PangoFcFontMap.html#pango-fc-font-key-get-pattern" title="pango_fc_font_key_get_pattern ()">pango_fc_font_key_get_pattern</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="PangoFcFontMap.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="PangoFcFontMap.html#PangoFcFontMap-struct" title="struct PangoFcFontMap">PangoFcFontMap</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="PangoFcFontMap.html#PangoFcFontMapClass" title="struct PangoFcFontMapClass">PangoFcFontMapClass</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="PangoFcFontMap.html#PANGO-FC-FONT-FEATURES:CAPS" title="PANGO_FC_FONT_FEATURES">PANGO_FC_FONT_FEATURES</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="PangoFcFontMap.html#PANGO-FC-GRAVITY:CAPS" title="PANGO_FC_GRAVITY">PANGO_FC_GRAVITY</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="PangoFcFontMap.html#PANGO-FC-VERSION:CAPS" title="PANGO_FC_VERSION">PANGO_FC_VERSION</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="PangoFcFontMap.html#PANGO-FC-PRGNAME:CAPS" title="PANGO_FC_PRGNAME">PANGO_FC_PRGNAME</a></td>
</tr>
<tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="PangoFcFontMap.html#PangoFcFontsetKey" title="PangoFcFontsetKey">PangoFcFontsetKey</a></td>
</tr>
<tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="PangoFcFontMap.html#PangoFcFontKey" title="PangoFcFontKey">PangoFcFontKey</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="PangoFcFontMap.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    GObject
    <span class="lineart">╰──</span> <a class="link" href="pango-Fonts.html#PangoFontMap">PangoFontMap</a>
        <span class="lineart">╰──</span> PangoFcFontMap
            <span class="lineart">├──</span> <a class="link" href="pango-FreeType-Fonts-and-Rendering.html#PangoFT2FontMap">PangoFT2FontMap</a>
            <span class="lineart">╰──</span> <a class="link" href="pango-Xft-Fonts-and-Rendering.html#PangoXftFontMap">PangoXftFontMap</a>
</pre>
</div>
<div class="refsect1">
<a name="PangoFcFontMap.description"></a><h2>Description</h2>
<p>PangoFcFontMap is a base class for font map implementations using the
Fontconfig and FreeType libraries. It is used in the</p>
<a class="link" href="pango-Xft-Fonts-and-Rendering.html" title="Xft Fonts and Rendering">Xft</a> and
<a class="link" href="pango-FreeType-Fonts-and-Rendering.html" title="FreeType Fonts and Rendering">FreeType</a><p>backends shipped with Pango, but can also be used when creating
new backends. Any backend deriving from this base class will
take advantage of the wide range of shapers implemented using
FreeType that come with Pango.</p>
</div>
<div class="refsect1">
<a name="PangoFcFontMap.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="pango-fc-font-map-create-context"></a><h3>pango_fc_font_map_create_context ()</h3>
<pre class="programlisting"><a class="link" href="pango-Text-Processing.html#PangoContext"><span class="returnvalue">PangoContext</span></a> *
pango_fc_font_map_create_context (<em class="parameter"><code><a class="link" href="PangoFcFontMap.html" title="PangoFcFontMap"><span class="type">PangoFcFontMap</span></a> *fcfontmap</code></em>);</pre>
<div class="warning">
<p><code class="literal">pango_fc_font_map_create_context</code> has been deprecated since version 1.22 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="pango-Fonts.html#pango-font-map-create-context" title="pango_font_map_create_context ()"><code class="function">pango_font_map_create_context()</code></a> instead.</p>
</div>
<p>Creates a new context for this fontmap. This function is intended
only for backend implementations deriving from <a class="link" href="PangoFcFontMap.html" title="PangoFcFontMap"><span class="type">PangoFcFontMap</span></a>;
it is possible that a backend will store additional information
needed for correct operation on the <a class="link" href="pango-Text-Processing.html#PangoContext"><span class="type">PangoContext</span></a> after calling
this function.</p>
<div class="refsect3">
<a name="pango-fc-font-map-create-context.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>fcfontmap</p></td>
<td class="parameter_description"><p>a <a class="link" href="PangoFcFontMap.html" title="PangoFcFontMap"><span class="type">PangoFcFontMap</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="pango-fc-font-map-create-context.returns"></a><h4>Returns</h4>
<p> a new <a class="link" href="pango-Text-Processing.html#PangoContext"><span class="type">PangoContext</span></a></p>
</div>
<p class="since">Since: <a class="link" href="api-index-1-4.html#api-index-1.4">1.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="PangoFcDecoderFindFunc"></a><h3>PangoFcDecoderFindFunc ()</h3>
<pre class="programlisting"><a class="link" href="PangoFcDecoder.html" title="PangoFcDecoder"><span class="returnvalue">PangoFcDecoder</span></a> *
<span class="c_punctuation">(</span>*PangoFcDecoderFindFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">FcPattern</span> *pattern</code></em>,
                           <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
<p>Callback function passed to <a class="link" href="PangoFcFontMap.html#pango-fc-font-map-add-decoder-find-func" title="pango_fc_font_map_add_decoder_find_func ()"><code class="function">pango_fc_font_map_add_decoder_find_func()</code></a>.</p>
<div class="refsect3">
<a name="PangoFcDecoderFindFunc.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>pattern</p></td>
<td class="parameter_description"><p>a fully resolved <span class="type">FcPattern</span> specifying the font on the system</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data passed to <a class="link" href="PangoFcFontMap.html#pango-fc-font-map-add-decoder-find-func" title="pango_fc_font_map_add_decoder_find_func ()"><code class="function">pango_fc_font_map_add_decoder_find_func()</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="PangoFcDecoderFindFunc.returns"></a><h4>Returns</h4>
<p> a new reference to a custom decoder for this pattern,
or <code class="literal">NULL</code> if the default decoder handling should be used.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="pango-fc-font-map-add-decoder-find-func"></a><h3>pango_fc_font_map_add_decoder_find_func ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
pango_fc_font_map_add_decoder_find_func
                               (<em class="parameter"><code><a class="link" href="PangoFcFontMap.html" title="PangoFcFontMap"><span class="type">PangoFcFontMap</span></a> *fcfontmap</code></em>,
                                <em class="parameter"><code><a class="link" href="PangoFcFontMap.html#PangoFcDecoderFindFunc" title="PangoFcDecoderFindFunc ()"><span class="type">PangoFcDecoderFindFunc</span></a> findfunc</code></em>,
                                <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>,
                                <em class="parameter"><code><span class="type">GDestroyNotify</span> dnotify</code></em>);</pre>
<p>This function saves a callback method in the <a class="link" href="PangoFcFontMap.html" title="PangoFcFontMap"><span class="type">PangoFcFontMap</span></a> that
will be called whenever new fonts are created.  If the
function returns a <a class="link" href="PangoFcDecoder.html" title="PangoFcDecoder"><span class="type">PangoFcDecoder</span></a>, that decoder will be used to
determine both coverage via a <span class="type">FcCharSet</span> and a one-to-one mapping of
characters to glyphs.  This will allow applications to have
application-specific encodings for various fonts.</p>
<div class="refsect3">
<a name="pango-fc-font-map-add-decoder-find-func.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>fcfontmap</p></td>
<td class="parameter_description"><p>The <a class="link" href="PangoFcFontMap.html" title="PangoFcFontMap"><span class="type">PangoFcFontMap</span></a> to add this method to.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>findfunc</p></td>
<td class="parameter_description"><p>The <a class="link" href="PangoFcFontMap.html#PangoFcDecoderFindFunc" title="PangoFcDecoderFindFunc ()"><span class="type">PangoFcDecoderFindFunc</span></a> callback function</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>User data.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>dnotify</p></td>
<td class="parameter_description"><p>A <span class="type">GDestroyNotify</span> callback that will be called when the
fontmap is finalized and the decoder is released.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-1-6.html#api-index-1.6">1.6</a></p>
</div>
<hr>
<div class="refsect2">
<a name="pango-fc-font-map-find-decoder"></a><h3>pango_fc_font_map_find_decoder ()</h3>
<pre class="programlisting"><a class="link" href="PangoFcDecoder.html" title="PangoFcDecoder"><span class="returnvalue">PangoFcDecoder</span></a> *
pango_fc_font_map_find_decoder (<em class="parameter"><code><a class="link" href="PangoFcFontMap.html" title="PangoFcFontMap"><span class="type">PangoFcFontMap</span></a> *fcfontmap</code></em>,
                                <em class="parameter"><code><span class="type">FcPattern</span> *pattern</code></em>);</pre>
<p>Finds the decoder to use for <em class="parameter"><code>pattern</code></em>
.  Decoders can be added to
a font map using <a class="link" href="PangoFcFontMap.html#pango-fc-font-map-add-decoder-find-func" title="pango_fc_font_map_add_decoder_find_func ()"><code class="function">pango_fc_font_map_add_decoder_find_func()</code></a>.</p>
<div class="refsect3">
<a name="pango-fc-font-map-find-decoder.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>fcfontmap</p></td>
<td class="parameter_description"><p>The <a class="link" href="PangoFcFontMap.html" title="PangoFcFontMap"><span class="type">PangoFcFontMap</span></a> to use.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>pattern</p></td>
<td class="parameter_description"><p>The <span class="type">FcPattern</span> to find the decoder for.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="pango-fc-font-map-find-decoder.returns"></a><h4>Returns</h4>
<p>a newly created <a class="link" href="PangoFcDecoder.html" title="PangoFcDecoder"><span class="type">PangoFcDecoder</span></a> object or
<code class="literal">NULL</code> if no decoder is set for <em class="parameter"><code>pattern</code></em>
. </p>
<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-1-26.html#api-index-1.26">1.26</a></p>
</div>
<hr>
<div class="refsect2">
<a name="pango-fc-font-map-cache-clear"></a><h3>pango_fc_font_map_cache_clear ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
pango_fc_font_map_cache_clear (<em class="parameter"><code><a class="link" href="PangoFcFontMap.html" title="PangoFcFontMap"><span class="type">PangoFcFontMap</span></a> *fcfontmap</code></em>);</pre>
<p>Clear all cached information and fontsets for this font map;
this should be called whenever there is a change in the
output of the <code class="function">default_substitute()</code> virtual function of the
font map, or if fontconfig has been reinitialized to new
configuration.</p>
<div class="refsect3">
<a name="pango-fc-font-map-cache-clear.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>fcfontmap</p></td>
<td class="parameter_description"><p>a <a class="link" href="PangoFcFontMap.html" title="PangoFcFontMap"><span class="type">PangoFcFontMap</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-1-4.html#api-index-1.4">1.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="pango-fc-font-map-config-changed"></a><h3>pango_fc_font_map_config_changed ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
pango_fc_font_map_config_changed (<em class="parameter"><code><a class="link" href="PangoFcFontMap.html" title="PangoFcFontMap"><span class="type">PangoFcFontMap</span></a> *fcfontmap</code></em>);</pre>
<p>Informs font map that the fontconfig configuration (ie, FcConfig object)
used by this font map has changed.  This currently calls
<a class="link" href="PangoFcFontMap.html#pango-fc-font-map-cache-clear" title="pango_fc_font_map_cache_clear ()"><code class="function">pango_fc_font_map_cache_clear()</code></a> which ensures that list of fonts, etc
will be regenerated using the updated configuration.</p>
<div class="refsect3">
<a name="pango-fc-font-map-config-changed.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>fcfontmap</p></td>
<td class="parameter_description"><p>a <a class="link" href="PangoFcFontMap.html" title="PangoFcFontMap"><span class="type">PangoFcFontMap</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-1-38.html#api-index-1.38">1.38</a></p>
</div>
<hr>
<div class="refsect2">
<a name="pango-fc-font-map-shutdown"></a><h3>pango_fc_font_map_shutdown ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
pango_fc_font_map_shutdown (<em class="parameter"><code><a class="link" href="PangoFcFontMap.html" title="PangoFcFontMap"><span class="type">PangoFcFontMap</span></a> *fcfontmap</code></em>);</pre>
<p>Clears all cached information for the fontmap and marks
all fonts open for the fontmap as dead. (See the <code class="function">shutdown()</code>
virtual function of <a class="link" href="PangoFcFont.html" title="PangoFcFont"><span class="type">PangoFcFont</span></a>.) This function might be used
by a backend when the underlying windowing system for the font
map exits. This function is only intended to be called
only for backend implementations deriving from <a class="link" href="PangoFcFontMap.html" title="PangoFcFontMap"><span class="type">PangoFcFontMap</span></a>.</p>
<div class="refsect3">
<a name="pango-fc-font-map-shutdown.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>fcfontmap</p></td>
<td class="parameter_description"><p>a <a class="link" href="PangoFcFontMap.html" title="PangoFcFontMap"><span class="type">PangoFcFontMap</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-1-4.html#api-index-1.4">1.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="pango-fc-font-map-set-config"></a><h3>pango_fc_font_map_set_config ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
pango_fc_font_map_set_config (<em class="parameter"><code><a class="link" href="PangoFcFontMap.html" title="PangoFcFontMap"><span class="type">PangoFcFontMap</span></a> *fcfontmap</code></em>,
                              <em class="parameter"><code><span class="type">FcConfig</span> *fcconfig</code></em>);</pre>
<p>Set the FcConfig for this font map to use.  The default value
is <code class="literal">NULL</code>, which causes Fontconfig to use its global "current config".
You can create a new FcConfig object and use this API to attach it
to a font map.</p>
<p>This is particularly useful for example, if you want to use application
fonts with Pango.  For that, you would create a fresh FcConfig, add your
app fonts to it, and attach it to a new Pango font map.</p>
<p>If <em class="parameter"><code>fcconfig</code></em>
 is different from the previous config attached to the font map,
<a class="link" href="PangoFcFontMap.html#pango-fc-font-map-config-changed" title="pango_fc_font_map_config_changed ()"><code class="function">pango_fc_font_map_config_changed()</code></a> is called.</p>
<p>This function acquires a reference to the FcConfig object; the caller
does NOT need to retain a reference.</p>
<div class="refsect3">
<a name="pango-fc-font-map-set-config.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>fcfontmap</p></td>
<td class="parameter_description"><p>a <a class="link" href="PangoFcFontMap.html" title="PangoFcFontMap"><span class="type">PangoFcFontMap</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>fcconfig</p></td>
<td class="parameter_description"><p>a <span class="type">FcConfig</span>, or <code class="literal">NULL</code>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-1-38.html#api-index-1.38">1.38</a></p>
</div>
<hr>
<div class="refsect2">
<a name="pango-fc-font-map-get-config"></a><h3>pango_fc_font_map_get_config ()</h3>
<pre class="programlisting"><span class="returnvalue">FcConfig</span> *
pango_fc_font_map_get_config (<em class="parameter"><code><a class="link" href="PangoFcFontMap.html" title="PangoFcFontMap"><span class="type">PangoFcFontMap</span></a> *fcfontmap</code></em>);</pre>
<p>Fetches FcConfig attached to a font map.  See <a class="link" href="PangoFcFontMap.html#pango-fc-font-map-set-config" title="pango_fc_font_map_set_config ()"><code class="function">pango_fc_font_map_set_config()</code></a>.</p>
<div class="refsect3">
<a name="pango-fc-font-map-get-config.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>fcfontmap</p></td>
<td class="parameter_description"><p>a <a class="link" href="PangoFcFontMap.html" title="PangoFcFontMap"><span class="type">PangoFcFontMap</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="pango-fc-font-map-get-config.returns"></a><h4>Returns</h4>
<p>the <span class="type">FcConfig</span> object attached to <em class="parameter"><code>fcfontmap</code></em>
, which
might be <code class="literal">NULL</code>. </p>
<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-1-38.html#api-index-1.38">1.38</a></p>
</div>
<hr>
<div class="refsect2">
<a name="pango-fc-font-description-from-pattern"></a><h3>pango_fc_font_description_from_pattern ()</h3>
<pre class="programlisting"><a class="link" href="pango-Fonts.html#PangoFontDescription"><span class="returnvalue">PangoFontDescription</span></a> *
pango_fc_font_description_from_pattern
                               (<em class="parameter"><code><span class="type">FcPattern</span> *pattern</code></em>,
                                <em class="parameter"><code><span class="type">gboolean</span> include_size</code></em>);</pre>
<p>Creates a <a class="link" href="pango-Fonts.html#PangoFontDescription"><span class="type">PangoFontDescription</span></a> that matches the specified
Fontconfig pattern as closely as possible. Many possible Fontconfig
pattern values, such as <code class="literal">FC_RASTERIZER</code> or <code class="literal">FC_DPI</code>, don't make sense in
the context of <a class="link" href="pango-Fonts.html#PangoFontDescription"><span class="type">PangoFontDescription</span></a>, so will be ignored.</p>
<div class="refsect3">
<a name="pango-fc-font-description-from-pattern.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>pattern</p></td>
<td class="parameter_description"><p>a <span class="type">FcPattern</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>include_size</p></td>
<td class="parameter_description"><p>if <code class="literal">TRUE</code>, the pattern will include the size from
the <em class="parameter"><code>pattern</code></em>
; otherwise the resulting pattern will be unsized.
(only <code class="literal">FC_SIZE</code> is examined, not <code class="literal">FC_PIXEL_SIZE</code>)</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="pango-fc-font-description-from-pattern.returns"></a><h4>Returns</h4>
<p> a new <a class="link" href="pango-Fonts.html#PangoFontDescription"><span class="type">PangoFontDescription</span></a>. Free with
<a class="link" href="pango-Fonts.html#pango-font-description-free" title="pango_font_description_free ()"><code class="function">pango_font_description_free()</code></a>.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-1-4.html#api-index-1.4">1.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="pango-fc-fontset-key-get-context-key"></a><h3>pango_fc_fontset_key_get_context_key ()</h3>
<pre class="programlisting"><span class="returnvalue">gpointer</span>
pango_fc_fontset_key_get_context_key (<em class="parameter"><code>const <a class="link" href="PangoFcFontMap.html#PangoFcFontsetKey" title="PangoFcFontsetKey"><span class="type">PangoFcFontsetKey</span></a> *key</code></em>);</pre>
<p>Gets the context key member of <em class="parameter"><code>key</code></em>
.</p>
<div class="refsect3">
<a name="pango-fc-fontset-key-get-context-key.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>key</p></td>
<td class="parameter_description"><p>the font key</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="pango-fc-fontset-key-get-context-key.returns"></a><h4>Returns</h4>
<p> the context key, which is owned by <em class="parameter"><code>key</code></em>
and should not be modified.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-1-24.html#api-index-1.24">1.24</a></p>
</div>
<hr>
<div class="refsect2">
<a name="pango-fc-fontset-key-get-description"></a><h3>pango_fc_fontset_key_get_description ()</h3>
<pre class="programlisting">const <a class="link" href="pango-Fonts.html#PangoFontDescription"><span class="returnvalue">PangoFontDescription</span></a> *
pango_fc_fontset_key_get_description (<em class="parameter"><code>const <a class="link" href="PangoFcFontMap.html#PangoFcFontsetKey" title="PangoFcFontsetKey"><span class="type">PangoFcFontsetKey</span></a> *key</code></em>);</pre>
<p>Gets the font description of <em class="parameter"><code>key</code></em>
.</p>
<div class="refsect3">
<a name="pango-fc-fontset-key-get-description.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>key</p></td>
<td class="parameter_description"><p>the fontset key</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="pango-fc-fontset-key-get-description.returns"></a><h4>Returns</h4>
<p> the font description, which is owned by <em class="parameter"><code>key</code></em>
and should not be modified.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-1-24.html#api-index-1.24">1.24</a></p>
</div>
<hr>
<div class="refsect2">
<a name="pango-fc-fontset-key-get-language"></a><h3>pango_fc_fontset_key_get_language ()</h3>
<pre class="programlisting"><a class="link" href="pango-Scripts-and-Languages.html#PangoLanguage"><span class="returnvalue">PangoLanguage</span></a> *
pango_fc_fontset_key_get_language (<em class="parameter"><code>const <a class="link" href="PangoFcFontMap.html#PangoFcFontsetKey" title="PangoFcFontsetKey"><span class="type">PangoFcFontsetKey</span></a> *key</code></em>);</pre>
<p>Gets the language member of <em class="parameter"><code>key</code></em>
.</p>
<div class="refsect3">
<a name="pango-fc-fontset-key-get-language.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>key</p></td>
<td class="parameter_description"><p>the fontset key</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="pango-fc-fontset-key-get-language.returns"></a><h4>Returns</h4>
<p> the language</p>
</div>
<p class="since">Since: <a class="link" href="api-index-1-24.html#api-index-1.24">1.24</a></p>
</div>
<hr>
<div class="refsect2">
<a name="pango-fc-fontset-key-get-matrix"></a><h3>pango_fc_fontset_key_get_matrix ()</h3>
<pre class="programlisting">const <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="returnvalue">PangoMatrix</span></a> *
pango_fc_fontset_key_get_matrix (<em class="parameter"><code>const <a class="link" href="PangoFcFontMap.html#PangoFcFontsetKey" title="PangoFcFontsetKey"><span class="type">PangoFcFontsetKey</span></a> *key</code></em>);</pre>
<p>Gets the matrix member of <em class="parameter"><code>key</code></em>
.</p>
<div class="refsect3">
<a name="pango-fc-fontset-key-get-matrix.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>key</p></td>
<td class="parameter_description"><p>the fontset key</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="pango-fc-fontset-key-get-matrix.returns"></a><h4>Returns</h4>
<p> the matrix, which is owned by <em class="parameter"><code>key</code></em>
and should not be modified.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-1-24.html#api-index-1.24">1.24</a></p>
</div>
<hr>
<div class="refsect2">
<a name="pango-fc-fontset-key-get-absolute-size"></a><h3>pango_fc_fontset_key_get_absolute_size ()</h3>
<pre class="programlisting"><span class="returnvalue">double</span>
pango_fc_fontset_key_get_absolute_size
                               (<em class="parameter"><code>const <a class="link" href="PangoFcFontMap.html#PangoFcFontsetKey" title="PangoFcFontsetKey"><span class="type">PangoFcFontsetKey</span></a> *key</code></em>);</pre>
<p>Gets the absolute font size of <em class="parameter"><code>key</code></em>
 in Pango units.  This is adjusted
for both resolution and transformation matrix.</p>
<div class="refsect3">
<a name="pango-fc-fontset-key-get-absolute-size.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>key</p></td>
<td class="parameter_description"><p>the fontset key</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="pango-fc-fontset-key-get-absolute-size.returns"></a><h4>Returns</h4>
<p> the pixel size of <em class="parameter"><code>key</code></em>
.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-1-24.html#api-index-1.24">1.24</a></p>
</div>
<hr>
<div class="refsect2">
<a name="pango-fc-fontset-key-get-resolution"></a><h3>pango_fc_fontset_key_get_resolution ()</h3>
<pre class="programlisting"><span class="returnvalue">double</span>
pango_fc_fontset_key_get_resolution (<em class="parameter"><code>const <a class="link" href="PangoFcFontMap.html#PangoFcFontsetKey" title="PangoFcFontsetKey"><span class="type">PangoFcFontsetKey</span></a> *key</code></em>);</pre>
<p>Gets the resolution of <em class="parameter"><code>key</code></em>
</p>
<div class="refsect3">
<a name="pango-fc-fontset-key-get-resolution.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>key</p></td>
<td class="parameter_description"><p>the fontset key</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="pango-fc-fontset-key-get-resolution.returns"></a><h4>Returns</h4>
<p> the resolution of <em class="parameter"><code>key</code></em>
</p>
</div>
<p class="since">Since: <a class="link" href="api-index-1-24.html#api-index-1.24">1.24</a></p>
</div>
<hr>
<div class="refsect2">
<a name="pango-fc-font-key-get-context-key"></a><h3>pango_fc_font_key_get_context_key ()</h3>
<pre class="programlisting"><span class="returnvalue">gpointer</span>
pango_fc_font_key_get_context_key (<em class="parameter"><code>const <a class="link" href="PangoFcFontMap.html#PangoFcFontKey" title="PangoFcFontKey"><span class="type">PangoFcFontKey</span></a> *key</code></em>);</pre>
<p>Gets the context key member of <em class="parameter"><code>key</code></em>
.</p>
<div class="refsect3">
<a name="pango-fc-font-key-get-context-key.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>key</p></td>
<td class="parameter_description"><p>the font key</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="pango-fc-font-key-get-context-key.returns"></a><h4>Returns</h4>
<p> the context key, which is owned by <em class="parameter"><code>key</code></em>
and should not be modified.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-1-24.html#api-index-1.24">1.24</a></p>
</div>
<hr>
<div class="refsect2">
<a name="pango-fc-font-key-get-matrix"></a><h3>pango_fc_font_key_get_matrix ()</h3>
<pre class="programlisting">const <a class="link" href="pango-Glyph-Storage.html#PangoMatrix"><span class="returnvalue">PangoMatrix</span></a> *
pango_fc_font_key_get_matrix (<em class="parameter"><code>const <a class="link" href="PangoFcFontMap.html#PangoFcFontKey" title="PangoFcFontKey"><span class="type">PangoFcFontKey</span></a> *key</code></em>);</pre>
<p>Gets the matrix member of <em class="parameter"><code>key</code></em>
.</p>
<div class="refsect3">
<a name="pango-fc-font-key-get-matrix.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>key</p></td>
<td class="parameter_description"><p>the font key</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="pango-fc-font-key-get-matrix.returns"></a><h4>Returns</h4>
<p> the matrix, which is owned by <em class="parameter"><code>key</code></em>
and should not be modified.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-1-24.html#api-index-1.24">1.24</a></p>
</div>
<hr>
<div class="refsect2">
<a name="pango-fc-font-key-get-pattern"></a><h3>pango_fc_font_key_get_pattern ()</h3>
<pre class="programlisting">const <span class="returnvalue">FcPattern</span> *
pango_fc_font_key_get_pattern (<em class="parameter"><code>const <a class="link" href="PangoFcFontMap.html#PangoFcFontKey" title="PangoFcFontKey"><span class="type">PangoFcFontKey</span></a> *key</code></em>);</pre>
<p>Gets the fontconfig pattern member of <em class="parameter"><code>key</code></em>
.</p>
<div class="refsect3">
<a name="pango-fc-font-key-get-pattern.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>key</p></td>
<td class="parameter_description"><p>the font key</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="pango-fc-font-key-get-pattern.returns"></a><h4>Returns</h4>
<p> the pattern, which is owned by <em class="parameter"><code>key</code></em>
and should not be modified.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-1-24.html#api-index-1.24">1.24</a></p>
</div>
</div>
<div class="refsect1">
<a name="PangoFcFontMap.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="PangoFcFontMap-struct"></a><h3>struct PangoFcFontMap</h3>
<pre class="programlisting">struct PangoFcFontMap;</pre>
<p><a class="link" href="PangoFcFontMap.html" title="PangoFcFontMap"><span class="type">PangoFcFontMap</span></a> is a base class for font map implementations
using the Fontconfig and FreeType libraries. To create a new
backend using Fontconfig and FreeType, you derive from this class
and implement a <code class="function">new_font()</code> virtual function that creates an
instance deriving from <a class="link" href="PangoFcFont.html" title="PangoFcFont"><span class="type">PangoFcFont</span></a>.</p>
</div>
<hr>
<div class="refsect2">
<a name="PangoFcFontMapClass"></a><h3>struct PangoFcFontMapClass</h3>
<pre class="programlisting">struct PangoFcFontMapClass {
  /* Deprecated in favor of fontset_key_substitute */
  void         (*default_substitute) (PangoFcFontMap   *fontmap,
				      FcPattern        *pattern);
  /* Deprecated in favor of create_font */
  PangoFcFont  *(*new_font)          (PangoFcFontMap  *fontmap,
				      FcPattern       *pattern);

  double       (*get_resolution)     (PangoFcFontMap             *fcfontmap,
				      PangoContext               *context);

  gconstpointer (*context_key_get)   (PangoFcFontMap             *fcfontmap,
				      PangoContext               *context);
  gpointer     (*context_key_copy)   (PangoFcFontMap             *fcfontmap,
				      gconstpointer               key);
  void         (*context_key_free)   (PangoFcFontMap             *fcfontmap,
				      gpointer                    key);
  guint32      (*context_key_hash)   (PangoFcFontMap             *fcfontmap,
				      gconstpointer               key);
  gboolean     (*context_key_equal)  (PangoFcFontMap             *fcfontmap,
				      gconstpointer               key_a,
				      gconstpointer               key_b);
  void         (*fontset_key_substitute)(PangoFcFontMap             *fontmap,

				      PangoFcFontsetKey          *fontsetkey,
				      FcPattern                  *pattern);
  PangoFcFont  *(*create_font)       (PangoFcFontMap             *fontmap,
				      PangoFcFontKey             *fontkey);
};
</pre>
<p>Class structure for <a class="link" href="PangoFcFontMap.html" title="PangoFcFontMap"><span class="type">PangoFcFontMap</span></a>.</p>
<div class="refsect3">
<a name="PangoFcFontMapClass.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="PangoFcFontMapClass.default-substitute"></a>default_substitute</code></em> ()</p></td>
<td class="struct_member_description"><p>Substitutes in default
values for unspecified fields in a <span class="type">FcPattern</span>. This will
be called prior to creating a font for the pattern. May be
<code class="literal">NULL</code>.  Deprecated in favor of <em class="parameter"><code><code class="function">font_key_substitute()</code></code></em>
. </p></td>
<td class="struct_member_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="PangoFcFontMapClass.new-font"></a>new_font</code></em> ()</p></td>
<td class="struct_member_description"><p>Creates a new <a class="link" href="PangoFcFont.html" title="PangoFcFont"><span class="type">PangoFcFont</span></a> for the specified
pattern of the appropriate type for this font map. The
<em class="parameter"><code>pattern</code></em>
argument must be passed to the "pattern" property
of <a class="link" href="PangoFcFont.html" title="PangoFcFont"><span class="type">PangoFcFont</span></a> when you call <code class="function">g_object_new()</code>. Deprecated
in favor of <em class="parameter"><code><code class="function">create_font()</code></code></em>
.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="PangoFcFontMapClass.get-resolution"></a>get_resolution</code></em> ()</p></td>
<td class="struct_member_description"><p>Gets the resolution (the scale factor
between logical and absolute font sizes) that the backend
will use for a particular fontmap and context. <em class="parameter"><code>context</code></em>
may be null.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="PangoFcFontMapClass.context-key-get"></a>context_key_get</code></em> ()</p></td>
<td class="struct_member_description"><p>Gets an opaque key holding backend
specific options for the context that will affect
fonts created by <em class="parameter"><code><code class="function">create_font()</code></code></em>
. The result must point to
persistant storage owned by the fontmap. This key
is used to index hash tables used to look up fontsets
and fonts.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="PangoFcFontMapClass.context-key-copy"></a>context_key_copy</code></em> ()</p></td>
<td class="struct_member_description"><p>Copies a context key. Pango uses this
to make a persistant copy of the value returned from
<em class="parameter"><code>context_key_get</code></em>
.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="PangoFcFontMapClass.context-key-free"></a>context_key_free</code></em> ()</p></td>
<td class="struct_member_description"><p>Frees a context key copied with
<em class="parameter"><code>context_key_copy</code></em>
.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="PangoFcFontMapClass.context-key-hash"></a>context_key_hash</code></em> ()</p></td>
<td class="struct_member_description"><p>Gets a hash value for a context key</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="PangoFcFontMapClass.context-key-equal"></a>context_key_equal</code></em> ()</p></td>
<td class="struct_member_description"><p>Compares two context keys for equality.</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="PangoFcFontMapClass.fontset-key-substitute"></a>fontset_key_substitute</code></em> ()</p></td>
<td class="struct_member_description"><p>Substitutes in
default values for unspecified fields in a
<span class="type">FcPattern</span>. This will be called prior to creating a font
for the pattern. May be <code class="literal">NULL</code>.  (Since: 1.24). </p></td>
<td class="struct_member_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="PangoFcFontMapClass.create-font"></a>create_font</code></em> ()</p></td>
<td class="struct_member_description"><p>Creates a new <a class="link" href="PangoFcFont.html" title="PangoFcFont"><span class="type">PangoFcFont</span></a> for
the specified pattern of the appropriate type for this
font map using information from the font key that is
passed in. The <em class="parameter"><code>pattern</code></em>
member of <em class="parameter"><code>font_key</code></em>
can be
retrieved using <a class="link" href="PangoFcFontMap.html#pango-fc-font-key-get-pattern" title="pango_fc_font_key_get_pattern ()"><code class="function">pango_fc_font_key_get_pattern()</code></a> and must
be passed to the "pattern" property of <a class="link" href="PangoFcFont.html" title="PangoFcFont"><span class="type">PangoFcFont</span></a> when
you call <code class="function">g_object_new()</code>.  If <code class="literal">NULL</code>, <code class="function">new_font()</code> is used.
(Since: 1.24). </p></td>
<td class="struct_member_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="PANGO-FC-FONT-FEATURES:CAPS"></a><h3>PANGO_FC_FONT_FEATURES</h3>
<pre class="programlisting">#define PANGO_FC_FONT_FEATURES "fontfeatures"
</pre>
<p>String representing a fontconfig property name that Pango reads from font
patterns to populate list of OpenType features to be enabled for the font
by default.</p>
<p>The property will have a number of string elements, each of which is the
OpenType feature tag of one feature to enable.</p>
<p>This is equivalent to FC_FONT_FEATURES in versions of fontconfig that have that.</p>
<p class="since">Since: <a class="link" href="api-index-1-34.html#api-index-1.34">1.34</a></p>
</div>
<hr>
<div class="refsect2">
<a name="PANGO-FC-GRAVITY:CAPS"></a><h3>PANGO_FC_GRAVITY</h3>
<pre class="programlisting">#define PANGO_FC_GRAVITY "pangogravity"
</pre>
<p>String representing a fontconfig property name that Pango sets on any
fontconfig pattern it passes to fontconfig if a <a class="link" href="pango-Vertical-Text.html#PangoGravity" title="enum PangoGravity"><span class="type">PangoGravity</span></a> other
than <a class="link" href="pango-Vertical-Text.html#PANGO-GRAVITY-SOUTH:CAPS"><code class="literal">PANGO_GRAVITY_SOUTH</code></a> is desired.</p>
<p>The property will have a <a class="link" href="pango-Vertical-Text.html#PangoGravity" title="enum PangoGravity"><span class="type">PangoGravity</span></a> value as a string, like "east".
This can be used to write fontconfig configuration rules to choose
different fonts for horizontal and vertical writing directions.</p>
<p class="since">Since: <a class="link" href="api-index-1-20.html#api-index-1.20">1.20</a></p>
</div>
<hr>
<div class="refsect2">
<a name="PANGO-FC-VERSION:CAPS"></a><h3>PANGO_FC_VERSION</h3>
<pre class="programlisting">#define PANGO_FC_VERSION "pangoversion"
</pre>
<p>String representing a fontconfig property name that Pango sets on any
fontconfig pattern it passes to fontconfig.</p>
<p>The property will have an integer value equal to what
<a class="link" href="pango-Version-Checking.html#pango-version" title="pango_version ()"><code class="function">pango_version()</code></a> returns.
This can be used to write fontconfig configuration rules that only affect
certain pango versions (or only pango-using applications, or only
non-pango-using applications).</p>
<p class="since">Since: <a class="link" href="api-index-1-20.html#api-index-1.20">1.20</a></p>
</div>
<hr>
<div class="refsect2">
<a name="PANGO-FC-PRGNAME:CAPS"></a><h3>PANGO_FC_PRGNAME</h3>
<pre class="programlisting">#define PANGO_FC_PRGNAME "prgname"
</pre>
<p>String representing a fontconfig property name that Pango sets on any
fontconfig pattern it passes to fontconfig.</p>
<p>The property will have a string equal to what
<code class="function">g_get_prgname()</code> returns.
This can be used to write fontconfig configuration rules that only affect
certain applications.</p>
<p>This is equivalent to FC_PRGNAME in versions of fontconfig that have that.</p>
<p class="since">Since: <a class="link" href="api-index-1-24.html#api-index-1.24">1.24</a></p>
</div>
<hr>
<div class="refsect2">
<a name="PangoFcFontsetKey"></a><h3>PangoFcFontsetKey</h3>
<pre class="programlisting">typedef struct _PangoFcFontsetKey PangoFcFontsetKey;</pre>
<p>An opaque structure containing all the information needed for
loading a fontset with the PangoFc fontmap.</p>
<p class="since">Since: <a class="link" href="api-index-1-24.html#api-index-1.24">1.24</a></p>
</div>
<hr>
<div class="refsect2">
<a name="PangoFcFontKey"></a><h3>PangoFcFontKey</h3>
<pre class="programlisting">typedef struct _PangoFcFontKey PangoFcFontKey;</pre>
<p>An opaque structure containing all the information needed for
loading a font with the PangoFc fontmap.</p>
<p class="since">Since: <a class="link" href="api-index-1-24.html#api-index-1.24">1.24</a></p>
</div>
</div>
<div class="refsect1">
<a name="PangoFcFontMap.see-also"></a><h2>See Also</h2>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody><tr>
<td><p><span class="term"><a class="link" href="PangoFcFont.html" title="PangoFcFont"><span class="type">PangoFcFont</span></a></span></p></td>
<td>The base class for fonts; creating a new
Fontconfig-based backend involves deriving from both
<a class="link" href="PangoFcFontMap.html" title="PangoFcFontMap"><span class="type">PangoFcFontMap</span></a> and <a class="link" href="PangoFcFont.html" title="PangoFcFont"><span class="type">PangoFcFont</span></a>.</td>
</tr></tbody>
</table></div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.28</div>
</body>
</html>