Pango-1.15.3 released [unstable]



Pango-1.15.3 is now available for download at:

  http://download.gnome.org/sources/pango/1.15/
or
  ftp://ftp.gtk.org/pub/pango/1.15

f77ff87808d8e54e15a23913a13be337  pango-1.15.3.tar.bz2
a23b2d2b37253f4ed1c5d31464d1e214  pango-1.15.3.tar.gz

This is a development release leading up to Pango-1.16.0, which
will be released just in time for GNOME-2.18.  The major change in this
release is addition of lots of new, useful, public API.  For details,
scroll down.

Notes:

 * 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.14.x

 * Bugs should be reported to http://bugzilla.gnome.org.

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 (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 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 http://www.pango.org/.
Bugs should be reported to http://bugzilla.gnome.org.

Pango 1.15 depends on version 2.12.0 or newer of the GLib
library and version 1.2.2 or newer of the cairo library (if the
cairo backend is desired); more information about GLib and cairo
can be found at http://www.gtk.org/ and http://cairographics.org/
respectively.

Overview of changes between 1.15.2 and 1.15.3
==============================================
- Fix Hangul crasher and other Hangul bugs introduced in 1.15.2
- Spell-checked docs
- Build fixes
- Don't introduce bitfields in public structs.  This changes some public API
  that was broken in the 1.15 series.  The new struct is backward compatible
  with the older Pango series, but not with earlier 1.15.x devel releases.

- New Public API:

  * PangoAnalysis.flags and PANGO_ANALYSIS_FLAGS_CENTERED_BASELINE.  These are
    mostly only useful for the vertical text support in Pango, but language
    bindings probably want to update their bindings for PangoAnalysis to
    include these.

  * New PangoMatrix methods:

	pango_matrix_transform_distance()
	pango_matrix_transform_point()
	pango_matrix_transform_rectangle()
	pango_matrix_transform_pixel_rectangle()

    The transform_rectangle methods are particularly useful when an
    app/toolkit wants to know the extents of a rotated layout in device
    coordinates.  It will be used by Gtk+ for example, and is used by the
    pango-view tool too.  The _pixel_ variant takes a PangoRectangle in device
    units instead of Pango units.

  * Unit conversion helpers:

	pango_units_from_double()
	pango_units_to_double()
	pango_extents_to_pixels()

    The first two just convert between Pango units (fixed precision) and
    double floating-point numbers.  The current implementations are as simple
    as "(int)floor (d * PANGO_SCALE + 0.5)" and "(double)i / PANGO_SCALE", but
    the idea is to have optimized versions of these that do not use the FPU in
    the future.  That will be appreciated by embedded devices without FPU
    units.  Since the functionality can be generally useful, the API is made
    public.

    The pango_extents_to_pixels() function in conjunction with
    pango_matrix_transform_rectangle() makes it possible to convert extents to
    device space and round then, instead of having to transform rounded
    user-space extents.

- Bugs fixed in this release:
	Bug 351496 – PangoAnalysis::gravity breaks binary compatibility
	Bug 388702 – Crash when there's no Hangul glyph in the font.
	Bug 384543 – FcFontMatch misuse
	Bug 392789 – vpath build fails in basic module
		     Patch from J. Ali Harlow
	Bug 390877 – Don't feed pango-features.h to glib-mkenums
		     Patch from Yevgen Muntyan


Behdad Esfahbod
8 January 2007

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]