1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>Coverage Maps</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.74.3">
7 <link rel="home" href="index.html" title="Pango Reference Manual">
8 <link rel="up" href="lowlevel.html" title="Low Level Functionality">
9 <link rel="prev" href="pango-OpenType-Font-Handling.html" title="OpenType Font Handling">
10 <link rel="next" href="pango-Engines.html" title="Engines">
11 <meta name="generator" content="GTK-Doc V1.11 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 <link rel="chapter" href="pango.html" title="Basic Pango Interfaces">
14 <link rel="chapter" href="rendering.html" title="Rendering with Pango">
15 <link rel="chapter" href="lowlevel.html" title="Low Level Functionality">
16 <link rel="chapter" href="tools.html" title="Pango Tools">
17 <link rel="chapter" href="pango-hierarchy.html" title="Object Hierarchy">
18 <link rel="index" href="index-all.html" title="Index">
19 <link rel="index" href="index-deprecated.html" title="Index of deprecated symbols">
20 <link rel="index" href="index-1.2.html" title="Index of new symbols in 1.2">
21 <link rel="index" href="index-1.4.html" title="Index of new symbols in 1.4">
22 <link rel="index" href="index-1.6.html" title="Index of new symbols in 1.6">
23 <link rel="index" href="index-1.8.html" title="Index of new symbols in 1.8">
24 <link rel="index" href="index-1.10.html" title="Index of new symbols in 1.10">
25 <link rel="index" href="index-1.12.html" title="Index of new symbols in 1.12">
26 <link rel="index" href="index-1.14.html" title="Index of new symbols in 1.14">
27 <link rel="index" href="index-1.16.html" title="Index of new symbols in 1.16">
28 <link rel="index" href="index-1.18.html" title="Index of new symbols in 1.18">
29 <link rel="index" href="index-1.20.html" title="Index of new symbols in 1.20">
30 <link rel="index" href="index-1.22.html" title="Index of new symbols in 1.22">
31 <link rel="index" href="index-1.24.html" title="Index of new symbols in 1.24">
32 <link rel="index" href="index-1.26.html" title="Index of new symbols in 1.26">
34 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
35 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
37 <td><a accesskey="p" href="pango-OpenType-Font-Handling.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
38 <td><a accesskey="u" href="lowlevel.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
39 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
40 <th width="100%" align="center">Pango Reference Manual</th>
41 <td><a accesskey="n" href="pango-Engines.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
43 <tr><td colspan="5" class="shortcuts">
44 <a href="#pango-Coverage-Maps.synopsis" class="shortcut">Top</a>
46 <a href="#pango-Coverage-Maps.description" class="shortcut">Description</a>
49 <div class="refentry" lang="en">
50 <a name="pango-Coverage-Maps"></a><div class="titlepage"></div>
51 <div class="refnamediv"><table width="100%"><tr>
53 <h2><span class="refentrytitle"><a name="pango-Coverage-Maps.top_of_page"></a>Coverage Maps</span></h2>
54 <p>Coverage Maps — Unicode character range coverage storage</p>
56 <td valign="top" align="right"></td>
58 <div class="refsynopsisdiv">
59 <a name="pango-Coverage-Maps.synopsis"></a><h2>Synopsis</h2>
60 <pre class="synopsis">
61 enum <a class="link" href="pango-Coverage-Maps.html#PangoCoverageLevel" title="enum PangoCoverageLevel">PangoCoverageLevel</a>;
62 #define <a class="link" href="pango-Coverage-Maps.html#PANGO-TYPE-COVERAGE-LEVEL--CAPS" title="PANGO_TYPE_COVERAGE_LEVEL">PANGO_TYPE_COVERAGE_LEVEL</a>
63 <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a>;
65 <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a> * <a class="link" href="pango-Coverage-Maps.html#pango-coverage-new" title="pango_coverage_new ()">pango_coverage_new</a> (void);
66 <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a> * <a class="link" href="pango-Coverage-Maps.html#pango-coverage-ref" title="pango_coverage_ref ()">pango_coverage_ref</a> (<a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a> *coverage);
67 void <a class="link" href="pango-Coverage-Maps.html#pango-coverage-unref" title="pango_coverage_unref ()">pango_coverage_unref</a> (<a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a> *coverage);
68 <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a> * <a class="link" href="pango-Coverage-Maps.html#pango-coverage-copy" title="pango_coverage_copy ()">pango_coverage_copy</a> (<a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a> *coverage);
69 <a class="link" href="pango-Coverage-Maps.html#PangoCoverageLevel" title="enum PangoCoverageLevel">PangoCoverageLevel</a> <a class="link" href="pango-Coverage-Maps.html#pango-coverage-get" title="pango_coverage_get ()">pango_coverage_get</a> (<a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a> *coverage,
71 void <a class="link" href="pango-Coverage-Maps.html#pango-coverage-max" title="pango_coverage_max ()">pango_coverage_max</a> (<a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a> *coverage,
72 <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a> *other);
73 void <a class="link" href="pango-Coverage-Maps.html#pango-coverage-set" title="pango_coverage_set ()">pango_coverage_set</a> (<a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a> *coverage,
75 <a class="link" href="pango-Coverage-Maps.html#PangoCoverageLevel" title="enum PangoCoverageLevel">PangoCoverageLevel</a> level);
76 void <a class="link" href="pango-Coverage-Maps.html#pango-coverage-to-bytes" title="pango_coverage_to_bytes ()">pango_coverage_to_bytes</a> (<a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a> *coverage,
78 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guchar"
81 <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a> * <a class="link" href="pango-Coverage-Maps.html#pango-coverage-from-bytes" title="pango_coverage_from_bytes ()">pango_coverage_from_bytes</a> (<a
82 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guchar"
87 <div class="refsect1" lang="en">
88 <a name="pango-Coverage-Maps.description"></a><h2>Description</h2>
90 It is often necessary in Pango to determine if a particular font can
91 represent a particular character, and also how well it can represent
92 that character. The <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage"><span class="type">PangoCoverage</span></a> is a data structure that is used
93 to represent that information.
96 <div class="refsect1" lang="en">
97 <a name="pango-Coverage-Maps.details"></a><h2>Details</h2>
98 <div class="refsect2" lang="en">
99 <a name="PangoCoverageLevel"></a><h3>enum PangoCoverageLevel</h3>
100 <pre class="programlisting">typedef enum {
102 PANGO_COVERAGE_FALLBACK,
103 PANGO_COVERAGE_APPROXIMATE,
105 } PangoCoverageLevel;
108 Used to indicate how well a font can represent a particular Unicode
109 character point for a particular script.
111 <div class="variablelist"><table border="0">
112 <col align="left" valign="top">
115 <td><p><a name="PANGO-COVERAGE-NONE--CAPS"></a><span class="term"><code class="literal">PANGO_COVERAGE_NONE</code></span></p></td>
116 <td>The character is not representable with the font.
120 <td><p><a name="PANGO-COVERAGE-FALLBACK--CAPS"></a><span class="term"><code class="literal">PANGO_COVERAGE_FALLBACK</code></span></p></td>
121 <td>The character is represented in a way that may be
122 comprehensible but is not the correct graphical form.
123 For instance, a Hangul character represented as a
124 a sequence of Jamos, or a Latin transliteration of
129 <td><p><a name="PANGO-COVERAGE-APPROXIMATE--CAPS"></a><span class="term"><code class="literal">PANGO_COVERAGE_APPROXIMATE</code></span></p></td>
130 <td>The character is represented as basically the correct
131 graphical form, but with a stylistic variant inappropriate for
136 <td><p><a name="PANGO-COVERAGE-EXACT--CAPS"></a><span class="term"><code class="literal">PANGO_COVERAGE_EXACT</code></span></p></td>
137 <td>The character is represented as the correct graphical form.
144 <div class="refsect2" lang="en">
145 <a name="PANGO-TYPE-COVERAGE-LEVEL--CAPS"></a><h3>PANGO_TYPE_COVERAGE_LEVEL</h3>
146 <pre class="programlisting">#define PANGO_TYPE_COVERAGE_LEVEL (pango_coverage_level_get_type())
150 href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"
151 ><span class="type">GObject</span></a> type for <a class="link" href="pango-Coverage-Maps.html#PangoCoverageLevel" title="enum PangoCoverageLevel"><span class="type">PangoCoverageLevel</span></a>.
155 <div class="refsect2" lang="en">
156 <a name="PangoCoverage"></a><h3>PangoCoverage</h3>
157 <pre class="programlisting">typedef struct _PangoCoverage PangoCoverage;</pre>
159 The <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage"><span class="type">PangoCoverage</span></a> structure represents a map from Unicode characters
160 to <a class="link" href="pango-Coverage-Maps.html#PangoCoverageLevel" title="enum PangoCoverageLevel"><span class="type">PangoCoverageLevel</span></a>. It is an opaque structure with no public fields.
164 <div class="refsect2" lang="en">
165 <a name="pango-coverage-new"></a><h3>pango_coverage_new ()</h3>
166 <pre class="programlisting"><a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a> * pango_coverage_new (void);</pre>
168 Create a new <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage"><span class="type">PangoCoverage</span></a></p>
171 <div class="variablelist"><table border="0">
172 <col align="left" valign="top">
174 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
175 <td> the newly allocated <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage"><span class="type">PangoCoverage</span></a>,
176 initialized to <a class="link" href="pango-Coverage-Maps.html#PANGO-COVERAGE-NONE--CAPS"><code class="literal">PANGO_COVERAGE_NONE</code></a>
177 with a reference count of one, which
178 should be freed with <a class="link" href="pango-Coverage-Maps.html#pango-coverage-unref" title="pango_coverage_unref ()"><code class="function">pango_coverage_unref()</code></a>.
184 <div class="refsect2" lang="en">
185 <a name="pango-coverage-ref"></a><h3>pango_coverage_ref ()</h3>
186 <pre class="programlisting"><a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a> * pango_coverage_ref (<a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a> *coverage);</pre>
188 Increase the reference count on the <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage"><span class="type">PangoCoverage</span></a> by one</p>
191 <div class="variablelist"><table border="0">
192 <col align="left" valign="top">
195 <td><p><span class="term"><em class="parameter"><code>coverage</code></em> :</span></p></td>
196 <td> a <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage"><span class="type">PangoCoverage</span></a>
200 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
201 <td> <em class="parameter"><code>coverage</code></em>
208 <div class="refsect2" lang="en">
209 <a name="pango-coverage-unref"></a><h3>pango_coverage_unref ()</h3>
210 <pre class="programlisting">void pango_coverage_unref (<a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a> *coverage);</pre>
212 Decrease the reference count on the <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage"><span class="type">PangoCoverage</span></a> by one.
213 If the result is zero, free the coverage and all associated memory.</p>
216 <div class="variablelist"><table border="0">
217 <col align="left" valign="top">
219 <td><p><span class="term"><em class="parameter"><code>coverage</code></em> :</span></p></td>
220 <td> a <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage"><span class="type">PangoCoverage</span></a>
226 <div class="refsect2" lang="en">
227 <a name="pango-coverage-copy"></a><h3>pango_coverage_copy ()</h3>
228 <pre class="programlisting"><a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a> * pango_coverage_copy (<a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a> *coverage);</pre>
230 Copy an existing <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage"><span class="type">PangoCoverage</span></a>. (This function may now be unnecessary
231 since we refcount the structure. File a bug if you use it.)</p>
234 <div class="variablelist"><table border="0">
235 <col align="left" valign="top">
238 <td><p><span class="term"><em class="parameter"><code>coverage</code></em> :</span></p></td>
239 <td> a <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage"><span class="type">PangoCoverage</span></a>
243 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
244 <td> the newly allocated <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage"><span class="type">PangoCoverage</span></a>,
245 with a reference count of one, which
246 should be freed with <a class="link" href="pango-Coverage-Maps.html#pango-coverage-unref" title="pango_coverage_unref ()"><code class="function">pango_coverage_unref()</code></a>.
253 <div class="refsect2" lang="en">
254 <a name="pango-coverage-get"></a><h3>pango_coverage_get ()</h3>
255 <pre class="programlisting"><a class="link" href="pango-Coverage-Maps.html#PangoCoverageLevel" title="enum PangoCoverageLevel">PangoCoverageLevel</a> pango_coverage_get (<a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a> *coverage,
258 Determine whether a particular index is covered by <em class="parameter"><code>coverage</code></em></p>
261 <div class="variablelist"><table border="0">
262 <col align="left" valign="top">
265 <td><p><span class="term"><em class="parameter"><code>coverage</code></em> :</span></p></td>
266 <td> a <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage"><span class="type">PangoCoverage</span></a>
270 <td><p><span class="term"><em class="parameter"><code>index_</code></em> :</span></p></td>
271 <td> the index to check
275 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
276 <td> the coverage level of <em class="parameter"><code>coverage</code></em> for character <em class="parameter"><code>index_</code></em>.
283 <div class="refsect2" lang="en">
284 <a name="pango-coverage-max"></a><h3>pango_coverage_max ()</h3>
285 <pre class="programlisting">void pango_coverage_max (<a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a> *coverage,
286 <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a> *other);</pre>
288 Set the coverage for each index in <em class="parameter"><code>coverage</code></em> to be the max (better)
289 value of the current coverage for the index and the coverage for
290 the corresponding index in <em class="parameter"><code>other</code></em>.</p>
293 <div class="variablelist"><table border="0">
294 <col align="left" valign="top">
297 <td><p><span class="term"><em class="parameter"><code>coverage</code></em> :</span></p></td>
298 <td> a <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage"><span class="type">PangoCoverage</span></a>
302 <td><p><span class="term"><em class="parameter"><code>other</code></em> :</span></p></td>
303 <td> another <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage"><span class="type">PangoCoverage</span></a>
310 <div class="refsect2" lang="en">
311 <a name="pango-coverage-set"></a><h3>pango_coverage_set ()</h3>
312 <pre class="programlisting">void pango_coverage_set (<a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a> *coverage,
314 <a class="link" href="pango-Coverage-Maps.html#PangoCoverageLevel" title="enum PangoCoverageLevel">PangoCoverageLevel</a> level);</pre>
316 Modify a particular index within <em class="parameter"><code>coverage</code></em></p>
319 <div class="variablelist"><table border="0">
320 <col align="left" valign="top">
323 <td><p><span class="term"><em class="parameter"><code>coverage</code></em> :</span></p></td>
324 <td> a <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage"><span class="type">PangoCoverage</span></a>
328 <td><p><span class="term"><em class="parameter"><code>index_</code></em> :</span></p></td>
329 <td> the index to modify
333 <td><p><span class="term"><em class="parameter"><code>level</code></em> :</span></p></td>
334 <td> the new level for <em class="parameter"><code>index_</code></em>
341 <div class="refsect2" lang="en">
342 <a name="pango-coverage-to-bytes"></a><h3>pango_coverage_to_bytes ()</h3>
343 <pre class="programlisting">void pango_coverage_to_bytes (<a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a> *coverage,
345 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guchar"
349 Convert a <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage"><span class="type">PangoCoverage</span></a> structure into a flat binary format</p>
352 <div class="variablelist"><table border="0">
353 <col align="left" valign="top">
356 <td><p><span class="term"><em class="parameter"><code>coverage</code></em> :</span></p></td>
357 <td> a <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage"><span class="type">PangoCoverage</span></a>
361 <td><p><span class="term"><em class="parameter"><code>bytes</code></em> :</span></p></td>
362 <td> location to store result (must be freed with <a
363 href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"
364 ><code class="function">g_free()</code></a>)
368 <td><p><span class="term"><em class="parameter"><code>n_bytes</code></em> :</span></p></td>
369 <td> location to store size of result
376 <div class="refsect2" lang="en">
377 <a name="pango-coverage-from-bytes"></a><h3>pango_coverage_from_bytes ()</h3>
378 <pre class="programlisting"><a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage">PangoCoverage</a> * pango_coverage_from_bytes (<a
379 href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guchar"
383 Convert data generated from <code class="function">pango_converage_to_bytes()</code> back
384 to a <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage"><span class="type">PangoCoverage</span></a></p>
387 <div class="variablelist"><table border="0">
388 <col align="left" valign="top">
391 <td><p><span class="term"><em class="parameter"><code>bytes</code></em> :</span></p></td>
392 <td> binary data representing a <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage"><span class="type">PangoCoverage</span></a>
396 <td><p><span class="term"><em class="parameter"><code>n_bytes</code></em> :</span></p></td>
397 <td> the size of <em class="parameter"><code>bytes</code></em> in bytes
401 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
402 <td> a newly allocated <a class="link" href="pango-Coverage-Maps.html#PangoCoverage" title="PangoCoverage"><span class="type">PangoCoverage</span></a>, or <a
403 href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL--CAPS"
404 ><code class="literal">NULL</code></a> if
405 the data was invalid.
415 Generated by GTK-Doc V1.11</div>