2008-08-26 Behdad Esfahbod * === Released 1.21.5 === * configure.in: Version 1.21.5 * NEWS: Updated. 2008-08-22 Behdad Esfahbod Bug 549003 – pango_layout_set_height(): layout should not be cleared unless required * pango/pango-layout-private.h: * pango/pango-layout.c (pango_layout_init), (pango_layout_set_height), (pango_layout_get_line_count), (pango_layout_clear_lines), (add_line): Don't invalidate layout if the new height does not force ellipsization. 2008-08-22 Richard Hult * pango/pangoatsui.c: (_pango_atsui_font_set_font_map): Fix build, small typo. 2008-08-22 Behdad Esfahbod * pango/fonts.c (pango_font_metrics_ref), (pango_font_metrics_unref): * pango/pango-attributes.c (pango_attr_list_ref), (pango_attr_list_unref): * pango/pango-coverage.c (pango_coverage_ref), (pango_coverage_unref): * pango/pango-layout.c (pango_layout_line_ref), (pango_layout_line_unref): * pango/pangowin32-fontcache.c (cache_entry_unref), (pango_win32_font_cache_loadw): * pango/pangox-fontcache.c (cache_entry_unref), (pango_x_font_cache_load): Use atomic reference counting. Pango may not be thread safe yet, but fixing it little by little is easier than doing all in one round. 2008-08-22 Behdad Esfahbod Bug 143542 – PangoFT2Fontmap leak * pango/fonts.c: * pango/pangoatsui.c (pango_atsui_font_finalize), (_pango_atsui_font_set_font_map): * pango/pangocairo-font.c (_pango_cairo_font_get_metrics), (_pango_cairo_font_private_get_hex_box_info): * pango/pangocairo-win32font.c (_pango_cairo_win32_font_new): * pango/pangofc-font.c (pango_fc_font_get_metrics): * pango/pangofc-fontmap.c (pango_fc_font_map_add), (_pango_fc_font_map_remove), (cleanup_font): * pango/pangowin32-fontmap.c (pango_win32_font_neww), (pango_win32_font_map_real_find_font): * pango/pangowin32.c (pango_win32_font_finalize): * pango/pangox-fontmap.c (pango_x_font_map_load_font): * pango/pangox.c (pango_x_font_new), (pango_x_font_finalize): Make the reference the font->fontmap reference weak. The code for setting the reference must look like this: g_assert (font->fontmap == NULL); font->fontmap = (PangoFontMap *) fontmap; g_object_add_weak_pointer (G_OBJECT (font->fontmap), (gpointer *) (gpointer) &font->fontmap); And releasing it like: g_assert (font->fontmap != NULL); g_object_remove_weak_pointer (G_OBJECT (font->fontmap), (gpointer *) (gpointer) &font->fontmap); font->fontmap = NULL; I have converted all fontmaps. The win32 and atsui ones can use some simple testing. The PangoFc fonts actually don't need the weakref as the fontmap already provides a similar link by itself. 2008-08-20 Murray Cumming * pango/pango-language.c: pango_language_get_scripts(): Fix a tiny typo in the documentation. 2008-08-20 Behdad Esfahbod * pango/pango-language.c (pango_language_private_init), (pango_language_get_private), (pango_language_from_string), (find_best_lang_match), (find_best_lang_match_cached), (pango_language_get_sample_string), (pango_language_get_scripts): Cache language information to avoid bsearch()ing all the time. 2008-08-20 Behdad Esfahbod * pango/pango-language.c (find_best_lang_match), (pango_language_get_sample_string), (pango_language_get_scripts), (pango_script_get_sample_language): Cleanup bsearching in language arrays. Add some language codes for scripts. 2008-08-20 Behdad Esfahbod Bug 314094 – Get rid of poutpourri default sample string * pango/pango-language-sample-table.h: * pango/pango-language.c (pango_language_get_sample_string): Use default language if provided language to get_sample_string() is NULL. 2008-08-19 Behdad Esfahbod Bug 473806 – Improve pango_language_get_sample_string() * docs/Makefile.am: * pango/Makefile.am: * pango/pango-language-sample-table.h: * pango/pango-language.c (pango_language_get_sample_string): Add language sample texts that are actually usable. Compiled from a variety of sources. See pango-language-sample-table.h. 2008-08-19 Behdad Esfahbod * pango-view/GLASS.txt: * pango/pango-ot-tag.c: Various corrections. 2008-08-18 Behdad Esfahbod Bug 473805 – Add API enumerating scripts for a language * docs/Makefile.am: * docs/pango-sections.txt: * docs/tmpl/scripts.sgml: * docs/tmpl/text-attributes.sgml: * docs/tmpl/utils.sgml: * pango/pango-language.c (pango_language_get_scripts), (pango_language_includes_script), (pango_script_get_sample_language): * pango/pango-language.h: * pango/pango-script.c: * pango/pango.def: Add a minor new public API: pango_language_get_scripts() This is what pango_language_includes_script() has been using internally. Previously one had to call that function over all possible script values to determine which scripts a language uses. The new API makes that much easier. 2008-08-18 Behdad Esfahbod * pango/pango-language.h: * pango/pango-script.h: Fix cyclic header ordering and move pango_language_* to pango-language.h 2008-08-18 Behdad Esfahbod Bug 470895 – Improve OpenType language tag list * pango/pango-ot-tag.c: Update to OpenType 1.5 draft, intersected with ISO639-3 of 2008/08/04. 2008-08-12 Sven Herzberg Bug 547432 – Deprecation of pango_(backend)_font_map_create_context() not clean reviewed by: Behdad Esfahbod * pango/pangocairo-fontmap.c, * pango/pangofc-fontmap.c, * pango/pangoft2-fontmap.c, * pango/pangowin32.c, * pango/pangox.c, * pango/pangoxft-fontmap.c: use "Deprecated:" for deprecation messages; fix the deprecation version number