2006-02-06 Behdad Esfahbod * === Released 1.11.4 === * configure.in: Version 1.11.4 * NEWS: Updated. 2006-02-06 Behdad Esfahbod As cairo 1.2 seems to be delayed infinitely, make all cairo HEAD API that we use conditional, to make a release. * configure.in: Depend on cairo 1.0.0 again. Check for cairo_scaled_font_get_*() and cairo_scaled_font_text_extents() availability. * pango/pangocairo-font.c: Work around if the above functions are not available. 2006-02-06 Behdad Esfahbod * pango/pango-utils.c (pango_matrix_copy, pango_matrix_free): If NULL is passed to _copy, return NULL with no warning. If NULL is passed to _free, do nothing with no warning. Docs updated. * examples/viewer-pangoxft.c (render_callback): Multiply x,y by PANGO_SCALE, as pango_xft_render_layout takes coordinates in Pango units weirdly enough. * viewer-pangocairo.c (render_callback): Do cairo_translate, to draw correct bounding boxes for x,y nonzero. * examples/renderdemo.c (do_output): If context has an all-zero matrix set, interpret it as backend does not support transformation, so warn on --rotate, and do not try to rotate. * examples/viewer-pangox.c (pangox_view_get_context): Set an all-zero matrix on context, to negotiate that we don't support transformations. 2006-02-06 Behdad Esfahbod Bug 328067 – Install pango-view Added a rather generic framework for a pango-view example. All backends have their own pango*-view built, and a pango-view binary is built too, that can choose backend via --backend. This one is installed in bindir. * examples/Makefile.am: Updated, to build pangox-view, pangoft2-view, pangoxft-view, pangocairo-view, and pango-view. * examples/viewer.h, examples/viewer-x.c, examples/viewer-x.h examples/viewer-cairo.c, examples/viewer-cairo.h, examples/viewer-main.c, examples/viewer-pangox.c, examples/viewer-pangoft2.c, examples/viewer-pangoxft.c, examples/viewer-pangocairo.c, examples/pango-view.c, examples/pango-xview.c, examples/pango-ft2view.c, examples/pango-xftview.c, examples/pango-cairoview.c: Added. * examples/cairoview.c, examples/xftview.c, examples/pangoft2topgm.c, examples/viewer-qt.cc, examples/viewer-qt.h: Removed. * configure.in: Check for Cairo Xlib backend, also AC_DEFINE various backend bits. 2006-02-06 Behdad Esfahbod * pango/pango-fontmap.c (pango_font_map_real_load_fontset): Warn only once per font-description that cannot be loaded. * pango/pangox.c: Make it not crash if no font found, like other backends. 2006-02-05 Behdad Esfahbod * configure.in: AC_DEFINE various version components. * *.c: Change various const return types to G_CONST_RETURN. 2006-02-04 Behdad Esfahbod Bug 324408 – tab can result in 0 characters * pango/pango-layout.c (shape_tab): Make sure there is at least an space-width of space between tab-aligned text and the text before it. 2006-02-04 Behdad Esfahbod Bug 329528 – implement --wrap in examples/renderdemo.c Patch from Antoine Dopffer. * examples/renderdemo.c: Add --wrap option. 2006-02-04 Behdad Esfahbod * pango/pango-types.h: Change PANGO_GLYPH_EMPTY to 0x0FFFFFFF, to not overlap with PANGO_GLYPH_UNKNOWN_FLAG (0x10000000). Define PANGO_GET_UNKNOWN_GLYPH(wc) that simply returns wc|PANGO_GLYPH_UNKNOWN_FLAG. * docs/pango-sections.txt, docs/tmpl/glyphs.sgml: Document new symbols. * modules/*/*.c: Use PANGO_GET_UNKNOWN_GLYPH instead of various backend-specific functions. * pango/pangofc-font.c, pango/pangoft.c, pango/pangoxft-font.c, * pango/pangowin32.c, pango/pangox.c: Suggest using PANGO_GET_UNKNOWN_GLYPH in docs. * pango/pangofc-font.h: Deprecate pango_fc_font_get_unknown_glyph(). * pango/pangowin32.h: Deprecate pango_win32_get_unknown_glyph(). 2006-02-04 Behdad Esfahbod * pango/pangoft2.c, pango/pangoft2-render.c: Move the FT_IS_SFNT(font) logic into pango_ft2_get_unknown glyph. 2006-02-03 Behdad Esfahbod * configure.in: AC_DEFINE the module version, such that pango-querymodules gets rebuilt after module version update. * pango/Makefile.am: Do not set -DMODULE_VERSION. 2006-02-03 Behdad Esfahbod * configure.in: Bump pango_module_version to 1.5.0. 2006-02-03 Behdad Esfahbod * Makefile.am: Distribute autogen.sh. 2006-02-02 Behdad Esfahbod Finish the 'glyph 0' work of this morning: PANGO_GLYPH_NULL that I introduced is renamed to PANGO_GLYPH_EMPTY. It means, no rendering should be performed. The backends however, still return 0 if a glyph is not found. The modules then are free to replace this 0 glyph with an unknown character. * modules/arabic/arabic-fc.c, modules/basic/basic-atsui.c, modules/basic/basic-fc.c, modules/basic/basic-win32.c, modules/basic/basic-x.c, modules/hangul/hangul-fc.c, modules/hebrew/hebrew-fc.c, modules/indic/indic-fc.c, modules/khmer/khmer-fc.c, modules/syriac/syriac-fc.c, modules/thai/thai-fc.c, modules/tibetan/tibetan-fc.c, pango/pangox.c, pango/pangowin32.c: Adapt to above change. Backends return 0 if glyph not found. * pango/fonts.c (pango_font_get_glyph_extents): If font is not usable (!PANGO_IS_FONT (font)), return the generic UNKNOWN_GLYPH metrics. This is used when your backends are misconfigured and you don't find *any* font at all. * pango/pango-engince.c: Add unknown glyphs in fallback shaper, instead of empty glyphs. * pango/shape.c: Call the fall-back shaper if shaper fails, instead of generating a dummy glyph string ourselves. * pango/pango-layout.c (imposed_shape, shape_tab): Use PANGO_GLYPH_EMPTY instead of glyph 0. * pango/pango-renderer.c (pango_renderer_draw_glyph): No-op on PANGO_GLYPH_EMPTY instead of glyph 0. * pango/pangocairo-atsuifont.c, pango/pangocairo-win32font.c, pango/pangocairo-fcfont.c, pango/pangocairo-font.c, pango/pangocairo-private.h: install_font returns a boolean now. * pango/pangocairo-render.c, pango/pangoxft-render.c: Handle font and hex-box failures more gracefully by drawing a generic unknown-box glyph. * pango/pangoft2.c, pango/pangoft2-render.c: Draw the generic unknown-box glyph here too. For unknown glyphs though, if the font is TTF (FT_IS_SFNT), use the zero-indexed glyph, otherwise, draw a box of proper size. 2006-02-02 Behdad Esfahbod * pango/pangoft2.c: Do unknown glyph extents here too. 2006-02-02 Behdad Esfahbod * pango/pangoxft-font.c, pango/pangoxft-render.c: Guard Xft backend agains crashes too. 2006-02-02 Behdad Esfahbod * modules/arabic/arabic-fc.c, modules/basic/basic-atsui.c, modules/basic/basic-fc.c, modules/basic/basic-win32.c, modules/basic/basic-x.c, modules/hangul/hangul-fc.c, modules/hebrew/hebrew-fc.c, modules/indic/indic-fc.c, modules/khmer/khmer-fc.c, modules/syriac/syriac-fc.c, modules/thai/thai-fc.c, modules/tibetan/tibetan-fc.c, pango/fonts.c, pango/pango-engine-private.h pango/pango-types.h, pango/pangocairo-fcfont.c, pango/pangocairo-font.c, pango/pangocairo-private.h, pango/pangocairo-render.c, pango/pangofc-decoder.c, pango/pangofc-font.c, pango/pangoft2-render.c, pango/pangoft2.c pango/pangowin32.c, pango/pangox.c, pango/pangoxft-font.c pango/pangoxft-private.h, pango/pangoxft-render.c, pango/shape.c: Use PANGO_GLYPH_NULL for when no glyph should be drawn. Use PANGO_GLYPH_UNKNOWN_FLAG for all backends to mark unknown flags. There's no need for pango_font_get_unknown_glyph() anymore, since all backends know how to handle PANGO_GLYPH_UNKNOWN_FLAG gracefully. We may add that in the future however. (fixes bug #73147, closes bug #329524) 2006-02-02 Behdad Esfahbod * pango/pango-utils.c (read_config_file): Fix GKeyFile transition. 2006-02-01 Behdad Esfahbod * configure.in: AC_DEFINE (HAVE_CAIRO_PNG). * examples/cairoview.c: Save to PNG if cairo has PNG support and --output is given. 2006-02-01 Behdad Esfahbod * pango/pangocairo-font.c: For mini_font, set family to "monospace", not "mono-space" which didn't work! 2006-02-01 Behdad Esfahbod * examples/xftview.c: Add a default_substitute function to set correct dpi on the pattern. 2006-02-01 Behdad Esfahbod * examples/viewer-x.c, examples/viewer-x.h: Driver for X-based viewer. Used by pangocairo-view and pangoxft-view currently. * examples/Makefile.am, examples/cairoview.c, examples/xftview.c, examples/pangoft2topgm.c, examples/renderdemo.h, examples/renderdemo.c: Adjust to the above change. 2006-02-01 Behdad Esfahbod * examples/viewer.c: Removed. 2006-02-01 Behdad Esfahbod * pango/pango-utils.c, pango/pangocairo-font.c: Initialize warning history structs more explicitly. (bug #329459) 2006-01-31 Behdad Esfahbod * examples/syriac.utf, examples/tibetan.utf, examples/muru.utf, examples/dev-example.utf: Removed/renamed. * examples/test-arabic.txt, examples/test-devanagari.txt, examples/test-ipa.txt, test-syriac.txt, test-tamil.txt, test-tibetan.txt: Added. * examples/Makefie.am: Change pango-cairoview, pango-xftview, pangoft2topgm to pangocairo-view, pangoxft-view, and pangoft2-topgm respectively. 2006-01-31 Behdad Esfahbod * pango/pangocairo-font.c (_pango_cairo_get_hex_box_info): Use cairo_scaled_font_text_extents instead of cairo_text_extents. 2006-01-31 Behdad Esfahbod * configure.in: Require cairo >= 1.1.1. 2006-01-31 Behdad Esfahbod * pango/pangocairo-private.h, pango/pangocairo-font.c, pango/pangocairo-render.c: Hint hexbox. Also draw a single-row hexbox for very small sizes. 2006-01-31 Behdad Esfahbod Bug 328313 – Use GKeyFile for parsing pangorc Patch from Antoine Dopffer. * pango/pango-utils.c (read_config_file): Use GKeyFile to parse config file. 2006-01-31 Behdad Esfahbod * pango/fonts.c, pango/glyphstring.c pango/pango-attributes.c, pango/pango-color.c, pango/pango-context.c, pango/pango-coverage.c, pango/pango-fontset.c, pango/pango-glyph-item.c, pango/pango-item.c, pango/pango-layout.c, pango/pango-ot-buffer.c, pango/pango-ot-info.c, pango/pango-ot-ruleset.c, pango/pango-script.c, pango/pango-tabs.c pango/pango-utils.c, pango/pangocairo-fcfontmap.c, pango/pangocairo-fontmap.c, pango/pangox-fontcache.c, pango/pangoxft-render.c: Improve documentation for functions allocating memory, on how the object should be freed.