✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ server.blackpussy.asia ​🇻​♯➤ 5.14.0-611.20.1.el9_7.x86_64 #1 SMP 🇾​♯➤ 2026

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 163.245.207.76 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.216.243
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗞 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ mail,mb_send_mail
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /usr/share/gtk-doc/html/harfbuzz//integration.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>Platform Integration Guide: 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="pt01.html" title="Part I. User's manual">
<link rel="prev" href="utilities-ucdn.html" title="UCDN">
<link rel="next" href="integration-freetype.html" title="FreeType integration">
<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="pt01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="utilities-ucdn.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="integration-freetype.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="chapter">
<div class="titlepage"><div><div><h2 class="title">
<a name="integration"></a>Platform Integration Guide</h2></div></div></div>
<div class="toc"><dl class="toc">
<dt><span class="section"><a href="integration.html#integration-glib">GNOME integration, GLib, and GObject</a></span></dt>
<dt><span class="section"><a href="integration-freetype.html">FreeType integration</a></span></dt>
<dt><span class="section"><a href="integration-uniscribe.html">Uniscribe integration</a></span></dt>
<dt><span class="section"><a href="integration-coretext.html">Core Text integration</a></span></dt>
<dt><span class="section"><a href="integration-icu.html">ICU integration</a></span></dt>
<dt><span class="section"><a href="integration-python.html">Python bindings</a></span></dt>
</dl></div>
<p>
    HarfBuzz was first developed for use with the GNOME and GTK
    software stack commonly found in desktop Linux
    distributions. Nevertheless, it can be used on other operating
    systems and platforms, from iOS and macOS to Windows. It can also
    be used with other application frameworks and components, such as
    Android, Qt, or application-specific widget libraries.
  </p>
<p>
    This chapter will look at how HarfBuzz fits into a typical
    text-rendering pipeline, and will discuss the APIs available to
    integrate HarfBuzz with contemporary Linux, Mac, and Windows
    software. It will also show how HarfBuzz integrates with popular
    external libraries like FreeType and International Components for
    Unicode (ICU) and describe the HarfBuzz language bindings for
    Python.
  </p>
<p>
    On a GNOME system, HarfBuzz is designed to tie in with several
    other common system libraries. The most common architecture uses
    Pango at the layer directly "above" HarfBuzz; Pango is responsible
    for text segmentation and for ensuring that each input
    <span class="type">hb_buffer_t</span> passed to HarfBuzz for shaping contains
    Unicode code points that share the same segment properties
    (namely, direction, language, and script, but also higher-level
    properties like the active font, font style, and so on).
  </p>
<p>
    The layer directly "below" HarfBuzz is typically FreeType, which
    is used to rasterize glyph outlines at the necessary optical size,
    hinting settings, and pixel resolution. FreeType provides APIs for
    accessing font and face information, so HarfBuzz includes
    functions to create <span class="type">hb_face_t</span> and
    <span class="type">hb_font_t</span> objects directly from FreeType
    objects. HarfBuzz can use FreeType's built-in functions for
    <em class="structfield"><code>font_funcs</code></em> vtable in an <span class="type">hb_font_t</span>.
  </p>
<p>
    FreeType's output is bitmaps of the rasterized glyphs; on a
    typical Linux system these will then be drawn by a graphics
    library like Cairo, but those details are beyond HarfBuzz's
    control. On the other hand, at the top end of the stack, Pango is
    part of the larger GNOME framework, and HarfBuzz does include APIs
    for working with key components of GNOME's higher-level libraries
    — most notably GLib.
  </p>
<p>
    For other operating systems or application frameworks, the
    critical integration points are where HarfBuzz gets font and face
    information about the font used for shaping and where HarfBuzz
    gets Unicode data about the input-buffer code points.
  </p>
<p>
    The font and face information is necessary for text shaping
    because HarfBuzz needs to retrieve the glyph indices for
    particular code points, and to know the extents and advances of
    glyphs. Note that, in an OpenType variable font, both of those
    types of information can change with different variation-axis
    settings.
  </p>
<p>
    The Unicode information is necessary for shaping because the
    properties of a code point (such as its General Category (gc),
    Canonical Combining Class (ccc), and decomposition) can directly
    impact the shaping moves that HarfBuzz performs.
  </p>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="integration-glib"></a>GNOME integration, GLib, and GObject</h2></div></div></div>
<p>
      As mentioned in the preceding section, HarfBuzz offers
      integration APIs to help client programs using the
      GNOME and GTK framework commonly found in desktop Linux
      distributions. 
    </p>
<p>
      GLib is the main utility library for GNOME applications. It
      provides basic data types and conversions, file abstractions,
      string manipulation, and macros, as well as facilities like
      memory allocation and the main event loop.
    </p>
<p>
      Where text shaping is concerned, GLib provides several utilities
      that HarfBuzz can take advantage of, including a set of
      Unicode-data functions and a data type for script
      information. Both are useful when working with HarfBuzz
      buffers. To make use of them, you will need to include the
      <code class="filename">hb-glib.h</code> header file.
    </p>
<p>
      GLib's <a class="ulink" href="https://developer.gnome.org/glib/stable/glib-Unicode-Manipulation.html" target="_top">Unicode
      manipulation API</a> includes all the functionality
      necessary to retrieve Unicode data for the
      <em class="structfield"><code>unicode_funcs</code></em> structure of a HarfBuzz
      <span class="type">hb_buffer_t</span>. 
    </p>
<p>
      The function <code class="function">hb_glib_get_unicode_funcs()</code>
      sets up a <span class="type">hb_unicode_funcs_t</span> structure configured
      with the GLib Unicode functions and returns a pointer to it.
    </p>
<p>
      You can attach this Unicode-functions structure to your buffer,
      and it will be ready for use with GLib:
    </p>
<pre class="programlisting">
      #include &lt;hb-glib.h&gt;
      ...
      hb_unicode_funcs_t *glibufunctions;
      glibufunctions = hb_glib_get_unicode_funcs();
      hb_buffer_set_unicode_funcs(buf, glibufunctions);
    </pre>
<p>
      For script information, GLib uses the
      <span class="type">GUnicodeScript</span> type. Like HarfBuzz's own
      <span class="type">hb_script_t</span>, this data type is an enumeration
      of Unicode scripts, but text segments passed in from GLib code
      will be tagged with a <span class="type">GUnicodeScript</span>. Therefore,
      when setting the script property on a <span class="type">hb_buffer_t</span>,
      you will need to convert between the <span class="type">GUnicodeScript</span>
      of the input provided by GLib and HarfBuzz's
      <span class="type">hb_script_t</span> type.
    </p>
<p>
      The <code class="function">hb_glib_script_to_script()</code> function
      takes an <span class="type">GUnicodeScript</span> script identifier as its
      sole argument and returns the corresponding <span class="type">hb_script_t</span>.
      The <code class="function">hb_glib_script_from_script()</code> does the
      reverse, taking an <span class="type">hb_script_t</span> and returning the
      <span class="type">GUnicodeScript</span> identifier for GLib.
    </p>
<p>
      Finally, GLib also provides a reference-counted object type called <a class="ulink" href="https://developer.gnome.org/glib/stable/glib-Byte-Arrays.html#GBytes" target="_top"><span class="type">GBytes</span></a>
      that is used for accessing raw memory segments with the benefits
      of GLib's lifecycle management. HarfBuzz provides a
      <code class="function">hb_glib_blob_create()</code> function that lets
      you create an <span class="type">hb_blob_t</span> directly from a
      <span class="type">GBytes</span> object. This function takes only the
      <span class="type">GBytes</span> object as its input; HarfBuzz registers the
      GLib <code class="function">destroy</code> callback automatically.
    </p>
<p>
      The GNOME platform also features an object system called
      GObject. For HarfBuzz, the main advantage of GObject is a
      feature called <a class="ulink" href="https://gi.readthedocs.io/en/latest/" target="_top">GObject
      Introspection</a>. This is a middleware facility that can be
      used to generate language bindings for C libraries. HarfBuzz uses it
      to build its Python bindings, which we will look at in a separate section.
    </p>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.32</div>
</body>
</html>

Current_dir [ 𝗡𝗢𝗧 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]

Current_dir [ 𝗡𝗢𝗧 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
31 Aug 2026 10.12 AM
root / root
0755
HarfBuzz.png
6.107 KB
27 Dec 2020 12.11 AM
root / root
0644
HarfBuzz.svg
6.587 KB
27 Dec 2020 12.11 AM
root / root
0644
a-clustering-example-for-levels-0-and-1.html
5.183 KB
2 Apr 2024 5.02 PM
root / root
0644
aat-shaping.html
2.304 KB
2 Apr 2024 5.02 PM
root / root
0644
adding-text-to-the-buffer.html
5.664 KB
2 Apr 2024 5.02 PM
root / root
0644
annotation-glossary.html
5.512 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-0-9-10.html
3.125 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-0-9-11.html
2.021 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-0-9-2.html
43.405 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-0-9-20.html
2.249 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-0-9-22.html
2.065 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-0-9-28.html
2.014 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-0-9-30.html
2.466 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-0-9-31.html
2.863 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-0-9-38.html
3.732 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-0-9-39.html
2.01 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-0-9-41.html
2.019 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-0-9-42.html
2.526 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-0-9-5.html
3.261 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-0-9-7.html
12.018 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-0-9-8.html
2.039 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-1-0-5.html
2.673 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-1-1-2.html
2.318 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-1-1-3.html
2.888 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-1-2-3.html
2.805 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-1-3-3.html
5.406 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-1-4-0.html
2.292 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-1-4-2.html
5.243 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-1-4-3.html
1.981 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-1-5-0.html
2.832 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-1-6-0.html
2.213 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-1-7-5.html
1.661 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-1-7-7.html
5.42 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-1-8-0.html
2.6 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-1-8-1.html
2.427 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-1-8-5.html
2.039 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-1-8-6.html
3.112 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-1-9-0.html
3.379 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-2-0-0.html
5.787 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-2-1-0.html
7.88 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-2-2-0.html
5.201 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-2-3-0.html
2.588 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-2-4-0.html
2.038 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-2-5-0.html
2.059 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-2-6-0.html
5.117 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-2-7-3.html
2.758 KB
2 Apr 2024 5.02 PM
root / root
0644
api-index-full.html
137.051 KB
2 Apr 2024 5.02 PM
root / root
0644
buffers-language-script-and-direction.html
4.835 KB
2 Apr 2024 5.02 PM
root / root
0644
building.html
14.986 KB
2 Apr 2024 5.02 PM
root / root
0644
ch01s03.html
4.39 KB
2 Apr 2024 5.02 PM
root / root
0644
ch03s02.html
5.936 KB
2 Apr 2024 5.02 PM
root / root
0644
ch03s03.html
4.473 KB
2 Apr 2024 5.02 PM
root / root
0644
ch12.html
3.474 KB
2 Apr 2024 5.02 PM
root / root
0644
ch13.html
3.006 KB
2 Apr 2024 5.02 PM
root / root
0644
ch14.html
1.832 KB
2 Apr 2024 5.02 PM
root / root
0644
ch15.html
2.973 KB
2 Apr 2024 5.02 PM
root / root
0644
clusters.html
6.347 KB
2 Apr 2024 5.02 PM
root / root
0644
complex-scripts.html
2.931 KB
2 Apr 2024 5.02 PM
root / root
0644
customizing-unicode-functions.html
6.25 KB
2 Apr 2024 5.02 PM
root / root
0644
deprecated-api-index.html
6.077 KB
2 Apr 2024 5.02 PM
root / root
0644
fonts-and-faces-custom-functions.html
7.225 KB
2 Apr 2024 5.02 PM
root / root
0644
fonts-and-faces-native-opentype.html
5.074 KB
2 Apr 2024 5.02 PM
root / root
0644
fonts-and-faces-variable.html
5.18 KB
2 Apr 2024 5.02 PM
root / root
0644
fonts-and-faces.html
7.491 KB
2 Apr 2024 5.02 PM
root / root
0644
getting-started.html
4.925 KB
2 Apr 2024 5.02 PM
root / root
0644
graphite-shaping.html
2.254 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-aat-layout.html
136.079 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-blob.html
35.061 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-buffer.html
190.909 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-common.html
63.792 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-coretext.html
11.104 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-deprecated.html
24.734 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-directwrite.html
6.011 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-face.html
50.879 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-font.html
256.539 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-ft.html
28.046 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-gdi.html
4.209 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-glib.html
9.85 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-gobject.html
2.884 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-graphite2.html
5.691 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-icu.html
7.782 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-map.html
28.504 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-ot-color.html
39.013 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-ot-font.html
4.521 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-ot-layout.html
141.688 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-ot-math.html
51.646 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-ot-meta.html
10.045 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-ot-metrics.html
17.507 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-ot-name.html
19.144 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-ot-shape.html
6.11 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-ot-var.html
35.848 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-set.html
58.03 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-shape-plan.html
37.512 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-shape.html
11.428 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-unicode.html
104.2 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-uniscribe.html
5.956 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz-hb-version.html
10.171 KB
2 Apr 2024 5.02 PM
root / root
0644
harfbuzz.devhelp2
175.251 KB
27 Dec 2020 12.11 AM
root / root
0644
home.png
0.165 KB
27 Dec 2020 12.11 AM
root / root
0644
index.html
19.107 KB
2 Apr 2024 5.02 PM
root / root
0644
install-harfbuzz.html
3.698 KB
2 Apr 2024 5.02 PM
root / root
0644
integration-coretext.html
6.331 KB
2 Apr 2024 5.02 PM
root / root
0644
integration-freetype.html
9.075 KB
2 Apr 2024 5.02 PM
root / root
0644
integration-icu.html
4.088 KB
2 Apr 2024 5.02 PM
root / root
0644
integration-python.html
3.106 KB
2 Apr 2024 5.02 PM
root / root
0644
integration-uniscribe.html
6.567 KB
2 Apr 2024 5.02 PM
root / root
0644
integration.html
9.703 KB
2 Apr 2024 5.02 PM
root / root
0644
left-insensitive.png
0.326 KB
27 Dec 2020 12.11 AM
root / root
0644
left.png
0.181 KB
27 Dec 2020 12.11 AM
root / root
0644
level-2.html
6.845 KB
2 Apr 2024 5.02 PM
root / root
0644
object-model-blobs.html
2.834 KB
2 Apr 2024 5.02 PM
root / root
0644
object-model-lifecycle.html
4.861 KB
2 Apr 2024 5.02 PM
root / root
0644
object-model-object-types.html
4.015 KB
2 Apr 2024 5.02 PM
root / root
0644
object-model-user-data.html
3.179 KB
2 Apr 2024 5.02 PM
root / root
0644
object-model.html
3.885 KB
2 Apr 2024 5.02 PM
root / root
0644
opentype-shaping-models.html
4.358 KB
2 Apr 2024 5.02 PM
root / root
0644
pt01.html
9.196 KB
2 Apr 2024 5.02 PM
root / root
0644
pt02.html
12.377 KB
2 Apr 2024 5.02 PM
root / root
0644
reordering-in-levels-0-and-1.html
3.029 KB
2 Apr 2024 5.02 PM
root / root
0644
right-insensitive.png
0.228 KB
27 Dec 2020 12.11 AM
root / root
0644
right.png
0.18 KB
27 Dec 2020 12.11 AM
root / root
0644
setting-buffer-properties.html
7.646 KB
2 Apr 2024 5.02 PM
root / root
0644
shaping-and-shape-plans.html
8.004 KB
2 Apr 2024 5.02 PM
root / root
0644
shaping-concepts.html
3.778 KB
2 Apr 2024 5.02 PM
root / root
0644
shaping-opentype-features.html
6.507 KB
2 Apr 2024 5.02 PM
root / root
0644
shaping-operations.html
4.431 KB
2 Apr 2024 5.02 PM
root / root
0644
shaping-plans-and-caching.html
4.532 KB
2 Apr 2024 5.02 PM
root / root
0644
shaping-shaper-selection.html
3.326 KB
2 Apr 2024 5.02 PM
root / root
0644
style.css
11.334 KB
27 Dec 2020 12.11 AM
root / root
0644
text-runs.html
2.474 KB
2 Apr 2024 5.02 PM
root / root
0644
the-distinction-between-levels-0-and-1.html
4.75 KB
2 Apr 2024 5.02 PM
root / root
0644
unicode-character-categories.html
4.105 KB
2 Apr 2024 5.02 PM
root / root
0644
up-insensitive.png
0.281 KB
27 Dec 2020 12.11 AM
root / root
0644
up.png
0.182 KB
27 Dec 2020 12.11 AM
root / root
0644
utilities-common-types-apis.html
4.263 KB
2 Apr 2024 5.02 PM
root / root
0644
utilities-ucdn.html
2.57 KB
2 Apr 2024 5.02 PM
root / root
0644
utilities.html
9.057 KB
2 Apr 2024 5.02 PM
root / root
0644
what-harfbuzz-doesnt-do.html
5.405 KB
2 Apr 2024 5.02 PM
root / root
0644
what-is-harfbuzz.html
5.374 KB
2 Apr 2024 5.02 PM
root / root
0644
why-do-i-need-a-shaping-engine.html
7.934 KB
2 Apr 2024 5.02 PM
root / root
0644
why-is-it-called-harfbuzz.html
2.12 KB
2 Apr 2024 5.02 PM
root / root
0644
working-with-harfbuzz-clusters.html
9.847 KB
2 Apr 2024 5.02 PM
root / root
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF