source: general/graphlib/harfbuzz.xml@ 1118ba1

12.0 12.1 kea ken/TL2024 ken/tuningfonts lazarus lxqt plabs/newcss python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 1118ba1 was 1118ba1, checked in by Bruce Dubbs <bdubbs@…>, 13 months ago

Update to harfbuzz-7.2.0.

  • Property mode set to 100644
File size: 10.9 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 "7c81b2fb11eebda7e597cd3bbf0d4527">
11 <!ENTITY harfbuzz-size "18 MB">
12 <!ENTITY harfbuzz-buildsize "149 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 <para condition="html" role="usernotes">
108 User Notes: <ulink url="&blfs-wiki;/harfbuzz"/>
109 </para>
110 </sect2>
111
112 <sect2 role="installation">
113 <title>Installation of HarfBuzz</title>
114
115 <para>
116 Install <application>HarfBuzz</application> by running the following
117 commands:
118 </para>
119
120<screen><userinput>mkdir build &amp;&amp;
121cd build &amp;&amp;
122
123meson setup .. \
124 --prefix=/usr \
125 --buildtype=release \
126 -Dgraphite2=enabled &amp;&amp;
127ninja</userinput></screen>
128
129 <para>
130 To test the results, issue: <command>ninja test</command>.
131 </para>
132
133 <para>
134 Now, as the <systemitem class="username">root</systemitem> user:
135 </para>
136
137<screen role="root"><userinput>ninja install</userinput></screen>
138 </sect2>
139
140 <sect2 role="commands">
141 <title>Command Explanations</title>
142
143 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
144 href="../../xincludes/meson-buildtype-release.xml"/>
145
146 <para>
147 <parameter>-Dgraphite2=enabled</parameter>: This switch enables
148 <application>Graphite2</application> support, which is required for
149 building <xref linkend="texlive"/> or <xref linkend="libreoffice"/>
150 with system harfbuzz.
151 </para>
152<!--
153 <para>
154 <parameter>-Dbenchmark=disabled</parameter>: This switch disables
155 downloading and building the <application>google-benchmark</application>
156 subproject, which requires <xref linkend="git"/>, and is of no
157 use for non developers.
158 </para>
159-->
160 <para>
161 <option>-Ddocs=disabled</option>: If <xref linkend="gtk-doc"/> is
162 installed, the documentation is built and installed. This switch
163 prevents that.
164 </para>
165
166 </sect2>
167
168 <sect2 role="content">
169 <title>Contents</title>
170
171 <segmentedlist>
172 <segtitle>Installed Programs</segtitle>
173 <segtitle>Installed Libraries</segtitle>
174 <segtitle>Installed Directories</segtitle>
175
176 <seglistitem>
177 <seg>
178 hb-info,
179 hb-ot-shape-closure,
180 hb-shape,
181 hb-subset, and
182 hb-view (only if Cairo is installed)
183 </seg>
184 <seg>
185 libharfbuzz.so,
186 libharfbuzz-cairo.so (only if Cairo is installed),
187 libharfbuzz-gobject.so,
188 libharfbuzz-icu.so, and
189 libharfbuzz-subset.so
190 </seg>
191 <seg>
192 /usr/include/harbuzz,
193 /usr/lib/cmake/harfbuzz, and
194 /usr/share/gtk-doc/html/harfbuzz (optional)
195 </seg>
196 </seglistitem>
197 </segmentedlist>
198
199 <variablelist>
200 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
201 <?dbfo list-presentation="list"?>
202 <?dbhtml list-presentation="table"?>
203
204 <varlistentry id="hb-info">
205 <term><command>hb-info</command></term>
206 <listitem>
207 <para>
208 is used for gathering information about fonts installed on the
209 system
210 </para>
211 <indexterm zone="harfbuzz hb-info">
212 <primary sortas="b-hb-info">hb-info</primary>
213 </indexterm>
214 </listitem>
215 </varlistentry>
216
217 <varlistentry id="hb-ot-shape-closure">
218 <term><command>hb-ot-shape-closure</command></term>
219 <listitem>
220 <para>
221 gives the set of characters contained in a string, represented as
222 single characters and/or single character names. Example:
223 <command>hb-ot-shape-closure
224 /usr/share/fonts/dejavu/DejaVuSans.ttf "Hello World."</command>
225 </para>
226 <indexterm zone="harfbuzz hb-ot-shape-closure">
227 <primary sortas="b-hb-ot-shape-closure">hb-ot-shape-closure</primary>
228 </indexterm>
229 </listitem>
230 </varlistentry>
231
232 <varlistentry id="hb-shape">
233 <term><command>hb-shape</command></term>
234 <listitem>
235 <para>
236 is used for the conversion of text strings into positioned glyphs
237 </para>
238 <indexterm zone="harfbuzz hb-shape">
239 <primary sortas="b-hb-shape">hb-shape</primary>
240 </indexterm>
241 </listitem>
242 </varlistentry>
243
244 <varlistentry id="hb-subset">
245 <term><command>hb-subset</command></term>
246 <listitem>
247 <para>
248 is used to create subsets of fonts, and display text using them
249 </para>
250 <indexterm zone="harfbuzz hb-subset">
251 <primary sortas="b-hb-subset">hb-subset</primary>
252 </indexterm>
253 </listitem>
254 </varlistentry>
255
256 <varlistentry id="hb-view">
257 <term><command>hb-view</command></term>
258 <listitem>
259 <para>
260 displays a graphical view of a string shape using a
261 particular font as a set of glyphs. The output format is
262 automatically defined by the file extension, the supported ones
263 being ansi/png/svg/pdf/ps/eps. For example:
264 <command>hb-view --output-file=hello.png
265 /usr/share/fonts/dejavu/DejaVuSans.ttf "Hello World."</command>
266 </para>
267 <indexterm zone="harfbuzz hb-view">
268 <primary sortas="b-hb-view">hb-view</primary>
269 </indexterm>
270 </listitem>
271 </varlistentry>
272
273 <varlistentry id="libharfbuzz">
274 <term><filename class="libraryfile">libharfbuzz.so</filename></term>
275 <listitem>
276 <para>
277 is the HarfBuzz text shaping library
278 </para>
279 <indexterm zone="harfbuzz libharfbuzz">
280 <primary sortas="c-libharfbuzz">libharfbuzz.so</primary>
281 </indexterm>
282 </listitem>
283 </varlistentry>
284
285 <varlistentry id="libharfbuzz-cairo">
286 <term><filename class="libraryfile">libharfbuzz-cairo.so</filename></term>
287 <listitem>
288 <para>
289 provides Cairo integration for the Harfbuzz text shaping library
290 </para>
291 <indexterm zone="harfbuzz libharfbuzz-cairo">
292 <primary sortas="c-libharfbuzz-cairo">libharfbuzz-cairo</primary>
293 </indexterm>
294 </listitem>
295 </varlistentry>
296
297 <varlistentry id="libharfbuzz-gobject">
298 <term><filename class="libraryfile">libharfbuzz-gobject.so</filename></term>
299 <listitem>
300 <para>
301 provides GObject integration for the HarfBuzz text shaping library
302 </para>
303 <indexterm zone="harfbuzz libharfbuzz-gobject">
304 <primary sortas="c-libharfbuzz-gobject">libharfbuzz-gobject.so</primary>
305 </indexterm>
306 </listitem>
307 </varlistentry>
308
309 <varlistentry id="libharfbuzz-icu">
310 <term><filename class="libraryfile">libharfbuzz-icu.so</filename></term>
311 <listitem>
312 <para>
313 provides ICU integration for the HarfBuzz text shaping library
314 </para>
315 <indexterm zone="harfbuzz libharfbuzz-icu">
316 <primary sortas="c-libharfbuzz-icu">libharfbuzz-icu.so</primary>
317 </indexterm>
318 </listitem>
319 </varlistentry>
320
321 <varlistentry id="libharfbuzz-subset">
322 <term><filename class="libraryfile">libharfbuzz-subset.so</filename></term>
323 <listitem>
324 <para>
325 provides API functions for performing subsetting operations on font
326 files
327 </para>
328 <indexterm zone="harfbuzz libharfbuzz-subset">
329 <primary sortas="c-libharfbuzz-subset">libharfbuzz-subset.so</primary>
330 </indexterm>
331 </listitem>
332 </varlistentry>
333
334 </variablelist>
335
336 </sect2>
337
338</sect1>
Note: See TracBrowser for help on using the repository browser.