xref: /aosp_15_r20/external/harfbuzz_ng/docs/usermanual-install-harfbuzz.xml (revision 2d1272b857b1f7575e6e246373e1cb218663db8a)
1*2d1272b8SAndroid Build Coastguard Worker<?xml version="1.0"?>
2*2d1272b8SAndroid Build Coastguard Worker<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
3*2d1272b8SAndroid Build Coastguard Worker               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
4*2d1272b8SAndroid Build Coastguard Worker  <!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
5*2d1272b8SAndroid Build Coastguard Worker  <!ENTITY version SYSTEM "version.xml">
6*2d1272b8SAndroid Build Coastguard Worker]>
7*2d1272b8SAndroid Build Coastguard Worker<chapter id="install-harfbuzz">
8*2d1272b8SAndroid Build Coastguard Worker  <title>Installing HarfBuzz</title>
9*2d1272b8SAndroid Build Coastguard Worker
10*2d1272b8SAndroid Build Coastguard Worker  <section id="download">
11*2d1272b8SAndroid Build Coastguard Worker    <title id="download.title">Downloading HarfBuzz</title>
12*2d1272b8SAndroid Build Coastguard Worker    <para>
13*2d1272b8SAndroid Build Coastguard Worker      The HarfBuzz source code is hosted at <ulink
14*2d1272b8SAndroid Build Coastguard Worker      url="https://github.com/harfbuzz/harfbuzz">github.com/harfbuzz/harfbuzz</ulink>.
15*2d1272b8SAndroid Build Coastguard Worker    </para>
16*2d1272b8SAndroid Build Coastguard Worker    <para>
17*2d1272b8SAndroid Build Coastguard Worker      Tarball releases and Win32 binary bundles (which include the
18*2d1272b8SAndroid Build Coastguard Worker      libharfbuzz DLL, hb-view.exe, hb-shape.exe, and all
19*2d1272b8SAndroid Build Coastguard Worker      dependencies) of HarfBuzz can be downloaded from <ulink
20*2d1272b8SAndroid Build Coastguard Worker      url="https://github.com/harfbuzz/harfbuzz/releases">github.com/harfbuzz/harfbuzz/releases</ulink>.
21*2d1272b8SAndroid Build Coastguard Worker    </para>
22*2d1272b8SAndroid Build Coastguard Worker    <para>
23*2d1272b8SAndroid Build Coastguard Worker      Release notes are posted with each new release to provide an
24*2d1272b8SAndroid Build Coastguard Worker      overview of the changes. The project <ulink url="https://github.com/harfbuzz/harfbuzz/issues">tracks bug
25*2d1272b8SAndroid Build Coastguard Worker      reports and other issues</ulink> on GitHub. Discussion and
26*2d1272b8SAndroid Build Coastguard Worker      questions are welcome on <ulink
27*2d1272b8SAndroid Build Coastguard Worker      url="https://github.com/harfbuzz/harfbuzz/discussions">GitHub</ulink> as well.
28*2d1272b8SAndroid Build Coastguard Worker    </para>
29*2d1272b8SAndroid Build Coastguard Worker    <para>
30*2d1272b8SAndroid Build Coastguard Worker      The API included in the <filename
31*2d1272b8SAndroid Build Coastguard Worker      class='headerfile'>hb.h</filename> file will not change in a
32*2d1272b8SAndroid Build Coastguard Worker      compatibility-breaking way in any release. However, other,
33*2d1272b8SAndroid Build Coastguard Worker      peripheral headers are more likely to go through minor
34*2d1272b8SAndroid Build Coastguard Worker      modifications. We will do our best to never change APIs in an
35*2d1272b8SAndroid Build Coastguard Worker      incompatible way. We will <emphasis>never</emphasis> break the ABI.
36*2d1272b8SAndroid Build Coastguard Worker    </para>
37*2d1272b8SAndroid Build Coastguard Worker  </section>
38*2d1272b8SAndroid Build Coastguard Worker
39*2d1272b8SAndroid Build Coastguard Worker  <section id="building">
40*2d1272b8SAndroid Build Coastguard Worker    <title>Building HarfBuzz</title>
41*2d1272b8SAndroid Build Coastguard Worker
42*2d1272b8SAndroid Build Coastguard Worker    <section id="building.linux">
43*2d1272b8SAndroid Build Coastguard Worker      <title>Building on Linux</title>
44*2d1272b8SAndroid Build Coastguard Worker    <para>
45*2d1272b8SAndroid Build Coastguard Worker      <emphasis>(1)</emphasis> To build HarfBuzz on Linux, you must first install the
46*2d1272b8SAndroid Build Coastguard Worker      development packages for FreeType, Cairo, and GLib. The exact
47*2d1272b8SAndroid Build Coastguard Worker      commands required for this step will vary depending on
48*2d1272b8SAndroid Build Coastguard Worker      the Linux distribution you use.
49*2d1272b8SAndroid Build Coastguard Worker    </para>
50*2d1272b8SAndroid Build Coastguard Worker    <para>
51*2d1272b8SAndroid Build Coastguard Worker      For example, on an Ubuntu or Debian system, you would run:
52*2d1272b8SAndroid Build Coastguard Worker      <programlisting><command>sudo apt install</command> <package>gcc g++ libfreetype6-dev libglib2.0-dev libcairo2-dev</package></programlisting>
53*2d1272b8SAndroid Build Coastguard Worker      On Fedora, RHEL, CentOS, or other Red-Hat&ndash;based systems, you would run:
54*2d1272b8SAndroid Build Coastguard Worker      <programlisting><command>sudo yum install</command> <package>gcc gcc-c++ freetype-devel glib2-devel cairo-devel</package></programlisting>
55*2d1272b8SAndroid Build Coastguard Worker
56*2d1272b8SAndroid Build Coastguard Worker    </para>
57*2d1272b8SAndroid Build Coastguard Worker
58*2d1272b8SAndroid Build Coastguard Worker    <para>
59*2d1272b8SAndroid Build Coastguard Worker      <emphasis>(2)</emphasis> The next step depends on whether you
60*2d1272b8SAndroid Build Coastguard Worker      are building from the source in a downloaded release tarball or
61*2d1272b8SAndroid Build Coastguard Worker      from the source directly from the git repository.
62*2d1272b8SAndroid Build Coastguard Worker    </para>
63*2d1272b8SAndroid Build Coastguard Worker    <para>
64*2d1272b8SAndroid Build Coastguard Worker      <emphasis>(2)(a)</emphasis> If you downloaded the HarfBuzz
65*2d1272b8SAndroid Build Coastguard Worker      source code in a tarball, you can now extract the source.
66*2d1272b8SAndroid Build Coastguard Worker    </para>
67*2d1272b8SAndroid Build Coastguard Worker    <para>
68*2d1272b8SAndroid Build Coastguard Worker      From a shell in the top-level directory of the extracted source
69*2d1272b8SAndroid Build Coastguard Worker      code, you can run <command>meson build</command> followed by
70*2d1272b8SAndroid Build Coastguard Worker      <command>meson compile -C build</command> as with any other standard package.
71*2d1272b8SAndroid Build Coastguard Worker    </para>
72*2d1272b8SAndroid Build Coastguard Worker    <para>
73*2d1272b8SAndroid Build Coastguard Worker      This should leave you with a shared
74*2d1272b8SAndroid Build Coastguard Worker      library in the <filename>src/</filename> directory, and a few
75*2d1272b8SAndroid Build Coastguard Worker      utility programs including <command>hb-view</command> and
76*2d1272b8SAndroid Build Coastguard Worker      <command>hb-shape</command> under the <filename>util/</filename>
77*2d1272b8SAndroid Build Coastguard Worker      directory.
78*2d1272b8SAndroid Build Coastguard Worker    </para>
79*2d1272b8SAndroid Build Coastguard Worker    <para>
80*2d1272b8SAndroid Build Coastguard Worker      <emphasis>(2)(b)</emphasis> If you are building from the source in the HarfBuzz git
81*2d1272b8SAndroid Build Coastguard Worker      repository, rather than installing from a downloaded tarball
82*2d1272b8SAndroid Build Coastguard Worker      release, then you must install two more auxiliary tools before you
83*2d1272b8SAndroid Build Coastguard Worker      can build for the first time: <package>pkg-config</package>.
84*2d1272b8SAndroid Build Coastguard Worker    </para>
85*2d1272b8SAndroid Build Coastguard Worker    <para>
86*2d1272b8SAndroid Build Coastguard Worker      On Ubuntu or Debian, run:
87*2d1272b8SAndroid Build Coastguard Worker      <programlisting><command>sudo apt-get install</command> <package>meson pkg-config gtk-doc-tools</package></programlisting>
88*2d1272b8SAndroid Build Coastguard Worker      On Fedora, RHEL, CentOS, run:
89*2d1272b8SAndroid Build Coastguard Worker      <programlisting><command>sudo yum install</command> <package>meson pkgconfig gtk-doc</package></programlisting>
90*2d1272b8SAndroid Build Coastguard Worker
91*2d1272b8SAndroid Build Coastguard Worker    </para>
92*2d1272b8SAndroid Build Coastguard Worker    <para>
93*2d1272b8SAndroid Build Coastguard Worker      With <package>pkg-config</package> installed, you can now run
94*2d1272b8SAndroid Build Coastguard Worker      <command>meson build</command> then
95*2d1272b8SAndroid Build Coastguard Worker      <command>meson compile -C build</command> to build HarfBuzz.
96*2d1272b8SAndroid Build Coastguard Worker    </para>
97*2d1272b8SAndroid Build Coastguard Worker    </section>
98*2d1272b8SAndroid Build Coastguard Worker
99*2d1272b8SAndroid Build Coastguard Worker
100*2d1272b8SAndroid Build Coastguard Worker    <section id="building.windows">
101*2d1272b8SAndroid Build Coastguard Worker      <title>Building on Windows</title>
102*2d1272b8SAndroid Build Coastguard Worker
103*2d1272b8SAndroid Build Coastguard Worker      <para>
104*2d1272b8SAndroid Build Coastguard Worker        <ulink url="https://mesonbuild.com/Getting-meson.html">Install meson</ulink>
105*2d1272b8SAndroid Build Coastguard Worker        and run (from the console) <command>meson build</command> (by default
106*2d1272b8SAndroid Build Coastguard Worker        bundled dependencies are not built, <command>--wrap-mode=default</command>
107*2d1272b8SAndroid Build Coastguard Worker        overrides this), then <command>meson compile -C build</command> to
108*2d1272b8SAndroid Build Coastguard Worker	build HarfBuzz.
109*2d1272b8SAndroid Build Coastguard Worker      </para>
110*2d1272b8SAndroid Build Coastguard Worker    </section>
111*2d1272b8SAndroid Build Coastguard Worker
112*2d1272b8SAndroid Build Coastguard Worker
113*2d1272b8SAndroid Build Coastguard Worker    <section id="building.macos">
114*2d1272b8SAndroid Build Coastguard Worker      <title>Building on macOS</title>
115*2d1272b8SAndroid Build Coastguard Worker
116*2d1272b8SAndroid Build Coastguard Worker      <para>
117*2d1272b8SAndroid Build Coastguard Worker	There are two ways to build HarfBuzz on Mac systems: MacPorts
118*2d1272b8SAndroid Build Coastguard Worker	and Homebrew. The process is similar to the process used on a
119*2d1272b8SAndroid Build Coastguard Worker	Linux system.
120*2d1272b8SAndroid Build Coastguard Worker      </para>
121*2d1272b8SAndroid Build Coastguard Worker      <para>
122*2d1272b8SAndroid Build Coastguard Worker	<emphasis>(1)</emphasis> You must first install the
123*2d1272b8SAndroid Build Coastguard Worker	development packages for FreeType, Cairo, and GLib. If you are
124*2d1272b8SAndroid Build Coastguard Worker	using MacPorts, you should run:
125*2d1272b8SAndroid Build Coastguard Worker      <programlisting><command>sudo port install</command> <package>freetype glib2 cairo</package></programlisting>
126*2d1272b8SAndroid Build Coastguard Worker      </para>
127*2d1272b8SAndroid Build Coastguard Worker      <para>
128*2d1272b8SAndroid Build Coastguard Worker	If you are using Homebrew, you should run:
129*2d1272b8SAndroid Build Coastguard Worker	<programlisting><command>brew install</command> <package>freetype glib cairo</package></programlisting>
130*2d1272b8SAndroid Build Coastguard Worker      </para>
131*2d1272b8SAndroid Build Coastguard Worker      <para>
132*2d1272b8SAndroid Build Coastguard Worker	<emphasis>(2)</emphasis> The next step depends on whether you are building from the
133*2d1272b8SAndroid Build Coastguard Worker	source in a downloaded release tarball or from the source directly
134*2d1272b8SAndroid Build Coastguard Worker	from the git repository.
135*2d1272b8SAndroid Build Coastguard Worker      </para>
136*2d1272b8SAndroid Build Coastguard Worker      <para>
137*2d1272b8SAndroid Build Coastguard Worker	<emphasis>(2)(a)</emphasis> If you are installing HarfBuzz
138*2d1272b8SAndroid Build Coastguard Worker	from a downloaded tarball release, extract the tarball and
139*2d1272b8SAndroid Build Coastguard Worker	open a Terminal in the extracted source-code directory. Run:
140*2d1272b8SAndroid Build Coastguard Worker	<programlisting><command>meson build</command></programlisting>
141*2d1272b8SAndroid Build Coastguard Worker	followed by:
142*2d1272b8SAndroid Build Coastguard Worker	<programlisting><command>meson compile -C build</command></programlisting>
143*2d1272b8SAndroid Build Coastguard Worker	to build HarfBuzz.
144*2d1272b8SAndroid Build Coastguard Worker      </para>
145*2d1272b8SAndroid Build Coastguard Worker      <para>
146*2d1272b8SAndroid Build Coastguard Worker	<emphasis>(2)(b)</emphasis> Alternatively, if you are building
147*2d1272b8SAndroid Build Coastguard Worker	HarfBuzz from the source in the HarfBuzz git repository, then
148*2d1272b8SAndroid Build Coastguard Worker	you must install several built-time dependencies before
149*2d1272b8SAndroid Build Coastguard Worker	proceeding.
150*2d1272b8SAndroid Build Coastguard Worker      </para>
151*2d1272b8SAndroid Build Coastguard Worker      <para>If you are
152*2d1272b8SAndroid Build Coastguard Worker	using MacPorts, you should run:
153*2d1272b8SAndroid Build Coastguard Worker      <programlisting><command>sudo port install</command> <package>meson pkgconfig gtk-doc</package></programlisting>
154*2d1272b8SAndroid Build Coastguard Worker      to install the build dependencies.
155*2d1272b8SAndroid Build Coastguard Worker      </para>
156*2d1272b8SAndroid Build Coastguard Worker      <para>If you are using Homebrew, you should run:
157*2d1272b8SAndroid Build Coastguard Worker	<programlisting><command>brew install</command> <package>meson pkgconfig gtk-doc</package></programlisting>
158*2d1272b8SAndroid Build Coastguard Worker      	Finally, you can run:
159*2d1272b8SAndroid Build Coastguard Worker	<programlisting><command>meson build</command></programlisting>
160*2d1272b8SAndroid Build Coastguard Worker      </para>
161*2d1272b8SAndroid Build Coastguard Worker      <para>
162*2d1272b8SAndroid Build Coastguard Worker	<emphasis>(3)</emphasis> You can now build HarfBuzz (on either
163*2d1272b8SAndroid Build Coastguard Worker	a MacPorts or a Homebrew system) by running:
164*2d1272b8SAndroid Build Coastguard Worker	<programlisting><command>meson build</command></programlisting>
165*2d1272b8SAndroid Build Coastguard Worker	followed by:
166*2d1272b8SAndroid Build Coastguard Worker	<programlisting><command>meson compile -C build</command></programlisting>
167*2d1272b8SAndroid Build Coastguard Worker      </para>
168*2d1272b8SAndroid Build Coastguard Worker      <para>
169*2d1272b8SAndroid Build Coastguard Worker	This should leave you with a shared
170*2d1272b8SAndroid Build Coastguard Worker	library in the <filename>src/</filename> directory, and a few
171*2d1272b8SAndroid Build Coastguard Worker	utility programs including <command>hb-view</command> and
172*2d1272b8SAndroid Build Coastguard Worker	<command>hb-shape</command> under the <filename>util/</filename>
173*2d1272b8SAndroid Build Coastguard Worker	directory.
174*2d1272b8SAndroid Build Coastguard Worker      </para>
175*2d1272b8SAndroid Build Coastguard Worker
176*2d1272b8SAndroid Build Coastguard Worker    </section>
177*2d1272b8SAndroid Build Coastguard Worker
178*2d1272b8SAndroid Build Coastguard Worker    <section id="configuration">
179*2d1272b8SAndroid Build Coastguard Worker      <title>Configuration options</title>
180*2d1272b8SAndroid Build Coastguard Worker
181*2d1272b8SAndroid Build Coastguard Worker      <para>
182*2d1272b8SAndroid Build Coastguard Worker	The instructions in the "Building HarfBuzz" section will build
183*2d1272b8SAndroid Build Coastguard Worker	the source code under its default configuration. If needed,
184*2d1272b8SAndroid Build Coastguard Worker	the following additional configuration options are available.
185*2d1272b8SAndroid Build Coastguard Worker      </para>
186*2d1272b8SAndroid Build Coastguard Worker
187*2d1272b8SAndroid Build Coastguard Worker      <variablelist>
188*2d1272b8SAndroid Build Coastguard Worker	<?dbfo list-presentation="blocks"?>
189*2d1272b8SAndroid Build Coastguard Worker	<varlistentry>
190*2d1272b8SAndroid Build Coastguard Worker	  <term><command>-Dglib=enabled</command></term>
191*2d1272b8SAndroid Build Coastguard Worker	  <listitem>
192*2d1272b8SAndroid Build Coastguard Worker	    <para>
193*2d1272b8SAndroid Build Coastguard Worker	     Use <ulink url="https://developer.gnome.org/glib/">GLib</ulink>. <emphasis>(Default = auto)</emphasis>
194*2d1272b8SAndroid Build Coastguard Worker	    </para>
195*2d1272b8SAndroid Build Coastguard Worker	    <para>
196*2d1272b8SAndroid Build Coastguard Worker	      This option enables or disables usage of the GLib
197*2d1272b8SAndroid Build Coastguard Worker	      library.  The default setting is to check for the
198*2d1272b8SAndroid Build Coastguard Worker	      presence of GLib and, if it is found, build with
199*2d1272b8SAndroid Build Coastguard Worker	      GLib support. GLib is native to GNU/Linux systems but is
200*2d1272b8SAndroid Build Coastguard Worker	      available on other operating system as well.
201*2d1272b8SAndroid Build Coastguard Worker	    </para>
202*2d1272b8SAndroid Build Coastguard Worker	  </listitem>
203*2d1272b8SAndroid Build Coastguard Worker	</varlistentry>
204*2d1272b8SAndroid Build Coastguard Worker
205*2d1272b8SAndroid Build Coastguard Worker	<varlistentry>
206*2d1272b8SAndroid Build Coastguard Worker	  <term><command>-Dgobject=enabled</command></term>
207*2d1272b8SAndroid Build Coastguard Worker	  <listitem>
208*2d1272b8SAndroid Build Coastguard Worker	    <para>
209*2d1272b8SAndroid Build Coastguard Worker	      Use <ulink url="https://developer.gnome.org/gobject/stable/">GObject</ulink>. <emphasis>(Default = no)</emphasis>
210*2d1272b8SAndroid Build Coastguard Worker	    </para>
211*2d1272b8SAndroid Build Coastguard Worker	    <para>
212*2d1272b8SAndroid Build Coastguard Worker	      This option enables or disables usage of the GObject
213*2d1272b8SAndroid Build Coastguard Worker	      library. The default setting is to check for the
214*2d1272b8SAndroid Build Coastguard Worker	      presence of GObject and, if it is found, build with
215*2d1272b8SAndroid Build Coastguard Worker	      GObject support. GObject is native to GNU/Linux systems but is
216*2d1272b8SAndroid Build Coastguard Worker	      available on other operating system as well.
217*2d1272b8SAndroid Build Coastguard Worker	    </para>
218*2d1272b8SAndroid Build Coastguard Worker	  </listitem>
219*2d1272b8SAndroid Build Coastguard Worker	</varlistentry>
220*2d1272b8SAndroid Build Coastguard Worker
221*2d1272b8SAndroid Build Coastguard Worker	<varlistentry>
222*2d1272b8SAndroid Build Coastguard Worker	  <term><command>-Dcairo=enabled</command></term>
223*2d1272b8SAndroid Build Coastguard Worker	  <listitem>
224*2d1272b8SAndroid Build Coastguard Worker	    <para>
225*2d1272b8SAndroid Build Coastguard Worker	      Use <ulink url="https://cairographics.org/">Cairo</ulink>. <emphasis>(Default = auto)</emphasis>
226*2d1272b8SAndroid Build Coastguard Worker	    </para>
227*2d1272b8SAndroid Build Coastguard Worker	    <para>
228*2d1272b8SAndroid Build Coastguard Worker	      This option enables or disables usage of the Cairo
229*2d1272b8SAndroid Build Coastguard Worker	      graphics-rendering library. The default setting is to
230*2d1272b8SAndroid Build Coastguard Worker	      check for the presence of Cairo and, if it is found,
231*2d1272b8SAndroid Build Coastguard Worker	      build with Cairo support.
232*2d1272b8SAndroid Build Coastguard Worker	    </para>
233*2d1272b8SAndroid Build Coastguard Worker	    <para>
234*2d1272b8SAndroid Build Coastguard Worker	      Note: Cairo is used only by the HarfBuzz
235*2d1272b8SAndroid Build Coastguard Worker	      command-line utilities, and not by the HarfBuzz library.
236*2d1272b8SAndroid Build Coastguard Worker	    </para>
237*2d1272b8SAndroid Build Coastguard Worker	  </listitem>
238*2d1272b8SAndroid Build Coastguard Worker	</varlistentry>
239*2d1272b8SAndroid Build Coastguard Worker
240*2d1272b8SAndroid Build Coastguard Worker	<varlistentry>
241*2d1272b8SAndroid Build Coastguard Worker	  <term><command>-Dicu=enabled</command></term>
242*2d1272b8SAndroid Build Coastguard Worker	  <listitem>
243*2d1272b8SAndroid Build Coastguard Worker	    <para>
244*2d1272b8SAndroid Build Coastguard Worker	      Use the <ulink url="http://site.icu-project.org/home">ICU</ulink> library. <emphasis>(Default = auto)</emphasis>
245*2d1272b8SAndroid Build Coastguard Worker	    </para>
246*2d1272b8SAndroid Build Coastguard Worker	    <para>
247*2d1272b8SAndroid Build Coastguard Worker	      This option enables or disables usage of the
248*2d1272b8SAndroid Build Coastguard Worker	      <emphasis>International Components for
249*2d1272b8SAndroid Build Coastguard Worker	      Unicode</emphasis> (ICU) library, which provides access
250*2d1272b8SAndroid Build Coastguard Worker	      to Unicode Character Database (UCD) properties as well
251*2d1272b8SAndroid Build Coastguard Worker	      as normalization and conversion functions. The default
252*2d1272b8SAndroid Build Coastguard Worker	      setting is to check for the presence of ICU and, if it
253*2d1272b8SAndroid Build Coastguard Worker	      is found, build with ICU support.
254*2d1272b8SAndroid Build Coastguard Worker	    </para>
255*2d1272b8SAndroid Build Coastguard Worker	  </listitem>
256*2d1272b8SAndroid Build Coastguard Worker	</varlistentry>
257*2d1272b8SAndroid Build Coastguard Worker
258*2d1272b8SAndroid Build Coastguard Worker	<varlistentry>
259*2d1272b8SAndroid Build Coastguard Worker	  <term><command>-Dgraphite=enabled</command></term>
260*2d1272b8SAndroid Build Coastguard Worker	  <listitem>
261*2d1272b8SAndroid Build Coastguard Worker	    <para>
262*2d1272b8SAndroid Build Coastguard Worker	      Use the <ulink url="http://graphite.sil.org/">Graphite2</ulink> library. <emphasis>(Default = no)</emphasis>
263*2d1272b8SAndroid Build Coastguard Worker	    </para>
264*2d1272b8SAndroid Build Coastguard Worker	    <para>
265*2d1272b8SAndroid Build Coastguard Worker	      This option enables or disables usage of the Graphite2
266*2d1272b8SAndroid Build Coastguard Worker	      library, which provides support for the Graphite shaping
267*2d1272b8SAndroid Build Coastguard Worker	      model.
268*2d1272b8SAndroid Build Coastguard Worker	    </para>
269*2d1272b8SAndroid Build Coastguard Worker	  </listitem>
270*2d1272b8SAndroid Build Coastguard Worker	</varlistentry>
271*2d1272b8SAndroid Build Coastguard Worker
272*2d1272b8SAndroid Build Coastguard Worker	<varlistentry>
273*2d1272b8SAndroid Build Coastguard Worker	  <term><command>-Dfreetype=enabled</command></term>
274*2d1272b8SAndroid Build Coastguard Worker	  <listitem>
275*2d1272b8SAndroid Build Coastguard Worker	    <para>
276*2d1272b8SAndroid Build Coastguard Worker	      Use the <ulink url="https://www.freetype.org/">FreeType</ulink> library. <emphasis>(Default = auto)</emphasis>
277*2d1272b8SAndroid Build Coastguard Worker	    </para>
278*2d1272b8SAndroid Build Coastguard Worker	    <para>
279*2d1272b8SAndroid Build Coastguard Worker	      This option enables or disables usage of the FreeType
280*2d1272b8SAndroid Build Coastguard Worker	      font-rendering library. The default setting is to check for the
281*2d1272b8SAndroid Build Coastguard Worker	      presence of FreeType and, if it is found, build with
282*2d1272b8SAndroid Build Coastguard Worker	      FreeType support.
283*2d1272b8SAndroid Build Coastguard Worker	    </para>
284*2d1272b8SAndroid Build Coastguard Worker	  </listitem>
285*2d1272b8SAndroid Build Coastguard Worker	</varlistentry>
286*2d1272b8SAndroid Build Coastguard Worker
287*2d1272b8SAndroid Build Coastguard Worker	<varlistentry>
288*2d1272b8SAndroid Build Coastguard Worker	  <term><command>-Dgdi=enabled</command></term>
289*2d1272b8SAndroid Build Coastguard Worker	  <listitem>
290*2d1272b8SAndroid Build Coastguard Worker	    <para>
291*2d1272b8SAndroid Build Coastguard Worker	      Use the <ulink
292*2d1272b8SAndroid Build Coastguard Worker	      url="https://docs.microsoft.com/en-us/windows/desktop/intl/uniscribe">Uniscribe</ulink>
293*2d1272b8SAndroid Build Coastguard Worker	      library (experimental). <emphasis>(Default = no)</emphasis>
294*2d1272b8SAndroid Build Coastguard Worker	    </para>
295*2d1272b8SAndroid Build Coastguard Worker	    <para>
296*2d1272b8SAndroid Build Coastguard Worker	      This option enables or disables usage of the Uniscribe
297*2d1272b8SAndroid Build Coastguard Worker	      font-rendering library. Uniscribe is available on
298*2d1272b8SAndroid Build Coastguard Worker	      Windows systems. Uniscribe support is used only for
299*2d1272b8SAndroid Build Coastguard Worker	      testing purposes and does not need to be enabled for
300*2d1272b8SAndroid Build Coastguard Worker	      HarfBuzz to run on Windows systems.
301*2d1272b8SAndroid Build Coastguard Worker	    </para>
302*2d1272b8SAndroid Build Coastguard Worker	  </listitem>
303*2d1272b8SAndroid Build Coastguard Worker	</varlistentry>
304*2d1272b8SAndroid Build Coastguard Worker
305*2d1272b8SAndroid Build Coastguard Worker	<varlistentry>
306*2d1272b8SAndroid Build Coastguard Worker	  <term><command>-Ddirectwrite=enabled</command></term>
307*2d1272b8SAndroid Build Coastguard Worker	  <listitem>
308*2d1272b8SAndroid Build Coastguard Worker	    <para>
309*2d1272b8SAndroid Build Coastguard Worker	      Use the <ulink url="https://docs.microsoft.com/en-us/windows/desktop/directwrite/direct-write-portal">DirectWrite</ulink> library (experimental). <emphasis>(Default = no)</emphasis>
310*2d1272b8SAndroid Build Coastguard Worker	    </para>
311*2d1272b8SAndroid Build Coastguard Worker	    <para>
312*2d1272b8SAndroid Build Coastguard Worker	      This option enables or disables usage of the DirectWrite
313*2d1272b8SAndroid Build Coastguard Worker	      font-rendering library. DirectWrite is available on
314*2d1272b8SAndroid Build Coastguard Worker	      Windows systems. DirectWrite support is used only for
315*2d1272b8SAndroid Build Coastguard Worker	      testing purposes and does not need to be enabled for
316*2d1272b8SAndroid Build Coastguard Worker	      HarfBuzz to run on Windows systems.
317*2d1272b8SAndroid Build Coastguard Worker	    </para>
318*2d1272b8SAndroid Build Coastguard Worker	  </listitem>
319*2d1272b8SAndroid Build Coastguard Worker	</varlistentry>
320*2d1272b8SAndroid Build Coastguard Worker
321*2d1272b8SAndroid Build Coastguard Worker	<varlistentry>
322*2d1272b8SAndroid Build Coastguard Worker	  <term><command>-Dcoretext=enabled</command></term>
323*2d1272b8SAndroid Build Coastguard Worker	  <listitem>
324*2d1272b8SAndroid Build Coastguard Worker	    <para>
325*2d1272b8SAndroid Build Coastguard Worker	      Use the <ulink url="https://developer.apple.com/documentation/coretext">CoreText</ulink> library. <emphasis>(Default = no)</emphasis>
326*2d1272b8SAndroid Build Coastguard Worker	    </para>
327*2d1272b8SAndroid Build Coastguard Worker	    <para>
328*2d1272b8SAndroid Build Coastguard Worker	      This option enables or disables usage of the CoreText
329*2d1272b8SAndroid Build Coastguard Worker	      library. CoreText is available on macOS and iOS systems.
330*2d1272b8SAndroid Build Coastguard Worker	    </para>
331*2d1272b8SAndroid Build Coastguard Worker	  </listitem>
332*2d1272b8SAndroid Build Coastguard Worker	</varlistentry>
333*2d1272b8SAndroid Build Coastguard Worker
334*2d1272b8SAndroid Build Coastguard Worker	<varlistentry>
335*2d1272b8SAndroid Build Coastguard Worker	  <term><command>-Ddocs=enabled</command></term>
336*2d1272b8SAndroid Build Coastguard Worker	  <listitem>
337*2d1272b8SAndroid Build Coastguard Worker	    <para>
338*2d1272b8SAndroid Build Coastguard Worker	      Use <ulink url="https://github.com/GNOME/gtk-doc">GTK-Doc</ulink>. <emphasis>(Default = no)</emphasis>
339*2d1272b8SAndroid Build Coastguard Worker	    </para>
340*2d1272b8SAndroid Build Coastguard Worker	    <para>
341*2d1272b8SAndroid Build Coastguard Worker	      This option enables the building of the documentation.
342*2d1272b8SAndroid Build Coastguard Worker	    </para>
343*2d1272b8SAndroid Build Coastguard Worker	  </listitem>
344*2d1272b8SAndroid Build Coastguard Worker	</varlistentry>
345*2d1272b8SAndroid Build Coastguard Worker      </variablelist>
346*2d1272b8SAndroid Build Coastguard Worker    </section>
347*2d1272b8SAndroid Build Coastguard Worker
348*2d1272b8SAndroid Build Coastguard Worker  </section>
349*2d1272b8SAndroid Build Coastguard Worker</chapter>
350