The Full Wiki

Pango: Wikis


Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.


From Wikipedia, the free encyclopedia

Pango name written as intended
Developer(s) Behdad Esfahbod
Stable release 1.26 / September 21, 2009; 5 month(s) ago (2009-09-21)
Operating system Unix-like,Microsoft Windows
Type Text rendering
License LGPL

Pango (Παν語) is a GPL licensed open source computing library used by software developers for laying out and rendering text in high quality, emphasising support for multilingual text. Different font backends can be used, allowing cross-platform support; so that Pango-rendered text will appear similar under different operating systems, such as Linux, Apple's MacOS and Microsoft Windows.



Pango has been integrated into most Linux distributions. The GTK+ UI toolkit uses Pango for all of its text rendering. It also provides the rendering for text in the Mozilla Firefox web browser and Mozilla Thunderbird mail client in Fedora Core 6 amongst others. Special permission was granted by the Mozilla Corporation as Pango has so far not been included in the Mozilla source code.[1] Similarly, Debian's Iceweasel, Icedove and Iceape use Pango.


The name pango is from Greek pan (παν, "all") and Japanese go (語, "language"). It can also be connected with Latin pango ("I fasten") and Māori pango ("black").

Support for OpenType features

Default rendering above, localized Romanian rendering below.

Pango 1.17 and newer support the locl script tag that allows alternate glyphs to be used for the same Unicode code point. Assuming you have Verdana version 5.01 installed, which supports the locl feature for the latn/ROM (Romanian) script, a quick demonstration (on Linux) is:

for lang in en ro; do pango-view \
 --font="Verdana 64" \
 --text "şţ vs. șț in $lang" \
 --language=$lang; done

For an explanation of the substitutions rules for Romanian, see this discussion.

Setting the locale via the POSIX environment variable, e.g. LANG=ro_RO.UTF-8 will also cause Pango to use locl font feature. Finally, you can change the language on the fly in the same text using Pango markup, e.g.:

pango-view \
 --font="Verdana 24" \
 --markup \
 --text 'In the same text: <span lang="en">şţ</span>(en) and <span lang="ro">şţ</span>(ro).'

The official showcase of Pango's script-aware features is here.

Text and graphics

Complete text handling and graphics rendering is provided when integrated with Cairo.


HarfBuzz (in Persian: حرف‌باز) is an effort to standardize text layout in FOSS, with code originally derived from the FreeType project and was developed separately in Qt and Pango, and finally merged back into a common repository. Both Qt and Pango currently use HarfBuzz; other standalone users include Chromium, the open source project behind Google Chrome.

See also


External links



Got something to say? Make a comment.
Your name
Your email address