source: general/graphlib/harfbuzz.xml@ eede1a3

11.0 11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since eede1a3 was 20f070d8, checked in by Xi Ruoyao <xry111@…>, 3 years ago

first batch of meson --buildtype=release

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