Pango-1.15.4 is now available for download at: http://download.gnome.org/sources/pango/1.15/ or ftp://ftp.gtk.org/pub/pango/1.15 02c8ea6d3851e44520b131f509bea9ff pango-1.15.4.tar.bz2 45386fabd351e858f1e402d402cd6aa2 pango-1.15.4.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.3 and 1.15.4 ============================================== General: - Finish vertical text support. - Fix various bugs that could cause ellipsization to stop prematurely. - Fix rendering of background color being off in presence of rise attribute. - Improved text-on-path example (examples/cairotwisted.c) Win32 Improvements: - Don't check for X and don't warn about missing fontconfig. [Tor Lillqvist] - Automatically use -mms-bitfields on Windows when building with gcc. [Tor] - Update makefile.msv. [Hans Breuer] Code base cleanups: - Whitespace cleanups. Hopefully patches still apply using patch -l - Replace C++-style // comments with C-style /* */ ones. - Move the pango-view tool from examples/ into pango-view/. The examples/ dir is still available and for simple examples only. Public API changes: - New PangoLayout query functions: pango_layout_is_wrapped() pango_layout_is_ellipsized() pango_layout_get_unknown_glyphs_count() The is_wrapped and is_ellipsized functions return whether the layout had to wrap/ellipsize any paragraphs, as opposed to the get_wrap and get_ellipsize that return the wrap/ellipsize mode set. - Misc new function: pango_parse_enum() This is more a convenience function for internal use, but set public to go with other pango_parse_* functions. Bindings should feel free to ignore this. - New header files: Moved gravity and matrix stuff into their own header files pango-gravity.h and pango-matrix.h. Both are included from pango-types.h. - Vertical text: New attribute types: PANGO_ATTR_GRAVITY PANGO_ATTR_GRAVITY_HINT. New enum type: PangoGravityHint New macro: PANGO_GRAVITY_IS_VERTICAL() New public functions: pango_attr_gravity_new() pango_attr_gravity_hint_new() pango_gravity_hint_get_type pango_context_set_gravity_hint() pango_context_get_gravity_hint() pango_gravity_get_for_matrix() pango_gravity_get_for_script() Removed: pango_matrix_to_gravity() replaced by pango_gravity_get_for_matrix() Gravity API added in previous releases: PangoGravity pango_gravity_get_type pango_context_get_base_gravity pango_context_get_gravity pango_context_set_base_gravity pango_font_description_get_gravity pango_font_description_set_gravity pango_gravity_to_rotation A tip on using the vertical text support: If you just want to get correct behavior in rotated labels (say, vertical Chinese/Japanese, but rotated Latin, etc), all you need to do is to set the context gravity to PANGO_GRAVITY_AUTO. You can do this for example #if defined(PANGO_VERSION_CHECK) && PANGO_VERSION_CHECK(1,15,4) pango_context_set_gravity (context, PANGO_GRAVITY_AUTO); #endif Bugs fixed in this release: Bug 395328 – Map kATSDeletedGlyphcode to PANGO_GLYPH_EMPTY Bug 397337 – Use is_ellipsized and is_wrapped to optimize property changes Bug 328585 – Need to know if a layout has unknown glyphs Patch from LingNing Zhang Bug 326693 – PangoLayouts should be query-able about their effective properties (width / wrapped / ellipsized / etc) Bug 397327 – pango-layout.c: 'pango_layout_is_ellipsized' must return a value Bug 323173 – Add layout of mixed direction text for vertical layout Bug 394453 – Use -mms-bitfields Bug 392628 – Don't check for X on win32 Behdad Esfahbod 18 January 2007
Attachment:
signature.asc
Description: This is a digitally signed message part