Differences between revisions 9 and 10
Revision 9 as of 2005-11-23 13:52:38
Size: 1956
Comment: ATSUI added.
Revision 10 as of 2006-03-13 23:40:43
Size: 1872
Comment: Added ATSUI backend.
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
Pango is a library for laying out and rendering of text, with an emphasis
on internationalization. Pango can be used anywhere that text layout
is needed, though most of the work on Pango so far has been done in
the context of the GTK+ widget toolkit. Pango forms the core of text
and font handling for GTK+-2.x.
Pango is a library for laying out and rendering of text, with an emphasis on internationalization. Pango can be used anywhere that text layout is needed, though most of the work on Pango so far has been done in the context of the GTK+ widget toolkit. Pango forms the core of text and font handling for GTK+-2.x.
Line 12: Line 8:
Pango is designed to be modular; the core Pango layout engine can
be used with different font backends. There are two basic backends,
with multiple options for rendering with each.
Pango is designed to be modular; the core Pango layout engine can be used with different font backends. There are three basic backends, with multiple options for rendering with each.
Line 18: Line 12:

The
next version of Pango (1.12) will include a new backend for using native fonts on MacOS X, rendering via Cairo.
 * Native fonts on MacOS X, rendering via Cairo.
Line 25: Line 18:
Dynamically loaded modules then handle text layout for particular
combinations of script and font backend. Pango-1.10 ships with a wide
selection of modules, including modules for Hebrew, Arabic, Hangul,
Thai, and a number of Indic scripts. Virtually all of the world's major
scripts are supported.
Dynamically loaded modules then handle text layout for particular combinations of script and font backend. Pango-1.10 ships with a wide selection of modules, including modules for Hebrew, Arabic, Hangul, Thai, and a number of Indic scripts. Virtually all of the world's major scripts are supported.
Line 31: Line 20:
As well as the low level layout rendering routines, Pango includes
Pango``Layout, a high level driver for laying out entire blocks of text,
and routines to assist in editing internationalized text.
As well as the low level layout rendering routines, Pango includes Pango``Layout, a high level driver for laying out entire blocks of text, and routines to assist in editing internationalized text.

Pango is a library for laying out and rendering of text, with an emphasis on internationalization. Pango can be used anywhere that text layout is needed, though most of the work on Pango so far has been done in the context of the GTK+ widget toolkit. Pango forms the core of text and font handling for GTK+-2.x.

Pango is designed to be modular; the core Pango layout engine can be used with different font backends. There are three basic backends, with multiple options for rendering with each.

  • Client side fonts using the FreeType and fontconfig libraries. Rendering can be with with Cairo or Xft libraries, or directly to an in-memory buffer with no additional libraries.

  • Native fonts on Microsoft Windows. (Optionally using Uniscribe for complex-text handling). Rendering can be done via Cairo or directly using the native Win32 API.
  • Native fonts on MacOS X, rendering via Cairo.

The integration of Pango with Cairo (http://cairographics.org) provides a complete solution with high quality text handling and graphics rendering.

Dynamically loaded modules then handle text layout for particular combinations of script and font backend. Pango-1.10 ships with a wide selection of modules, including modules for Hebrew, Arabic, Hangul, Thai, and a number of Indic scripts. Virtually all of the world's major scripts are supported.

As well as the low level layout rendering routines, Pango includes PangoLayout, a high level driver for laying out entire blocks of text, and routines to assist in editing internationalized text.

Pango depends on 2.x series of the GLib library; more information about GLib can be found at http://www.gtk.org/.

Introduction (last edited 2023-08-29 09:34:25 by EmmanueleBassi)