Παν語 Pango name written as intended |
|
Developer(s) | Behdad Esfahbod |
---|---|
Stable release | 1.29.5 / November 22, 2011 |
Operating system | Unix-like, Microsoft Windows |
Type | Text rendering |
License | LGPL |
Website | www.pango.org |
Pango (Παν語) is an LGPL licensed open source computing library used by software developers for laying out and rendering text in high quality, emphasising support for multilingual text.[1] 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 Mac OS and Microsoft Windows.
Contents |
Pango has been integrated into most Linux distributions. The GTK+ UI toolkit uses Pango for all of its text rendering. The Linux versions of the Mozilla Firefox web browser and Mozilla Thunderbird mail client use Pango for text rendering.
The name pango comes from Greek pan (παν, "all") and Japanese go (語, "language").[2]
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.
Complete text handling and graphics rendering is provided when integrated with Cairo.
HarfBuzz (in Persian: حرفباز) is a layout/shaping engine for OpenType fonts.[3] Its purpose is to standardize text layout in FOSS; its code originally started as part of the FreeType project, was then 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 Firefox and Chromium, the open source project behind Google Chrome.[4]
|
|