#### Beyond Linux® From Scratch (systemd Edition) - Version r13.0-491

### Chapter 25. Graphical Environment Libraries

- Prev

  libxklavier-5.4

- Next

  Pangomm-2.46.4

- Up
- Home

# Pango-1.57.1

## Introduction to Pango

Pango is a library for laying out and rendering text, with an emphasis on internationalization. It can be used anywhere that text layout is needed, though most of the work on Pango so far has been done in the context of the GTK+ widget toolkit.

### Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

### Package Information

- Download (HTTP): https://download.gnome.org/sources/pango/1.57/pango-1.57.1.tar.xz

- Download MD5 sum: dce053460f7f648018a7afbf36720421

- Download size: 2.5 MB

- Estimated disk space required: 64 MB (with tests)

- Estimated build time: less than 0.1 SBU (Using parallelism=4; with tests)

### Pango Dependencies

#### Required

Fontconfig-2.17.1 (must be built with FreeType-2.14.3 using harfBuzz-14.2.0), FriBidi-1.0.16, and GLib-2.88.0 (GObject Introspection required for GNOME)

#### Recommended

Cairo-1.18.4 (built after harfBuzz-14.2.0) and Xorg Libraries

#### Optional

docutils-0.22.4 (to generate manual pages), Gi-DocGen-2026.1 (to generate documentation), help2man, libthai, and sysprof

## Installation of Pango

Install Pango by running the following commands:

    mkdir build &&
    cd    build &&

    meson setup --prefix=/usr            \
                --buildtype=release      \
                --wrap-mode=nofallback   \
                -D introspection=enabled \
                ..                       &&
    ninja

If you have docutils-0.22.4 installed and wish to build the manual pages for the installed programs, issue:

    meson configure -D man-pages=true &&
    ninja

If you have Gi-DocGen-2026.1 installed and wish to build the API documentation for this package, issue:

    sed "/docs_dir =/s@\$@ / 'pango-1.57.1'@" -i ../docs/meson.build &&
    meson configure -D documentation=true                            &&
    ninja

To test the results, issue: ninja test. Three tests, test-font-data, test-font, and test-layout are known to fail due to missing font data.

Now, as the `root` user:

    ninja install

## Command Explanations

`--buildtype=release`: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.

`-D introspection=disabled`: Use this switch if you do not want to use GObject Introspection.

`--wrap-mode=nofallback`: This switch prevents meson from using subproject fallbacks for any dependency declarations in the build files, preventing it from downloading any optional dependencies which are not installed on the system.

## Configuring Pango

### Config Files

`/etc/pango/pangorc`, `~/.pangorc` and the file specified in the environment variable `PANGO_RC_FILE`

## Contents

Installed Programs: pango-list, pango-segmentation, and pango-view
Installed Libraries: libpango-1.0.so, libpangocairo-1.0.so, libpangoft2-1.0.so, and libpangoxft-1.0.so
Installed Directories: /usr/include/pango-1.0 and /usr/share/doc/pango-1.57.1 (if gi-docgen is available)

### Short Descriptions

pango-list | displays a list of fonts that Pango can use that are currently installed on the system
pango-segmentation | shows text segmentation as determined by Pango.
pango-view | renders a given text file through Pango for viewing purposes
`libpango-1.0.so` | contains low level layout rendering routines, a high level driver for laying out entire blocks of text, and routines to assist in editing internationalized text

- Prev

  libxklavier-5.4

- Next

  Pangomm-2.46.4

- Up
- Home