GTK, Pango & Friends

Table of Contents

When programming PHP-GTK applications and surfing through the manual, you will find some rather cryptic acronyms. Here is an overview of the more important ones.


PHP - PHP: Hypertext Processor - is a widely-used general-purpose scripting language that is designed for Web development and can be embedded into HTML.


GTK - the GIMP Tool Kit - is a library designed for creating graphical user interfaces. It runs on most UNIX-like platforms, on Windows, and on framebuffer devices.

The GTK library itself contains widgets, that is, GUI components, such as GtkButton or GtkTextView.

GTK depends on several other libraries, among them GDK, Pango, ATK and GLib. The combined package is referred to as GTK+.


GDK - the GIMP Drawing Kit - is the abstraction layer that allows GTK+ to support multiple windowing systems. GDK provides drawing and window system facilities for X11, Windows, and the Linux framebuffer device.


Pango is a library for internationalized text handling. It centers around the PangoLayout object, which represents a paragraph of text. Pango provides the engine for GtkTextView, GtkLabel, GtkEntry, and other GTK+ widgets that display text.


ATK is the Accessibility Tool Kit. It provides a set of generic interfaces allowing accessibility technologies to interact with a graphical user interface. For example, a screen reader could use ATK to discover the text in an interface and read it to blind users.

Thanks to the ATK framework, GTK+ widgets have built-in support for accessibility.