source: general/graphlib/fontconfig.xml@ 49c13f5

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt perl-modules 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 49c13f5 was f9ae69b, checked in by DJ Lucas <dj@…>, 7 years ago

Fix fontconfig build issue with gperf >= 3.1.

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

  • Property mode set to 100644
File size: 13.3 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 fontconfig-download-http
8 "http://www.freedesktop.org/software/fontconfig/release/fontconfig-&fontconfig-version;.tar.bz2">
9 <!ENTITY fontconfig-download-ftp " ">
10 <!ENTITY fontconfig-md5sum "b5af5a423ee3b5cfc34846838963c058">
11 <!ENTITY fontconfig-size "1.5 MB">
12 <!ENTITY fontconfig-buildsize "14 MB (with tests)">
13 <!ENTITY fontconfig-time "0.4 SBU (with tests)">
14]>
15
16<sect1 id="fontconfig" xreflabel="Fontconfig-&fontconfig-version;">
17 <?dbhtml filename="fontconfig.html"?>
18
19 <sect1info>
20 <othername>$LastChangedBy$</othername>
21 <date>$Date$</date>
22 </sect1info>
23
24 <title>Fontconfig-&fontconfig-version;</title>
25
26 <indexterm zone="fontconfig">
27 <primary sortas="a-Fontconfig">Fontconfig</primary>
28 </indexterm>
29
30 <sect2 role="package">
31 <title>Introduction to Fontconfig</title>
32
33 <para>
34 The <application>Fontconfig</application> package contains
35 a library and support programs used for configuring and
36 customizing font access.
37 </para>
38
39 &lfs80_checked;
40
41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
44 <para>
45 Download (HTTP): <ulink url="&fontconfig-download-http;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download (FTP): <ulink url="&fontconfig-download-ftp;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download MD5 sum: &fontconfig-md5sum;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download size: &fontconfig-size;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated disk space required: &fontconfig-buildsize;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated build time: &fontconfig-time;
71 </para>
72 </listitem>
73 </itemizedlist>
74
75 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
76 <itemizedlist spacing="compact">
77 <listitem>
78 <para>
79 Required patch:
80 <ulink url="&patch-root;/fontconfig-&fontconfig-version;-gperf-3.1-1.patch"/>
81 </para>
82 </listitem>
83 </itemizedlist>
84
85 <bridgehead renderas="sect3">Fontconfig Dependencies</bridgehead>
86
87 <bridgehead renderas="sect4">Required</bridgehead>
88 <para role="required">
89 <xref linkend="freetype2"/>
90 </para>
91
92 <bridgehead renderas="sect4">Optional</bridgehead>
93 <para role="optional">
94 <xref linkend="docbook-utils"/> and
95 <xref linkend="libxml2"/>,
96 <xref linkend="texlive"/> (or <xref linkend="tl-installer"/>)
97 </para>
98
99 <note>
100 <para>
101 If you have <application>DocBook Utils</application> installed and
102 you remove the <parameter>--disable-docs</parameter> parameter from
103 the <command>configure</command> command below, you must have
104 <xref linkend="perl-sgmlspm"/> and <xref linkend="texlive"/> installed
105 also, or the <application>Fontconfig</application> build will fail.
106 </para>
107 </note>
108
109 <para condition="html" role="usernotes">User Notes:
110 <ulink url='&blfs-wiki;/Fontconfig'/>
111 </para>
112 </sect2>
113
114 <sect2 role="installation">
115 <title>Installation of Fontconfig</title>
116
117 <para>
118 Fix an error with version of <application>gperf</application> &gt; 3.1:
119 </para>
120
121<screen><userinput>patch -Np1 -i ../fontconfig-&fontconfig-version;-gperf-3.1-1.patch</userinput></screen>
122
123 <para>
124 Install <application>Fontconfig</application> by running the following
125 commands:
126 </para>
127
128<screen><userinput>sed -e '/FC_CHAR_WIDTH/s/CHAR_WIDTH/CHARWIDTH/' \
129 -e '/FC_CHARWIDTH/a #define FC_CHAR_WIDTH FC_CHARWIDTH' \
130 -i fontconfig/fontconfig.h &amp;&amp;
131sed 's/CHAR_WIDTH/CHARWIDTH/' -i src/fcobjs.h &amp;&amp;
132
133autoreconf -fi &amp;&amp;
134./configure --prefix=/usr \
135 --sysconfdir=/etc \
136 --localstatedir=/var \
137 --disable-docs \
138 --docdir=/usr/share/doc/fontconfig-&fontconfig-version; &amp;&amp;
139make</userinput></screen>
140
141 <para>
142 To test the results, issue: <command>make check</command>.
143 </para>
144
145 <para>
146 Now, as the <systemitem class="username">root</systemitem> user:
147 </para>
148
149<screen role="root"><userinput>make install</userinput></screen>
150
151 <para>
152 If you did not remove the <parameter>--disable-docs</parameter>
153 parameter from the <command>configure</command> command, you can install
154 the pre-generated documentation by using the following commands as the
155 <systemitem class="username">root</systemitem> user:
156 </para>
157
158<screen role="root"><userinput>install -v -dm755 \
159 /usr/share/{man/man{3,5},doc/fontconfig-&fontconfig-version;/fontconfig-devel} &amp;&amp;
160install -v -m644 fc-*/*.1 /usr/share/man/man1 &amp;&amp;
161install -v -m644 doc/*.3 /usr/share/man/man3 &amp;&amp;
162install -v -m644 doc/fonts-conf.5 /usr/share/man/man5 &amp;&amp;
163install -v -m644 doc/fontconfig-devel/* \
164 /usr/share/doc/fontconfig-&fontconfig-version;/fontconfig-devel &amp;&amp;
165install -v -m644 doc/*.{pdf,sgml,txt,html} \
166 /usr/share/doc/fontconfig-&fontconfig-version;</userinput></screen>
167
168 </sect2>
169
170 <sect2 role="commands">
171 <title>Command Explanations</title>
172
173 <para>
174 <command>sed ...</command>: Fix a conflict in names caused by
175 changes to a glibc-2.25 header file.
176 </para>
177
178 <para>
179 <parameter>--disable-docs</parameter>: This switch avoids building the
180 documentation (the release tarball includes pre-generated
181 documentation).
182 </para>
183
184 </sect2>
185
186 <sect2 role="configuration">
187 <title>Configuring Fontconfig</title>
188
189 <sect3 id="fontconfig-config">
190 <title>Config Files</title>
191
192 <para>
193 <filename>
194 /etc/fonts/*,
195 /etc/fonts/conf.d/* and
196 /usr/share/fontconfig/conf.avail/*
197 </filename>
198 </para>
199
200 <indexterm zone="fontconfig fontconfig-config">
201 <primary sortas="e-etc-fonts">/etc/fonts/*</primary>
202 </indexterm>
203
204 <indexterm zone="fontconfig fontconfig-config">
205 <primary sortas="e-etc-fonts-conf.d">/etc/fonts/conf.d/*</primary>
206 </indexterm>
207
208 <indexterm zone="fontconfig fontconfig-config">
209 <primary sortas="e-usr-share-fontconfig-conf.avail">/usr/share/fontconfig/conf.avail/*</primary>
210 </indexterm>
211
212 </sect3>
213
214 <sect3>
215 <title>Configuration Information</title>
216
217 <para>
218 The main configuration file for <application>Fontconfig</application> is
219 <filename>/etc/fonts/fonts.conf</filename>. Generally you do not want
220 to edit this file. It will also read <filename>/etc/fonts/local.conf</filename>
221 and any files in <filename class="directory">/etc/fonts/conf.d</filename>.
222 To put a new font directory in the configuration, create
223 (or update) the <filename>/etc/fonts/local.conf</filename> file with your
224 local information or add a new file in
225 <filename class="directory">/etc/fonts/conf.d</filename>. The default
226 location of fonts in <application>Fontconfig</application> is:
227 </para>
228
229 <itemizedlist spacing="compact">
230 <listitem>
231 <para>/usr/share/fonts</para>
232 </listitem>
233 <listitem>
234 <para>~/.local/share/fonts</para>
235 </listitem>
236 <listitem>
237 <para>~/.fonts <emphasis>(this is now deprecated, but for the moment
238 it still works)</emphasis></para>
239 </listitem>
240 </itemizedlist>
241
242 <para>
243 <application>Fontconfig</application> also ships many example
244 configuration files in the
245 <filename class="directory">/usr/share/fontconfig/conf.avail</filename>
246 directory. Symlinking specific files to
247 <filename class="directory">/etc/fonts/conf.d</filename>
248 will enable them. The default setup is generally good enough for
249 most users. See <filename>/etc/fonts/conf.d/README</filename>
250 for a description of the configuration files.
251 </para>
252
253 <indexterm zone="fontconfig fontconfig-config">
254 <primary sortas="e-usr-share-fonts">/usr/share/fonts</primary>
255 </indexterm>
256
257 <indexterm zone="fontconfig fontconfig-config">
258 <primary sortas="e-AA.fonts">~/.fonts</primary>
259 </indexterm>
260
261 <para>
262 More information about configuring <application>Fontconfig</application>
263 can be found in the user's manual in <ulink
264 url="file:///usr/share/doc/fontconfig-&fontconfig-version;/fontconfig-user.html"/>
265 </para>
266
267 </sect3>
268
269 </sect2>
270
271 <sect2 role="content">
272 <title>Contents</title>
273
274 <segmentedlist>
275 <segtitle>Installed Programs</segtitle>
276 <segtitle>Installed Library</segtitle>
277 <segtitle>Installed Directories</segtitle>
278
279 <seglistitem>
280 <seg>
281 fc-cache, fc-cat, fc-list, fc-match, fc-pattern, fc-query,
282 fc-scan and fc-validate
283 </seg>
284 <seg>
285 libfontconfig.so
286 </seg>
287 <seg>
288 /etc/fonts,
289 /usr/include/fontconfig,
290 /usr/share/doc/fontconfig-&fontconfig-version;,
291 /usr/share/fontconfig,
292 /usr/share/xml/fontconfig and
293 /var/cache/fontconfig
294 </seg>
295 </seglistitem>
296 </segmentedlist>
297
298 <variablelist>
299 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
300 <?dbfo list-presentation="list"?>
301 <?dbhtml list-presentation="table"?>
302
303 <varlistentry id="fc-cache">
304 <term><command>fc-cache</command></term>
305 <listitem>
306 <para>
307 is used to create font information caches.
308 </para>
309 <indexterm zone="fontconfig fc-cache">
310 <primary sortas="b-fc-cache">fc-cache</primary>
311 </indexterm>
312 </listitem>
313 </varlistentry>
314
315 <varlistentry id="fc-cat">
316 <term><command>fc-cat</command></term>
317 <listitem>
318 <para>
319 is used to read font information caches.
320 </para>
321 <indexterm zone="fontconfig fc-cat">
322 <primary sortas="b-fc-cat">fc-cat</primary>
323 </indexterm>
324 </listitem>
325 </varlistentry>
326
327 <varlistentry id="fc-list">
328 <term><command>fc-list</command></term>
329 <listitem>
330 <para>
331 is used to create font lists.
332 </para>
333 <indexterm zone="fontconfig fc-list">
334 <primary sortas="b-fc-list">fc-list</primary>
335 </indexterm>
336 </listitem>
337 </varlistentry>
338
339 <varlistentry id="fc-match">
340 <term><command>fc-match</command></term>
341 <listitem>
342 <para>
343 is used to match available fonts, or find fonts that match
344 a given pattern.
345 </para>
346 <indexterm zone="fontconfig fc-match">
347 <primary sortas="b-fc-match">fc-match</primary>
348 </indexterm>
349 </listitem>
350 </varlistentry>
351
352 <varlistentry id="fc-pattern">
353 <term><command>fc-pattern</command></term>
354 <listitem>
355 <para>
356 is used to parse pattern (empty pattern by default) and show
357 the parsed result.
358 </para>
359 <indexterm zone="fontconfig fc-pattern">
360 <primary sortas="b-fc-pattern">fc-pattern</primary>
361 </indexterm>
362 </listitem>
363 </varlistentry>
364
365 <varlistentry id="fc-query">
366 <term><command>fc-query</command></term>
367 <listitem>
368 <para>
369 is used to query fonts files and print resulting patterns.
370 </para>
371 <indexterm zone="fontconfig fc-query">
372 <primary sortas="b-fc-query">fc-query</primary>
373 </indexterm>
374 </listitem>
375 </varlistentry>
376
377 <varlistentry id="fc-scan">
378 <term><command>fc-scan</command></term>
379 <listitem>
380 <para>
381 is used to scan font files and directories, and print resulting
382 patterns.
383 </para>
384 <indexterm zone="fontconfig fc-scan">
385 <primary sortas="b-fc-scan">fc-scan</primary>
386 </indexterm>
387 </listitem>
388 </varlistentry>
389
390 <varlistentry id="fc-validate">
391 <term><command>fc-validate</command></term>
392 <listitem>
393 <para>
394 is used to validate font files.
395 </para>
396 <indexterm zone="fontconfig fc-validate">
397 <primary sortas="b-fc-validate">fc-validate</primary>
398 </indexterm>
399 </listitem>
400 </varlistentry>
401
402 <varlistentry id="libfontconfig">
403 <term><filename class="libraryfile">libfontconfig.so</filename></term>
404 <listitem>
405 <para>
406 contains functions used by the <application>Fontconfig</application>
407 programs and also by other programs to configure or customize font
408 access.
409 </para>
410 <indexterm zone="fontconfig libfontconfig">
411 <primary sortas="c-libfontconfig">libfontconfig.so</primary>
412 </indexterm>
413 </listitem>
414 </varlistentry>
415
416 </variablelist>
417
418 </sect2>
419
420</sect1>
Note: See TracBrowser for help on using the repository browser.