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.
Tue Jul 27 12:38:05 2004 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxopen.[ch] pango/opentype/ftxgsub.c
pango/opentype/ftxpos.c: Save the order in which
features were added and use that when applying features.
(Patch from Soheil Hassas Yeganeh, #122330)
Mon Jul 26 15:24:11 2004 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c (ADD_Glyph): Remove the
unused parameter from the IN_CURITEM() and IN_CURGLYPH
macros.
Mon Jul 26 15:16:07 2004 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c (Lookup_ChainContextSubst[123]):
Match backtrack context against the output glyphs not
the input glyphs (#145174, Aamir Wali)
Mon Jul 26 14:49:22 2004 Owen Taylor <otaylor@redhat.com>
* ftxgdef.[ch] otlbuffer.[ch]: Make Check_Property() take a
OTL_GlyphItem, add a gproperties field to OTLGlyphItem,
and use that to cache the properties for a glyph.
* ftxgsub.c ftxgdef.c: Adapt to Check_Property() changes.
* otlbuffer.[ch] ftxgsub.c: Add otl_buffer_copy_output_glyph()
to use when we are copying an unmodified glyph from input
to output that preserves the cached properties.
Wed Jun 23 16:13:53 2004 Owen Taylor <otaylor@redhat.com>
#143693, Sayamindu Dasgupta
* pango/opentype/pango-ot-buffer.c (pango_ot_buffer_set_zero_width_marks) pango/opentype/pango-ot-private.h:
Allow setting for whether marks should be given zero width,
defaulting to FALSE.
* modules/arabic/arabic-fc.c (arabic_engine_shape): Turn
on zero-width-marks setting.
Mon Jun 21 13:55:17 2004 Owen Taylor <otaylor@redhat.com>
* pango/opentype/otlbuffer.c: Use the gcc-3.3
strict-aliasing compatible macros from fterrcompat.h
(#140495, reported by Stanislav Brabec)
Thu May 27 16:57:30 2004 Owen Taylor <otaylor@redhat.com>
* pango/opentype/otlbuffer.c: Free buffer->positions,
clean up error returns that were returning uninitialized
values. (#139239, Behdad Esfahbod)
Tue Mar 16 11:24:46 2004 Owen Taylor <otaylor@redhat.com>
* === Released 1.4.0 ===
* configure.in: Version 1.4.0, interface ago 0. Require
glib-2.4.0.
* NEWS: Updates.
* README: Some updates; include details about the FreeType
license of the OpenType code.
2004-03-03 Hans Breuer <hans@breuer.org>
* pango/module-defs-win32.c.win32 : if PANGO_MODULE_PREFIX is
defined include the basic backend shaper (should have been
commited at 2003-12-12, too)
* pango/makefile.msc : generate correct type for PangoFontMask
(bug #135892, John Ehresman)
* pango/opentype/makefile.msc : updated
* pango/pango.def pango/pangoft2.def : more updatd externals
Sun Feb 29 09:25:13 2004 Owen Taylor <otaylor@redhat.com>
Rework opentype interfaces and other changes to make GPOS
work for Arabic. (Most of #117282, #121060)
* pango/opentype/otlbuffer.[ch]: OTL_Buffer that
acts as a replacement for the separate GSUB and
GPOS string structures and hides many of the internal
details.
* pango/opentype/ftxgsub.[ch] pango/opentype/ftxgpos.[ch]:
Adapt to OTL_Buffer.
* pango/opentype/ftxgpos.c: Redo handling of cursive
chains so that it actually works.
* pango/pango-ot.h pango/opentype/pango-ot-buffer.c:
Pango wrapper around OTL_Buffer.
* pango/pango-ot.h pango/pango-ot-ruleset.c pango/pango-ot-buffer.c:
Split pango_ot_ruleset_shape() into pango_ot_ruleset_substitute(),
pango_ot_ruleset_position(), make them act on
PangoOTBuffer, add a separate pango_ot_buffer_output()
which does the default positioning and writes to a
PangoGlyphString.
* modules/arabic/arabic-fc.c modules/indic/indic-fc.c
modules/indic/mprefixups.[ch]: Adapt to new OpenType
interfaces; add GPOS features for Arabic.
* pango/opentype/pango-ot-info.c: Don't derive class information
from Unicode properties for Arabic presentation forms,
let the shaping process derive the properties.
Sat Feb 21 09:49:23 2004 Owen Taylor <otaylor@redhat.com>
* pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_shape):
Sign convention for y offsets is opposite between
PangoGlyphString and FT code. (#132591)
Fri Feb 13 10:54:18 2004 Owen Taylor <otaylor@redhat.com>
Memory leak fixes from Masatake YAMATO, #130652
* pango/opentype/ftxgdef.c (TT_Done_GDEF_Table):
Free the gdef table as well as the contained data.
* pango/opentype/ftxgdef.c (TT_GDEF_Build_ClassDefinition):
Set gcd->loaded, so that the contents get freed later.
2003-12-13 Hans Breuer <hans@breuer.org>
* pango/pango.def pangoft2.def : moved pango_fc_*
to the latter where they live on *nix too.
* pango/makefile.msc : make it build again (including
the Ft2 backend)
* pango/module-defs-fc.c.win32 : if PANGO_MODULE_PREFIX is defined
include the basic backend shaper
* pango/pangowin32.c (pango_win32_render_layout) :
initialize iter before first usage to avoid immediate crashing
* pango/opentype/makefile.msc
pango/modules/makefile.msc : finally build with mscv, too.
[completely untested cause I'm not able to type, write or read
any of these languages]
* modules/modules.def : follow module function renaming/changes
* modules/basic/basic-win32.c : register the right engine, i.e.
make it compile
Sat Nov 1 09:32:15 2003 Owen Taylor <otaylor@redhat.com>
* pango/pango-ot.h pango/pangofc-font.h modules/indic/indic-ot.h
pango/pangoft2.c pango/opentype/pango-ot-info.c
pango/opentype/pango-ot-ruleset.c pango/opentype/ottest.c
pango/opentype/ftxopen.[ch] pango/opentype/ftxgdef.c
pango/opentype/ftxgsub.c pango/opentype/ftxgpos.c:
Switch over to recommended Freetype system of
include ft2build.h then #include FT_FREETYPE_H.
Fixes ftmodule.h problem with current Freetype CVS.
(#125548)
Mon Sep 15 17:16:59 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/fterrcompat.h: Fix gcc-3.3 versions of
macros to have the right return value.
Mon Aug 25 10:17:21 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c (Lookup_ChainContextSubst3)
* pango/opentype/ftxgpos.c (Lookup_ChainContextPos3):
Fix problems where the coverage wasn't being checked
for the first input glyph. (#118639, Kailash C. Chowksey)
Fri Aug 22 18:09:52 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/fterrcompat.h: Add some macro definitions
for gcc-3.3 that suppress the bogus strict-aliasing
warnings.
* pango/pango-utils.c (read_config_file): Use
g_hash_table_new_full() to simplify code and fix
gcc-3.3 warnings.
* pango/pangox-fontmap.c (pango_x_real_get_coverage_win)
* pango/querymodules.c (query_module): Suppress gcc-3.3
warnings.
* pango/modules.c (pango_find_map): Fix warning from
missing declaration of pango_module_get_type().
* pango/pango-context.c/pango-engine.c: Fix name confusion
for pango_get_fallback_shaper().
Tue Jul 29 09:58:13 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgdef.c (Check_Property): Rewrite
handling of IGNORE_SPECIAL_MARKS to be properly
"ignore marks of attachment type different than
specified. (#118456, Kailash C. Chowksey)
Sat Jul 26 09:41:22 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c (Lookup_LigatureSubst):
Revert back out the FreeType patch preventing
ligatures of not-originally adjacent glyphs;
it doesn't work for all scripts. (#118472,
Kailash C. Chowksey)
Sat Jul 26 22:30:59 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c (Lookup_ChainContextSubst{1,2,3}):
Check for lookahead glyphs in the right place. (Patch
from #116860)
* pango/opentype/ftxgpos.c (Lookup_ChainContextPos{1,2,3}):
Same fix here.
Sat Jul 26 22:12:46 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c (Do_String_Lookup,
TT_GSUB_Apply_String): Fix return value to only
contain TTO_Err_Not_Covered if *no* lookups
matched. Fix memory leaks on error in Apply_String().
Sat Jul 26 21:06:26 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c (Load_EmptyOrClassDefinition):
Fix confusion between boolean and FT_Error return.
(GSUB equivalent of fix for #108358)
Sat Jul 26 10:43:20 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c pango/opentype/ftxgpos.c:
Fix various memory leaks from error returns that should
have been jumps to cleanup blocks. (From Qt, Lars Knoll)
Sat Jul 26 10:30:24 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgpos.c: Fix additional places where
TTO_Err_Not_Covered wasn't considered a successful return
from Get_Class. (From Qt, Lars Knoll)
Sat Jul 26 09:41:22 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c (Lookup_LigatureSubst):
If applying a ligature lookup makes adjacent two glyphs
that were not originally adjacent, avoid making
subsequent ligatures between those glyphs.
(From FreeType, Werner Lemberg, 2001-08-22, 2001-08-23)
Sat Jul 26 09:16:57 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgpos.c pango/opentype/ftxopen.c:
Fix some FreeType1 variable declarations that snuck
in from the last commits (Christophe Fergeau,
118363)
Fri Jul 25 23:38:07 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgpos.c pango/opentype/ftxgsub.c:
OpenType-1.4 update: backtrack information is stored with the
item closest to the input first (From FreeType,
Werner Lemberg, 2002-09-26)
Fri Jul 25 23:07:06 2003 Owen Taylor <otaylor@redhat.com>
Update of GPOS and GSUB support to OpenType 1.3
(From FreeType, Werner Lemberg, 2001-08-08)
* pango/opentype/ftxopen.h: Add RIGHT_TO_LEFT LookupFlag
* pango/opentype/ftxgpos.c (GPOS_Instance): Add 'first'
member to mark the beginning of a chain of cursive connections.
* pango/opentype/ftxgpos.c (Do_String_Lookup): If the
RIGHT_TO_FLAG flag is set, shift cursive chain up so
last glyph is on the baseline.