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–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