<para>
For example, on an Ubuntu or Debian system, you would run:
<programlisting>
- <command>sudo apt install</command> <package>gcc g++
- libfreetype6-dev libglib2.0-dev libcairo2-dev</package>
+ <command>sudo apt install</command> <package>gcc g++ libfreetype6-dev libglib2.0-dev libcairo2-dev</package>
</programlisting>
On Fedora, RHEL, CentOS, or other Red-Hat–based systems, you would run:
<programlisting>
<para>If you are
using MacPorts, you should run:
<programlisting>
- <command>sudo port install</command> <package>autoconf
- automake libtool pkgconfig ragel gtk-doc</package>
+ <command>sudo port install</command> <package>autoconf automake libtool pkgconfig ragel gtk-doc</package>
</programlisting>
to install the build dependencies.
</para>
<variablelist>
<?dbfo list-presentation="blocks"?>
<varlistentry>
- <term>--with-libstdc++</term>
+ <term><command>--with-libstdc++</command></term>
<listitem>
<para>
Allow linking with libstdc++. <emphasis>(Default = no)</emphasis>
</varlistentry>
<varlistentry>
- <term>--with-glib</term>
+ <term><command>--with-glib</command></term>
<listitem>
<para>
Use <ulink url="https://developer.gnome.org/glib/">GLib</ulink>. <emphasis>(Default = auto)</emphasis>
</varlistentry>
<varlistentry>
- <term>--with-gobject</term>
+ <term><command>--with-gobject</command></term>
<listitem>
<para>
Use <ulink url="https://developer.gnome.org/gobject/stable/">GObject</ulink>. <emphasis>(Default = no)</emphasis>
</varlistentry>
<varlistentry>
- <term>--with-cairo</term>
+ <term><command>--with-cairo</command></term>
<listitem>
<para>
Use <ulink url="https://cairographics.org/">Cairo</ulink>. <emphasis>(Default = auto)</emphasis>
</varlistentry>
<varlistentry>
- <term>--with-fontconfig</term>
+ <term><command>--with-fontconfig</command></term>
<listitem>
<para>
Use <ulink url="https://www.freedesktop.org/wiki/Software/fontconfig/">Fontconfig</ulink>. <emphasis>(Default = auto)</emphasis>
</varlistentry>
<varlistentry>
- <term>--with-icu</term>
+ <term><command>--with-icu</command></term>
<listitem>
<para>
Use the <ulink url="http://site.icu-project.org/home">ICU</ulink> library. <emphasis>(Default = auto)</emphasis>
</varlistentry>
<varlistentry>
- <term>--with-ucdn</term>
+ <term><command>--with-ucdn</command></term>
<listitem>
<para>
Use HarfBuzz's <ulink url="https://github.com/harfbuzz/harfbuzz/tree/master/src/hb-ucdn">built-in UCDN library</ulink>. <emphasis>(Default = auto)</emphasis>
</varlistentry>
<varlistentry>
- <term>--with-graphite2</term>
+ <term><command>--with-graphite2</command></term>
<listitem>
<para>
Use the <ulink url="http://graphite.sil.org/">Graphite2</ulink> library. <emphasis>(Default = no)</emphasis>
</varlistentry>
<varlistentry>
- <term>--with-freetype</term>
+ <term><command>--with-freetype</command></term>
<listitem>
<para>
Use the <ulink url="https://www.freetype.org/">FreeType</ulink> library. <emphasis>(Default = auto)</emphasis>
</varlistentry>
<varlistentry>
- <term>--with-uniscribe</term>
+ <term><command>--with-uniscribe</command></term>
<listitem>
<para>
Use the <ulink
</varlistentry>
<varlistentry>
- <term>--with-directwrite</term>
+ <term><command>--with-directwrite</command></term>
<listitem>
<para>
Use the <ulink url="https://docs.microsoft.com/en-us/windows/desktop/directwrite/direct-write-portal">DirectWrite</ulink> library (experimental). <emphasis>(Default = no)</emphasis>
</varlistentry>
<varlistentry>
- <term>--with-coretext</term>
+ <term><command>--with-coretext</command></term>
<listitem>
<para>
Use the <ulink url="https://developer.apple.com/documentation/coretext">CoreText</ulink> library. <emphasis>(Default = no)</emphasis>
<para>
HarfBuzz can properly shape all of the world's major writing
systems. It runs on all major operating systems and software
- platforms and it supports the modern font formats in use
+ platforms and it supports the major font formats in use
today.
</para>
<section id="what-is-text-shaping">
url="http://www.microsoft.com/typography/otspec/">OpenType</ulink>. The
OpenType specification defines a series of <ulink url="https://github.com/n8willis/opentype-shaping-documents">shaping models</ulink> for
various scripts from around the world. These shaping models depend on
- the font including certain features in its <literal>GSUB</literal>
+ the font incorporating certain features as
+ <emphasis>lookups</emphasis> in its <literal>GSUB</literal>
and <literal>GPOS</literal> tables.
</para>
<para>
Text strings will usually be tagged with a script and language
tag that provide the context needed to perform text shaping
correctly. The necessary <ulink
- url="https://docs.microsoft.com/en-us/typography/opentype/spec/scripttags">Script</ulink>
+ url="https://docs.microsoft.com/en-us/typography/opentype/spec/scripttags">script</ulink>
and <ulink
url="https://docs.microsoft.com/en-us/typography/opentype/spec/languagetags">language</ulink>
tags are defined by OpenType.
<para>
Many OpenType fonts contain ligatures: combinations of
characters that are rendered as a single unit. For instance,
- it is common for the <literal>fi</literal> letter
- combination to appear in print as the single ligature glyph
+ it is common for the "f, i" letter
+ sequence to appear in print as the single ligature glyph
"fi".
</para>
<para>