source: general/graphlib/harfbuzz.xml@ 67cfca2

12.0 12.1 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18
Last change on this file since 67cfca2 was 67cfca2, checked in by Bruce Dubbs <bdubbs@…>, 11 months ago

Update to harfbuzz-8.0.1.

  • Property mode set to 100644
File size: 10.8 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
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 harfbuzz-download-http
8 "https://github.com/harfbuzz/harfbuzz/releases/download/&harfbuzz-version;/harfbuzz-&harfbuzz-version;.tar.xz">
9 <!ENTITY harfbuzz-download-ftp " ">
10 <!ENTITY harfbuzz-md5sum "6d4c01cb9611b7c68b805655096670ca">
11 <!ENTITY harfbuzz-size "18 MB">
12 <!ENTITY harfbuzz-buildsize "151 MB (with tests)">
13 <!ENTITY harfbuzz-time "0.7 SBU (Using parallelism=4; with tests)">
14]>
15
16<sect1 id="harfbuzz" xreflabel="HarfBuzz-&harfbuzz-version;">
17 <?dbhtml filename="harfbuzz.html"?>
18
19
20 <title>HarfBuzz-&harfbuzz-version;</title>
21
22 <indexterm zone="harfbuzz">
23 <primary sortas="a-HarfBuzz">HarfBuzz</primary>
24 </indexterm>
25
26 <sect2 role="package">
27 <title>Introduction to Harfbuzz</title>
28
29 <para>
30 The <application>HarfBuzz</application> package contains an OpenType text
31 shaping engine.
32 </para>
33
34 &lfs113_checked;
35
36 <bridgehead renderas="sect3">Package Information</bridgehead>
37 <itemizedlist spacing="compact">
38 <listitem>
39 <para>
40 Download (HTTP): <ulink url="&harfbuzz-download-http;"/>
41 </para>
42 </listitem>
43 <listitem>
44 <para>
45 Download (FTP): <ulink url="&harfbuzz-download-ftp;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download MD5 sum: &harfbuzz-md5sum;
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download size: &harfbuzz-size;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Estimated disk space required: &harfbuzz-buildsize;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated build time: &harfbuzz-time;
66 </para>
67 </listitem>
68 </itemizedlist>
69
70 <bridgehead renderas="sect3">HarfBuzz Dependencies</bridgehead>
71
72 <bridgehead renderas="sect4">Recommended</bridgehead>
73 <para role="recommended">
74 <xref linkend="gobject-introspection"/> (required if building GNOME),
75 <xref linkend="glib2"/> (required for Pango),
76 <xref role="first" linkend="graphite2"/> (required for building
77 <xref role="nodep" linkend="texlive"/> or
78 <xref role="nodep" linkend="libreoffice"/> with system harfbuzz),
79 <xref linkend="icu"/>, and
80 <xref role="first" linkend="freetype2"/>
81 (after <xref role="nodep" linkend="harfbuzz"/> is installed, reinstall
82 <xref role="nodep" linkend="freetype2"/>)
83 </para>
84
85 <bridgehead renderas="sect4">Optional</bridgehead>
86 <para role="optional">
87 <xref linkend="cairo"/> (circular: build cairo and all its recommended
88 dependencies, including harfbuzz, first, then rebuild harfbuzz if the
89 cairo backend is needed),
90 <xref linkend="git"/>,
91 <xref linkend="gtk-doc"/>,
92 <ulink url="https://pypi.org/project/FontTools/">FontTools</ulink>
93 (Python 3 module, for the test suite), and
94 <ulink url="https://www.colm.net/open-source/ragel/">ragel</ulink>
95 </para>
96
97 <warning>
98 <para>
99 Recommended dependencies are not strictly required to build
100 the package. However, you might not get expected results at
101 runtime if you don't install them. Please do not report bugs
102 with this package if you <emphasis>have not</emphasis>
103 installed the recommended dependencies.
104 </para>
105 </warning>
106
107 </sect2>
108
109 <sect2 role="installation">
110 <title>Installation of HarfBuzz</title>
111
112 <para>
113 Install <application>HarfBuzz</application> by running the following
114 commands:
115 </para>
116
117<screen><userinput>mkdir build &amp;&amp;
118cd build &amp;&amp;
119
120meson setup .. \
121 --prefix=/usr \
122 --buildtype=release \
123 -Dgraphite2=enabled &amp;&amp;
124ninja</userinput></screen>
125
126 <para>
127 To test the results, issue: <command>ninja test</command>.
128 </para>
129
130 <para>
131 Now, as the <systemitem class="username">root</systemitem> user:
132 </para>
133
134<screen role="root"><userinput>ninja install</userinput></screen>
135 </sect2>
136
137 <sect2 role="commands">
138 <title>Command Explanations</title>
139
140 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
141 href="../../xincludes/meson-buildtype-release.xml"/>
142
143 <para>
144 <parameter>-Dgraphite2=enabled</parameter>: This switch enables
145 <application>Graphite2</application> support, which is required for
146 building <xref linkend="texlive"/> or <xref linkend="libreoffice"/>
147 with system harfbuzz.
148 </para>
149<!--
150 <para>
151 <parameter>-Dbenchmark=disabled</parameter>: This switch disables
152 downloading and building the <application>google-benchmark</application>
153 subproject, which requires <xref linkend="git"/>, and is of no
154 use for non developers.
155 </para>
156-->
157 <para>
158 <option>-Ddocs=disabled</option>: If <xref linkend="gtk-doc"/> is
159 installed, the documentation is built and installed. This switch
160 prevents that.
161 </para>
162
163 </sect2>
164
165 <sect2 role="content">
166 <title>Contents</title>
167
168 <segmentedlist>
169 <segtitle>Installed Programs</segtitle>
170 <segtitle>Installed Libraries</segtitle>
171 <segtitle>Installed Directories</segtitle>
172
173 <seglistitem>
174 <seg>
175 hb-info,
176 hb-ot-shape-closure,
177 hb-shape,
178 hb-subset, and
179 hb-view (only if Cairo is installed)
180 </seg>
181 <seg>
182 libharfbuzz.so,
183 libharfbuzz-cairo.so (only if Cairo is installed),
184 libharfbuzz-gobject.so,
185 libharfbuzz-icu.so, and
186 libharfbuzz-subset.so
187 </seg>
188 <seg>
189 /usr/include/harbuzz,
190 /usr/lib/cmake/harfbuzz, and
191 /usr/share/gtk-doc/html/harfbuzz (optional)
192 </seg>
193 </seglistitem>
194 </segmentedlist>
195
196 <variablelist>
197 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
198 <?dbfo list-presentation="list"?>
199 <?dbhtml list-presentation="table"?>
200
201 <varlistentry id="hb-info">
202 <term><command>hb-info</command></term>
203 <listitem>
204 <para>
205 is used for gathering information about fonts installed on the
206 system
207 </para>
208 <indexterm zone="harfbuzz hb-info">
209 <primary sortas="b-hb-info">hb-info</primary>
210 </indexterm>
211 </listitem>
212 </varlistentry>
213
214 <varlistentry id="hb-ot-shape-closure">
215 <term><command>hb-ot-shape-closure</command></term>
216 <listitem>
217 <para>
218 gives the set of characters contained in a string, represented as
219 single characters and/or single character names. Example:
220 <command>hb-ot-shape-closure
221 /usr/share/fonts/dejavu/DejaVuSans.ttf "Hello World."</command>
222 </para>
223 <indexterm zone="harfbuzz hb-ot-shape-closure">
224 <primary sortas="b-hb-ot-shape-closure">hb-ot-shape-closure</primary>
225 </indexterm>
226 </listitem>
227 </varlistentry>
228
229 <varlistentry id="hb-shape">
230 <term><command>hb-shape</command></term>
231 <listitem>
232 <para>
233 is used for the conversion of text strings into positioned glyphs
234 </para>
235 <indexterm zone="harfbuzz hb-shape">
236 <primary sortas="b-hb-shape">hb-shape</primary>
237 </indexterm>
238 </listitem>
239 </varlistentry>
240
241 <varlistentry id="hb-subset">
242 <term><command>hb-subset</command></term>
243 <listitem>
244 <para>
245 is used to create subsets of fonts, and display text using them
246 </para>
247 <indexterm zone="harfbuzz hb-subset">
248 <primary sortas="b-hb-subset">hb-subset</primary>
249 </indexterm>
250 </listitem>
251 </varlistentry>
252
253 <varlistentry id="hb-view">
254 <term><command>hb-view</command></term>
255 <listitem>
256 <para>
257 displays a graphical view of a string shape using a
258 particular font as a set of glyphs. The output format is
259 automatically defined by the file extension, the supported ones
260 being ansi/png/svg/pdf/ps/eps. For example:
261 <command>hb-view --output-file=hello.png
262 /usr/share/fonts/dejavu/DejaVuSans.ttf "Hello World."</command>
263 </para>
264 <indexterm zone="harfbuzz hb-view">
265 <primary sortas="b-hb-view">hb-view</primary>
266 </indexterm>
267 </listitem>
268 </varlistentry>
269
270 <varlistentry id="libharfbuzz">
271 <term><filename class="libraryfile">libharfbuzz.so</filename></term>
272 <listitem>
273 <para>
274 is the HarfBuzz text shaping library
275 </para>
276 <indexterm zone="harfbuzz libharfbuzz">
277 <primary sortas="c-libharfbuzz">libharfbuzz.so</primary>
278 </indexterm>
279 </listitem>
280 </varlistentry>
281
282 <varlistentry id="libharfbuzz-cairo">
283 <term><filename class="libraryfile">libharfbuzz-cairo.so</filename></term>
284 <listitem>
285 <para>
286 provides Cairo integration for the Harfbuzz text shaping library
287 </para>
288 <indexterm zone="harfbuzz libharfbuzz-cairo">
289 <primary sortas="c-libharfbuzz-cairo">libharfbuzz-cairo</primary>
290 </indexterm>
291 </listitem>
292 </varlistentry>
293
294 <varlistentry id="libharfbuzz-gobject">
295 <term><filename class="libraryfile">libharfbuzz-gobject.so</filename></term>
296 <listitem>
297 <para>
298 provides GObject integration for the HarfBuzz text shaping library
299 </para>
300 <indexterm zone="harfbuzz libharfbuzz-gobject">
301 <primary sortas="c-libharfbuzz-gobject">libharfbuzz-gobject.so</primary>
302 </indexterm>
303 </listitem>
304 </varlistentry>
305
306 <varlistentry id="libharfbuzz-icu">
307 <term><filename class="libraryfile">libharfbuzz-icu.so</filename></term>
308 <listitem>
309 <para>
310 provides ICU integration for the HarfBuzz text shaping library
311 </para>
312 <indexterm zone="harfbuzz libharfbuzz-icu">
313 <primary sortas="c-libharfbuzz-icu">libharfbuzz-icu.so</primary>
314 </indexterm>
315 </listitem>
316 </varlistentry>
317
318 <varlistentry id="libharfbuzz-subset">
319 <term><filename class="libraryfile">libharfbuzz-subset.so</filename></term>
320 <listitem>
321 <para>
322 provides API functions for performing subsetting operations on font
323 files
324 </para>
325 <indexterm zone="harfbuzz libharfbuzz-subset">
326 <primary sortas="c-libharfbuzz-subset">libharfbuzz-subset.so</primary>
327 </indexterm>
328 </listitem>
329 </varlistentry>
330
331 </variablelist>
332
333 </sect2>
334
335</sect1>
Note: See TracBrowser for help on using the repository browser.