/
usr
/
share
/
gtk-doc
/
html
/
harfbuzz
/
/usr/share/gtk-doc/html/harfbuzz
mkdir
upload
Name
Size
Mode
Actions
a-clustering-example-for-levels-0-and-1.html
5307
0644
edit
dl
rm
aat-shaping.html
2359
0644
edit
dl
rm
adding-text-to-the-buffer.html
5800
0644
edit
dl
rm
annotation-glossary.html
5644
0644
edit
dl
rm
api-index-0-9-2.html
44447
0644
edit
dl
rm
api-index-0-9-5.html
3339
0644
edit
dl
rm
api-index-0-9-7.html
12306
0644
edit
dl
rm
api-index-0-9-8.html
2088
0644
edit
dl
rm
api-index-0-9-10.html
3200
0644
edit
dl
rm
api-index-0-9-11.html
2070
0644
edit
dl
rm
api-index-0-9-20.html
2303
0644
edit
dl
rm
api-index-0-9-22.html
2115
0644
edit
dl
rm
api-index-0-9-28.html
2062
0644
edit
dl
rm
api-index-0-9-30.html
2525
0644
edit
dl
rm
api-index-0-9-31.html
2932
0644
edit
dl
rm
api-index-0-9-38.html
3822
0644
edit
dl
rm
api-index-0-9-39.html
2058
0644
edit
dl
rm
api-index-0-9-41.html
2067
0644
edit
dl
rm
api-index-0-9-42.html
2587
0644
edit
dl
rm
api-index-1-0-5.html
2737
0644
edit
dl
rm
api-index-1-1-2.html
2374
0644
edit
dl
rm
api-index-1-1-3.html
2957
0644
edit
dl
rm
api-index-1-2-3.html
2872
0644
edit
dl
rm
api-index-1-3-3.html
5536
0644
edit
dl
rm
api-index-1-4-0.html
2347
0644
edit
dl
rm
api-index-1-4-2.html
5369
0644
edit
dl
rm
api-index-1-4-3.html
2029
0644
edit
dl
rm
api-index-1-5-0.html
2900
0644
edit
dl
rm
api-index-1-6-0.html
2266
0644
edit
dl
rm
api-index-1-7-5.html
1701
0644
edit
dl
rm
api-index-1-7-7.html
5550
0644
edit
dl
rm
api-index-1-8-0.html
2662
0644
edit
dl
rm
api-index-1-8-1.html
2485
0644
edit
dl
rm
api-index-1-8-5.html
2088
0644
edit
dl
rm
api-index-1-8-6.html
3187
0644
edit
dl
rm
api-index-1-9-0.html
3460
0644
edit
dl
rm
api-index-2-0-0.html
5926
0644
edit
dl
rm
api-index-2-1-0.html
8069
0644
edit
dl
rm
api-index-2-2-0.html
5326
0644
edit
dl
rm
api-index-2-3-0.html
2650
0644
edit
dl
rm
api-index-2-4-0.html
2087
0644
edit
dl
rm
api-index-2-5-0.html
2108
0644
edit
dl
rm
api-index-2-6-0.html
5240
0644
edit
dl
rm
api-index-2-7-3.html
2824
0644
edit
dl
rm
api-index-full.html
140340
0644
edit
dl
rm
buffers-language-script-and-direction.html
4951
0644
edit
dl
rm
building.html
15346
0644
edit
dl
rm
ch01s03.html
4495
0644
edit
dl
rm
ch03s02.html
6078
0644
edit
dl
rm
ch03s03.html
4580
0644
edit
dl
rm
ch12.html
3557
0644
edit
dl
rm
ch13.html
3078
0644
edit
dl
rm
ch14.html
1876
0644
edit
dl
rm
ch15.html
3044
0644
edit
dl
rm
clusters.html
6499
0644
edit
dl
rm
complex-scripts.html
3001
0644
edit
dl
rm
customizing-unicode-functions.html
6400
0644
edit
dl
rm
deprecated-api-index.html
6223
0644
edit
dl
rm
fonts-and-faces-custom-functions.html
7398
0644
edit
dl
rm
fonts-and-faces-native-opentype.html
5196
0644
edit
dl
rm
fonts-and-faces-variable.html
5304
0644
edit
dl
rm
fonts-and-faces.html
7671
0644
edit
dl
rm
getting-started.html
5043
0644
edit
dl
rm
graphite-shaping.html
2308
0644
edit
dl
rm
harfbuzz-hb-aat-layout.html
139345
0644
edit
dl
rm
harfbuzz-hb-blob.html
35902
0644
edit
dl
rm
harfbuzz-hb-buffer.html
195491
0644
edit
dl
rm
harfbuzz-hb-common.html
65323
0644
edit
dl
rm
harfbuzz-hb-coretext.html
11371
0644
edit
dl
rm
harfbuzz-hb-deprecated.html
25328
0644
edit
dl
rm
harfbuzz-hb-directwrite.html
6155
0644
edit
dl
rm
harfbuzz-hb-face.html
52100
0644
edit
dl
rm
harfbuzz-hb-font.html
262696
0644
edit
dl
rm
harfbuzz-hb-ft.html
28719
0644
edit
dl
rm
harfbuzz-hb-gdi.html
4310
0644
edit
dl
rm
harfbuzz-hb-glib.html
10086
0644
edit
dl
rm
harfbuzz-hb-gobject.html
2953
0644
edit
dl
rm
harfbuzz-hb-graphite2.html
5828
0644
edit
dl
rm
harfbuzz-hb-icu.html
7969
0644
edit
dl
rm
harfbuzz-hb-map.html
29188
0644
edit
dl
rm
harfbuzz-hb-ot-color.html
39949
0644
edit
dl
rm
harfbuzz-hb-ot-font.html
4630
0644
edit
dl
rm
harfbuzz-hb-ot-layout.html
145088
0644
edit
dl
rm
harfbuzz-hb-ot-math.html
52886
0644
edit
dl
rm
harfbuzz-hb-ot-meta.html
10286
0644
edit
dl
rm
harfbuzz-hb-ot-metrics.html
17927
0644
edit
dl
rm
harfbuzz-hb-ot-name.html
19603
0644
edit
dl
rm
harfbuzz-hb-ot-shape.html
6257
0644
edit
dl
rm
harfbuzz-hb-ot-var.html
36708
0644
edit
dl
rm
harfbuzz-hb-set.html
59423
0644
edit
dl
rm
harfbuzz-hb-shape-plan.html
38412
0644
edit
dl
rm
harfbuzz-hb-shape.html
11702
0644
edit
dl
rm
harfbuzz-hb-unicode.html
106701
0644
edit
dl
rm
harfbuzz-hb-uniscribe.html
6099
0644
edit
dl
rm
harfbuzz-hb-version.html
10415
0644
edit
dl
rm
harfbuzz.devhelp2
179457
0644
edit
dl
rm
HarfBuzz.png
6254
0644
edit
dl
rm
HarfBuzz.svg
6745
0644
edit
dl
rm
home.png
169
0644
edit
dl
rm
index.html
19566
0644
edit
dl
rm
install-harfbuzz.html
3787
0644
edit
dl
rm
integration-coretext.html
6483
0644
edit
dl
rm
integration-freetype.html
9293
0644
edit
dl
rm
integration-icu.html
4186
0644
edit
dl
rm
integration-python.html
3181
0644
edit
dl
rm
integration-uniscribe.html
6725
0644
edit
dl
rm
integration.html
9936
0644
edit
dl
rm
left-insensitive.png
334
0644
edit
dl
rm
left.png
185
0644
edit
dl
rm
level-2.html
7009
0644
edit
dl
rm
object-model-blobs.html
2902
0644
edit
dl
rm
object-model-lifecycle.html
4978
0644
edit
dl
rm
object-model-object-types.html
4111
0644
edit
dl
rm
object-model-user-data.html
3255
0644
edit
dl
rm
object-model.html
3978
0644
edit
dl
rm
opentype-shaping-models.html
4463
0644
edit
dl
rm
pt01.html
9417
0644
edit
dl
rm
pt02.html
12674
0644
edit
dl
rm
reordering-in-levels-0-and-1.html
3102
0644
edit
dl
rm
right-insensitive.png
233
0644
edit
dl
rm
right.png
184
0644
edit
dl
rm
setting-buffer-properties.html
7830
0644
edit
dl
rm
shaping-and-shape-plans.html
8196
0644
edit
dl
rm
shaping-concepts.html
3869
0644
edit
dl
rm
shaping-opentype-features.html
6663
0644
edit
dl
rm
shaping-operations.html
4537
0644
edit
dl
rm
shaping-plans-and-caching.html
4641
0644
edit
dl
rm
shaping-shaper-selection.html
3406
0644
edit
dl
rm
style.css
11606
0644
edit
dl
rm
text-runs.html
2533
0644
edit
dl
rm
the-distinction-between-levels-0-and-1.html
4864
0644
edit
dl
rm
unicode-character-categories.html
4204
0644
edit
dl
rm
up-insensitive.png
288
0644
edit
dl
rm
up.png
186
0644
edit
dl
rm
utilities-common-types-apis.html
4365
0644
edit
dl
rm
utilities-ucdn.html
2632
0644
edit
dl
rm
utilities.html
9274
0644
edit
dl
rm
what-harfbuzz-doesnt-do.html
5535
0644
edit
dl
rm
what-is-harfbuzz.html
5503
0644
edit
dl
rm
why-do-i-need-a-shaping-engine.html
8124
0644
edit
dl
rm
why-is-it-called-harfbuzz.html
2171
0644
edit
dl
rm
working-with-harfbuzz-clusters.html
10083
0644
edit
dl
rm
Edit:
/usr/share/gtk-doc/html/harfbuzz/building.html
(15346B)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Building HarfBuzz: 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="install-harfbuzz.html" title="Installing HarfBuzz"> <link rel="prev" href="install-harfbuzz.html" title="Installing HarfBuzz"> <link rel="next" href="getting-started.html" title="Getting started with HarfBuzz"> <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="install-harfbuzz.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> <td><a accesskey="p" href="install-harfbuzz.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> <td><a accesskey="n" href="getting-started.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="building"></a>Building HarfBuzz</h2></div></div></div> <div class="section"> <div class="titlepage"><div><div><h3 class="title"> <a name="building.linux"></a>Building on Linux</h3></div></div></div> <p> <span class="emphasis"><em>(1)</em></span> To build HarfBuzz on Linux, you must first install the development packages for FreeType, Cairo, and GLib. The exact commands required for this step will vary depending on the Linux distribution you use. </p> <p> For example, on an Ubuntu or Debian system, you would run: </p> <pre class="programlisting"><span class="command"><strong>sudo apt install</strong></span> <span class="package">gcc g++ libfreetype6-dev libglib2.0-dev libcairo2-dev</span></pre> <p> On Fedora, RHEL, CentOS, or other Red-Hat–based systems, you would run: </p> <pre class="programlisting"><span class="command"><strong>sudo yum install</strong></span> <span class="package">gcc gcc-c++ freetype-devel glib2-devel cairo-devel</span></pre> <p> </p> <p> <span class="emphasis"><em>(2)</em></span> The next step depends on whether you are building from the source in a downloaded release tarball or from the source directly from the git repository. </p> <p> <span class="emphasis"><em>(2)(a)</em></span> If you downloaded the HarfBuzz source code in a tarball, you can now extract the source. </p> <p> From a shell in the top-level directory of the extracted source code, you can run <span class="command"><strong>meson build</strong></span> followed by <span class="command"><strong>meson compile -C build</strong></span> as with any other standard package. </p> <p> This should leave you with a shared library in the <code class="filename">src/</code> directory, and a few utility programs including <span class="command"><strong>hb-view</strong></span> and <span class="command"><strong>hb-shape</strong></span> under the <code class="filename">util/</code> directory. </p> <p> <span class="emphasis"><em>(2)(b)</em></span> If you are building from the source in the HarfBuzz git repository, rather than installing from a downloaded tarball release, then you must install two more auxiliary tools before you can build for the first time: <span class="package">pkg-config</span>. </p> <p> On Ubuntu or Debian, run: </p> <pre class="programlisting"><span class="command"><strong>sudo apt-get install</strong></span> <span class="package">meson pkg-config gtk-doc-tools</span></pre> <p> On Fedora, RHEL, CentOS, run: </p> <pre class="programlisting"><span class="command"><strong>sudo yum install</strong></span> <span class="package">meson pkgconfig gtk-doc</span></pre> <p> </p> <p> With <span class="package">pkg-config</span> installed, you can now run <span class="command"><strong>meson build</strong></span> then <span class="command"><strong>meson compile -C build</strong></span> to build HarfBuzz. </p> </div> <div class="section"> <div class="titlepage"><div><div><h3 class="title"> <a name="building.windows"></a>Building on Windows</h3></div></div></div> <p> <a class="ulink" href="https://mesonbuild.com/Getting-meson.html" target="_top">Install meson</a> and run (from the console) <span class="command"><strong>meson build</strong></span> (by default bundled dependencies are not built, <span class="command"><strong>--wrap-mode=default</strong></span> overrides this), then <span class="command"><strong>meson compile -C build</strong></span> to build HarfBuzz. </p> </div> <div class="section"> <div class="titlepage"><div><div><h3 class="title"> <a name="building.macos"></a>Building on macOS</h3></div></div></div> <p> There are two ways to build HarfBuzz on Mac systems: MacPorts and Homebrew. The process is similar to the process used on a Linux system. </p> <p> <span class="emphasis"><em>(1)</em></span> You must first install the development packages for FreeType, Cairo, and GLib. If you are using MacPorts, you should run: </p> <pre class="programlisting"><span class="command"><strong>sudo port install</strong></span> <span class="package">freetype glib2 cairo</span></pre> <p> </p> <p> If you are using Homebrew, you should run: </p> <pre class="programlisting"><span class="command"><strong>brew install</strong></span> <span class="package">freetype glib cairo</span></pre> <p> </p> <p> <span class="emphasis"><em>(2)</em></span> The next step depends on whether you are building from the source in a downloaded release tarball or from the source directly from the git repository. </p> <p> <span class="emphasis"><em>(2)(a)</em></span> If you are installing HarfBuzz from a downloaded tarball release, extract the tarball and open a Terminal in the extracted source-code directory. Run: </p> <pre class="programlisting"><span class="command"><strong>meson build</strong></span></pre> <p> followed by: </p> <pre class="programlisting"><span class="command"><strong>meson compile -C build</strong></span></pre> <p> to build HarfBuzz. </p> <p> <span class="emphasis"><em>(2)(b)</em></span> Alternatively, if you are building HarfBuzz from the source in the HarfBuzz git repository, then you must install several built-time dependencies before proceeding. </p> <p>If you are using MacPorts, you should run: </p> <pre class="programlisting"><span class="command"><strong>sudo port install</strong></span> <span class="package">meson pkgconfig gtk-doc</span></pre> <p> to install the build dependencies. </p> <p>If you are using Homebrew, you should run: </p> <pre class="programlisting"><span class="command"><strong>brew install</strong></span> <span class="package">meson pkgconfig gtk-doc</span></pre> <p> Finally, you can run: </p> <pre class="programlisting"><span class="command"><strong>meson build</strong></span></pre> <p> </p> <p> <span class="emphasis"><em>(3)</em></span> You can now build HarfBuzz (on either a MacPorts or a Homebrew system) by running: </p> <pre class="programlisting"><span class="command"><strong>meson build</strong></span></pre> <p> followed by: </p> <pre class="programlisting"><span class="command"><strong>meson compile -C build</strong></span></pre> <p> </p> <p> This should leave you with a shared library in the <code class="filename">src/</code> directory, and a few utility programs including <span class="command"><strong>hb-view</strong></span> and <span class="command"><strong>hb-shape</strong></span> under the <code class="filename">util/</code> directory. </p> </div> <div class="section"> <div class="titlepage"><div><div><h3 class="title"> <a name="configuration"></a>Configuration options</h3></div></div></div> <p> The instructions in the "Building HarfBuzz" section will build the source code under its default configuration. If needed, the following additional configuration options are available. </p> <div class="variablelist"><table border="0" class="variablelist"> <colgroup> <col align="left" valign="top"> <col> </colgroup> <tbody> <tr> <td><p><span class="term"><span class="command"><strong>-Dglib=enabled</strong></span></span></p></td> <td> <p> Use <a class="ulink" href="https://developer.gnome.org/glib/" target="_top">GLib</a>. <span class="emphasis"><em>(Default = auto)</em></span> </p> <p> This option enables or disables usage of the GLib library. The default setting is to check for the presence of GLib and, if it is found, build with GLib support. GLib is native to GNU/Linux systems but is available on other operating system as well. </p> </td> </tr> <tr> <td><p><span class="term"><span class="command"><strong>-Dgobject=enabled</strong></span></span></p></td> <td> <p> Use <a class="ulink" href="https://developer.gnome.org/gobject/stable/" target="_top">GObject</a>. <span class="emphasis"><em>(Default = no)</em></span> </p> <p> This option enables or disables usage of the GObject library. The default setting is to check for the presence of GObject and, if it is found, build with GObject support. GObject is native to GNU/Linux systems but is available on other operating system as well. </p> </td> </tr> <tr> <td><p><span class="term"><span class="command"><strong>-Dcairo=enabled</strong></span></span></p></td> <td> <p> Use <a class="ulink" href="https://cairographics.org/" target="_top">Cairo</a>. <span class="emphasis"><em>(Default = auto)</em></span> </p> <p> This option enables or disables usage of the Cairo graphics-rendering library. The default setting is to check for the presence of Cairo and, if it is found, build with Cairo support. </p> <p> Note: Cairo is used only by the HarfBuzz command-line utilities, and not by the HarfBuzz library. </p> </td> </tr> <tr> <td><p><span class="term"><span class="command"><strong>-Dfontconfig=enabled</strong></span></span></p></td> <td> <p> Use <a class="ulink" href="https://www.freedesktop.org/wiki/Software/fontconfig/" target="_top">Fontconfig</a>. <span class="emphasis"><em>(Default = auto)</em></span> </p> <p> This option enables or disables usage of the Fontconfig library, which provides font-matching functions and provides access to font properties. The default setting is to check for the presence of Fontconfig and, if it is found, build with Fontconfig support. </p> <p> Note: Fontconfig is used only by the HarfBuzz command-line utilities, and not by the HarfBuzz library. </p> </td> </tr> <tr> <td><p><span class="term"><span class="command"><strong>-Dicu=enabled</strong></span></span></p></td> <td> <p> Use the <a class="ulink" href="http://site.icu-project.org/home" target="_top">ICU</a> library. <span class="emphasis"><em>(Default = auto)</em></span> </p> <p> This option enables or disables usage of the <span class="emphasis"><em>International Components for Unicode</em></span> (ICU) library, which provides access to Unicode Character Database (UCD) properties as well as normalization and conversion functions. The default setting is to check for the presence of ICU and, if it is found, build with ICU support. </p> </td> </tr> <tr> <td><p><span class="term"><span class="command"><strong>-Dgraphite=enabled</strong></span></span></p></td> <td> <p> Use the <a class="ulink" href="http://graphite.sil.org/" target="_top">Graphite2</a> library. <span class="emphasis"><em>(Default = no)</em></span> </p> <p> This option enables or disables usage of the Graphite2 library, which provides support for the Graphite shaping model. </p> </td> </tr> <tr> <td><p><span class="term"><span class="command"><strong>-Dfreetype=enabled</strong></span></span></p></td> <td> <p> Use the <a class="ulink" href="https://www.freetype.org/" target="_top">FreeType</a> library. <span class="emphasis"><em>(Default = auto)</em></span> </p> <p> This option enables or disables usage of the FreeType font-rendering library. The default setting is to check for the presence of FreeType and, if it is found, build with FreeType support. </p> </td> </tr> <tr> <td><p><span class="term"><span class="command"><strong>-Dgdi=enabled</strong></span></span></p></td> <td> <p> Use the <a class="ulink" href="https://docs.microsoft.com/en-us/windows/desktop/intl/uniscribe" target="_top">Uniscribe</a> library (experimental). <span class="emphasis"><em>(Default = no)</em></span> </p> <p> This option enables or disables usage of the Uniscribe font-rendering library. Uniscribe is available on Windows systems. Uniscribe support is used only for testing purposes and does not need to be enabled for HarfBuzz to run on Windows systems. </p> </td> </tr> <tr> <td><p><span class="term"><span class="command"><strong>-Ddirectwrite=enabled</strong></span></span></p></td> <td> <p> Use the <a class="ulink" href="https://docs.microsoft.com/en-us/windows/desktop/directwrite/direct-write-portal" target="_top">DirectWrite</a> library (experimental). <span class="emphasis"><em>(Default = no)</em></span> </p> <p> This option enables or disables usage of the DirectWrite font-rendering library. DirectWrite is available on Windows systems. DirectWrite support is used only for testing purposes and does not need to be enabled for HarfBuzz to run on Windows systems. </p> </td> </tr> <tr> <td><p><span class="term"><span class="command"><strong>-Dcoretext=enabled</strong></span></span></p></td> <td> <p> Use the <a class="ulink" href="https://developer.apple.com/documentation/coretext" target="_top">CoreText</a> library. <span class="emphasis"><em>(Default = no)</em></span> </p> <p> This option enables or disables usage of the CoreText library. CoreText is available on macOS and iOS systems. </p> </td> </tr> <tr> <td><p><span class="term"><span class="command"><strong>-Ddocs=enabled</strong></span></span></p></td> <td> <p> Use <a class="ulink" href="https://www.gtk.org/gtk-doc/" target="_top">GTK-Doc</a>. <span class="emphasis"><em>(Default = no)</em></span> </p> <p> This option enables the building of the documentation. </p> </td> </tr> </tbody> </table></div> </div> </div> <div class="footer"> <hr>Generated by GTK-Doc V1.32</div> </body> </html>
Save
cmd:
run