| Pango | |
|---|---|
Pango name written as intended, Greekpan (παν, "all") and Japanesego (語, "language") | |
| Original authors | Owen Taylor[1] Raph Levien |
| Developer | Behdad Esfahbod |
| Initial release | 11 July 1999; 26 years ago (1999-07-11)[2] |
| Stable release | |
| Written in | C |
| Operating system | Unix-like,Microsoft Windows, Other |
| Type | Software development library |
| License | LGPL |
| Website | www |
| Repository | |
Pango (stylized as Παν語) is a text (i.e.glyph) layout enginelibrary which works with theHarfBuzz shaping engine for displaying multi-language text.[4]
Full-function rendering of text and cross-platform support is achieved when Pango is used with platform APIs or third-party libraries, such asUniscribe andFreeType, as text renderingbackends. Pango-processed text will appear similar under different operating systems.[clarification needed]
Pango is a special-purpose library for text and not a general-purpose graphics rendering library such asCairo, with which Pango can be used. The Cairo documentation recommends Pango be used to "render" text rather than Cairo for all but the simplest text "rendering".[5]
The name pango comes from Greekpan (παν,'all') and Japanesego (語,'language').[6]
In January 2000, the merger of the GScript and GnomeText projects was named Pango.[7][8][9][10][11][12]
Pango version 1.0.0 was released 11 March 2002.[13][14]

Pango 1.17 and newer support the 'locl' feature tag that allows localized glyphs to be used for the same Unicode code point. Assuming you haveVerdana version 5.01 installed, which supports the 'locl' feature for the latn/ROM (Romanian) script, a quick demonstration (on Linux) is:
forlanginenrodopango-view\--font="Verdana 64"\--text"şţ vs. șț in$lang"\--language=$langdone
For an explanation of the substitutions rules for Romanian, see thisdiscussion.
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 usingPango markup, e.g.:
pango-view\--font="Verdana 24"\--markup\--text'In the same text: şţ(en) and <span lang="ro">şţ(ro).</span>'
Since 1.37.1, Pango added more attributes to provide complete support for processing OpenType feature.[15][16][17]
The official showcase of Pango's script-aware features ishere.

Pango has been integrated into most Linux distributions. TheGTK UI toolkit uses Pango for all of its text rendering.[18] TheLinux versions of theMozilla Firefox web browser andMozilla Thunderbird mail client use Pango for text rendering.[19]
The most impressive part of their presentation was the discussion on Pango (the result of the GScript and GnomeText merger)
The GScript project has been merged with the GnomeText project. For information about the result, named Pango, see:https://www.pango.org If you have trouble accessing that site, there is a mirror here. By Owen Taylor
Owen Taylor is working on gscript, which has some overlap with the functions described in this interface. We're working on unifying the two api's as much as possible.
Pango (which is the code name for a merger of my Gscript project and Raph Levien's GnomeText project) is a modular set of libraries for doing layout and rendering of international text. It's a bit similar to Microsoft's Uniscript or Apple's ATSUI.