Pango-1.19.0 released [unstable]

Pango-1.19.0 is now available for download at:

9db02e1e27dd0d8c9f9944c3b4578b60  pango-1.19.0.tar.bz2
32cc0b7cabce4f7e47817155fa96e519  pango-1.19.0.tar.gz

This is the first development release in yet another exciting
cycle in Pango development, leading to Pango-1.20.0, which
will be released just in time for GNOME-2.22.


 * This is unstable development release. While it has had
   fairly extensive testing, there are likely bugs
   remaining to be found. This release should not be used
   in production.

 * Installing this version will overwrite your existing
   copy of Pango. If you have problems, you'll need
   to reinstall Pango-1.18.x

 * Bugs should be reported to

About Pango

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 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 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 (
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 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.

More information about Pango is available from
Bugs should be reported to

Pango 1.17 depends on version 2.14.0 or newer of the GLib
library and version 1.2.6 or newer of the cairo library (if the
cairo backend is desired); more information about GLib and cairo
can be found at and

Overview of changes between 1.18.3 and 1.19.0
- Update list of languages to that of fontconfig-2.4.91.
- Various optimizations, making rendering the same Pango layout using
  changing cairo matrices much faster.

- Make sure all boxed type copy/free functions accept NULL as legitimate
  input.  Previously most were g_return_[val_]if_fail()ing it.  This is
  mostly for convenience when writing code in C.

- Apply 'vkrn' GPOS feature in vertical writing.

- In pangofc, set "pangoversion" in pattern passed to fontconfig,
  such that font configuration can condition on being driven by Pango
  or not.

- Various optimizations and cleanups in the OpenType Layout engine,
  aka HarfBuzz.

- Changed APIs:

  * All PangoAttribute constructors are changed to initialize the
    attribute to the range [0..MAXUINT].  The range was undefined
    previously.  All custom attribute constructors are recommended
    to call the new pango_attribute_init() to do the same.

  * Public API chance: Mark the following types as abstract:


    PangoContext may be marked so in the future too.

  * Make following macros public.  Previously they were only
    defined for backend/engine implementations.


- New public API:
  * Convenience for initializing custom attributes:


  * Adding boxed type for PangoGlyphItem:


  * Add missing copy function for a boxed type in C:


  * Add missing getter:


  * Convenience for writing custom PangoRenderer's:


  * PangoFc extensions to fontconfig's pattern syntax:


- Bugs fixed in this release:
	Bug 490661 – Pango Markup: Link to font_desc syntax explanation
		Based on patch from Chris Toshok
	Bug 489909 – pango_cairo_update_context() should ignore matrix
	Bug 488840 – harfbuzz: protect against ligid overflow
	Bug 486932 – Apply vkrn GPOS feature in vertical writing
	Bug 486951 – ChangeLog.pre-1-18
	Bug 485621 – Get rid of freetype memory allocator in harfbuzz
	Bug 485566 – Cache one OpenType Buffer
	Bug 485559 – Boston Summit HarfBuzz optimizations
	Bug 481537 – compiler warning fixes
		Patch from Kjartan Maraas
	Bug 478865 – Drastically reduce number of PangoFont objects created
		for rotating text
	Bug 472924 – Mark some classes abstract
	Bug 472629 – Add pango_renderer_get_layout(_line)
	Bug 471601 – Pass pango version information to fontconfig
	Bug 471577 – GBoxed GType for PangoGlyphItem
	Bug 471571 – Add pango_layout_iter_get_layout()
	Bug 471568 – Optimizations in _pango_cairo_update_context()
	Bug 469641 – Initialize attribute start/end to [0..MAXUINT]

Overview of changes between 1.18.2 and 1.18.3
- Two OpenType engine fixes.  Makes Nafees Nastaliq font
  work great, and avoids warnings with some other fonts.
- Fix minor leak in win32 backend.
- Bugs fixed in this release:
	Bug 483600 – Leak of font family name in
	Patch from Daniel Atallah

29 October 2007
Behdad Esfahbod

Attachment: signature.asc
Description: This is a digitally signed message part

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]