2007-07-31 Behdad Esfahbod Bug 462137 – memory corruption in pango_default_break * pango/break.c (pango_default_break): Handle the case of an empty string correctly. 2007-07-27 Behdad Esfahbod * === Released 1.16.5 === * configure.in: Version 1.16.5 * NEWS: Updated. 2007-06-02 Behdad Esfahbod Bug 443206 – PANGO_SCRIPT_UNKNOWN should not cause a run break Patch from Martin Hosken * pango/pango-script.c: Treat Unknown script like Common and other non-"real" scripts. 2007-05-10 Behdad Esfahbod * ChangeLog.pre-1-16: Split ChangeLog. 2007-05-10 Behdad Esfahbod * pango/pangofc-fontmap.c (pango_fc_font_description_from_pattern), (pango_fc_face_describe): Don't set gravity in pango_fc_font_description_from_pattern() if it was not set on the pattern. This is a bit different from other properties, but that really is how gravity works (unlike say weight that not having it said means normal weight). 2007-05-08 Behdad Esfahbod Bug 416515 – Time is not aligned with date on vertical panel * pango/pango-context.c (itemize_state_init), (itemize_state_update_for_new_run): centered_baseline should only be set from context->resolved_gravity and never changed through markup. This means that pango_context_set_base_gravity has no equivalent markup. Doesn't sound limiting to me: you need to rotate the layout to get real vertical, so it's not just a matter of markup anyway. At least not at this point. 2007-05-07 Behdad Esfahbod Bug 436154 – Error building the pango.modules file while cross compiling * modules/Makefile.am: Make local pango.module generation work with cross-compilation. 2007-05-05 Richard Hult Bug 434160 - [atsui] Italic versions of some faces can't be created * pango/pangoatsui-fontmap.c: * pango/pangoatsui-private.h: * pango/pangocairo-atsuifont.c: Follow the other backends and create italic faces when they are not available. Apply synthetic italic in two cases, when the font manager hands out italic faces that are not in fact italic, and for the ones we've created ourselves. 2007-05-02 Behdad Esfahbod * pango/pango-layout.c (process_line): Set is_wrapped to true on BREAK_EMPTY_FIT too. 2007-05-02 Behdad Esfahbod * pango/pango-layout-private.h: Remove stale prototype of _pango_layout_iter_get_line_readonly(). 2007-05-01 Behdad Esfahbod * pango/pango-layout.c (get_items_log_attrs): Add note about how we should not be using pango_break() here. 2007-04-28 Mathias Hasselmann * pango-view/viewer-render.c (make_layout), (parse_alignment), (parse_options): Add option for testing text alignment. 2007-04-30 Behdad Esfahbod * pango/opentype/Makefile.am: Link freetype to harfbuzz-dump, for those systems that don't track dependencies automatically. 2007-04-30 Behdad Esfahbod * docs/pango-sections.txt: * docs/tmpl/glyphs.sgml: Add PANGO_UNITS_ROUND to docs. 2007-04-30 Behdad Esfahbod * pango/pango-types.h: Move PANGO_UNITS_ROUND here... * pango/pangofc-private.h: ...from here. * pango/pango-gravity.c: Document that pango_gravity_to_rotation() returns angle in radians but pango_matrix_rotate() takes degrees. * pango/pango-layout.c (pango_layout_run_get_extents): * pango/pango-renderer.c (pango_renderer_draw_layout_line): Retain metrics hinting when centering baseline (used for Latin, etc in vertical mode). * pango/pangocairo-fcfont.c (pango_cairo_fc_font_get_metrics), (pango_cairo_fc_font_glyph_extents_cache_init): Respect metrics hinting setting when moving glyphs around for vertical writing. * pango/pangocairo-fcfont.c (_pango_cairo_fc_font_new): Apply the gravity rotation before the pattern's matrix, such that vertical text gets correct italic direction. * pango/pangocairo-font.c (_pango_cairo_font_get_hex_box_info): Make hexbox font inherit most properties from the current font. That is, bold hexbox digits for a bold font, etc. 2007-04-30 Tor Lillqvist * pango/pangowin32-fontmap.c (get_family_nameA, get_family_nameW): A font name in encoding UCS4_ENCODING_ID actually is in UTF-16, not UCS-4. (#429397, Akihiro Okamura) 2007-04-27 Richard Hult * modules/basic/basic-atsui.c (basic_engine_shape): Correct the signature by making PangoAnalysis const, fixes build warning. 2007-04-27 Richard Hult * pango/pangocairo-atsuifont.c (pango_cairo_atsui_font_get_metrics): Use maxAdvanceWidth instead of avgAdvanceWidth, the latter is 0 for many fonts. This is a temporary solution, see bug #433805 for details. 2007-04-27 Behdad Esfahbod * === Released 1.16.4 === * configure.in: Version 1.16.4 * NEWS: Updated. 2007-04-27 Behdad Esfahbod Bug 432991 – developer docs for libpango are broken * configure.in: Add --disable-doc-cross-references. * docs/Makefile.am: Make sure --disable-doc-cross-references is set in order to make dist. * Makefile.am: Add --disable-doc-cross-references to DISTCHECK_CONFIGURE_FLAGS. 2007-04-23 Behdad Esfahbod * === Released 1.16.3 === * configure.in: Version 1.16.3 * NEWS: Updated. 2007-04-18 Behdad Esfahbod * pango/pangocairo-font.c (_pango_cairo_font_get_hex_box_info): Improved hexbox position. 2007-04-12 Behdad Esfahbod * pango/pango-ot-buffer.c (apply_gpos_ltr), (apply_gpos_rtl), (pango_ot_buffer_output): * pango/pango-types.h: * pango/pangofc-font.c (pango_fc_font_kern_glyphs): * pango/pangofc-private.h: Quantize kerning adjustment, otherwise all the metrics hinting effort will be ruined by a non-whole-pixel kerning value. In the future we want to take lsb_delta and rsb_delta into the game before quantizing the adjustment here, but we don't have those values handy right now. 2007-04-09 Behdad Esfahbod * === Released 1.16.2 === * configure.in: Version 1.16.2 * NEWS: Updated. 2007-04-03 Behdad Esfahbod * pango/opentype/harfbuzz-gdef.c (_HB_GDEF_Check_Property): * pango/opentype/harfbuzz-gpos.c (HB_Done_GPOS_Table), (Lookup_PairPos): * pango/opentype/harfbuzz-open.c (Get_Class1): Copy fixes from harfbuzz stable branch. Includes a leak fix, a kerning fix, and an array out-of-bound access fix. 2007-04-01 Behdad Esfahbod * modules/Makefile.am: Add EXEEXT around to make it build on OS/2 Patch from Dave Yeo. 2007-03-18 Richard Hult Bug 419262 - Don't create coverage every time it's asked for * pango/pangoatsui.c: (pango_atsui_font_get_coverage): * pango/pangoatsui-fontmap.c: Pass around a PangoATSUIFace instead of the postscript name string. Move the coverage creation from the font to the face, and get the coverage from the face instead of creating it every time. * pango/pangocairo-atsui.h: * pango/pangocairo-atsuifont.c: (_pango_cairo_atsui_font_new): Use the face instead of the postscript name. * pango/pangoatsui-private.h: * pango/pangocairo-atsuifontmap.c: Add getters for the postscript name and coverage for the face. 2007-03-14 Tor Lillqvist * pango/pangowin32-fontmap.c: Add missing declaration of pango_win32_family_get_type(). (#417946, Ivan Wong) 2007-03-12 Behdad Esfahbod * docs/pango-sections.txt: * pango/pangowin32-fontmap.c: * pango/pangowin32.c: Add new symbols to docs. 2007-03-12 Behdad Esfahbod * === Released 1.16.1 === * configure.in: Version 1.16.1 * NEWS: Updated. * README: Updated. 2007-03-10 Tor Lillqvist * pango/pangowin32-private.h * pango/pangowin32.c * pango/pangowin32-fontcache.c * pango/pangowin32-fontmap.c * pango/pangocairo-win32font.c * pango/pangowin32.def: Move functions defined in one file and used in another to the file where used, make them static, and drop from pangowin32-private.h. Prefix all private non-static functions with underscore. Also functions used only by the pangocairo DLL are considered private. (#120195) 2007-03-10 Tor Lillqvist * README: Uniscribe is optional only at run-time. 2007-03-07 Tor Lillqvist * configure.in * modules/basic/Makefile.am * modules/basic/basic-win32.c: Make building with Uniscribe (using the header) mandatory. Mingw's w32api headers do include usp10.h now so one doesn't need to copy it from the Platform SDK any longer. At runtime using Uniscribe is still optional, depending on whether usp10.dll is found or not. I think it isn't necessarily present on Windows 2000 machines, for instance. * modules/basic/basic-win32.c (lang_name): Instead of a hardcoded case statement, use GetLocaleInfo() to get the language ISO639 code. (charset_name): Remove, unused. (itemize_shape_and_place, uniscribe_shape, basic_engine_shape): Constify the PangoAnalysis parameter to match the prototype of PangoEngineShapeClass::script_shape(). 2007-03-03 Behdad Esfahbod Bug 414297 – Fails to build with --enable-static --with-included-modules in thai lang module Patch from Loïc Minier * modules/thai/Makefile.am: Include LIBTHAI_LIBS in static module too. 2007-02-27 Behdad Esfahbod Bug 412654 – SED variable undefined in the `libtool --config' output used by configure * configure.in: export SED before calling libtool 2007-02-26 Tor Lillqvist This change was supposed to go in the trunk before 1.16.0, but it didn't quite get there in time. So, to have a clear cut for this somewhat fundamental change in underlying workings (although there should be no user-visible changes), I will build and distribute Win32 binaries only starting from 1.16.1. Use wide character API for fonts on Windows. Rename functions and variables that deal with LOGFONTW structs to emphasize this. (#407315) * pango/pangowin32.c * pango/pangowin32-fontcache.c * pango/pangowin32-fontmap.c: Use LOGFONTW all over the place instead of LOGFONT, and adapt code accordingly. Use wide character Win32 API. * pango/pangowin32.c (pango_win32_font_neww): Renamed from pango_win32_font_new(), as it now takes a LOGFONTW pointer. This is a private function and can be renamed though it is exported as it is used from the pangocairo DLL. (pango_win32_font_logfont): Mention explicitly in doc comment that it returns a LOGFONTA, and recommend to use pango_win32_font_logfontw() instead. (pango_win32_font_logfontw): New function. * pango/pangowin32-fontcache.c (pango_win32_font_cache_load): Must keep this function that takes a LOGFONTA pointer as it is declared in the public header. (pango_win32_font_cache_loadw): New public function that takes a LOGFONTW pointer. * pango/pangowin32-fontmap.c (pango_win32_font_description_from_logfont): Mention explicitly in the doc comment that it takes a LOGFONTA pointer. (pango_win32_font_description_from_logfontw): New public function that takes a LOGFONTW pointer. (pango_win32_make_matching_logfontw): Rename from pango_win32_make_matching_logfont() to emphasize it takes a LOGFONTW pointer. * pango/pangowin32.h: Declare new public functions. * pango/pangowin32-private.h: Declare new private functions, drop removed ones. * pango/pangocairo-win32font.c (_pango_cairo_win32_font_new): Simplify now that we call pango_win32_make_matching_logfontw(). * pango/pangowin32.def: Add new functions, rename internal functions that now use LOGFONTW. 2007-02-26 Tor Lillqvist Fix brokenness in the code that tries to ensure that all fonts also have italic variants. Now the code hopefully actually does what it was supposed to. (Which is not necessarily the right thing to do, though. It can be argued that we should not list synthesized italic font styles, we should just silently generate them if asked for. We don't want synthesized italic (or synthesized bold) styles showing up in the font selector. They don't show up when using a fontconfig-based Pango backend either.) (#110521) * pango/pangowin32-fontmap.c (logfont_nosize_hash, logfont_nosize_equal): Don't use the lfItalic field as such, just its nonzeroness. When being enumerated, italic fonts show up with lfItalic=255, but our code looks up italic versions of fonts by passing a key LOGFONT with lfItalic=1. (first_match): Not needed any more, see below. (ensure_italic): This is now called on the entries in the size_infos hash table, not families. The code used to randomly look for the first matching font in size_infoswith the family name being handled. (pango_win32_font_map_init): Iterate through the size_infos hash table with ensure_italic, not through the families table. * pango/pangowin32-fontcache.c (logfontw_hash, logfontw_equal): Look at just nonzeroness of lfItalic here, too. Local Variables: coding: utf-8 End: vim: encoding=utf-8: