Jump to content

Pango: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m URL templates
mNo edit summary
Line 4: Line 4:
| developer = [[Behdad Esfahbod]]
| developer = [[Behdad Esfahbod]]
<!-- | logo = -->
<!-- | logo = -->
|screenshot = <span style="font-size:3em; line-height: 130%;">Παν語</span>
|screenshot = <span style="font-size:3em; line-height: 130%;">Pan***</span>
|caption = Pango name written as intended
|caption = Pango name written as intended
| latest_release_version = 1.29.5
| latest_release_version = 1.29.5
Line 14: Line 14:
}}
}}


'''Pango''' (Παν語) is an [[LGPL]] licensed [[open source software|open source]] [[computing]] [[library (computing)|library]] used by software developers for laying out and rendering text in high quality, emphasising support for multilingual text.<ref>{{cite web
'''Pango''' (Pan***) is an [[LGPL]] licensed [[open source software|open source]] [[computing]] [[library (computing)|library]] used by software developers for laying out and rendering text in high quality, emphasising support for multilingual text.<ref>{{cite web
|url = http://www.pango.org/
|url = http://www.pango.org/
|title = Pango website
|title = Pango website
|accessdate = 7 July 2011
|accessdate = 7 July 2011
}}</ref> Different font [[backend]]s 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]].
}}</ref> Different font [[backend]]s can be used, allowing cross-platform support, so that Pango-rendered text will appear similar under different operating systems, such as [[GNU/Linux]], Apple's [[Mac OS]], and [[Microsoft Windows]].


== Utilization ==
== Utilization ==


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.{{clarify|post-text=(see [[Talk:Pango#Linux and Firefox integration|talk page]])|date=July 2011}}
Pango has been integrated into most GNU/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.{{clarify|post-text=(see [[Talk:Pango#Linux and Firefox integration|talk page]])|date=July 2011}}


== Name ==
== Name ==
The name pango comes from [[Greek language|Greek]] ''pan'' (παν, "all") and [[Japanese language|Japanese]] ''go'' (, "[[language]]").<ref>{{cite web
The name pango comes from [[Greek language|Greek]] ''pan'' (pan, "all") and [[Japanese language|Japanese]] ''go'' (***, "[[language]]").<ref>{{cite web
|url = http://www.ibm.com/developerworks/library/l-u-pango1/
|url = http://www.ibm.com/developerworks/library/l-u-pango1/
|title = The Pango connection: Part 1
|title = The Pango connection: Part 1
Line 42: Line 42:
for lang in en ro; do pango-view \
for lang in en ro; do pango-view \
--font="Verdana 64" \
--font="Verdana 64" \
--text "şţ vs. șț in $lang" \
--text "st vs. ** in $lang" \
--language=$lang; done
--language=$lang; done
</source>
</source>
Line 54: Line 54:
--font="Verdana 24" \
--font="Verdana 24" \
--markup \
--markup \
--text 'In the same text: <span lang="en">şţ</span>(en) and <span lang="ro">şţ</span>(ro).'
--text 'In the same text: <span lang="en">st</span>(en) and <span lang="ro">st</span>(ro).'
</source>
</source>


Line 63: Line 63:


== HarfBuzz ==
== HarfBuzz ==
'''HarfBuzz''' (in [[Persian language|Persian]]: {{lang|fa|حرف‌باز}}) is a layout/shaping engine for [[OpenType]] fonts.<ref>{{cite web
'''HarfBuzz''' (in [[Persian language|Persian]]: {{lang|fa|hkr+f+*b+a+z+}}) is a layout/shaping engine for [[OpenType]] fonts.<ref>{{cite web
|url = http://freedesktop.org/wiki/Software/HarfBuzz
|url = http://freedesktop.org/wiki/Software/HarfBuzz
|title = HarfBuzz Official website
|title = HarfBuzz Official website
Line 113: Line 113:
[[Category:GTK+]]
[[Category:GTK+]]


[[ar:بانغو]]
[[ar:b+a+n+i+w+]]
[[ca:Pango]]
[[ca:Pango]]
[[de:Pango]]
[[de:Pango]]
Line 124: Line 124:
[[pt:Pango]]
[[pt:Pango]]
[[ru:Pango]]
[[ru:Pango]]
[[si:පැන්ගෝ]]
[[si:******************]]
[[zh:Pango]]
[[zh:Pango]]

Revision as of 14:10, 8 April 2012

Pango
Developer(s)Behdad Esfahbod
Stable release
1.29.5 / 22 November 2011; 12 years ago (2011-11-22)
Repository
Operating systemUnix-like, Microsoft Windows
TypeText rendering
LicenseLGPL
Websitewww.pango.org

Pango (Pan***) 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 GNU/Linux, Apple's Mac OS, and Microsoft Windows.

Utilization

Pango has been integrated into most GNU/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.[clarification needed (see talk page)]

Name

The name pango comes from Greek pan (pan, "all") and Japanese go (***, "language").[2]

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 "st 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">st</span>(en) and <span lang="ro">st</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

HarfBuzz (in Persian: hkr+f+*b+a+z+) 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]

See also

  • Uniscribe (Windows multilingual text rendering engine)
  • WorldScript (Old Macintosh multilingual text rendering engine)
  • Core Text (modern multilingual text rendering engine introduced in Mac OS X 10.5)
  • Graphite (multiplatform open source smart-font renderer from SIL)
  • Cairo a vector-based graphics library with multiple backends
  • FreeType a software library that implements a font rasterization engine
  • FontForge a typeface (font) editor program

Notes

  1. ^ "Pango website". Retrieved 7 July 2011.
  2. ^ "The Pango connection: Part 1". Archived from the original on 27 June 2009. Retrieved 7 July 2011. {{cite web}}: Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  3. ^ "HarfBuzz Official website". Retrieved 7 July 2011.
  4. ^ Esfahbod, Behdad (18 January 2010). "State of Text Rendering". Retrieved 7 July 2011. {{cite web}}: Unknown parameter |deadurl= ignored (|url-status= suggested) (help)

References

External links