1.GLib is the low-level core library that forms the basis for projects
such as GTK+ and GNOME. It provides data structure handling for C,
portability wrappers, and interfaces for such runtime functionality as
an event loop, threads, dynamic loading, and an object system.
More information about GLib is available at:www.gtk.org
2.GTK+ is a multi-platform toolkit for creating graphical user
interfaces. Offering a complete set of widgets, GTK+ is suitable for
projects ranging from small one-off tools to complete application
suites.
GTK+ has been designed from the ground up to support a range of
languages, not only C/C++. Using GTK+ from languages such as Perl and
Python (especially in combination with the Glade GUI builder) provides
an effective method of rapid application development.
GTK+ is free software and part of the GNU Project. However, the
licensing terms for GTK+, the GNU LGPL, allow it to be used by all
pdevelopers, including those developing proprietary software, without
any license fees or royalties.
3.Pango is a library for layout and rendering of text, with an emphasis
on internationalization. Pango can be used anywhere that text layout
is needed, though most usage so far as been in the context of the
GTK+ widget toolkit. Pango forms the core of text and font handling
for GTK+ 2.
Pango is designed to be modular; the core Pango layout can be used
with four different font backends:
- Core X windowing system fonts
- Client-side fonts on X using the Xft2 library
- Direct rendering of scalable fonts using the FreeType library
- Native fonts on Microsoft platforms
Dynamically loaded modules then handle text layout for particular
combinations of script and font backend. Pango-1.2 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.