Pango-1.15.2 is now available for download at: http://download.gnome.org/sources/pango/1.15/ or ftp://ftp.gtk.org/pub/pango/1.15 3a57ff08498a210892fe665bf4812011 pango-1.15.2.tar.bz2 063c3ea8eb8931290546a197bd444e2a pango-1.15.2.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.1 and 1.15.2 ============================================== * Engines: - Improved Hangul shaper engine - Improved Indic shaper and language engines - Require libthai >= 0.1.7 for the Thai language engine * Optimizations: - Avoid some floating-point operations. Should cut the number of float ops per expose event in pangocairo to a half. - Cache ink and logical extents for PangoLayout * New Public API: - New, generated, public header file pango-features.h. Included by pango.h. Currently contains the version information. In the future, can be expanded to define which backends have been enabled, etc. - Public macros and functions for compile- and run-time version checking: PANGO_VERSION_ENCODE() PANGO_VERSION_MAJOR PANGO_VERSION_MINOR PANGO_VERSION_MICRO PANGO_VERSION PANGO_VERSION_STRING PANGO_VERSION_CHECK() pango_version() pango_version_string() pango_version_check() The scheme chosen here is a mixture of approaches taken by glib and cairo. The advantage over the glib model is that there are no public variables, but it still gives access to a string and numerical representation of the version number at compile- and run-time. The macros enable conditional compilation of code depending on newer Pango APIs, while the runtime functions allow refusing to run against old versions of the library. - New, readonly, version of methods that give read/write access to the internals of PangoLayout: pango_layout_get_line_readonly() pango_layout_get_lines_readonly() pango_layout_iter_get_line_readonly() pango_layout_iter_get_run_readonly() These should be used when you do not intend to modify the run/line, which is most of the time the case. The only exception known to me is Firefox that adjusts glyph widths to do justification. Most other uses that do not write to the returned structs (or structs accessible from them) should be ported to the new readonly API to benefit from major optimizations (in this case, line extents caching). The list includes, but is not limited to, Gtk+, SWT, ClassPath, gnome-applets, libgnomeprint, xmlroff, GtkMathView, Conglomerate, Dia, Anjuta, wxWindows, The Gimp, and various other applications/libraries: http://www.google.com/codesearch?hl=en&q=+pango_layout_(iter_)%3Fget_(lines%3F%7Crun)%5B%5E_%5D&start=50&sa=N Worth noting here is that, many uses of pango_layout_get_lines() can be replaced by a pango_layout_get_iter() that works both more elegantly and more efficiently. The versioning macros introduced in this release can be used to make code use these new symbols without breaking compilation against older Pango (though, such code compiled with the new Pango cannot be run against an older Pango). - pango_language_get_default(): Note that, this does not make Pango fallback to the default language automatically (yet), but the user can use this function to set the default language of the locale on a context: pango_context_set_language (context, pango_language_get_default()); This essentially deprecates gtk_get_default_language(). The pango-view tool has been updated to use this feature, so it now respects $LANG when choosing fonts. - pango_color_to_string(). * Bugs fixed in this release: Bug 326099 – Setting width, indentation and ellipsizing doesn't work as I would expect Bug 385478 – Fix tests on OPD platform Bug 319808 – Patch to let pango support artifical italic, bold and bold italic styles for the fonts which don't have these styles. Patch from James Su Bug 385321 – Worst case expansion for Sinhala Patch from Harshula Red Hat Bug 211574: [hi/ml/si_LK] cursor naviation is wrong when using ZWJ (200d) Patch from LingNing Zhang Red Hat Bug 216424: [te_IN] pango - consonant + dependent vowel (ai) Composed char is not rendering properly Patch from LingNing Zhang Bug 373856 – Wish: Function to convert a GdkColor to a string Patch from Matthew Barnes Red Hat Bug 216850: Issue in combination with vowels (ml_IN) Patch from LingNing Zhang Bug 382437 – tests/testboundaries fails Bug 333982 – Fallback to $LANG whenever NULL PangoLanguage is used Patch from LingNing Zhang Behdad Esfahbod 20 December 2006
Attachment:
signature.asc
Description: This is a digitally signed message part