pango- Binding to the Pango text rendering engine.
Portabilityportable (depends on GHC)
Safe HaskellNone



Pango is a library for laying out and rendering of text, with an emphasis on internationalization. Pango 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. Pango forms the core of text and font handling for GTK+-2.x.

Pango is designed to be modular; the core Pango layout engine can be used with different font backends. There are three basic backends:

  • Client side fonts using the FreeType and fontconfig libraries.
  • Native fonts on Microsoft Windows using Uniscribe for complex-text handling.
  • Native fonts on MacOS X using ATSUI for complex-text handling.

The integration of Pango with Cairo <http: high quality text handling and graphics rendering.

Dynamically loaded modules then handle text layout for particular combinations of script and font backend. Pango ships with a wide selection of modules, including modules for Hebrew, Arabic, Hangul, Thai, and a number of Indic scripts. Virtually all of the world's major scripts are supported.

As well as the low level layout rendering routines, Pango includes PangoLayout, a high level driver for laying out entire blocks of text, and routines to assist in editing internationalized text.

Pango depends on 2.x series of the GLib library.

This module only re-exports the parts of the Pango library that are relevant for text rendering (as opposed to integration with other libraries).