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-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/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/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.[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>
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.