2009-02-03 Behdad Esfahbod * === Released 1.23.0 === * configure.in: Version 1.23.0 * NEWS: Updated. 2009-02-03 Behdad Esfahbod * pango/Makefile.am: Comment out gobject-introspection for now, to get a release out. 2009-02-02 Behdad Esfahbod * configure.in: Fix conditional. 2009-02-01 Behdad Esfahbod * pango/pangocairo-fcfont.c (pango_cairo_fc_font_class_init): Don't do anything in shutdown. Was causing double-free of cairo font private data. 2009-01-31 Behdad Esfahbod * pango/opentype/harfbuzz-gpos.c (Load_Mark2Array), (Free_Mark2Array): Allocate all array rows in a single ALLOC call. Saves over 100 alloc calls when loading DejaVu Sans, 2009-01-31 Behdad Esfahbod * pango/pangofc-fontmap.c (pango_fc_face_describe), (pango_fc_face_list_sizes), (pango_fc_family_list_faces): It's not a programming error if face->family is NULL or family->fontmap is NULL. Be graceful. 2009-01-30 Behdad Esfahbod Bug 569763 – pango doesn't like font descriptions without family! * pango/pangofc-fontmap.c (pango_fc_make_pattern): Don't crash is desc doesn't have family set. 2009-01-29 Behdad Esfahbod * pango-view/viewer-render.c (make_layout), (get_options_string): Remove default font family and size. This means default size is not 12 IIRC, not 18 as it was. 2009-01-29 Behdad Esfahbod * pango/opentype/harfbuzz-open.h: * pango/opentype/harfbuzz-gdef.c (Make_ClassRange), (HB_GDEF_Build_ClassDefinition): * pango/opentype/harfbuzz-gpos.c (Load_PosClassRule), (Load_ChainPosClassRule): * pango/opentype/harfbuzz-gsub.c (Load_SubClassRule), (Load_ChainSubClassRule): * pango/opentype/harfbuzz-open.c (Load_ClassDef1), (Load_ClassDef2), (_HB_OPEN_Load_ClassDefinition), (_HB_OPEN_Load_EmptyClassDefinition), (_HB_OPEN_Free_ClassDefinition): Remove ClassDef->Defined field. This is the comment accompanying it: The `Defined' field is not defined in the OpenType specification but apparently needed for processing fonts like trado.ttf: This font refers to a class which contains not a single element. We map such classes to class 0. The comment is correct that trado.ttf (MS Traditional Arabic) uses such classes. However, in my testing I couldn't identify any problems with the font if the special handling is removed. I also processed as many fonts as I could get my hand on and trado.ttf was the only not-totally-broken font hitting the special-case code. DejaVu fonts hit it too, but I'm sure they do not require the special-handling code. Most probably, that code introduces bugs in them. The special-casing was consuming lots of memory. EIGHT MEGABYTES for loading DejaVu Sans! While this could be complete fixed, I decided to remove the special-handling code altogether. I don't think it will make any real difference, and if it does, we'll fix fonts. Such hacks will not be in harfbuzz-ng anyway. Bug originally reported by nsf. 2009-01-29 Behdad Esfahbod * pango/opentype/harfbuzz-impl.c (_hb_alloc): Use calloc(), instead of malloc()ing and memset()ing. 2009-01-29 Behdad Esfahbod * pango/opentype/harfbuzz-dump-main.c (main): Remove old cruft. 2009-01-29 Behdad Esfahbod * pango/pangofc-fontmap.c (pango_fc_font_map_fini), (pango_fc_font_map_shutdown): Don't disassociate family from fontmap during cache_clear(). 2009-01-29 Behdad Esfahbod * pango/opentype/harfbuzz-gpos.c (Load_BaseArray), (Free_BaseArray): Allocate all array rows in a single ALLOC call. Saves over 2000 alloc calls when loading DejaVu Sans! 2009-01-28 Behdad Esfahbod Bug 560792 – Make PangoLayoutLine with line->layout==NULL renderable * pango/pango-renderer.c (pango_renderer_draw_layout_line), (pango_renderer_draw_glyph_item), (pango_renderer_set_matrix): Handle line->layout == NULL. 2009-01-28 Behdad Esfahbod Bug 567392 – Abiword crashes in pango when opening document with certain locales * pango/pango-ot-info.c (pango_ot_info_find_language), (pango_ot_info_find_feature), (pango_ot_info_list_languages), (pango_ot_info_list_features): Protect against more broken fonts. 2009-01-28 Behdad Esfahbod * configure.in: Bump version to 1.23.0. Not releasing yet. 2009-01-27 Behdad Esfahbod Bug 566727 – PangoFontsetLazy * pango/pangofc-fontmap.c: Rework caching. Cache FcFontSort results separately from PangoFontset's. Add PangoFcFontset which is lazy and does not create fonts until it really needs to. Use FcFontMatch() and only do FcFontSort() if fallback fonts are needed. 2009-01-16 Behdad Esfahbod * docs/pango-sections.txt: * docs/tmpl/pangofc-fontmap.sgml: * pango/pangocairo-fcfontmap.c (pango_cairo_fc_font_map_fontset_key_substitute), (pango_cairo_fc_font_map_class_init): * pango/pangofc-font.c (_pango_fc_font_get_font_key), (_pango_fc_font_set_font_key): * pango/pangofc-fontmap.c (pango_fc_fontset_key_equal), (pango_fc_fontset_key_hash), (pango_fc_fontset_key_free), (pango_fc_fontset_key_copy), (pango_fc_fontset_key_get_language), (pango_fc_fontset_key_get_description), (pango_fc_fontset_key_get_matrix), (pango_fc_fontset_key_get_absolute_size), (pango_fc_fontset_key_get_resolution), (pango_fc_fontset_key_get_context_key), (pango_fc_font_key_hash), (pango_fc_font_map_init), (_pango_fc_font_map_remove), (pango_fc_make_pattern), (pango_fc_font_map_new_font), (pango_fc_default_substitute), (pango_fc_fontset_key_make_pattern), (pango_fc_font_map_get_patterns): * pango/pangofc-fontmap.h: Use new type PangoFcFontset for pattern substitution. 2009-01-09 Behdad Esfahbod Bug 567165 – Apply all pattern matrices * pango/pangocairo-fcfont.c (_pango_cairo_fc_font_new): * pango/pangofc-fontmap.c (pango_fc_font_map_new_font): Apply all FC_MATRIX values, not just the first one. Fixes synthetic italic rotated text with ft2 and xft backends. Can't believe no one ever noticed that they are broken... 2009-01-09 Behdad Esfahbod * docs/Makefile.am: * docs/pango.types: Autogenerage pango.types. Remove it from repository, but dist it. 2009-01-09 Behdad Esfahbod * docs/pango-sections.txt: * docs/tmpl/pangofc-fontmap.sgml: * docs/tmpl/text-attributes.sgml: * pango/pangocairo-fc.h: * pango/pangocairo-fcfont.c (get_font_size), (get_gravity_class), (get_gravity), (_pango_cairo_fc_font_new): * pango/pangocairo-fcfontmap.c (pango_cairo_fc_font_map_font_key_substitute), (pango_cairo_fc_font_map_create_font), (pango_cairo_fc_font_map_class_init): * pango/pangofc-font.c (_pango_fc_font_get_font_key), (_pango_fc_font_set_font_key): * pango/pangofc-fontmap.c (pango_fc_font_key_equal), (pango_fc_font_key_hash), (pango_fc_font_key_free), (pango_fc_font_key_copy), (get_context_matrix), (pango_fc_font_key_init), (pango_fc_font_key_get_pattern), (pango_fc_font_key_get_matrix), (pango_fc_font_key_get_context_key), (pango_fc_font_map_init), (pango_fc_font_map_class_init), (pango_fc_font_map_add), (_pango_fc_font_map_remove), (pango_fc_make_pattern), (pango_fc_font_map_new_font), (pango_fc_default_substitute), (pango_fc_font_map_get_patterns), (pango_fc_font_map_load_fontset): * pango/pangofc-fontmap.h: * pango/pangofc-private.h: Change PangoFc font loading API such that PangoContext is not passed down. We use a new opaque struct called PangoFcFontKey. This struct is in fact our font hash key. This avoids problems where previously we were using context members that were not necessarily considered by the pangofc layer when caching. This is in preparation for lazy loading of fonts in the pangofc fontmap. 2009-01-09 Behdad Esfahbod * pango/pangocairo-atsuifont.c (_pango_cairo_atsui_font_new): * pango/pangocairo-fcfont.c (_pango_cairo_fc_font_new): * pango/pangocairo-font.c (_pango_cairo_font_private_initialize): * pango/pangocairo-private.h: * pango/pangocairo-win32font.c (_pango_cairo_win32_font_new): Remove desc argument from _pango_cairo_font_private_initialize(). Replace it with gravity, the only thing from desc we actually needed. This is in preparation for lazy loading of fonts in the pangofc fontmap. 2009-01-09 Behdad Esfahbod * pango/pangofc-fontmap.c (font_hash_key_equal): Avoid context key comparison if any of the keys is NULL. 2009-01-09 Behdad Esfahbod * pango/pangocairo-atsuifont.c (_pango_cairo_atsui_font_new): * pango/pangocairo-fcfont.c (_pango_cairo_fc_font_new): * pango/pangocairo-font.c (_pango_cairo_font_private_initialize): * pango/pangocairo-private.h: * pango/pangocairo-win32font.c (_pango_cairo_win32_font_new): Remove context argument from _pango_cairo_font_private_initialize(). Replace it with pango_ctm and font_options, the only things from context we actually needed. This is in preparation for lazy loading of fonts in the pangofc fontmap. 2009-01-20 Johan Dahlin Bug 567934 – Add introspection support inside pango * configure.in: * pango/Makefile.am: * pango/pango-attributes.c: * pango/pango-layout.c: 2009-01-08 Behdad Esfahbod * pango/pangofc-fontmap.c (pango_fc_font_map_get_patterns): Protect against a NULL context. 2009-01-08 Behdad Esfahbod * pango/pango-context.c (itemize_state_process_run): Improve warning message. 2009-01-08 Behdad Esfahbod Bug 549532 – Correction to the sample string for Hindi in pango-language-sample-table.h * pango/pango-language-sample-table.h: Improve Hindi sample text. 2009-01-07 Behdad Esfahbod Bug 566726 – Minor optimization * pango/pango-context.c (get_shaper_and_font): Don't walk the fontset if there are no engines. 2009-01-07 Behdad Esfahbod Bug 566941 – Add PANGO_ATTRIBUTE_INDEX_FROM_TEXT_BEGINNING and PANGO_ATTRIBUTE_INDEX_TO_TEXT_END * docs/pango-sections.txt: * docs/tmpl/text-attributes.sgml: * pango/pango-attributes.c (pango_attribute_init): * pango/pango-attributes.h: Add two new public macros: PANGO_ATTRIBUTE_INDEX_FROM_TEXT_BEGINNING PANGO_ATTRIBUTE_INDEX_TO_TEXT_END 2009-01-06 Behdad Esfahbod Bug 551469 – Fold '@' to '-' when parsing PangoLanguages * pango/pango-language.c: Fold '@' to '-' when parsing PangoLanguages. 2009-01-06 Behdad Esfahbod Bug 328206 – Update/remove some old files * docs/Makefile.am: * docs/TEXT/glossary: Remove some old files. 2009-01-06 Behdad Esfahbod Bug 328206 – Update/remove some old files * tools/Makefile.am: * tools/add-copyright: * tools/compress-table.pl: * tools/maps/README: * tools/maps/tis-620: Remove some old files. 2009-01-06 Behdad Esfahbod * tools/Makefile.am: * tools/gen-script-for-lang.c: * tools/gen-script-for-lang-new.c: Remove the old gen-script-for-lang tool, rename the new one to it. 2009-01-06 Behdad Esfahbod Bug 166709 – Handle font variants more consistently * configure.in: Require fontconfig >= 2.5.0 * pango/fonts.c: Parse "Roman" as style=normal instead of weight=normal. Doesn't make much difference in reality. * pango/pangofc-fontmap.c (pango_fc_convert_weight_to_fc), (pango_fc_convert_weight_to_pango): Update to reflect newly added weights. 2009-01-06 Behdad Esfahbod Bug 166709 – Handle font variants more consistently * pango/pango-font.h: Add enum values PANGO_WEIGHT_BOOK and PANGO_WEIGHT_ULTRAHEAVY. * pango/fonts.c: * docs/tmpl/fonts.sgml: Add new weights with their aliases, as well as aliasing "Roman" to the normal weight. 2009-01-06 Behdad Esfahbod * pango/fonts.c (pango_font_description_to_filename): Make it Unicode safe. 2009-01-06 Behdad Esfahbod * pango/fonts.c (find_field), (parse_field), (pango_parse_style), (pango_parse_variant), (pango_parse_weight), (pango_parse_stretch): Move the parse_*() functions in fonts.c and have them share tables with pango_font_description_to/from_string(). * pango/pango-utils.c (parse_int), (pango_parse_enum): Accept integers in pango_parse_enum(). 2009-01-06 Behdad Esfahbod Bug 166676 – pango_fc_font_map_finalize * pango/pangofc-fontmap.c (pango_fc_font_map_finalize), (pango_fc_face_describe), (pango_fc_face_list_sizes), (pango_fc_face_finalize), (pango_fc_face_class_init), (pango_fc_family_list_faces), (pango_fc_family_finalize), (pango_fc_family_class_init): Finalize families and faces. 2009-01-06 Tor Lillqvist Bug 164001 - pango-querymodules doesn't work uninstalled on win32 * pango/pango-utils.c (pango_get_lib_subdirectory): When running against an uninstalled, compile-time DLL, in the libtool-style .libs folder, use the compile-time install prefix. 2009-01-03 Behdad Esfahbod Bug 384362 – pango can't select some font styles * pango/pango-font.h: Add enum values PANGO_WEIGHT_THIN and PANGO_WEIGHT_MEDIUM to PangoWeight. * pango/fonts.c: Parse "Thin", "Extra-Light", "Regular", "Demi-Bold", "Extra-Bold", and "Black" as weight descriptors (from the OpenType spec). 2009-01-03 Behdad Esfahbod Bug 168085 – numeric styles in pango_font_description_to_string() * pango/fonts.c (parse_int), (find_field), (find_field_any), (append_field), (pango_font_description_to_string): Print-out, and parse, numeric styles correctly. Things like "DejaVu Sans weight=100" parse correctly now. 2009-01-03 Behdad Esfahbod Bug 529591 – Code related to malayalam is misplaced. Patch from Rahul Bhalerao * modules/indic/indic-ot.c (indic_ot_reorder): Fix it. 2009-01-02 Behdad Esfahbod Bug 515807 – Don't bind modules lazily * pango/modules.c (pango_module_load): Don't bind modules lazy. 2009-01-02 Behdad Esfahbod Bug 512662 – Update check.docs for pango-undeclared.txt * docs/Makefile.am: * docs/check.docs: Sync to the version in cairo. 2009-01-02 Behdad Esfahbod * pango-view/viewer-main.c (main): * pango-view/viewer-pangocairo.c (pangocairo_view_render): * pango-view/viewer-pangoft2.c (pangoft2_view_render): * pango-view/viewer-pangox.c (pangox_view_render): * pango-view/viewer-pangoxft.c (pangoxft_view_render): * pango-view/viewer.h: Make sure we measure layout with the same surface type as the final target. Also reduces fonts loaded by the pangocairo backend. 2009-01-02 Behdad Esfahbod * pango/pangocairo-context.c (_pango_cairo_update_context): Completely ignore CTM translation offsets. 2009-01-02 Behdad Esfahbod * pango/pangocairo-fcfontmap.c (pango_cairo_fc_font_map_finalize): * pango/pangoft2-fontmap.c (pango_ft2_font_map_finalize): Finalize FreeType library after finalizing the FC fontmap. Fixes segfault in the PangoFT2FontMap's finalize. 2009-01-02 Behdad Esfahbod * pango/pango-context.c (shaper_font_element_destroy), (get_shaper_font_cache), (shaper_font_cache_insert), (get_shaper_and_font_foreach), (itemize_state_process_run): Fix possible reference leak when fallback is disabled. 2008-12-26 Behdad Esfahbod Bug 565644 – Maybe pango_font_descriptions_free is deprecated * pango/fonts.c: Adjust docs. 2008-12-26 Behdad Esfahbod * pango-view/viewer-pangocairo.c (pangocairo_view_destroy): Call cairo_debug_reset_static_data(). 2008-12-25 Behdad Esfahbod * modules/arabic/arabic-fc.c (arabic_engine_shape): * modules/arabic/arabic-lang.c (arabic_engine_break): * modules/basic/basic-fc.c (basic_engine_shape): * modules/basic/basic-x.c (find_char), (conv_8bit), (conv_eucjp), (conv_16bit), (conv_16bit_MSB_on), (conv_gb18030_1), (conv_euctw), (conv_ucs4), (basic_engine_shape), (basic_engine_covers): * modules/hangul/hangul-fc.c (hangul_engine_shape): * modules/hebrew/hebrew-fc.c (add_cluster), (fallback_shape): * modules/indic/indic-lang.c (indic_engine_break): * modules/khmer/khmer-fc.c (khmer_engine_shape): * modules/syriac/syriac-fc.c (syriac_engine_shape): * modules/thai/thai-fc.c (get_glyph_index_tis), (thai_engine_shape), (thai_make_unknown_glyph): * modules/thai/thai-lang.c (thai_engine_break): * modules/thai/thai-shaper.c (get_glyphs_list): * modules/tibetan/tibetan-fc.c (tibetan_engine_shape): Fix all warnings in modules/. 2008-12-25 Behdad Esfahbod * pango-view/viewer-main.c (main): * pango-view/viewer-pangocairo.c (pangocairo_view_create), (transform_callback), (pangocairo_view_render), (pangocairo_view_write): * pango-view/viewer-pangoft2.c (substitute_func), (pangoft2_view_create), (pangoft2_view_create_surface), (pangoft2_view_destroy_surface), (render_callback), (pangoft2_view_render), (pangoft2_view_write): * pango-view/viewer-pangox.c (render_callback): * pango-view/viewer-pangoxft.c (default_substitute), (render_callback): * pango-view/viewer-render.c (parse_enum), (parse_align), (parse_ellipsis), (parse_gravity), (parse_gravity_hint), (parse_hinting), (parse_wrap), (parse_backend), (show_version): * pango-view/viewer-x.c (x_view_init): Fix all warnings in pango-view/ 2008-12-25 Behdad Esfahbod * pango/pangofc-fontmap.c (pango_fc_font_map_finalize), (pango_fc_font_map_shutdown): Cleanup fontmap finalization. 2008-12-25 Behdad Esfahbod Bug 469049 – Fix all compiler warnings * pango-view/viewer-pangocairo.c (render_callback): * pango/fonts.c (append_field), (pango_font_description_to_string): * pango/opentype/harfbuzz-dump.c: * pango/pango-bidi-type.c (pango_log2vis_get_embedding_levels): * pango/pango-coverage.c (pango_coverage_set): * pango/pango-markup.c (span_parse_func): * pango/pango-renderer.c (pango_renderer_default_draw_error_underline): * pango/pango-utils.c (pango_scan_string): * pango/pangocairo-render.c (pango_cairo_renderer_draw_trapezoid), (draw_error_underline), (pango_cairo_renderer_class_init): Fix all the remaining warnings. 2008-12-25 Behdad Esfahbod * pango/modules.c (pango_module_load), (script_info_free): * pango/opentype/harfbuzz-gpos.c (HB_Load_GPOS_Table): * pango/pango-bidi-type.c: * pango/pango-coverage.c (pango_coverage_ref), (pango_coverage_unref): * pango/pango-engine.c (pango_engine_shape_real_covers), (fallback_engine_shape), (fallback_engine_covers): * pango/pango-fontmap.c (pango_font_map_init): * pango/pango-ot-ruleset.c (pango_ot_ruleset_finalize), (pango_ot_ruleset_new): * pango/pangofc-decoder.c (pango_fc_decoder_init), (pango_fc_decoder_class_init): * pango/pangofc-font.c (pango_fc_font_find_shaper), (pango_fc_font_get_coverage): * pango/pangofc-fontmap.c (pango_fc_font_map_list_families), (pango_fc_make_pattern), (pango_fc_font_map_get_patterns), (get_first_font), (_pango_fc_font_map_get_coverage), (cleanup_font), (pango_fc_font_description_from_pattern), (pango_fc_face_list_sizes), (pango_fc_family_list_faces): * pango/pangoft2-fontmap.c (pango_ft2_font_map_get_resolution): * pango/pangoft2-render.c (pango_ft2_renderer_init), (pango_ft2_renderer_draw_trapezoid): * pango/pangoft2.c (pango_ft2_font_get_face), (pango_ft2_font_real_unlock_face), (pango_ft2_free_glyph_info_callback): Fix more warnings. 2008-12-25 Behdad Esfahbod * pango/break.c (pango_default_break): * pango/fonts.c (find_field_any), (pango_font_class_init), (pango_font_init), (pango_font_metrics_ref), (pango_font_metrics_unref), (pango_font_family_class_init), (pango_font_family_init), (pango_font_face_class_init), (pango_font_face_init): * pango/pango-attributes.c (pango_attr_list_ref), (pango_attr_list_unref), (pango_attr_iterator_get_font): * pango/pango-layout.c (pango_layout_set_height), (extents_free), (no_shape_filter_func), (pango_layout_line_ref), (pango_layout_line_unref), (pango_layout_get_item_properties): * pango/pango-markup.c (end_element_handler), (text_handler), (b_parse_func), (big_parse_func), (span_parse_func), (i_parse_func), (markup_parse_func), (s_parse_func), (sub_parse_func), (sup_parse_func), (small_parse_func), (tt_parse_func), (u_parse_func): * pango/pango-ot-info.c (get_glyph_class): * pango/pango-renderer.c (get_item_properties), (pango_renderer_default_prepare_run): * pango/pango-utils.c (_pango_shape_shape): * pango/pangocairo-fcfontmap.c (pango_cairo_fc_font_map_get_font_type), (pango_cairo_fc_font_map_context_substitute), (pango_cairo_fc_font_map_context_key_get), (pango_cairo_fc_font_map_context_key_copy), (pango_cairo_fc_font_map_context_key_free), (pango_cairo_fc_font_map_context_key_hash), (pango_cairo_fc_font_map_context_key_equal): * pango/pangocairo-fontmap.c (pango_cairo_font_map_new_for_font_type), (pango_cairo_font_map_set_default): * pango/pangocairo-render.c (pango_cairo_renderer_init): * pango/pangox-fontcache.c (free_cache_entry): * pango/pangox-fontmap.c (close_display_cb), (list_families_foreach), (pango_x_font_map_load_font), (ignore_error): * pango/pangox.c (average_width_foreach), (subfonts_foreach), (pango_x_font_find_shaper), (pango_x_get_unknown_glyph), (pango_x_get_item_properties), (pango_x_apply_ligatures), (pango_x_font_get_unknown_glyph): * pango/pangoxft-fontmap.c (pango_xft_font_map_init), (close_display_cb): * pango/querymodules.c (show_version): Fix warnings. 2008-12-22 Behdad Esfahbod Bug 565379 – pango_font_description_better_match some style attributes of old_match are not checked * pango/fonts.c: Improve docs. 2008-12-17 Behdad Esfahbod Bug 564877 – pango-engine.h: PANGO_MODULE_PREFIX and G_MODULE_EXPORT * pango/pango-engine.h: Don't add G_MODULE_EXPORT. This roles back a change introduced in 1.22.4. 2008-12-15 Behdad Esfahbod * === Released 1.22.4 === * configure.in: Version 1.22.4 * NEWS: Updated. 2008-12-15 Behdad Esfahbod Bug 564644 – Not complete description of the pango_font_description_better_match function * pango/fonts.c: Improve docs even more. 2008-12-15 Behdad Esfahbod Bug 564644 – Not complete description of the pango_font_description_better_match function * pango/fonts.c: Improve docs. 2008-12-14 Behdad Esfahbod Bug 563898 – Generated output is not deterministic * docs/pango-querymodules.xml: * docs/pango_markup.sgml: Add section ids, such that generated HTML is deterministic. 2008-12-09 Behdad Esfahbod * pango/pangoxft-font.c (pango_xft_font_init), (load_fallback_font): Don't call exit(). Let us crash. 2008-12-09 Behdad Esfahbod Bug 563803 – pango_renderer_finalize fails to call parent finalize * pango/pango-renderer.c (pango_renderer_class_init), (pango_renderer_finalize): Call parent finalize. * pango/pango-renderer.c (add_strikethrough), (pango_renderer_default_draw_glyph_item), (pango_renderer_default_draw_error_underline): Clean up a bit. 2008-12-07 Behdad Esfahbod Bug 499626 – Space should be optional after comma in PangoFontDescription input string * pango/fonts.c (getword): Don't require space after comma. 2008-12-07 Behdad Esfahbod Bug 499624 – Spaces around commas in PangoFontDescription family name should be trimmed * pango/fonts.c (pango_font_description_from_string): * pango/pangofc-fontmap.c (pango_fc_make_pattern): Do it in pango_font_description_from_string() instead of pangofc backend. 2008-12-07 Behdad Esfahbod Bug 499624 – Spaces around commas in PangoFontDescription family name should be trimmed * pango/pangofc-fontmap.c (pango_fc_make_pattern): Trim family strings before adding to pattern. 2008-12-07 Behdad Esfahbod Bug 563557 – set g_get_prgname() in fc pattern * docs/pango-sections.txt: * pango/pangofc-fontmap.c (pango_fc_make_pattern): * pango/pangofc-fontmap.h: Add PANGO_FC_PRGNAME which is the fontconfig element "pangoprgname". Populate it on all our fontconfig search patterns using g_get_prgname(). See bug for sample use. 2008-12-07 Behdad Esfahbod * pango/pango-engine.h: Add G_MODULE_EXPORT annotation for modules. 2008-12-07 Behdad Esfahbod * pango/pango-context.c (pango_context_get_metrics): Fix docs re NULL language. Also allow NULL desc. 2008-12-06 Behdad Esfahbod * pango/pangocairo-font.c (_pango_cairo_font_private_get_scaled_font): Add more debug info if creating scaled font failed. 2008-12-05 Behdad Esfahbod Bug 563356 – The input area of firefox and the blank width after text in gnome-menu was stretched too wide, under pango-1.22.3 * docs/tmpl/fonts.sgml: * pango/pango-impl-utils.h: * pango/pangocairo-atsuifont.c (pango_cairo_atsui_font_create_metrics_for_context): * pango/pangocairo-win32font.c (pango_cairo_win32_font_create_metrics_for_context): * pango/pangofc-font.c (pango_fc_font_create_metrics_for_context): For approximate_char_width calculation take each char's width into account. That is, do a weighted average instead of uniform average. g_unichar_iszerowidth() chars count as 0, g_unichar_iswide() chars count 2, and the rest count as 1. Pretty much wcwidth() behavior. See bug report for rationale. 2008-11-28 Behdad Esfahbod Bug 562574 – Pangocariowin32 is leaking every cairo font it ever creates * pango/pangocairo-atsuifont.c (pango_cairo_atsui_font_finalize): * pango/pangocairo-win32font.c (pango_cairo_win32_font_finalize): Finalize shared pangocairo font resources. Oops! * pango/pangocairo-font.c (_pango_cairo_font_private_finalize): Protect against multiple calls to finalize. This is practiced by the pangocairo-fcfont when a font is shutdown and then finalized. 2008-11-26 Behdad Esfahbod * examples/cairotwisted.c (parametrize_path), (point_on_path): Handle close_path correctly. 2008-11-23 Behdad Esfahbod * === Released 1.22.3 === * configure.in: Version 1.22.3 * NEWS: Updated. 2008-11-22 Theppitak Karoonboonyanan * modules/thai/thai-lang.c (thai_engine_break): Minor indentation fixes for previous commit. 2008-11-22 Chris Wilson Bug 561740 – Use stack allocation for thai_engine_break * modules/thai/thai-lang.c (utf8_to_tis), (thai_engine_break): Small tweak to allocate small, temporary arrays on the stack. 2008-11-21 Behdad Esfahbod Bug 561779 – incorrect calculations in pango_matrix_concat implementation * pango/pango-matrix.c (pango_matrix_concat): Fix bug in y0 computation. 2008-11-19 Behdad Esfahbod Bug 560730 – pango 1.22.2 build failure on Solaris 10, too many array initializers in pango-language.c * pango/pango-language.c: Don't use anonymous struct. 2008-11-19 Behdad Esfahbod * pango/pango-ot-info.c (pango_ot_info_get_gdef), (pango_ot_info_get_gsub), (pango_ot_info_get_gpos): Write error code in capital hex. 2008-10-28 Behdad Esfahbod * === Released 1.22.2 === * configure.in: Version 1.22.2 * NEWS: Updated. 2008-10-28 Behdad Esfahbod Bug 558254 – Internal reference handling messed up * pango/pangofc-font.c (pango_fc_font_get_coverage): * pango/pangofc-fontmap.c (pango_fc_font_map_finalize): Make sure fonts->fontmap is set to NULL when fontmap finalizes. 2008-10-27 Richard Hult Bug 558107 – is_monospace always returns FALSE in pangoatsui * pango/pangoatsui-fontmap.c: (pango_atsui_family_is_monospace), (pango_atsui_font_map_init): Mark families whose faces have the NSFixedPitchFontMask set as monospaced, and use this in the is_monospace implementation. 2008-10-23 Behdad Esfahbod Bug 557620 – pango_font_description_from_string not correct * pango/fonts.c (find_field_any): Fix parsing of "normal" when not at the end of string. 2008-10-20 Behdad Esfahbod * === Released 1.22.1 === * configure.in: Version 1.22.1 * NEWS: Updated. 2008-10-14 Behdad Esfahbod Bug 528272 – "Error loading GPOS table 5503" when using katakana characters * pango/opentype/harfbuzz-gpos.c (Load_Mark2Array): Skip parsing null anchor tables. 2008-10-10 Behdad Esfahbod Bug 552107 – Small libtool fixes * configure.in: Regenerate libtool early, quote $deplibs_check_method. Patch by Patryk Zawadzki 2008-10-10 Kjartan Maraas * pango/pangox.c: (get_context_info): Fix a gcc warning. 2008-10-06 Christian Persch Bug 539623 – document that pango_color_parse accepts NULL * pango/pango-color.c: Clarify docs. 2008-10-06 Behdad Esfahbod Bug 555219 – Memory leak when using pango_layout_iter_copy Patch from Falk Rohsiepe * pango/pango-layout.c (pango_layout_iter_copy): Use gslice, not memdup. Oops! 2008-09-29 Behdad Esfahbod * pango/opentype/harfbuzz-gpos.c (Position_CursiveChain): Fix left-to-right positioning. Reported by Peter Hunter. 2008-09-22 Behdad Esfahbod Bug 553345 – Japanese pangram. Patch from Takeshi AIHANA * pango/pango-language-sample-table.h: Improve Japanese text. 2008-09-22 Behdad Esfahbod * === Released 1.22.0 === * configure.in: Version 1.22.0 * NEWS: Updated. 2008-09-22 Behdad Esfahbod * configure.in: * pango/pangocairo-render.c (pango_cairo_renderer_show_text_glyphs), (save_current_point): Update to cairo-1.7.6 API. 2008-09-20 Behdad Esfahbod Bug 552993 – Romanian pangram * pango/pango-language-sample-table.h: New Romanian sample text from Misu Moldovan. 2008-09-18 Tor Lillqvist * pango-zip.sh.in: Drop pango.aliases as we have a default such built-in nowadays. 2008-09-13 Tor Lillqvist * pango/pango-utils.c: Don't use the deprectated g_win32_get_package_installation_subdirectory(). Use g_win32_get_package_installation_directory_of_module() instead. Also, don't use the deprecated silly G_WIN32_DLLMAIN_FOR_DLL_NAME() macro, but an explicit minimal DllMain() that just saves the DLL handle. 2008-09-11 Behdad Esfahbod Bug 551865 – Can't change justification of a PangoLayout after first draw * pango/pango-layout.c (pango_layout_set_attributes), (pango_layout_set_font_description), (pango_layout_set_justify), (pango_layout_set_alignment), (pango_layout_set_tabs): Invalidate layout after property change. Oops! 2008-09-08 Tor Lillqvist Bug 551416 - pangowin32-fontcache.c: argument is different type * pango/pangowin32-fontcache.c: Pass address of int to g_atomic_int_inc(). 2008-09-08 Behdad Esfahbod * === Released 1.21.6 === * configure.in: Version 1.21.6 * NEWS: Updated. 2008-09-03 Alberto Ruiz Bug 550659 – configure.in ignores a win32 backend only scenario * configure.in: Added $have_win32 check 2008-08-28 Behdad Esfahbod Bug 549758 – Swedish font sample text could use punctuation * pango/pango-language-sample-table.h: Add final punctuation to many that were missing one. 2008-08-27 Behdad Esfahbod Bug 549522 – New pt_BR pangram for pango * pango/pango-language-sample-table.h: Change pt_BR string as per Leonardo Ferreira Fontenelle's suggestion. 2008-08-26 Behdad Esfahbod Bug 549520 – fr sample string * pango/pango-language-sample-table.h: Change French sample string as per Vincent Untz's suggestion. 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 2008-08-11 Behdad Esfahbod * === Released 1.21.4 === * configure.in: Version 1.21.4 * NEWS: Updated. 2008-08-11 Behdad Esfahbod Bug 547303 – pango_layout_get_cursor_pos crashes on certain text buffers * pango/pango-layout.c (pango_layout_get_cursor_pos): Handle cursor position in the middle of a "\r\n" cluster. 2008-08-06 Behdad Esfahbod * pango/pangocairo-render.c (pango_cairo_renderer_draw_glyph_item): Fix cluster iteration. 2008-08-06 Behdad Esfahbod * pango/pangocairo-render.c (pango_cairo_renderer_show_text_glyphs), (pango_cairo_renderer_draw_glyphs), (pango_cairo_renderer_draw_glyph_item): Implement draw_glyph_item using cairo_show_text_glyphs(). * configure.in: Require cairo >= 1.7.1 2008-08-06 Behdad Esfahbod Fedora Bug 457883 - Sindhi Characters are not supported in pango [U+097B-U+097F] Patch from Pravin Satpute * modules/indic/indic-ot-class-tables.c: Add [U+097B-U+097F]. 2008-08-06 Behdad Esfahbod Bug 441654 – prefix fails when more than one base characters (as conjuncts) present after a half form the next prefix renders incorrectly Patch from Rahul Bhalerao * modules/indic/mprefixups.c (indic_mprefixups_apply): Do what I was told to do. 2008-08-06 Behdad Esfahbod Bug 546534 – pango_cairo_font_map_set_default(NULL) errs * pango/pangocairo-fontmap.c (pango_cairo_font_map_set_default): Allow NULL. 2008-08-06 Behdad Esfahbod Bug 431394 – Use pango_glyph_item_iter in more places * pango/glyphstring.c (pango_glyph_string_get_logical_widths): Use pango_glyph_item_iter for cluster iteration. 2008-08-06 Behdad Esfahbod Bug 377948 – Make pango_glyph_item_iter public * pango/pango-glyph-item.c (pango_glyph_item_iter_copy), (pango_glyph_item_iter_free), (pango_glyph_item_iter_get_type), (pango_glyph_item_iter_next_cluster), (pango_glyph_item_iter_prev_cluster), (pango_glyph_item_iter_init_start), (pango_glyph_item_iter_init_end), (pango_glyph_item_apply_attrs), (pango_glyph_item_letter_space): * pango/pango-glyph-item.h: New public API, for iterating a PangoGlyphItem: PangoGlyphItemIter PANGO_TYPE_GLYPH_ITEM_ITER pango_glyph_item_iter_copy() pango_glyph_item_iter_free() pango_glyph_item_iter_init_start() pango_glyph_item_iter_init_end() pango_glyph_item_iter_next_cluster() pango_glyph_item_iter_prev_cluster() * pango/pango.def: * docs/tmpl/glyphs.sgml: * docs/pango-sections.txt: * pango/Makefile.am: * pango/ellipsize.c (line_iter_next_cluster), (line_iter_prev_cluster), (find_initial_span): * pango/pango-layout.c (justify_words): Update. * pango/pango-glyph-item-private.h: Remove. 2008-08-05 Behdad Esfahbod * pango/pango-context.c: * pango/pango-context.h: Make the following API public: pango_context_new() pango_context_set_font_map() * pango/pango-fontmap.c (pango_font_map_create_context): * pango/pango-fontmap.h: New public API: pango_font_map_create_context() * pango/pangocairo-context.c (pango_cairo_create_context): * pango/pangocairo-font.c (_pango_cairo_font_get_metrics), (_pango_cairo_font_private_get_hex_box_info): * pango/pangocairo-fontmap.c (pango_cairo_font_map_create_context): * pango/pangocairo.h: Deprecate pango_cairo_font_map_create_context(). * pango/pangofc-font.c (pango_fc_font_get_metrics): * pango/pangofc-fontmap.c (pango_fc_font_map_create_context): * pango/pangofc-fontmap.h: Deprecate pango_fc_font_map_create_context(). * pango/pangoft2-fontmap.c (pango_ft2_font_map_create_context), (pango_ft2_get_context): * pango/pangoft2.h: Deprecate pango_ft2_font_map_create_context(). * pango/pangowin32.c (pango_win32_get_context), (pango_win32_font_get_metrics): * pango/pangowin32.h: Deprecate pango_win32_get_context(). * pango/pangoxft-font.c (_pango_xft_font_get_mini_font): * pango/pangoxft-fontmap.c (pango_xft_get_context): * pango/pangoxft.h: Deprecate pango_xft_get_context(). * pango/pangox-fontmap.c (pango_x_font_map_for_display): * pango/pangox.c (get_context_info), (pango_x_get_context), (pango_x_context_set_funcs), (pango_x_render_layout_line): Deprecate pango_x_get_context(), again. * docs/pango-sections.txt: * docs/tmpl/fonts.sgml: * pango-view/viewer-pangocairo.c (pangocairo_view_get_context): * pango-view/viewer-pangoft2.c (pangoft2_view_get_context): * pango-view/viewer-pangox.c (pangox_view_get_context): * pango-view/viewer-pangoxft.c (pangoxft_view_get_context): * pango/check.defs: * pango/pango.def: Update. 2008-07-30 Behdad Esfahbod Bug 472625 – Add draw_glyph_item() to PangoRenderer * docs/pango-sections.txt: * docs/tmpl/pango-renderer.sgml: * pango/pango-renderer.c: * pango/pango-renderer.h: New public API: PangoRenderer::draw_glyph_item() pango_renderer_draw_glyph_item() Make layout and layout-line default renderers go through draw_glyph_item(), which then by default falls back to draw_glyphs(). The advantage in draw_glyph_item() is that it has access to the text and cluster information. 2008-07-30 Behdad Esfahbod * docs/tmpl/text-attributes.sgml: Fix doc build warning. 2008-07-19 Behdad Esfahbod * pango/pango-layout.c (process_line): Justify lines broken by U+2028 LINE SEPARATOR. Also affects return value of pango_layout_is_wrapped(). 2008-08-06 Tor Lillqvist * pango/Makefile.am (install-def-files): Add a mkdir to be sure the destination directory exists before copying files there. * configure.in: On Windows set LIB_EXE_MACHINE_FLAG to X86 or X64 depending on host architecture. * pango/Makefile.am: Use it when running lib.exe. 2008-08-04 Tor Lillqvist * pango/Makefile.am: Don't attempt to build the MS import libraries for libpangoft2 unless HAVE_FREETYPE. 2008-08-03 Tor Lillqvist * pango/pango-bidi-type.c: Include for strlen() prototype. 2008-06-29 Behdad Esfahbod Bug 540592 – Crash in HB_GSUB_Apply_String with Linux-Libertine font * pango/opentype/harfbuzz-gsub.c (GSUB_Do_String_Lookup): Fix reverse loops for type 8 lookups. 2008-06-26 Kristian Rietveld * configure.in: require glib trunk (for newer glib-mkenums). * pango/Makefile.am: when generating pango-enum-types.h use @ENUMPREFIX@ instead of hard coding the prefix. 2008-06-24 Behdad Esfahbod Bug 540036 – Doesn't link to fontconfig * pango/Makefile.am: Explicitly include FREETYPE_LIBS for pangoxft. 2008-06-23 Behdad Esfahbod Bug 380094 – Fix split matra rendering bug for Kannada language * modules/indic/indic-ot-class-tables.c: Fix Indic class for U+0C8D and U+0C8E. 2008-06-21 Johan Dahlin * *.[ch]: Include "config.h" instead of Command used: find -name \*.[ch]|xargs perl -p -i -e 's/^#include /#include "config.h"/g' Rubberstamped by Behdad 2008-06-18 Behdad Esfahbod Bug 536017 – Remove SF_MPRE_FIXUP from Sinhala script flags Patch by Harshula * modules/indic/indic-ot-class-tables.c: Just freakin' do it. I have no idea if it's right or wrong. Just that I've been pestered enough to do it. Time will tell... 2008-06-16 Behdad Esfahbod * === Released 1.21.3 === * configure.in: Version 1.21.3 * NEWS: Updated. 2008-06-16 Behdad Esfahbod Bug 538661 – Improve pango_cairo_context_update_context() * pango/pangocairo-context.c (_pango_cairo_update_context): Relayout only if merged options changed. 2008-06-09 Behdad Esfahbod Bug 536190 – Make pango_fc_font_map_clear_cache() public? * pango/pangofc-fontmap.c: * pango/pangofc-fontmap.h: Make pango_fc_font_map_clear_cache() public. 2008-06-09 Behdad Esfahbod Bug 537258 – Add a pango_language_to_string() function * docs/tmpl/text-attributes.sgml: * pango/pango-language.c (pango_language_to_string): * pango/pango-language.h: * pango/pango.def: Add a function implementation of pango_language_to_string(). The macro is still available. To be removed in a cycle or two from now. (bug #537466) 2008-06-09 Behdad Esfahbod Bug 537257 – pango_language_from_string(NULL) not happy * pango/pango-language.c (pango_language_from_string): Allow NULL. 2008-06-09 Behdad Esfahbod Bug 537186 – Make PangoFcFont pattern property readable * pango/pangofc-font.c (pango_fc_font_class_init), (pango_fc_font_get_property): Make it readable. 2008-06-02 Behdad Esfahbod * === Released 1.21.2 === * configure.in: Version 1.21.2 * NEWS: Updated. 2008-05-28 Behdad Esfahbod Bug 510299 – OpenType font variants are broken with ATSUI/Cairo * pango/fonts.c (field_matches), (find_field): Ignore dashes when matching fong description fields. 2008-05-28 Tor Lillqvist * pango/pangowin32-fontmap.c (synthesize_foreach) (_pango_win32_font_map_init): Rework face synthesis once again. Code is simpler now, and we don't needlessly synthesize bold weights for fonts that have a real semi-bold weight, like Lucida Sans. (The bold weight ended up looking like the semi-bold anyway.) (pango_win32_font_description_from_logfont) (pango_win32_font_description_from_logfontw): Recognize the semi-bold weight interval. Map words that indicate weight and slant in the font name into the corresponding Pango font description settings, and strip those words from the family name. This maps for instance the DejaVu Sans, DejaVu Sans Condensed and DejaVu Sans Light fonts into a single DejaVu Sans family with styles Ultra-Light, Condensed, Normal, Oblique Condensed, Oblique, Bold Condensed, Bold, Bold Oblique Condensed, and Bold Oblique, which is nice. 2008-05-27 Tor Lillqvist * pango/pangowin32-fontmap.c (pango_win32_family_list_faces): After the change to how the standard pseudo font families are set up below, we don't need to prune out duplicate face names any longer. 2008-05-27 Tor Lillqvist Bug 436363 - Bold and Bold Italic style of MS-Mincho font are not listed in GtkFontSelection * pango/pangowin32-fontmap.c: Synthesize also Bold and Bold Italic (or Oblique) faces when feasible. Don't synthesize these for decorative or script fonts. Kill the magic code snippet mentioned below. Instead, explicitly create font families for the standard pseudo fonts that correspond to the first existing font of the corresponding built-in alias list. Use the face style name Oblique for slanted sans and monospace fonts, not Italic. 2008-05-27 Tor Lillqvist * pango/pangowin32-fontmap.c (pango_win32_family_list_faces): Prune duplicated face names. Makes the GTK+ font selector look a bit saner for the "sans", "serif" and "monospace" standard pseudo font families with just one instance of each style. That we get duplicated styles in the first place is because of the magic code snippet in pango_win32_insert_font() that sets up the list of faces for the standard pseudo font families. I don't like that code but without it these families wouldn't currently show up in the font selector at all. A problem is still that the magic code blindly adds all random fonts that claim to be FF_ROMAN to the list of faces for the "serif" family, etc. I think it would be preferrable to do it only for well-known sensible fonts. That would be those that are listed in builtin_aliases in pango-utils.c, I guess. 2008-05-26 Tor Lillqvist * pango/pangowin32-private.h * pango/pangowin32-fontmap.c: Drop the PangoWin32FontMap::n_fonts field which wasn't really used for anything. Rename the field PangoWin32Family::font_entries to faces. Rename some local variables to be more consistently named. 2008-05-26 Tor Lillqvist * pango/pangowin32.c * pango/pangowin32-fontmap.c: Some whitespace cleanup. 2008-05-26 Tor Lillqvist * pango/pangowin32-private.h * pango/pangowin32-fontmap.c: Drop the PangoWin32SizeInfo struct and the hash table mapping from the relevant part of a LOGFONTW struct to a list of PangoWin32SizeInfos in PangoWin32FontMap. It seems that each list was always of length one anyway, so instead just map directly to each such single list member, also a LOGFONTW struct. Actually I wonder whether this map is needed at all, will have to experiment. 2008-05-23 Tor Lillqvist * pango/pango-utils.c: Revert the addition of the alias "sansserif". The correct name is "sans-serif", and "sans" should also be accepted. If something uses "sansserif" it is wrong. (I saw it in some sample svg files in librsvg.) 2008-05-20 Tor Lillqvist * pango/pango-utils.c: Add alias "sansserif" to the builtin aliases on Win32. Same contents as "sans" and "sans-serif". 2008-05-20 Tor Lillqvist Bug 523193 – Vista Hebrew, CJK fonts to builtin win32 pango aliases Patch by Daniel Atallah. * pango/pango-utils.c: Add fonts from Vista to the builtin aliases. Also add Lucida Sans Unicode and Lucida Console. 2008-05-13 Behdad Esfahbod * === Released 1.21.1 === * configure.in: Version 1.21.1 * NEWS: Updated. 2008-05-03 Behdad Esfahbod Bug 531242 – Leak when calculating win32 font coverage Patch from Daniel Atallah * pango/pangowin32.c (pango_win32_font_calc_coverage): Plug leak. 2008-04-30 Behdad Esfahbod Bug 530757 – Docs build breaks because of hash sign in URL in * docs/tmpl/main.sgml: Make it build. 2008-04-30 Behdad Esfahbod Bug 530685 – Pango no longer using cairo as a backend as of pango 1.19.4 * configure.in: Be more verbose about cairo font backends found. 2008-04-28 Behdad Esfahbod * pango-view/viewer-main.c (main): Wait for convert(1) to finish. Patch by Jamie Guinan. 2008-04-24 Behdad Esfahbod Part of Bug 97545 – Make pango_default_break follow Unicode TR #29 * docs/tmpl/main.sgml: * pango/break.c (pango_default_break): * pango/pango-break.h: * tests/testboundaries_ucd.c (main): Add new PangoLogAttr member is_word_boundary, that implements UAX#29's Word Boundaries semantics. Test fully passes for it. 2008-04-24 Behdad Esfahbod Part of Bug 97545 – Make pango_default_break follow Unicode TR #29 Patch from Noah Levitt * tests/Makefile.am: * tests/runtests.sh.in: * tests/testboundaries_ucd.c (count_attrs), (parse_line), (attrs_equal), (make_test_string), (do_test), (main): Add test driver for UAX#14 and UAX#29 test data from Unicode Character Databse. Just drop the following four files in pango/tests for it to use them: GraphemeBreakTest.txt LineBreakTest.txt SentenceBreakTest.txt WordBreakTest.txt 2008-04-24 Behdad Esfahbod Part of Bug 97545 – Make pango_default_break follow Unicode TR #29 * pango/break.c (pango_default_break): Make Grapheme Boundary code exactly follow UAX#29 of Unicode 5.1.0 2008-04-24 Behdad Esfahbod * pango/break.c (pango_default_break): Update GraphemeBoundary to Unicode 5.1.0. Pretty close now. Passes the TR14 test. 2008-04-24 Behdad Esfahbod * pango/break.c (pango_default_break): Allow line break at the end of string. UAX#14 rule LB3 says "Always break at the end of text." With this test, Pango passes the LineBreakTest.txt, sans the bug in the test file that I've already reported to unicoRe. 2008-04-21 Behdad Esfahbod * === Released 1.21.0 === * configure.in: Version 1.21.0 * NEWS: Updated. 2008-04-21 Behdad Esfahbod * ChangeLog.pre-1-20: * Makefile.am: Wrap ChangeLog. 2008-04-21 Behdad Esfahbod * docs/pango-docs.sgml: * docs/pango-sections.txt: * docs/tmpl/bidi.sgml: * docs/tmpl/main.sgml: * docs/tmpl/vertical.sgml: * pango/pango-bidi-type.c (pango_log2vis_get_embedding_levels), (pango_unichar_direction), (pango_get_mirror_char): * pango/pango-bidi-type.h: * pango/pango-types.h: * pango/pango-utils.c: Group bidi stuff together. Add a section in the docs for them. 2008-04-21 Behdad Esfahbod Bug 515432 – Add function to get bidirectional character type of a unicode character Patch from Jürg Billeter * docs/pango-sections.txt: * docs/tmpl/layout.sgml: * docs/tmpl/main.sgml: * docs/tmpl/pangocairo.sgml: * pango/Makefile.am: * pango/pango-bidi-type.c (pango_bidi_type_for_unichar): * pango/pango-bidi-type.h: * pango/pango-types.h: * pango/pango-utils.c (pango_log2vis_get_embedding_levels), (pango_unichar_direction): * pango/pango.def: * pango/pango.h: New public API: enum PangoBidiType; pango_bidi_type_get_type() pango_bidi_type_for_unichar() 2008-04-21 Behdad Esfahbod Bug 517119 – Add pango_cairo_create_context() * docs/pango-sections.txt: * pango/pangocairo-context.c (pango_cairo_create_context), (pango_cairo_create_layout): * pango/pangocairo.def: * pango/pangocairo.h: New public API: pango_cairo_create_context() 2008-04-21 Behdad Esfahbod Bug 404416 – pango_layout_get_baseline or something * docs/pango-sections.txt: * pango/pango-layout.c (pango_layout_get_baseline): * pango/pango-layout.h: * pango/pango.def: New public API: pango_layout_get_baseline() 2008-04-21 Behdad Esfahbod Bug 474706 – cairo hexbox looks ugly * pango/pangocairo-font.c (_pango_cairo_font_private_get_hex_box_info): Tweak minifont size a bit. Also propagate font options correctly. 2008-04-21 Behdad Esfahbod Bug 490669 – add some attribute aliases * docs/pango_markup.sgml: * pango/pango-markup.c (span_parse_func): Add fgcolor, bgcolor, font, font_size, font_weight, font_variant, ... 2008-04-21 Behdad Esfahbod Bug 501334 – Make pango_cairo_[show_]*[_path]() functions preserve current point * pango/pangocairo-render.c (_pango_cairo_renderer_draw_box_glyph), (_pango_cairo_renderer_draw_unknown_glyph), (acquire_renderer), (release_renderer), (save_current_point), (restore_current_point), (_pango_cairo_do_glyph_string), (_pango_cairo_do_layout_line), (_pango_cairo_do_layout): Preserve current point around pango_cairo_* functions(). 2008-04-21 Behdad Esfahbod * configure.in: * pango/pangocairo-atsui.h: * pango/pangocairo-atsuifont.c (pango_cairo_atsui_font_create_font_face): * pango/pangocairo-fontmap.c (pango_cairo_font_map_new_for_font_type): Require cairo >= 1.6.4. Remove compat cruft that were added to support older cairo that had cairo-atsui instead of cairo-quartz-font. 2008-04-21 Behdad Esfahbod Bug 514617 – Add pango_cairo_font_map_set_default() * docs/pango-sections.txt: * docs/tmpl/pangocairo.sgml: * pango/pangocairo-fontmap.c (pango_cairo_font_map_get_default), (pango_cairo_font_map_set_default): * pango/pangocairo.def: * pango/pangocairo.h: New public API: pango_cairo_font_map_set_default() 2008-04-21 Behdad Esfahbod * docs/pango-docs.sgml: Add index of new API in 1.22. 2008-04-21 Behdad Esfahbod Bug 511183 – Add pango_attr_type_get_name() * docs/pango-sections.txt: * docs/tmpl/text-attributes.sgml: * pango/pango-attributes.c (pango_attr_type_register), (pango_attr_type_get_name): * pango/pango-attributes.h: * pango/pango.def: New public API: pango_attr_type_get_name() 2008-04-20 Behdad Esfahbod * pango/pango-ot-info.c (pango_ot_info_get_gdef), (pango_ot_info_get_gsub), (pango_ot_info_get_gpos): Write out HarfBuzz errors as hex. 2008-04-09 Behdad Esfahbod * === Released 1.20.2 === * configure.in: Version 1.20.2 * NEWS: Updated. 2008-04-09 Behdad Esfahbod * pango/pangocairo-atsui.h: * pango/pangocairo-atsuifont.c: Really fix build without cairo-atsui. 2008-04-08 Behdad Esfahbod * === Released 1.20.1 === * configure.in: Version 1.20.1 * NEWS: Updated. 2008-04-08 Behdad Esfahbod Bug 491553 – Update to Unicode 5.1.0 * docs/tmpl/scripts.sgml: * pango/mini-fribidi/README: * pango/mini-fribidi/fribidi_tab_char_type_2.i: * pango/pango-script-lang-table.h: * pango/pango-script.h: Update to Unicode Character Databse 5.1.0. This adds new entries to the PangoScript enum. Requires glib >= 2.16.3 for the update Unicode data there, but not bumping the requirement in a stable point release. 2008-04-08 Behdad Esfahbod * configure.in: * pango/pangocairo-atsui.h: * pango/pangocairo-atsuifont.c: Try making our OS X stuff compile with latest cairo 1.5.x snapshots that renamed cairo-atsui to cairo-quartz-font. 2008-04-08 Behdad Esfahbod * configure.in: Fix check for Carbon/Carbon.h availability. Oops! 2008-03-21 Behdad Esfahbod * pango/pango-layout.c (get_x_offset): When doing ALIGN_CENTER, round line offset to whole pixel if hinting. 2008-03-11 Richard Hult * pango/pangocairo-atsuifont.c (_pango_cairo_atsui_font_new): Adapt the shear matrix for synthesized italic to work with cairo 1.5.13+, where the quartz surface has been fixed for transformed text. Local Variables: coding: utf-8 End: vim: encoding=utf-8: