Introduction to HarfBuzz
The HarfBuzz package contains an
OpenType text shaping engine.
Note
This may take a while to build. Feel free to do something else
while this is building.
HarfBuzz Dependencies
Recommended
GLib-2.84.0 (required for Pango; GObject
Introspection required for building GNOME), ICU-77.1, FreeType-2.13.3 - Pass 1, and
Meson Toolchain Files (for lib32)
Installation of HarfBuzz
Install HarfBuzz by running the
following commands:
mkdir build &&
cd build &&
meson setup .. \
--prefix=/usr \
--buildtype=release \
-D graphite2=disabled \
-D tests=disabled &&
ninja
Now, as the root
user:
ninja install
lib32 Installation of HarfBuzz
First clean the build directory:
rm -rf *
Install lib32-HarfBuzz by running
the following commands:
meson setup .. \
--cross-file lib32 \
--prefix=/usr \
--libdir=/usr/lib32 \
--buildtype=release \
-D cairo=disabled \
-D graphite2=disabled \
-D tests=disabled &&
ninja
Now, as the root
user:
DESTDIR=$PWD/DESTDIR ninja install &&
cp -vr DESTDIR/usr/lib32/* /usr/lib32 &&
rm -rf DESTDIR &&
ldconfig
Command Explanations
Note
Inspect meson_options.txt
for a
full list of options.
--buildtype=release
:
Specify a buildtype suitable for stable releases of the package, as
the default may produce unoptimized binaries.
-D cairo=disabled
: This
switch forces this package to not link against Cairo for the lib32 build as it will
mistakenly believe that lib32-Cairo is installed if the 64-bit version is
installed.
-D graphite2=disabled
: This
switch disables Graphite2 support,
which isn't in GLFS.
-D tests=disabled
: This
switch disables building tests.
Contents
Installed Programs:
hb-info, hb-ot-shape-closure, hb-shape,
and hb-subset
Installed Libraries:
libharfbuzz.so, libharfbuzz-gobject.so,
libharfbuzz-icu.so, and libharfbuzz-subset.so
Installed Directories:
/usr/include/harbuzz,
/usr/lib/cmake/harfbuzz, and /usr/share/gtk-doc/html/harfbuzz
(optional)
Short Descriptions
hb-info
|
is used for gathering information about fonts installed
on the system
|
hb-ot-shape-closure
|
gives the set of characters contained in a string,
represented as single characters and/or single character
names. Example: hb-ot-shape-closure
/usr/share/fonts/dejavu/DejaVuSans.ttf "Hello
World."
|
hb-shape
|
is used for the conversion of text strings into
positioned glyphs
|
hb-subset
|
is used to create subsets of fonts, and display text
using them
|
hb-view
|
displays a graphical view of a string shape using a
particular font as a set of glyphs. The output format is
automatically defined by the file extension, the
supported ones being ansi/png/svg/pdf/ps/eps. For
example: hb-view
--output-file=hello.png
/usr/share/fonts/dejavu/DejaVuSans.ttf "Hello
World."
|
libharfbuzz.so
|
is the HarfBuzz text shaping library
|
libharfbuzz-gobject.so
|
provides GObject integration for the HarfBuzz text
shaping library
|
libharfbuzz-icu.so
|
provides ICU integration for the HarfBuzz text shaping
library
|
libharfbuzz-subset.so
|
provides API functions for performing subsetting
operations on font files
|