glfs/general/graphlib/graphite2.xml
Pierre Labastie 09f09986af Format general/graphlib
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@22858 af4574ff-66df-0310-9fd7-8a98e5e911e0
2020-03-19 06:44:08 +00:00

263 lines
8.3 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY graphite2-download-http
"https://github.com/silnrsi/graphite/releases/download/&graphite2-version;/graphite2-&graphite2-version;.tgz">
<!ENTITY graphite2-download-ftp " ">
<!ENTITY graphite2-md5sum "29616d4f9651706036ca25c111508272">
<!ENTITY graphite2-size "6.4 MB">
<!ENTITY graphite2-buildsize "27 MB (with tests add docs)">
<!ENTITY graphite2-time "0.2 SBU (with tests and docs)">
]>
<sect1 id="graphite2" xreflabel="Graphite2-&graphite2-version;">
<?dbhtml filename="graphite2.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>Graphite2-&graphite2-version;</title>
<indexterm zone="graphite2">
<primary sortas="a-Graphite2">Graphite2</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to Graphite2</title>
<para>
<application>Graphite2</application> is a rendering engine for graphite
fonts. These are TrueType fonts with additional tables containing smart
rendering information and were originally developed to support complex
non-Roman writing systems. They may contain rules for e.g. ligatures,
glyph substitution, kerning, justification - this can make them useful
even on text written in Roman writing systems such as English. Note that
<application>firefox</application> by default provides an internal copy of
the graphite engine and cannot use a system version (although it can now
be patched to use it), but it too should benefit from the availability of
graphite fonts.
</para>
&lfs91_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&graphite2-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&graphite2-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &graphite2-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &graphite2-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &graphite2-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &graphite2-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Graphite2 Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<xref linkend="cmake"/>
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="freetype2"/>,
<xref linkend="python2"/>, and
<ulink url="http://sourceforge.net/projects/silgraphite/files/silgraphite/2.3.1/">silgraphite</ulink>
to build the <command>comparerender</command> test and benchmarking tool,
and if that is present,
<xref linkend="harfbuzz"/> to add more functionality to it (this is a
circular dependency, you would need to first build
<application>graphite2</application> without
<application>harfbuzz</application>).
</para>
<para role="optional">
To build the documentation:
<xref linkend="asciidoc"/>,
<xref linkend="doxygen"/>,
<xref linkend="texlive"/> (or <xref linkend="tl-installer"/>), and
<ulink url="http://dblatex.sourceforge.net/">
dblatex</ulink> (for PDF docs)
</para>
<para role="optional">
To execute the test suite you will need
<ulink url="https://pypi.python.org/pypi/FontTools">FontTools</ulink>
(Python 3 module), otherwise, the "cmp" tests fail.
</para>
<bridgehead renderas="sect4">Optional (at runtime)</bridgehead>
<para role="optional">
You will need at least one suitable <ulink role="runtime"
url="http://scripts.sil.org/cms/scripts/page.php?site_id=projects&amp;item_id=graphite_fonts">graphite font</ulink>
for the package to be useful.
</para>
<para condition="html" role="usernotes">
User Notes: <ulink url="&blfs-wiki;/graphite2"/>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of Graphite2</title>
<para>
Some tests fail if
<ulink url="https://pypi.python.org/pypi/FontTools">FontTools</ulink>
(Python 3 module) is not installed. These tests can be removed with:
</para>
<screen><userinput>sed -i '/cmptest/d' tests/CMakeLists.txt</userinput></screen>
<para>
Install <application>Graphite2</application> by running the following
commands:
</para>
<screen><userinput>mkdir build &amp;&amp;
cd build &amp;&amp;
cmake -DCMAKE_INSTALL_PREFIX=/usr .. &amp;&amp;
make</userinput></screen>
<para>
If you wish to build the documentation, issue:
</para>
<screen remap="doc"><userinput>make docs</userinput></screen>
<para>
To test the results, issue: <command>make test</command>.
</para>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install</userinput></screen>
<para>
If you built the documentation, install, as the
<systemitem class="username">root</systemitem> user:
</para>
<screen role="root"
remap="doc"><userinput>install -v -d -m755 /usr/share/doc/graphite2-&graphite2-version; &amp;&amp;
<!-- doc/doxygen seems to have gone, so I removed the api dir, but now both html
and pdf for the GTF and the manual
cp -v -r -f doc/doxygen/{html,latex/refman.pdf} \
/usr/share/doc/graphite2-&graphite2-version;/api &amp;&amp;-->
cp -v -f doc/{GTF,manual}.html \
/usr/share/doc/graphite2-&graphite2-version; &amp;&amp;
cp -v -f doc/{GTF,manual}.pdf \
/usr/share/doc/graphite2-&graphite2-version;</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para>
<option>-DCMAKE_VERBOSE_MAKEFILE=ON</option>: This switch turns on
build verbose mode.
</para>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>
gr2fonttest, and optionally comparerender
</seg>
<seg>
libgraphite2.so
</seg>
<seg>
/usr/{include,share}/graphite2 and optionally
/usr/share/doc/graphite2-&graphite2-version;
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="comparerender">
<term><command>comparerender</command></term>
<listitem>
<para>
is a test and benchmarking tool.
</para>
<indexterm zone="graphite2 comparerender">
<primary sortas="b-comparerender">comparerender</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gr2fonttest">
<term><command>gr2fonttest</command></term>
<listitem>
<para>
is a diagnostic console tool for graphite fonts.
</para>
<indexterm zone="graphite2 gr2fonttest">
<primary sortas="b-gr2fonttest">gr2fonttest</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libgraphite2">
<term><filename class="libraryfile">libgraphite2.so</filename></term>
<listitem>
<para>
is a rendering engine for graphite fonts.
</para>
<indexterm zone="graphite2 libgraphite2">
<primary sortas="c-libgraphite2">libgraphite2.so</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>