C C++ Makefile Meson M4 Python
Switch branches/tags
Latest commit 148a5af May 31, 2017 @ebassi ebassi Ignore undefined macros when importing freetype / 2
Missing inclusions of freetype via Cairo.
Failed to load latest commit information.
docs meson: Add a few missing things, minor fixes, TODO May 19, 2017
examples meson: Add a few missing things, minor fixes, TODO May 19, 2017
pango-view meson: Add pango-view's man page generation May 19, 2017
pango Ignore undefined macros when importing freetype / 2 May 31, 2017
tests meson: Install tests and additional data May 19, 2017
tools build: Add Meson build system May 19, 2017
win32 win32/replace.py: Fix replacing items in files with UTF-8 content May 10, 2017
AUTHORS Pass gnits instead of gnu to automake. Feb 13, 2006
COPYING Initial revision Jan 13, 2000
HACKING Bug 328206 – Update/remove some old files Feb 21, 2006
MAINTAINERS Add empty line between maintainers Sep 21, 2007
Makefile.am build: Add Meson files to the Autotools dist May 22, 2017
NEWS 1.40.6 May 22, 2017
README Make HarfBuzz dependency optional (on non-Linux), update README Aug 20, 2012
README.win32 README.win32: Update Information for Builds Jul 13, 2015
THANKS Pass gnits instead of gnu to automake. Feb 13, 2006
acinclude.m4 Lets see if this shuts introspection down so I can get a release out Jan 12, 2010
autogen.sh ensure gnome-autogen.sh's behaviour Nov 15, 2010
config.h.win32.in Export symbols with compiler directives if possible Jun 29, 2016
configure.ac 1.40.6 May 22, 2017
git.mk [git.mk] Update Dec 15, 2013
meson.build meson: Generate correct sonames May 22, 2017
meson_options.txt meson: Add a few missing things, minor fixes, TODO May 19, 2017
pango.doap doap: add <programming-language> Aug 1, 2014
pango.pc.in Remove some old build cruft Apr 22, 2015
pangocairo.pc.in Remove some old build cruft Apr 22, 2015
pangoft2.pc.in Add HarfBuzz to pkgconfig requires.private Sep 14, 2012
pangowin32.pc.in Bug 328141 - Use Requires.private in pkg-config files when appropriate Apr 30, 2015
pangoxft.pc.in Bug 496244 – Don't use freetype-config, use pkg-config Jan 29, 2008


Pango is a library for layout and rendering of text, with an emphasis
on internationalization. Pango can be used anywhere that text layout
is needed; however, most of the work on Pango so far has been done using 
the GTK+ widget toolkit as a test platform. Pango forms the core of text
and font handling for GTK+-2.x.

Pango is designed to be modular; the core Pango layout can be used
with different font backends. There are three basic backends, with
multiple options for rendering with each.

 - Client side fonts using the FreeType and fontconfig libraries.
   Rendering can be with with Cairo or Xft libraries, or directly
   to an in-memory buffer with no additional libraries.

 - Native fonts on Microsoft Windows using Uniscribe for complex
   script handling. Rendering can be done via Cairo or directly
   using the native Win32 API.

 - Native fonts on MacOS X with the CoreText framework, rendering via

The integration of Pango with Cairo (http://cairographics.org)
provides a complete solution with high quality text handling 
and graphics rendering.

Dynamically loaded modules then handle text layout for particular
combinations of script and font backend.

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.

For more information about Pango, see:



Pango depends on the GLib library; more information about GLib can
be found at http://www.gtk.org/.

To use the Free Software stack backend, Pango depends on the following

  * fontconfig for font discovery (http://www.fontconfig.org),

  * FreeType for font access (http://www.freetype.org),

  * HarfBuzz for complex text shaping (http://www.harfbuzz.org/)

Cairo support depends on the Cairo library (http://cairographics.org).
The Cairo backend is the preferred backend to use Pango with and is
subject of most of the development in the future.  It has the
advantage that the same code can be used for display and printing.

We suggest using Pango with Cairo as described above, but you can also
do X-specific rendering using the Xft library. The Xft backend uses
version 2 of the Xft library to manage client side fonts. Version 2 of
Xft is available from http://xlibs.freedesktop.org/release/.  You'll
need the libXft package, and possibly the libXrender and renderext
packages as well.  You'll also need fontconfig (see below.)

Installation of Pango on Win32 is possible, but is not documented
here. See http://www.gimp.org/~tml/gimp/win32/downloads.html


 - By default, Pango tries to build itself so that no explicit
   dependency on Xft or FreeType will be introduced in apps that
   link to Pango. This is to avoid compatibility problems with
   changes in the Xft or FreeType API's or ABI's. Specifying 
   --enable-explicit-deps or --enable-static when configuring Pango 
   will defeat this and should be avoided if possible.


Most of the code of Pango is licensed under the terms of the 
GNU Lesser Public License (LGPL) - see the file COPYING for details.

The OpenType code in pango/opentype is derived from the FreeType 
project (http://www.freetype.org) and is dual-licensed under the 
GNU General Public License and the FreeType license. See see
pango/opentype/FT-license.txt for full details of the FreeType 

Note that binary distributions of Pango must include a disclaimer 
that the software is based in part of the work of the FreeType Team, 
in the distribution documentation; for instance, by including this 
README file.

Owen Taylor

Behdad Esfahbod

20 August 2012