2015-12-22 21:29:48 +00:00
|
|
|
<chapter id="install-harfbuzz">
|
2017-11-20 23:07:48 +00:00
|
|
|
<title>Install HarfBuzz</title>
|
2015-12-22 21:29:48 +00:00
|
|
|
<section id="download">
|
|
|
|
<title id="download.title">Download</title>
|
|
|
|
<para>
|
|
|
|
For tarball releases of HarfBuzz, look
|
|
|
|
<ulink url="http://www.freedesktop.org/software/harfbuzz/release/">here</ulink>.
|
|
|
|
At the same place you will
|
|
|
|
also find Win32 binary bundles that include libharfbuzz DLL, hb-view.exe,
|
|
|
|
hb-shape.exe, and all dependencies.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
The canonical source tree is available
|
|
|
|
<ulink url="http://cgit.freedesktop.org/harfbuzz/">here</ulink>.
|
2017-11-20 19:49:22 +00:00
|
|
|
Also available on <ulink url="https://github.com/harfbuzz/harfbuzz">github</ulink>.
|
2015-12-22 21:29:48 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
The API that comes with <filename class='headerfile'>hb.h</filename> will
|
|
|
|
not change incompatibly. Other, peripheral, headers are more likely to go
|
|
|
|
through minor modifications, but again, will do our best to never change
|
|
|
|
API in an incompatible way. We will never break the ABI.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
If you are not sure whether Pango or HarfBuzz is right for you, read
|
|
|
|
<ulink url="http://mces.blogspot.in/2009/11/pango-vs-harfbuzz.html">this</ulink>.
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
<section id="building">
|
|
|
|
<title>Building</title>
|
|
|
|
<para>
|
|
|
|
On Linux, install the development packages for FreeType, Cairo, and GLib.
|
|
|
|
For example, on Ubuntu / Debian, you would do:
|
|
|
|
<programlisting>
|
|
|
|
<command>sudo apt-get install</command> <package>gcc g++ libfreetype6-dev libglib2.0-dev libcairo2-dev</package>
|
|
|
|
</programlisting>
|
|
|
|
whereas on Fedora, RHEL, CentOS, and other Red Hat based systems you would do:
|
|
|
|
<programlisting>
|
|
|
|
<command>sudo yum install</command> <package>gcc gcc-c++ freetype-devel glib2-devel cairo-devel</package>
|
|
|
|
</programlisting>
|
|
|
|
or using MacPorts:
|
|
|
|
<programlisting>
|
|
|
|
<command>sudo port install</command> <package>freetype glib2 cairo</package>
|
|
|
|
</programlisting>
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
If you are using a tarball, you can now proceed to running
|
|
|
|
<command>configure</command> and <command>make</command> as with any
|
|
|
|
other standard package. That should leave you with a shared library in
|
|
|
|
<filename>src/</filename>, and a few utility programs including hb-view
|
|
|
|
and hb-shape under <filename>util/</filename>.
|
|
|
|
</para>
|
|
|
|
<para>
|
2018-01-02 18:23:23 +00:00
|
|
|
If you are bootstrapping from git, you need a few more tools before you
|
2015-12-22 21:29:48 +00:00
|
|
|
can run <filename>autogen.sh</filename> for the first time. Namely,
|
|
|
|
pkg-config and <ulink url="http://www.complang.org/ragel/">ragel</ulink>.
|
|
|
|
Again, on Ubuntu / Debian:
|
|
|
|
<programlisting>
|
|
|
|
<command>sudo apt-get install</command> <package>autoconf automake libtool pkg-config ragel gtk-doc-tools</package>
|
|
|
|
</programlisting>
|
|
|
|
and on Fedora, RHEL, CentOS:
|
|
|
|
<programlisting>
|
|
|
|
<command>sudo yum install</command> <package>autoconf automake libtool pkgconfig ragel gtk-doc</package>
|
|
|
|
</programlisting>
|
|
|
|
or using MacPorts:
|
|
|
|
<programlisting>
|
|
|
|
<command>sudo port install</command> <package>autoconf automake libtool pkgconfig ragel gtk-doc</package>
|
|
|
|
</programlisting>
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
</chapter>
|