source: general/graphlib/graphite2.xml

trunk
Last change on this file was b9874725, checked in by Bruce Dubbs <bdubbs@…>, 2 months ago

Many tags.

Mostly Programming and Xorg sections and dependencies.

  • Property mode set to 100644
File size: 8.1 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY graphite2-download-http
8 "https://github.com/silnrsi/graphite/releases/download/&graphite2-version;/graphite2-&graphite2-version;.tgz">
9 <!ENTITY graphite2-download-ftp " ">
10 <!ENTITY graphite2-md5sum "1bccb985a7da01092bfb53bb5041e836">
11 <!ENTITY graphite2-size "6.3 MB">
12 <!ENTITY graphite2-buildsize "30 MB (with tests)">
13 <!ENTITY graphite2-time "0.2 SBU (with tests)">
14]>
15
16<sect1 id="graphite2" xreflabel="Graphite2-&graphite2-version;">
17 <?dbhtml filename="graphite2.html"?>
18
19
20 <title>Graphite2-&graphite2-version;</title>
21
22 <indexterm zone="graphite2">
23 <primary sortas="a-Graphite2">Graphite2</primary>
24 </indexterm>
25
26 <sect2 role="package">
27 <title>Introduction to Graphite2</title>
28
29 <para>
30 <application>Graphite2</application> is a rendering engine for graphite
31 fonts. These are TrueType fonts with additional tables containing smart
32 rendering information and were originally developed to support complex
33 non-Roman writing systems. They may contain rules for e.g. ligatures,
34 glyph substitution, kerning, justification - this can make them useful
35 even on text written in Roman writing systems such as English. Note that
36 <application>firefox</application> by default provides an internal copy of
37 the graphite engine and cannot use a system version (although it can now
38 be patched to use it), but it too should benefit from the availability of
39 graphite fonts.
40 </para>
41
42 &lfs121_checked;
43
44 <bridgehead renderas="sect3">Package Information</bridgehead>
45 <itemizedlist spacing="compact">
46 <listitem>
47 <para>
48 Download (HTTP): <ulink url="&graphite2-download-http;"/>
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download (FTP): <ulink url="&graphite2-download-ftp;"/>
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Download MD5 sum: &graphite2-md5sum;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Download size: &graphite2-size;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Estimated disk space required: &graphite2-buildsize;
69 </para>
70 </listitem>
71 <listitem>
72 <para>
73 Estimated build time: &graphite2-time;
74 </para>
75 </listitem>
76 </itemizedlist>
77
78 <bridgehead renderas="sect3">Graphite2 Dependencies</bridgehead>
79
80 <bridgehead renderas="sect4">Required</bridgehead>
81 <para role="required">
82 <xref linkend="cmake"/>
83 </para>
84
85 <bridgehead renderas="sect4">Optional</bridgehead>
86 <para role="optional">
87 <xref linkend="freetype2"/>,
88 <ulink url="https://sourceforge.net/projects/silgraphite/files/silgraphite/2.3.1/">silgraphite</ulink>
89 to build the <command>comparerender</command> test and benchmarking tool,
90 and if that is present, and
91 <xref linkend="harfbuzz"/> to add more functionality to it (this is a
92 circular dependency, you would need to first build
93 <application>graphite2</application> without
94 <application>harfbuzz</application>).
95 </para>
96
97 <para role="optional">
98 To build the documentation:
99 <xref linkend="asciidoc"/>,
100 <xref linkend="doxygen"/>,
101 <xref linkend="texlive"/> (or <xref linkend="tl-installer"/>), and
102 <ulink url="https://dblatex.sourceforge.net/">
103 dblatex</ulink> (for PDF docs)
104 </para>
105
106 <para role="optional">
107 To execute the test suite you will need
108 <ulink url="https://pypi.python.org/pypi/FontTools">FontTools</ulink>
109 (Python 3 module), otherwise, the "cmp" tests fail.
110 </para>
111
112 <bridgehead renderas="sect4">Optional (at runtime)</bridgehead>
113 <para role="optional">
114 You will need at least one suitable <ulink role="runtime"
115 url="https://scripts.sil.org/cms/scripts/page.php?site_id=projects&amp;item_id=graphite_fonts">graphite font</ulink>
116 for the package to be useful.
117 </para>
118
119 </sect2>
120
121 <sect2 role="installation">
122 <title>Installation of Graphite2</title>
123
124 <para>
125 Some tests fail if
126 <ulink url="https://pypi.python.org/pypi/FontTools">FontTools</ulink>
127 (Python 3 module) is not installed. These tests can be removed with:
128 </para>
129
130<screen><userinput>sed -i '/cmptest/d' tests/CMakeLists.txt</userinput></screen>
131
132 <para>
133 Install <application>Graphite2</application> by running the following
134 commands:
135 </para>
136
137<screen><userinput>mkdir build &amp;&amp;
138cd build &amp;&amp;
139
140cmake -DCMAKE_INSTALL_PREFIX=/usr .. &amp;&amp;
141make</userinput></screen>
142
143 <para>
144 If you wish to build the documentation, issue:
145 </para>
146
147<screen remap="doc"><userinput>make docs</userinput></screen>
148
149 <!-- https://github.com/silnrsi/graphite/pull/74 -->
150 <para>
151 To test the results, issue: <command>make test</command>.
152 One test named <filename>nametabletest</filename> is known to fail.
153 </para>
154
155 <para>
156 Now, as the <systemitem class="username">root</systemitem> user:
157 </para>
158
159<screen role="root"><userinput>make install</userinput></screen>
160
161 <para>
162 If you built the documentation, install, as the
163 <systemitem class="username">root</systemitem> user:
164 </para>
165
166<screen role="root"
167 remap="doc"><userinput>install -v -d -m755 /usr/share/doc/graphite2-&graphite2-version; &amp;&amp;
168<!-- doc/doxygen seems to have gone, so I removed the api dir, but now both html
169and pdf for the GTF and the manual
170cp -v -r -f doc/doxygen/{html,latex/refman.pdf} \
171 /usr/share/doc/graphite2-&graphite2-version;/api &amp;&amp;-->
172cp -v -f doc/{GTF,manual}.html \
173 /usr/share/doc/graphite2-&graphite2-version; &amp;&amp;
174cp -v -f doc/{GTF,manual}.pdf \
175 /usr/share/doc/graphite2-&graphite2-version;</userinput></screen>
176
177 </sect2>
178
179 <sect2 role="commands">
180 <title>Command Explanations</title>
181
182 <para>
183 <option>-DCMAKE_VERBOSE_MAKEFILE=ON</option>: This switch turns on
184 build verbose mode.
185 </para>
186
187 </sect2>
188
189 <sect2 role="content">
190 <title>Contents</title>
191
192 <segmentedlist>
193 <segtitle>Installed Programs</segtitle>
194 <segtitle>Installed Libraries</segtitle>
195 <segtitle>Installed Directories</segtitle>
196
197 <seglistitem>
198 <seg>
199 gr2fonttest, and optionally comparerender
200 </seg>
201 <seg>
202 libgraphite2.so
203 </seg>
204 <seg>
205 /usr/{include,share}/graphite2 and optionally
206 /usr/share/doc/graphite2-&graphite2-version;
207 </seg>
208 </seglistitem>
209 </segmentedlist>
210
211 <variablelist>
212 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
213 <?dbfo list-presentation="list"?>
214 <?dbhtml list-presentation="table"?>
215
216 <varlistentry id="comparerender">
217 <term><command>comparerender</command></term>
218 <listitem>
219 <para>
220 is a test and benchmarking tool
221 </para>
222 <indexterm zone="graphite2 comparerender">
223 <primary sortas="b-comparerender">comparerender</primary>
224 </indexterm>
225 </listitem>
226 </varlistentry>
227
228 <varlistentry id="gr2fonttest">
229 <term><command>gr2fonttest</command></term>
230 <listitem>
231 <para>
232 is a diagnostic console tool for graphite fonts
233 </para>
234 <indexterm zone="graphite2 gr2fonttest">
235 <primary sortas="b-gr2fonttest">gr2fonttest</primary>
236 </indexterm>
237 </listitem>
238 </varlistentry>
239
240 <varlistentry id="libgraphite2">
241 <term><filename class="libraryfile">libgraphite2.so</filename></term>
242 <listitem>
243 <para>
244 is a rendering engine for graphite fonts
245 </para>
246 <indexterm zone="graphite2 libgraphite2">
247 <primary sortas="c-libgraphite2">libgraphite2.so</primary>
248 </indexterm>
249 </listitem>
250 </varlistentry>
251
252 </variablelist>
253
254 </sect2>
255
256</sect1>
Note: See TracBrowser for help on using the repository browser.