source: general/graphlib/harfbuzz.xml@ ab4fdfc

12.1 ken/TL2024 lazarus plabs/newcss rahul/power-profiles-daemon trunk xry111/llvm18
Last change on this file since ab4fdfc was ab4fdfc, checked in by Pierre Labastie <pierre.labastie@…>, 4 months ago

Change all xml decl to encoding=utf-8

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