source: general/graphlib/harfbuzz.xml@ ccded7e

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 ccded7e was 92e3023, checked in by Douglas R. Reno <renodr@…>, 3 years ago

Update to xkbcomp-1.4.5 (Xorg Application)
Update to harfbuzz-2.8.0
Update to nspr-4.30

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@24378 af4574ff-66df-0310-9fd7-8a98e5e911e0

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