source: x/lib/pango.xml@ 8ebc8b4

12.1 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18
Last change on this file since 8ebc8b4 was 71f2030, checked in by Xi Ruoyao <xry111@…>, 9 months ago

pango: The array-bounds false warning persists with GCC 13.2

  • Property mode set to 100644
File size: 9.4 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 pango-download-http "&gnome-download-http;/pango/&pango-minor;/pango-&pango-version;.tar.xz">
8 <!ENTITY pango-download-ftp "&gnome-download-ftp;/pango/&pango-minor;/pango-&pango-version;.tar.xz">
9 <!ENTITY pango-md5sum "baa2a0a67c71935165a205a76da25954">
10 <!ENTITY pango-size "4.1 MB">
11 <!ENTITY pango-buildsize "47 MB (with tests)">
12 <!ENTITY pango-time "0.1 SBU (Using parallelism=4; with tests)">
13]>
14
15<sect1 id="pango" xreflabel="Pango-&pango-version;">
16 <?dbhtml filename="pango.html" ?>
17
18
19 <title>Pango-&pango-version;</title>
20
21 <indexterm zone="pango">
22 <primary sortas="a-Pango">Pango</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to Pango</title>
27
28 <para>
29 <application>Pango</application> is a library for laying out and rendering
30 text, with an emphasis on internationalization. It can be used anywhere
31 that text layout is needed, though most of the work on
32 <application>Pango</application> so far has been done in the context of
33 the <application>GTK+</application> widget toolkit.
34 </para>
35
36 &lfs120_checked;
37
38 <bridgehead renderas="sect3">Package Information</bridgehead>
39 <itemizedlist spacing="compact">
40 <listitem>
41 <para>
42 Download (HTTP): <ulink url="&pango-download-http;"/>
43 </para>
44 </listitem>
45 <listitem>
46 <para>
47 Download (FTP): <ulink url="&pango-download-ftp;"/>
48 </para>
49 </listitem>
50 <listitem>
51 <para>
52 Download MD5 sum: &pango-md5sum;
53 </para>
54 </listitem>
55 <listitem>
56 <para>
57 Download size: &pango-size;
58 </para>
59 </listitem>
60 <listitem>
61 <para>
62 Estimated disk space required: &pango-buildsize;
63 </para>
64 </listitem>
65 <listitem>
66 <para>
67 Estimated build time: &pango-time;
68 </para>
69 </listitem>
70 </itemizedlist>
71
72 <bridgehead renderas="sect3">Pango Dependencies</bridgehead>
73
74 <bridgehead renderas="sect4">Required</bridgehead>
75 <para role="required">
76 <xref linkend="fontconfig"/> (must be built with
77 <xref linkend="freetype2"/> using <xref linkend="harfbuzz"/>),
78 <xref linkend="fribidi"/>, and
79 <xref linkend="glib2"/>
80
81 </para>
82
83 <bridgehead renderas="sect4">Recommended</bridgehead>
84 <para role="recommended">
85 <xref linkend="cairo"/>,
86 <xref linkend="gobject-introspection"/> (Required if building GNOME), and
87 <xref linkend="xorg7-lib"/>
88 </para>
89
90 <bridgehead renderas="sect4">Optional</bridgehead>
91 <para role="optional">
92 <xref linkend="cantarell-fonts"/> (for tests),
93 <!--<xref linkend="gtk-doc"/>,-->
94 <xref linkend="sysprof"/>,
95 <xref linkend="gi-docgen"/> (to generate documentation),
96 <ulink url="https://ftpmirror.gnu.org/gnu/help2man">help2man</ulink>, and
97 <ulink url="https://linux.thai.net/projects/libthai">libthai</ulink>
98 </para>
99
100 </sect2>
101
102 <sect2 role="installation">
103 <title>Installation of Pango</title>
104
105 <para>
106 First work around a bug in gcc-13 which triggers a false warning
107 that breaks a release build:
108 </para>
109
110<screen><userinput>sed -i '/array-bounds/d' meson.build</userinput></screen>
111
112 <para>
113 Install <application>Pango</application> by running the following
114 commands:
115 </para>
116
117<screen><userinput>mkdir build &amp;&amp;
118cd build &amp;&amp;
119
120meson setup --prefix=/usr \
121 --buildtype=release \
122 --wrap-mode=nofallback \
123 .. &amp;&amp;
124ninja</userinput></screen>
125
126 <para>
127 If you have <xref linkend='gi-docgen'/> installed and wish to build
128 the API documentation for this package, issue:
129 </para>
130
131<screen remap='doc'><userinput>sed "/docs_dir =/s@\$@ / 'pango-&pango-version;'@" -i ../docs/meson.build &amp;&amp;
132meson configure -Dgtk_doc=true &amp;&amp;
133ninja</userinput></screen>
134
135 <para>
136 To test the results, issue: <command>ninja test</command>. One test,
137 <filename>test-font</filename> is known to fail. Some tests may
138 fail if no Opentype or Truetype fonts are installed in
139 <filename class='directory'>/usr/share/fonts</filename>.
140 <!--<filename>test-itemize</filename>, are are known to fail. if
141 <xref linkend="cantarell-fonts"/> are not installed.-->
142 <!-- the other problematic tests get skipped now -->
143 <!-- Even with cantarell-fonts, pango-1.50.9 test-font fails again. -->
144 </para>
145
146 <para>
147 Now, as the <systemitem class="username">root</systemitem> user:
148 </para>
149
150<screen role="root"><userinput>ninja install</userinput></screen>
151
152<!--
153This requires the external help2man program to generate pango-view.1. The version
154from lsb_release is insufficient. I'm not sure if the command below is needed
155or not if the newer help2man is present. - Bruce
156
157install -vm 644 ../utils/pango-view.1.in /usr/share/man/man1/pango-view.1</userinput></screen>
158-->
159
160 </sect2>
161
162 <sect2 role="commands">
163 <title>Command Explanations</title>
164
165 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
166 href="../../xincludes/meson-buildtype-release.xml"/>
167
168 <para>
169 <option>-Dintrospection=disabled</option>: Use this switch if you do not
170 want to use <xref linkend="gobject-introspection"/>.
171 </para>
172
173 <!-- gi-docgen can get installed without this, if deps exist -->
174 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
175 href="../../xincludes/meson-wrap-nofallback.xml"/>
176
177 </sect2>
178
179 <sect2 role="configuration">
180 <title>Configuring Pango</title>
181
182 <sect3 id="pango-config">
183 <title>Config Files</title>
184
185 <para>
186 <filename>/etc/pango/pangorc</filename>, <filename>~/.pangorc</filename>
187 and the file specified in the environment variable
188 <envar>PANGO_RC_FILE</envar>
189 </para>
190
191 <indexterm zone="pango pango-config">
192 <primary sortas="e-etc-pango-pangorc">/etc/pango/pangorc</primary>
193 </indexterm>
194
195 <indexterm zone="pango pango-config">
196 <primary sortas="e-AA.pangorc">~/.pangorc</primary>
197 </indexterm>
198 </sect3>
199<!--
200 <sect3>
201 <title>Configuration Information</title>
202
203 <para>
204 The <application>Pango</application> module path is specified by the key
205 <userinput><parameter>Pango/ModulesPath</parameter></userinput> in the
206 <application>Pango</application> config database, which is read from the
207 config files listed above.
208 </para>
209
210 </sect3>-->
211
212 </sect2>
213
214 <sect2 role="content">
215 <title>Contents</title>
216
217 <segmentedlist>
218 <segtitle>Installed Programs</segtitle>
219 <segtitle>Installed Libraries</segtitle>
220 <segtitle>Installed Directories</segtitle>
221
222 <seglistitem>
223 <seg>
224 pango-list, pango-segmentation, and pango-view
225 </seg>
226 <seg>
227 libpango-1.0.so, libpangocairo-1.0.so, libpangoft2-1.0.so,
228 and libpangoxft-1.0.so
229 </seg>
230 <seg>
231 /usr/include/pango-1.0 and
232 /usr/share/doc/pango-&pango-version; (if gi-docgen is available)
233 </seg>
234 </seglistitem>
235 </segmentedlist>
236
237 <variablelist>
238 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
239 <?dbfo list-presentation="list"?>
240 <?dbhtml list-presentation="table"?>
241
242 <varlistentry id="pango-list">
243 <term><command>pango-list</command></term>
244 <listitem>
245 <para>
246 displays a list of fonts that <application>Pango</application>
247 can use that are currently installed on the system
248 </para>
249 <indexterm zone="pango pango-list">
250 <primary sortas="b-pango-list">pango-list</primary>
251 </indexterm>
252 </listitem>
253 </varlistentry>
254
255 <varlistentry id="pango-segmentation">
256 <term><command>pango-segmentation</command></term>
257 <listitem>
258 <para>
259 shows text segmentation as determined by Pango.
260 </para>
261 <indexterm zone="pango pango-segmentation">
262 <primary sortas="b-pango-segmentation">pango-segmentation</primary>
263 </indexterm>
264 </listitem>
265 </varlistentry>
266
267 <varlistentry id="pango-view">
268 <term><command>pango-view</command></term>
269 <listitem>
270 <para>
271 renders a given text file through <application>Pango</application>
272 for viewing purposes
273 </para>
274 <indexterm zone="pango pango-view">
275 <primary sortas="b-pango-view">pango-view</primary>
276 </indexterm>
277 </listitem>
278 </varlistentry>
279
280 <varlistentry id="libpango-1">
281 <term><filename class="libraryfile">libpango-1.0.so</filename></term>
282 <listitem>
283 <para>
284 contains low level layout rendering routines, a high level driver for
285 laying out entire blocks of text, and routines to assist in editing
286 internationalized text
287 </para>
288 <indexterm zone="pango libpango-1">
289 <primary sortas="c-libpango-1">libpango-1.0.so</primary>
290 </indexterm>
291 </listitem>
292 </varlistentry>
293
294 </variablelist>
295
296 </sect2>
297
298</sect1>
Note: See TracBrowser for help on using the repository browser.