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-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-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>
* pango/opentype/harfbuzz-gsub.c (GSUB_Do_String_Lookup): Don't
ignore error return value of hb_buffer_copy_output_glyph(). Patch
sent to harfbuzz-list.
2007-04-30 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/Makefile.am: Link freetype to harfbuzz-dump, for
those systems that don't track dependencies automatically.
2006-06-22 Behdad Esfahbod <behdad@gnome.org>
Bug 345600 – cvs build error in pango/opentype/Makefile
* pango/opentype/Makefile.am: Rename variable SOURCES to MAINSOURCES.
Some automake versions seem to use it or something.
2006-05-31 Behdad Esfahbod <behdad@gnome.org>
Bug 341138 – Using TTC font, Gtk2 programs begin to eating big memory
and have many cpu usage.
Patch from Yong Li.
* pango/opentype/ftglue.c (_hb_ftglue_face_goto_table): TrueType table
offsets are absolute, not relative.
2006-05-31 Behdad Esfahbod <behdad@gnome.org>
Bug 336153 – Mark to mark positioning (Lookup Type 6) isn't correct
when using MarkAttchmentType
Patch from Tin Myo Htet.
* pango/opentype/harfbuzz-gpos.c (Lookup_MarkMarkPos): Ignore marks
of non-matchin attachment type.
2006-04-10 Behdad Esfahbod <behdad@gnome.org>
Fix minor bugs reported by the Coverity scan report.
* pango/opentype/harfbuzz-gdef.c (HB_GDEF_Build_ClassDefinition):
* pango/opentype/harfbuzz-gpos.c (HB_GPOS_Query_Scripts),
(HB_GPOS_Query_Languages), (HB_GPOS_Query_Features): Do not access
structs before we check them for nullity.
* pango/pango-layout.c (pango_layout_index_to_line),
(pango_layout_index_to_line_and_extents),
(pango_layout_index_to_pos): Check for invalid iterators outside the
loop, so we don't crash.
* pango/pango-layout.c (pango_layout_line_x_to_index): Set
char_trailing instead of trailing in one of too many paths. Should
have been a typo.
* pango/pangox.c (get_font_metrics_from_subfonts): Check for nullity
somewhere.
2006-04-03 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-impl.h: Make sure TTAG_GDEF and frineds are
defined, needed for FreeType <= 2.1.7 (pointed by Tim Janik).
2006-03-31 Behdad Esfahbod <behdad@gnome.org>
Convert pango/opentype to the new project called HarfBuzz.
* pango/opentype/*: Restructured.
* pango/pango-ot-*: Updated to use HarfBuzz symbol names.
2006-01-25 Behdad Esfahbod <behdad@gnome.org>
* configure.in: If major.minor of required and available glib versions
are the same, add -DG_DISABLE_DEPRECATED to GLIB_CFLAGS. (bug #328617)
* */Makefile.am: Remove hardcoded -DG_DISABLE_DEPRECATED.
2006-01-14 Behdad Esfahbod <behdad@gnome.org>
* */*.c, */*/*.c: Make sure #include <config.h> is the first include
in the file. (bug #158870, based on patch by Luis Menina)
2005-11-23 Behdad Esfahbod <behdad@gnome.org>
Protect against possible division by zeros (#316468, Steve Grubb)
* pango/pango-context.c (update_metrics_from_items),
pango/pango-fontset.c (pango_fontset_real_get_metrics): If count is
zero, do not alter approximate_{char,digit}_width.
* pango/opentype/disasm.c: Err on invalid DeltaFormat.
2005-11-23 Behdad Esfahbod <behdad@gnome.org>
* modules/basic/basic-fc.c: Reworked basic shaper with OpenType
support. (#101079, based on patch from Denis Jacquerye and Noah Levitt)
* modules/basic/basic-fc.c (basic_scripts): Added Unicode 4.1 addition
script PANGO_SCRIPT_GLAGOLITIC that is a "simple" script.
* modules/arabic/arabic-fc.c, modules/syriac/syriac-fc.c: Replace
g_utf8_to_ucs4_fast() with g_utf8_strlen()!
* pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_add_feature):
Remove reference in docs to pango_ot_ruleset_shape() that was
removed long ago.
2005-11-17 Behdad Esfahbod <behdad@gnome.org>
Part of #101079:
* pango/opentype/ftxopen.c (Load_Lookup): In extension subtables,
offset is relative to the extension subtable, not the original
table. (Greg Aumann)
* pango/opentype/ftxgpos.c (Load_BaseArray): When reading BaseAnchor,
skip offsets that are zero. Works around bug in Doulos SIL Regular.
2005-11-03 Behdad Esfahbod <behdad@gnome.org>
Patches from #170414. Reviewed by Matthias Clasen.
* pango/opentype/ftxgpos.c, pango/opentype/ftxgsub.c: Use call table
to dispatch different lookup types.
* pango/opentype/pango-ot-buffer.c, pango/opentype/pango-ot-ruleset.c:
Small cleanup.
2005-07-26 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c, pango/opentype/ftxgpos.c: Skip lookups
with lookup index out of range. (Patch from Behdad Esfahbod, #171170)
2005-07-22 Owen Taylor <otaylor@redhat.com>
Patch from David Turner. Review and testing by Behdad Esfahbod
* pango/opentype/ftglue.[ch] Makefile.am: Glue layer that provides
implementation of the internal functions that the opentype code
expects in terms of publically exported FreeType API.
* pango/opentype/ftxgdef.c pango/opentype/ftxgpos.c
pango/opentype/ftxgsub.c pango/opentype/ftxopen.c
pango/opentype/otlbuffer.c pango/opentype/pango-ot-info.c
pango/opentype/pango-ot-ruleset.c: Remove includes of
internal headers. Small changes to work with ftglue.[ch]
* pango/opentype/fterrcompat.h: Remove: no longer needed.
* pango/opentype/ftxgpos.c: Use FT_IS_SFNT(face) rather
than poking at FT_MODULE_CLASS (face->driver)->module_name.
* pango/opentype/ftxopen.c (Free_FeatureList): Free
fl->ApplyOrder. (Found by Behdad)
2005-07-21 Owen Taylor <otaylor@redhat.com>
Fix up places where there is missing or incomplete
Copyright and License information (Reported by William N. Ray)
* pango/opentype/fterrcompat.h: Mark as FreeType/GPL licensed.
* pango/opentype/FT-license.txt: Make this the dual-licensing
description that covers the FreeType code (FreeType's
LICENSE.TXT) rather than the FTL.
* pango/opentype/FTL.TXT: Move the FTL (referenced from
FT-license.txt) to here.
* modules/basic/basic-common.h modules/hebrew/hebrew-shaper.h
modules/thai/thai-charprop.c modules/thai/thai-shaper.h
tools/gen-script-for-lang.c tests/testcolor.c:
Add LGPL header and copyright information.
* modules/indic/indic-ot.[ch] modules/indic/indic-ot-class-tables.c
modules/thai/thai-ot.[ch]: Add LGPL header.
* modules/thai/thai-shaper.c modules/thai/thai-charprop.h:
Minor fixes to copyright information.
* modules/arabic/arabic-ot.c: Add Freetype license boilerplate.
2005-06-14 Owen Taylor <otaylor@redhat.com>
* pango/opentype/pango-ot-info.c (pango_ot_info_finalize)
pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_finalize):
Chain up from finalize. (#307547, Paolo Borelli)
* pango/opentype/pango-ot-info.c (pango_ot_info_finalizer):
make accidentally public function static.
2005-04-12 Tor Lillqvist <tml@novell.com>
* pango/opentype/Makefile.am: Rename LDADDS to
libpango_ot_la_LIBADD to actually make libpango-ot.la link with
it.
* pango/pangowin32.def: Rename get_scale_factor to
get_metrics_factor here, too. (#300222, Ivan Wong)
2005-03-03 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxopen.c (Coverage_Index1, Coverage_Index2,
Get_Class2): For all binary searches, handle the case where
the number of items is 0. (#162977, Nick Lamb)
* pango/opentype/ftxgdef.c (TT_GDEF_Build_ClassDefinition):
Handle the case where glyph_count == 0 properly. Fix a problem
with cleanups on memory allocation failure.
(Get_New_Count, Add_Glyph_Property): Avoid reading off the
end of the ClassRangeRecord array.