2007-10-29  Behdad Esfahbod  <behdad@gnome.org>

	* === Released 1.19.0 ===

	* configure.in: Version 1.19.0

	* NEWS: Updated.

2007-10-28  Behdad Esfahbod  <behdad@gnome.org>

	* pango/pango-script-lang-table.h:
	* tools/gen-script-for-lang-new.c:
	Sort scripts based on frequency.

	* tools/Makefile.am: Don't build anything by default.

2007-10-26  Murray Cumming  <murrayc@murrayc.com>

	* docs/pango_markup.sgml: Adds a link to 
	pango_font_description_from_string() so that the font_desc 
	attribute is not so mysterious. Bug #490661.

2007-10-26  Behdad Esfahbod  <behdad@gnome.org>

	* tools/Makefile.am:
	* tools/gen-script-for-lang-new.c:
	Functional dup of gen-script-for-lang that uses FcGetLangs() and
	FcCharSetForLang() instead of parsing .orth files.

2007-10-26  Behdad Esfahbod  <behdad@gnome.org>

	* pango/pango-script-lang-table.h: Update for fontconfig-2.4.91.

2007-10-25  Behdad Esfahbod  <behdad@gnome.org>

	* pango/pangofc-fontmap.c (pango_fc_font_map_get_patterns):
	Call FcFontSetDestroy() instead of FcFontSetSortDestroy().
	These days they are the same, but previously the latter was
	not freeing the actual patterns.  But we don't need the
	sort patterns, so this retroactively fixes a leak in older
	versions!

2007-10-25  Behdad Esfahbod  <behdad@gnome.org>

	* pango/opentype/*: Even more cleanup and more type renames.

2007-10-25  Behdad Esfahbod  <behdad@gnome.org>

	* pango/opentype/*: More cleanup, remove redundant error types.

2007-10-24  Behdad Esfahbod  <behdad@gnome.org>

	* pango/opentype/*: Rename ftglue.c to harfbuzz-impl.c and more
	type renames and moving code around.

2007-10-24  Behdad Esfahbod  <behdad@gnome.org>

	* pango/opentype/*: New header file harfbuzz-global.h.  Rename
	FT_* int types to HB_* types.

2007-10-24  Behdad Esfahbod  <behdad@gnome.org>

	* pango/opentype/harfbuzz-gpos-private.h:
	* pango/opentype/harfbuzz-gsub-private.h:
	Add commented-out dummy struct for Extension lookups.

2007-10-24  Behdad Esfahbod  <behdad@gnome.org>

	Bug 478865 – Drastically reduce number of PangoFont objects created
	for rotating text

	* pango/pangofc-fontmap.c (fontset_hash_key_hash),
	(get_scaled_size), (pango_fc_font_map_get_patterns):
	Use a Pango-unit int for scaled-size instead of double.
	Merges even more queries...

2007-10-24  Behdad Esfahbod  <behdad@gnome.org>

	Bug 478865 – Drastically reduce number of PangoFont objects created
	for rotating text

	* pango/pangofc-fontmap.c (fontset_hash_key_equal),
	(fontset_hash_key_hash), (fontset_hash_key_copy),
	(get_scaled_size), (pango_fc_font_map_get_patterns):
	Only keep scaled-size in fontset hash, instead of unscaled-size
	and context matrix.

2007-10-24  Behdad Esfahbod  <behdad@gnome.org>

	Bug 471568 – Optimizations in _pango_cairo_update_context()

	* pango/pangocairo-context.c (_pango_cairo_update_context):
	Skip change notification about matrix changes if merged font
	options for the context set metrics hinting to off.

2007-10-24  Behdad Esfahbod  <behdad@gnome.org>

	Bug 489909 – pango_cairo_update_context() should ignore matrix
	translation

	* pango/pangocairo-context.c (_pango_cairo_update_context):
	Just compare the first four doubles of matrices for change
	notification purposes.

2007-10-24  Behdad Esfahbod  <behdad@gnome.org>

	Bug 486951 – ChangeLog.pre-1-18

	* Makefile.am:
	* ChangeLog.pre-1-18:
	Split ChangeLog.

2007-10-24  Behdad Esfahbod  <behdad@gnome.org>

	* pango/glyphstring.c (pango_glyph_string_copy),
	(pango_glyph_string_free):
	Fix another Oops of mine from recent commits.

2007-10-24  Behdad Esfahbod  <behdad@gnome.org>

	Bug 472924 – Mark some classes abstract

	* pango/fonts.c:
	* pango/pango-fontmap.c:
	* pango/pangofc-font.c:
	* pango/pangofc-fontmap.c:
	Public API chance:
	Mark the following types as abstract:

		PangoFont
		PangoFontFace
		PangoFontFamily
		PangoFontMap
		PangoFcFont
		PangoFcFontMap

2007-10-24  Behdad Esfahbod  <behdad@gnome.org>

	Bug 472303 – Make PANGO_GLYPH_EMPTY and PANGO_GLYPH_UNKNOWN_FLAG public

	* pango/pango-font.h: Make PANGO_GLYPH_EMPTY, PANGO_GLYPH_UNKNOWN_FLAG,
	and PANGO_GET_UNKNOWN_GLYPH() public.  Previously they were only
	defined for backend/engine implementations.

2007-10-24  Behdad Esfahbod  <behdad@gnome.org>

	Bug 471601 – Pass pango version information to fontconfig

	* pango/pangofc-fontmap.h:
	New public API:
	
		PANGO_FC_GRAVITY
		PANGO_FC_VERSION

	* pango/pangofc-fontmap.c (pango_fc_make_pattern):
	Set PANGO_FC_VERSION in pattern.

	* docs/pango-sections.txt:
	* docs/tmpl/pangofc-fontmap.sgml:
	Update.

2007-10-24  Behdad Esfahbod  <behdad@gnome.org>

	Bug 472629 – Add pango_renderer_get_layout(_line)

	* pango/pango-renderer.h:
	* pango/pango-renderer.c:
	New public API:

		pango_renderer_get_layout()
		pango_renderer_get_layout_line()

	* pango/pangocairo-render.c (pango_cairo_renderer_draw_shape),
	(release_renderer), (_pango_cairo_do_layout_line),
	(_pango_cairo_do_layout): Use above API to simplify
	shape_renderer implementation.

	* pango/pango.def:
	* docs/pango-sections.txt:
	* docs/tmpl/pango-renderer.sgml:
	Update.

2007-10-24  Behdad Esfahbod  <behdad@gnome.org>

	* pango/pango-attributes.c: Fix couple Oopses from my last
	commit.

2007-10-24  Behdad Esfahbod  <behdad@gnome.org>

	Bug 469641 – Initialize attribute start/end to [0..MAXUINT]

	* pango/pango-attributes.h:
	* pango/pango-attributes.c:
	New public API:
	
		pango_attribute_init()

	* pango/pango-attributes.c:
	(pango_attr_string_new), (pango_attr_language_new),
	(pango_attr_color_new), (pango_attr_int_new),
	(pango_attr_float_new), (pango_attr_size_new_internal),
	(pango_attr_font_desc_new), (pango_attr_shape_new_with_data):
	Initialize attributes using pango_attribute_init().

	* pango/pango.def:
	* docs/pango-docs.sgml:
	* docs/pango-sections.txt:
	* docs/tmpl/text-attributes.sgml:
	Update.

2007-10-24  Behdad Esfahbod  <behdad@gnome.org>

	Bug 471577 – GBoxed GType for PangoGlyphItem

	* pango/pango-glyph-item.h:
	* pango/pango-glyph-item.c:
	New public API:

		PANGO_TYPE_GLYPH_ITEM
		pango_glyph_item_copy()
		pango_glyph_item_get_type()

	* pango/pango-layout.c:
	New public API:
	
		pango_layout_iter_copy()

	* pango/fonts.c (pango_font_description_copy),
	(pango_font_description_copy_static),
	(pango_font_description_free), (pango_font_descriptions_free),
	(pango_font_metrics_ref), (pango_font_metrics_unref):
	* pango/glyphstring.c (pango_glyph_string_copy),
	(pango_glyph_string_free):
	* pango/pango-attributes.c (pango_attr_list_ref),
	(pango_attr_list_unref), (pango_attr_list_copy):
	* pango/pango-color.c (pango_color_copy), (pango_color_free):
	* pango/pango-item.c (pango_item_copy), (pango_item_free):
	* pango/pango-layout.c (pango_layout_line_ref),
	(pango_layout_line_unref), (pango_layout_iter_copy),
	(pango_layout_iter_free):
	* pango/pango-layout.h:
	* pango/pango-matrix.c (pango_matrix_copy), (pango_matrix_free):
	Update all copy/free functions to accept NULL as legitimate input.
	Previously all were g_return_[val_]if_fail()ing it.

	* pango/pango.def:
	* docs/pango-sections.txt:
	* docs/tmpl/glyphs.sgml:
	* docs/tmpl/layout.sgml:
	Update.

2007-10-22  Behdad Esfahbod  <behdad@gnome.org>

	Bug 471571 – Add pango_layout_iter_get_layout()

	* pango/pango-layout.h:
	* pango/pango-layout.c: 
	New public API:

		pango_layout_iter_get_layout()

	* docs/pango-sections.txt:
	* docs/tmpl/layout.sgml:
	* pango/pango.def:

2007-10-22  Behdad Esfahbod  <behdad@gnome.org>

	* docs/tmpl/layout.sgml: Remove obsolete comment. PangoLayoutRun
	is not deprecated.  It's just same type as PangoGlyphItem.

2007-10-21  Behdad Esfahbod  <behdad@gnome.org>

	* pango/pango-layout.h: Remove obsolete comment. PangoLayoutRun is
	not deprecated.  It's just same type as PangoGlyphItem.

2007-10-21  Behdad Esfahbod  <behdad@gnome.org>

	Bug 488840 – harfbuzz: protect against ligid overflow

	* pango/opentype/harfbuzz-buffer.c (_hb_buffer_allocate_ligid):
	Never return zero, even in case of overflow.

	* pango/opentype/harfbuzz-impl.h: Define dummy HB_LIKELY() and
	HB_UNLIKELY(), to be filled later.

2007-10-20  Behdad Esfahbod  <behdad@gnome.org>

	* examples/cairotwisted.c (curve_length): Implement bezier curve
	length function that flattens the curve and sum the length of straight
	lines approximating it.

2007-10-15  Behdad Esfahbod  <behdad@gnome.org>

	Bug 483600 – Leak of font family name in
	pango_win32_font_description_from_logfont(w)
	Patch from Daniel Atallah

	* pango/pangowin32-fontmap.c
	(pango_win32_font_description_from_logfont),
	(pango_win32_font_description_from_logfontw):
	Free family.

2007-10-15  Behdad Esfahbod  <behdad@gnome.org>

	Bug 486932 – Apply vkrn GPOS feature in vertical writing

	* modules/basic/basic-fc.c (basic_engine_shape): Apply vkrn
	GPOS feature in vertical writing mode.  Previously we had
	no GPOS feature for vertical mode.

2007-10-15  Behdad Esfahbod  <behdad@gnome.org>

	Bug 481537 – compiler warning fixes
	Patch from Kjartan Maraas

	* pango/break.c (pango_get_log_attrs):
	* pango/pango-attributes.c (pango_attr_list_insert_internal):
	* pango/pango-layout.c (process_item), (justify_clusters):
	* pango/pango-markup.c (span_parse_boolean):
	* pango/pango-ot-ruleset.c (pango_ot_ruleset_finalize),
	(pango_ot_ruleset_new):
	* pango/pango-utils.c (pango_scan_int):
	* pango/pangocairo-font.c (_pango_cairo_font_install):
	* pango/pangofc-font.c (pango_fc_font_create_metrics_for_context):
	* pango/pangoft2.c (load_fallback_face):
	* pango/pangox-fontmap.c (pango_x_get_coverage_win):
	* pango/pangox.c (itemize_string_foreach):
	Fix warnings.

2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

	Bug 485566 – Cache one OpenType Buffer

	* pango/pango-ot-buffer.c (acquire_buffer), (release_buffer),
	(pango_ot_buffer_new), (pango_ot_buffer_destroy):
	* pango/pango-ot-private.h:
	Cache one HB_Buffer that is acquired using a lock.  A new one is
	created if the shared buffer is locked.  The shared buffer is
	cleared when released.  May want to make it free shared buffer if
	buffer->allocated is too large.  Not sure.

2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

	* pango/opentype/*: Mark internal symbols as HB_INTERNAL and
	define that to static in harfbuzz.c.

	* pango/opentype/harfbuzz-buffer-internal.h: New file.

2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

	* pango/opentype/ftglue.[ch]: Remove FTGLUE_API/APIDEF cruft.

2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

	* pango/opentype/Makefile.am: Build harfbuzz.c instead of individual
	source files, to let compiler go wild with optimizations!

2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

	* pango/opentype/harfbuzz.c: Same here.

2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

	* pango/opentype/Makefile.am: Don't include harfbuzz-dump.[ch] in
	libharfbuzz.a.  Those are just used by the harfbuzz-dump tool.

2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

	* pango/opentype/harfbuzz-buffer.c: Some more cleanup.

2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

	* pango/opentype/harfbuzz-buffer.c: Move some code around.

2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

	* pango/opentype/harfbuzz-buffer.[ch]: Rename buffer->inplace to
	buffer->separate_out with the inverted meaning, such that buffer
	is initialization is memset(0).

2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

	* pango/opentype/*: Allocate buffer->positions lazily.

2007-10-11  Behdad Esfahbod  <behdad@gnome.org>

	Bug 485621 – Get rid of freetype memory allocator in harfbuzz

	* pango/opentype/*: Remove all occurences of FT_Memory.  Use
	malloc/realloc/free directly.

	* pango/pango-ot*: Update to above.

2007-10-10  Behdad Esfahbod  <behdad@gnome.org>

	Bug 485559 – Boston Summit HarfBuzz optimizations

	* pango/opentype/*: HarfBuzz hacking to:

	  - Rename last remaining FT_Err stuff to HB_Err.

	  - Fix a couple invalid table paths to be permissive so
	    fonts work better.  Particularly GDEF table for Nafees
	    Nastaliq is loaded and works great now.

	  - Optimize harfbuzz buffer to not copy/swap for simple
	  one-to-one and "copy" GSUB operations.

	* pango/pango-ot*: Update to FT_Err to HB_Err renaming.

2007-09-21  Behdad Esfahbod  <behdad@gnome.org>

	* pango/pangofc-fontmap.c: Fix typo in comments.

2007-09-17  Behdad Esfahbod  <behdad@gnome.org>

	* === Released 1.18.2 ===

	* configure.in: Version 1.18.2

	* NEWS: Updated.

2007-09-07  Behdad Esfahbod  <behdad@gnome.org>

	Bug 474708 – pangocairo leaks memory

	* pango-view/viewer-pangocairo.c (pangocairo_view_create):
	Use pango_cairo_font_map_new() instead of
	pango_cairo_font_map_get_default(), so the font map is freed at the
	end so we can use valgrind to detect leaks without noise.

2007-09-07  Behdad Esfahbod  <behdad@gnome.org>

	Part of Bug 474708 – pangocairo leaks memory

	* pango/pangocairo-font.c
	(_pango_cairo_font_private_get_hex_box_info):
	Fix a couple leaks.

	* pango/pangocairo-atsui.h:
	* pango/pangocairo-atsuifontmap.c
	(pango_cairo_atsui_font_map_finalize):
	* pango/pangocairo-fc.h:
	* pango/pangocairo-fcfontmap.c (pango_cairo_fc_font_map_finalize):
	* pango/pangocairo-win32.h:
	* pango/pangocairo-win32fontmap.c
	(pango_cairo_win32_font_map_finalize):
	Remove unused leftover renderer variable.

	* pango/pangofc-fontmap.c (pango_fc_font_map_finalize): Fix thinko.

2007-09-07  Behdad Esfahbod  <behdad@gnome.org>

	* pango/pangox-fontcache.c (free_cache_entry),
	(pango_x_font_cache_free), (pango_x_font_cache_new),
	(pango_x_font_cache_load):
	* pango/pangox-fontmap.c (pango_x_font_map_finalize),
	(pango_x_insert_font):
	* pango/pangox.c (free_context_info), (pango_x_get_context),
	(pango_x_font_init), (pango_x_font_get_metrics),
	(pango_x_insert_subfont), (free_metrics_info),
	(pango_x_font_finalize):
	Switch some g_new (*, 1) to g_slice_new ()... I know...

2007-09-07  Behdad Esfahbod  <behdad@gnome.org>

	Patch from Chris Wilson

	* pango/pangoft2.c (load_fallback_face): Use g_error() instead
	of g_warning()+exit().

2007-09-02  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	Bug 472891 – Bad consistency check in pango_get_log_attrs

	* pango/break.c: Invert the consistency check.

2007-08-29  Behdad Esfahbod  <behdad@gnome.org>

	Bug 302952 – The placement of a diacritic marks for an arabic ligature
	is not correct

	* pango/opentype/harfbuzz-buffer.c (hb_buffer_allocate_ligid): Don't
	use zero as allocated ligature id.  Zero means no ligature id.

2007-08-28  Behdad Esfahbod  <behdad@gnome.org>

	* pango/pango-ot-ruleset.c (pango_ot_ruleset_init),
	(pango_ot_ruleset_new): Move ruleset initialization to _init()
	instead of _new().

2007-08-28  Behdad Esfahbod  <behdad@gnome.org>

	Bug 410152 – testboundaries test fails

	* configure.in: Require libthai >= 0.1.9

2007-08-27  Behdad Esfahbod  <behdad@gnome.org>

	* === Released 1.18.1 ===

	* configure.in: Version 1.18.1

	* NEWS: Updated.

2007-08-24  Behdad Esfahbod  <behdad@gnome.org>

	Bug 470042 – missing Macedonian OT tag
	Patch from Denis Jacquerye

	* pango/pango-ot-tag.c: Add Macedoninan language tag.

2007-08-21  Behdad Esfahbod  <behdad@gnome.org>

	Bug 468953 – pango-renderer.c: using function without prototype

	* pango/pango-renderer.c: #include <pango-impl-utils.h>

2007-08-21  Behdad Esfahbod  <behdad@gnome.org>

	Bug 463430 – Gets stuck while "formatting message"

	* pango/opentype/harfbuzz-gpos.c (Lookup_PairPos1),
	(Lookup_PairPos2), (Lookup_PairPos), (Do_ContextPos):
	* pango/opentype/harfbuzz-gsub.c (Do_ContextSubst):
	Change type of intermediate index variable from FT_UShort to
	FT_ULong as it was overlowing with more than 65536 glyphs.

2007-08-20  Behdad Esfahbod  <behdad@gnome.org>

	* README: Remove reference to required version of glib.  It falls
	out of synch every single time.

Local Variables:
coding: utf-8
End:
vim: encoding=utf-8:
