HOME

TheInfoList



OR:

Pango (stylized as Παν語) is a text (i.e.
glyph A glyph () is any kind of purposeful mark. In typography, a glyph is "the specific shape, design, or representation of a character". It is a particular graphical representation, in a particular typeface, of an element of written language. A g ...
) layout engine
library A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vi ...
which works with the HarfBuzz shaping engine for displaying multi-language text. Full-function rendering of text and cross-platform support is achieved when Pango is used with platform APIs or third-party libraries, such as Uniscribe and FreeType, as text rendering backends. Pango-processed text will appear similar under different operating systems. Pango is a special-purpose library for text and not a general-purpose graphics rendering library such as
Cairo Cairo ( ; ar, القاهرة, al-Qāhirah, ) is the capital of Egypt and its largest city, home to 10 million people. It is also part of the largest urban agglomeration in Africa, the Arab world and the Middle East: The Greater Cairo metr ...
, 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".


History and naming

The name pango comes from
Greek Greek may refer to: Greece Anything of, from, or related to Greece, a country in Southern Europe: *Greeks, an ethnic group. *Greek language, a branch of the Indo-European language family. **Proto-Greek language, the assumed last common ancestor ...
''pan'' (παν, "all") and
Japanese Japanese may refer to: * Something from or related to Japan, an island country in East Asia * Japanese language, spoken mainly in Japan * Japanese people, the ethnic group that identifies with Japan through ancestry or culture ** Japanese diaspor ...
''go'' (語, "
language Language is a structured system of communication. The structure of a language is its grammar and the free components are its vocabulary. Languages are the primary means by which humans communicate, and may be conveyed through a variety of ...
"). In January 2000, the merger of the GScript and GnomeText projects was named Pango. Pango version 1.0.0 was released 11 March 2002.


Support for OpenType features

Pango 1.17 and newer support the feature tag that allows localized glyphs to be used for the same Unicode code point. Assuming you have
Verdana Verdana is a humanist sans-serif typeface designed by Matthew Carter for Microsoft Corporation, with hand-hinting done by Thomas Rickner, then at Monotype. Demand for such a typeface was recognized by Virginia Howlett of Microsoft's typograph ...
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 Conversation is interactive communication between two or more people. The development of conversational skills and etiquette is an important part of socialization. The development of conversational skills in a new language is a frequent focus ...
. 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 usin
Pango markup
e.g.: pango-view \ --font="Verdana 24" \ --markup \ --text 'In the same text: şţ(en) and şţ(ro).' Since 1.37.1, Pango added more attributes to provide complete support for processing OpenType feature. The official showcase of Pango's script-aware features i
here


Major users

Pango has been integrated into most Linux distributions. The
GTK GTK (formerly GIMP ToolKit and GTK+) is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both free and propriet ...
UI toolkit uses Pango for all of its text rendering. The
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, whi ...
versions of the
Mozilla Firefox Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements current an ...
web browser and
Mozilla Thunderbird Mozilla Thunderbird is a free and open-source cross-platform email client, personal information manager, news client, RSS and chat client developed by the Mozilla Foundation and operated by subsidiary MZLA Technologies Corporation. The projec ...
mail client use Pango for text rendering.


See also

* HarfBuzz (text shaping engine which is incorporated into Pango itself but can be also used stand-alone) *
Core Text Core Text is a Core Foundation style API in macOS, first introduced in Mac OS X 10.4 Tiger, made public in Mac OS X 10.5 Leopard, and introduced for the iPad with iPhone SDK 3.2. Exposing a C API, it replaces the text rendering abilities of th ...
(modern multilingual text rendering engine introduced in
Mac OS X 10.5 Mac OS X Leopard (version 10.5) is the sixth software versioning, major release of macOS, Apple Inc., Apple's desktop and server operating system for Macintosh computers. Leopard was released on October 26, 2007 as the successor of Mac OS X Tig ...
) *
Graphite Graphite () is a crystalline form of the element carbon. It consists of stacked layers of graphene. Graphite occurs naturally and is the most stable form of carbon under standard conditions. Synthetic and natural graphite are consumed on la ...
(multiplatform open source smart-font renderer) *
WorldScript WorldScript is the multilingual text rendering engine for Apple Macintosh's classic Mac OS, before Mac OS X was introduced. Starting with version 7.1, Apple unified the implementation of non-Roman script systems in a programming interface called W ...
(Old Macintosh multilingual text rendering engine) *
Typographic ligature In writing and typography, a ligature occurs where two or more graphemes or letters are joined to form a single glyph. Examples are the characters æ and œ used in English and French, in which the letters 'a' and 'e' are joined for the firs ...
*
Computer font A computer font is implemented as a digital data file containing a set of graphically related glyphs. A computer font is designed and created using a font editor. A computer font specifically designed for the computer screen, and not for print ...


References


External links

*
Pango, an open-source Unicode text layout engine. by Owen Taylor in Twenty fifth Internationalization and unicode conference, April 2004

"Pango: internationalized text handling" Owen Taylor in Ottawa linux symposium 2001

Pango Reference Manual
* , at linux.conf.au 2017 Simon Cozens explained the rendering of fonts {{Freedesktop.org Computer-related introductions in 1999 C (programming language) libraries Free computer libraries Free software programmed in C Freedesktop.org libraries GNOME libraries GTK Software that uses Meson Text rendering libraries