PackageDescription: Pango


Last published: July 30, 2016 by 'ken'

Defines 34 Classes
Extends 40 Classes

Pango is a sister project to the Cairographics project. From the project page (, it states

"...The integration of Pango with Cairo ( provides a complete solution with high quality text handling and graphics rendering..."

This package is done in a similiar way to the Cairoproject package. It even requires some it's facilities. The only thing of note possibly is to point out that to date, none of the Pango units (1024 times host scale) interfaces are exposed above the LibPango level, always being mapped instead to real values. Also, LibPango was built from hand from day one, (rather than initially generated using the DLLCC header scanning utilities).

Like Cairo, a real attempt was made to not change the API names too much. In one area, this didn't work out though. Pango has an "extents" API which is nice for getting the height and width as aPoint. But in Smalltalkese, we'd of course expect to have width and height as independent accessor as well. Unfortunately, there was a width setter/getter in the Pango API which can be used to set an optional width limit for composition/layout. This API has been remapped to the method names compositionWidth(:).

The entire API reference is at