2005-07-26 Owen Taylor * === Released 1.9.1 === * configure.in: Version 1.9.1 * NEWS: Updated 2005-07-26 Owen Taylor * pango/opentype/ftxgsub.c, pango/opentype/ftxgpos.c: Skip lookups with lookup index out of range. (Patch from Behdad Esfahbod, #171170) 2005-07-26 Owen Taylor * pango/pangocairo-fontmap.c (pango_cairo_context_get_font_options): Fix mixed code and declarations (#311626, Kazuki IWAMOTO) * pango/pangocairo-win32font.c (pango_cairo_win32_font_install): Fix typo (#311627, Kazuki IWAMOTO) 2005-07-26 Owen Taylor Fixes for signed/unsigned in PangoAttrIterator ((#166700, Morten Welinder) * pango/pango-attributes.c (pango_attr_iterator_range): Clamp results to G_MAXINT to avoid negative numbers from signed/unsigned conversions. * pango/pango-attributes.c: Make PangoAttrIterator start_index/end_index unsigned to match PangoAttribute. Change various local variables to match. * pango/ellipsize.c (advance_iterator_to) pango/pango-attributes.c (pango_attr_iterator_range) pango/pango-glyph-item.c (pango_glyph_item_apply_attrs) pango/pango-layout.c (pango_layout_line_get_empty_extents): Always check the return value from pango_attr_iterator() to deal with potential infinite loops when trying to advance to position G_MAXINT. * pango/pango-layout.c (pango_layout_set_text): Handle the case where the text passed in is longer than than G_MAXINT and length < 0. * pango/pango-attributes.c (pango_attr_list_splice): Be careful about integer overflow - clamp addition. (#163246, Morten Welinder) 2005-07-26 Owen Taylor * modules/indic/indic-ot-class-tables.c (oryaCharClasses): Change U+0B30 from _rv to _rb. Oriya doesn't have a vattu form of ra. (#151393, Gautam Sengupta, fix from Gora Mohanty) * modules/indic/indic-ot-class-tables.c (oryaCharClasses): Change U+B02 from _ma to _mp. Anusvara appears after not above in Oriya. (#311575, Gora Mohanty) * modules/indic/indic-ot-class-tables.c (oryaCharClasses): Classify unicode standard additions U+0B35 (va), U+0B71 (wa) as _ct. (Also #311575) 2005-07-26 Behdad Esfahbod * pango/opentype/ftxgsub.c, pango/opentype/ftxgpos.c: Skip lookups with lookup index out of range. (#171170) 2005-07-26 Behdad Esfahbod * examples/cairoview.c, examples/pangoft2topgm.c, examples/renderdemo.c, examples/renderdemo.h: Fixed a couple of leaks and freed memory after use. 2005-07-25 Owen Taylor * pango/pangocairo-fcfont.c (pango_cairo_fc_font_install): Set font options as well. * pango/pango-layout.c (line_set_resolved_dir): Always set line->resolved_dir to one of LTR or RTL. (#171439, Reported by Chris Blizzard) 2005-07-25 Tor Lillqvist * configure.in * pango/pangocairo-win32font.c (_pango_cairo_win32_font_new): Fix a few typos that prevented build on Win32. * pango/pango.def: Add pango_is_zero_width. 2005-07-23 Behdad Esfahbod * pango/pango-utils.c, pango/pango-utils.h (pango_is_zero_width): New function added. * modules/basic/basic-common.h, modules/basic/basic-fc.c, modules/basic/basic-win32.c, modules/basic/basic-x.c, modules/hangul/hangul-fc.c, modules/arabic/arabic-fc.c, modules/indic/indic-fc.c, modules/indic/indic-ot.h, modules/syriac/syriac-fc.c: Use the new pango_is_zero_width function. (#306639, Behnam Esfahbod) 2005-07-22 Owen Taylor * pango/pangofc-fontmap.c (get_context_matrix): Handle context == NULL. (Reported by Behdad Esfahbod) 2005-07-22 Owen Taylor * pango/Makefile.am configure.in: Use -export-symbols-regex to control symbol exports, including not exporting the symbols from opentype/. * modules/*/Makefile.am: Control symbol exports here as well, simplify using AC_SUBST() of MODULE_LIBTOOL_OPTIONS from configure.in. * pango/pangox-fontmap.c (engine_shape_covers): Cut-and-paste engine_shape_covers to avoid using a symbol from libpango. * pango/pango-utils.c: Make accidentally exported pango_aliases_ht static. 2005-07-22 Owen Taylor * pango/pango-layout.c: Add some missing statics on functions added in the recent layout iter patch. 2005-07-22 Owen Taylor * pango/opentype/ftglue.c (ftglue_realloc): Remove an unecessary set of block2. 2005-07-22 Owen Taylor Patch from David Turner. Review and testing by Behdad Esfahbod * pango/opentype/ftglue.[ch] Makefile.am: Glue layer that provides implementation of the internal functions that the opentype code expects in terms of publically exported FreeType API. * pango/opentype/ftxgdef.c pango/opentype/ftxgpos.c pango/opentype/ftxgsub.c pango/opentype/ftxopen.c pango/opentype/otlbuffer.c pango/opentype/pango-ot-info.c pango/opentype/pango-ot-ruleset.c: Remove includes of internal headers. Small changes to work with ftglue.[ch] * pango/opentype/fterrcompat.h: Remove: no longer needed. * pango/opentype/ftxgpos.c: Use FT_IS_SFNT(face) rather than poking at FT_MODULE_CLASS (face->driver)->module_name. * pango/opentype/ftxopen.c (Free_FeatureList): Free fl->ApplyOrder. (Found by Behdad) 2005-07-21 Manish Singh * pango/pangofc-fontmap.c (fontset_hash_key_hash, font_hash_key_hash): use GPOINTER_TO_UINT() instead of bare casts to guint. 2005-07-21 Owen Taylor Based on patch from Gustavo J. A. M. Carneiro (#305975) * pango/pango-layout.[ch] (pango_layout_line_ref) pango/pango-attributes.[ch] (pango_attr_list_ref): Return the argument to _ref() functions. * pango/pango-item.[ch]: Register PangoItem boxed type. * pango/pango-layout.[ch]: Register PangoLayoutLine boxed type. 2005-07-22 Tor Lillqvist * pango/pangowin32.c: No need to include modules.h here any longer. (pango_win32_get_context): Remove unused variable. (pango_win32_render_layout_line): Fix underlining. (#304692) Mention in the doc comment that the DC's text alignment needs to have TA_BASELINE and TA_LEFT for underlining to be correct. * pango/pangowin32-fontmap.c: Include modules.h here instead. (pango_win32_font_map_class_init): Define variable i. 2005-07-21 Owen Taylor * pango/pangofc-fontmap.c (pango_fc_font_map_add): Fix an excess copy. (pango_fc_font_map_get_patterns): Add back a call to FcPatternDestroy() that got dropped somehow. 2005-07-21 Owen Taylor * modules/indic/indic-ot.c: Minor formatting tweak to license header. 2005-07-21 Owen Taylor * pango/pangofc-fontmap.c (pango_fc_font_map_load_font): Load a fontset and return the first font to take advantage of existing caching. 2005-07-21 Owen Taylor * modules/indic/indic-ot-class-tables.c modules/indic/indic-ot.[ch]: license on these ICU-derived files is X license, not LGPL. * modules/khmer/khmer-fc.c: Add the X license text here in addition to the LGPL. 2005-07-21 Owen Taylor * pango/pangoxft-font.c (_pango_xft_font_new): Force on metrics hinting for all Xft fonts (this fixes font metrics - glyph metrics were fixed earlier). (#307196, Alex Jones) 2005-07-21 Owen Taylor * README: Update information about the location of Xft. (#172637, Karel 'Clock' Kulhavy) 2005-07-21 Owen Taylor * README: Fix URL to tml's download page (#169467, Brandon Bergren) 2005-07-21 Owen Taylor * pango/pangowin32-fontmap.c (pango_win32_font_map_class_init) Move registration of included modules to here from pango/pangowin32.c (pango_win32_get_context). (#309337, Hans Breuer) 2005-07-21 Owen Taylor * modules/indic/indic-ot-class-tables.c: Change the char class for U+0A5C from _cn (consonant with nukta) to _ct. (#309459, Sukhjinder Sidhu) 2005-07-21 Owen Taylor * modules/indic/indic-ot-class-tables.c: Enable touching for Sinhala with the ZWJ + al-lakuna combination. (#302577, Harshula) 2005-07-21 Owen Taylor * pango/pango-layout.c (pango_layout_set_text): Avoid calling memcpy with a NULL argument. (#310021, Morten Welinder) 2005-07-21 Owen Taylor Merges of fixes from Arabic module (#308813, Emil Soleyman-Zomalan) * modules/syriac/syriac-fc.c (syriac_engine_shape): Fix bug where cluster was getting set to 0 for non-spacing marks rather than to the cluster of the base character. (#149126, Behdad Esfahbod) * modules/syriac/syriac-fc.c (syriac_engine_shape): Turn on zero-width-marks setting. [Not clear that this is needed here, since it is mostly set in the Arabic engine to handle legacy fonts, but it shouldn't hurt] 2005-07-21 Owen Taylor Fix up places where there is missing or incomplete Copyright and License information (Reported by William N. Ray, #310072) * pango/opentype/fterrcompat.h: Mark as FreeType/GPL licensed. * pango/opentype/FT-license.txt: Make this the dual-licensing description that covers the FreeType code (FreeType's LICENSE.TXT) rather than the FTL. * pango/opentype/FTL.TXT: Move the FTL (referenced from FT-license.txt) to here. * modules/basic/basic-common.h modules/hebrew/hebrew-shaper.h modules/thai/thai-charprop.c modules/thai/thai-shaper.h tools/gen-script-for-lang.c tests/testcolor.c: Add LGPL header and copyright information. * modules/indic/indic-ot.[ch] modules/indic/indic-ot-class-tables.c modules/thai/thai-ot.[ch]: Add LGPL header. * modules/thai/thai-shaper.c modules/thai/thai-charprop.h: Minor fixes to copyright information. * modules/arabic/arabic-ot.c: Add Freetype license boilerplate. 2005-07-21 Matthias Clasen * configure.in: Check for a new enough cairo. 2005-07-19 Owen Taylor * pango/pango-fcfontmap.[ch]: Rework handling of context-specific options: drop get_render_key() and add a opaque "context key" (get_context_key() and friends). Also add a function to get the resolution. * pango/pango-fcfontmap.c pango/pangofc-font.h: - Move the 'lang' into the fontset key lookup and get rid of the funky list-of-hash-tables - Make lookups of fontsets and fonts dependent on the context key for the context. - Simplify the pattern/fontset caching to have one finite-size cache rather than an infinite first-level and a finite-size second level. * pango/pangocairo.h pango/pangocairo-private.h pango/pangocairo-fontmap.c: Add pango_cairo_context_get/set_resolution(), pango_cairo_context_set/get_font_options to allow controlling the resolution and font rendering options for a specific PangoContext. * pango/pangocairo-fcfont.c pango/pangocairo-fcfontmap pango/pangocairo-win32font.c: Implement resolution and font options handling adapt to related Cairo changes. * docs/pango-sections.txt docs/Makefile.am pango/pangowin32.c: Doc updates and build fixes. * pango/pangofc-fontmap.c (pango_fc_make_pattern): Create patterns with FC_SIZE as well as FC_PIXEL_SIZE to work around a libgnomeprint bug. (#309477) 2005-07-09 Tor Lillqvist * configure.in: Call AC_CANONICAL_HOST before looking at $host. Check for windres on Win32. * pango/Makefile.am: Don't use the scripts in GLib's build/win32 to compile the rc files into resource object files. (This means we lose the build number increment magic, but I doubt it was that useful anyway.) Instead use windres directly. To pass a normal .o file produced by windres through libtool, which wants .lo files, pass it directly to the linker using a -Wl option. Libtool installs/uninstalls the import libraries, no need to do it ourselves. Do install/uninstall the .def files, though. * pango/pango.rc.in * pango/pangoft2.rc.in * pango/pangowin32.rc.in: Correspondingly, use 0 instead of BUILDNUMBER. 2005-06-27 Tor Lillqvist * modules/khmer/Makefile.am (INCLUDES): Drop superfluous trailing slash in -I path. 2005-06-24 Owen Taylor * pango/pango-layout.c (pango_layout_line_get_extents): Don't key off zero-height to know whether to use the "empty extents" ... this can cause infinite recursion, instead just check !line->runs. (Part of #306415, Thomas Fitzsimmons) 2005-06-24 Owen Taylor * docs/pango_markup.sgml (linkend): Fix a stray newline (#308887, Ryan Lortie) 2005-06-22 Owen Taylor * modules/khmer/khmer-fc.c (khmer_engine_shape): Add back accidentally dropped line (Pointed out by Behdad Esfahbod) 2005-06-21 Behdad Esfahbod * modules/khmer/khmer-fc.c: Fix C89 var after code issues. * modules/khmer/.cvsignore: Copied from other modules. 2005-06-21 Owen Taylor Fix up the operation of PangoLayoutIter, especially for Bidi (#89541, based on a patch from Amit Aronovitch) * pango/pango-layout.c: Many changes to make iteration consistently in visual order. * pango/pango-layout.c (pango_layout_iter_next_char): Iterate through each character in the layout exactly once. (Including a hack to get two iterator positions for \r\n) * pango/pango-layout.c (pango_layout_iter_next_cluster): Only iterate through real clusters: that is, positions in the layout that have glyphs. * pango/pango-layout.c (pango_layout_iter_get_char_extents): Fix to give exactly the same results as pango_glyph_string_index_to_x: the previous positions didn't completely occupy the entire line. * pango/pango-layout.c (pango_layout_iter_next_line): Remove unneeded updating of iter->index and an associated FIXME. * tests/testiter.c tests/Makefile.am: Add a (somewhat reworked) test from Amit for the operation of PangoLayoutIter. 2005-06-21 Owen Taylor * pango/pangoxft-render.c (get_renderer): Go back to honoring alpha in the XftColor passed in; it was a 1.6 => 1.8 regression. (#169622, based on a patch from Mikael Magnusson) 2005-06-21 Owen Taylor * modules/khmer configure.in modules/Makefile.am modules/makefile.msc: Add a Khmer module by Jens Herden and Javier Sola. (#125605)