Current File : //usr/share/gtk-doc/html/harfbuzz/integration-icu.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ICU integration: HarfBuzz Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="HarfBuzz Manual">
<link rel="up" href="integration.html" title="Platform Integration Guide">
<link rel="prev" href="integration-coretext.html" title="Core Text integration">
<link rel="next" href="integration-python.html" title="Python bindings">
<meta name="generator" content="GTK-Doc V1.32 (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"></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="integration.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="integration-coretext.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="integration-python.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="integration-icu"></a>ICU integration</h2></div></div></div>
<p>
Although HarfBuzz includes its own Unicode-data functions, it
also provides integration APIs for using the International
Components for Unicode (ICU) library as a source of Unicode data
on any supported platform.
</p>
<p>
The principal integration point with ICU is the
<span class="type">hb_unicode_funcs_t</span> Unicode-functions structure
attached to a buffer. This structure holds the virtual methods
used for retrieving Unicode character properties, such as
General Category, Script, Combining Class, decomposition
mappings, and mirroring information.
</p>
<p>
To use ICU in your client program, you need to call
<code class="function">hb_icu_get_unicode_funcs()</code>, which creates a
Unicode-functions structure populated with the ICU function for
each included method. Subsequently, you can attach the
Unicode-functions structure to your buffer:
</p>
<pre class="programlisting">
hb_unicode_funcs_t *icufunctions;
icufunctions = hb_icu_get_unicode_funcs();
hb_buffer_set_unicode_funcs(buf, icufunctions);
</pre>
<p>
and ICU will be used for Unicode-data access.
</p>
<p>
HarfBuzz also supplies a pair of functions
(<code class="function">hb_icu_script_from_script()</code> and
<code class="function">hb_icu_script_to_script()</code>) for converting
between ICU's and HarfBuzz's internal enumerations of Unicode
scripts. The <code class="function">hb_icu_script_from_script()</code>
function converts from a HarfBuzz <span class="type">hb_script_t</span> to an
ICU <span class="type">UScriptCode</span>. The
<code class="function">hb_icu_script_to_script()</code> function does the
reverse: converting from a <span class="type">UScriptCode</span> identifier
to a <span class="type">hb_script_t</span>.
</p>
<p>
By default, HarfBuzz's ICU support is built as a separate shared
library (<code class="filename">libharfbuzz-icu.so</code>)
when compiling HarfBuzz from source. This allows client programs
that do not need ICU to link against HarfBuzz without unnecessarily
adding ICU as a dependency. You can also build HarfBuzz with ICU
support built directly into the main HarfBuzz shared library
(<code class="filename">libharfbuzz.so</code>),
by specifying the <code class="literal">--with-icu=builtin</code>
compile-time option.
</p>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.32</div>
</body>
</html>
Mr. DellatioNx196 GaLers xh3LL Backd00r 1.0, Coded By Mr. DellatioNx196 - Bogor BlackHat