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.
Fri Jul 25 22:59:13 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftx{gpos,gsub}.h pango/opentype/ftxgdef.c:
Add GPOS_LOOKUP_EXTENSION, GSUB_LOOKUP_EXTENSION, which
allow lookup information to be stored at 32-bit offets
via a double indirection. (From FreeType, Werner Lemberg,
2001-08-08)
Fri Jul 25 22:25:48 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c (Lookup_ContextSubst2,
Lookup_ChainContextSubst2): Fix a couple of
places where TTO_Err_Not_Covered wasn't considered
a successful return from Get_Class -- it means
use class index 0. (From FreeType, Werner Lemberg,
2001-08-06)
Fri Jul 25 20:12:00 2003 Owen Taylor <otaylor@redhat.com>
Improvements to OpenType-dumping code, based on
changes in Qt by Lars Knoll.
* pango/opentype/ottest.c: Tweak the debugging output,
suppress some warnings.
* pango/opentype/disasm.c: Add support for
GSUB Context/Chain GPOS MarkBase lookups, improve
output in various ways.
Thu Jul 24 17:04:21 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_shape):
Fix uses of g_assert() around statements with side effects.
(#115498, patch from David Cuthbert)
Wed Apr 16 03:46:42 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/pango-ot-info.c (synthesize_class_def):
More careful handling of face->charmap; if is NULL,
try to set a unicode charmap, if that doesn't succeed,
return. (Hopefully fixes#106550)
Tue Apr 15 11:49:39 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxg{sub/pos}.c: When loading
in Load_Chain{Sub,Pos}ClassRule, the limit we
have only applies to the input ClassDef table.
Fixes problem with Arial Unicode. Much help from
Noah Levitt in tracing this down.
Tue Apr 15 06:03:39 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgpos.c: Fix confusion between
boolean and FT_Error return. (#108358, Noah Levitt)
* pango/opentype/ftxopen.c (Get_Class1): index is
allowed to be NULL. (#108358, Noah Levitt)
Tue Apr 15 05:00:39 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/pango-ot-info.c (synthesize_class_def):
Fix infinite loop in the case where the charmap contains
a character > 65535. (#106550, Morten Welinder.)
2003-03-11 James Henstridge <james@daa.com.au>
* autogen.sh: make similar changes to the ones on glib head (call
gtk-docize, etc).
* configure.in: move some calculations into M4 macros, rather than
calculating them when configure runs.
Use AC_HELP_STRING where appropriate.
Replace gtk-doc checks with a call to GTK_DOC_CHECK.
Replace AC_OUTPUT_COMMANDS() call with a number of calls to
AC_CONFIG_COMMANDS (once per created file).
Get rid of the "chmod +x pango-config" bit, because there is no
pango-config anymore.
* Makefile.am: get rid of custom distcheck rule, and set
DISTCHECK_CONFIGURE_FLAGS, which is equivalent.
Use += to select which .pc files to install.
* pango/Makefile.am: Add rules to rebuild module-defs* files, and
remove them on clean.
Reorder so that rules related to each individual library are next
to each other.
Use BUILT_SOURCES for built sources.
* pango/opentype/Makefile.am: don't use STRIP_BEGIN/STRIP_END.
* modules/*/Makefile.am: simplify module makefiles through use of
+=, and regularise them a bit (fixed a few bugs in the process).
* docs/Makefile.am: remove common rules, and instead include
gtk-doc.make.
* examples/Makefile.am: add pango.modules to CLEANFILES.
* tests/Makefile.am: remove temporary files on clean.
Mon Feb 17 13:06:39 2003 Owen Taylor <otaylor@redhat.com>
* configure.in **/Makefile.am: Add an --enable-debug
configure argument defaulting to 'yes' for unstable
releases and 'minimum' for stable releases.
For minimum, -DG_DISABLE_CAST_CHECKS.
* pango/pangofc-fontmap.cI pango/pangoft2-fontmap.c
pango/pangoxft-fontmap.c: Add caching of fontsets
(#104495, initial patch and review by Soeren Sandmann)
* pango/pangofc-fontmap.cI pango/pangoft2-fontmap.c
pango/pangoxft-fontmap.c pango/pangoft2-private.h
pango/pangoxft-private.h: Remove cache of recently freed
fonts; not necessary now that we cache fontsets.
* pango/pangofc-fontmap.cI (pango_fc_pattern_set_free):
Rename from pango_fc_font_set_free to reflect
what it actually does.
* pango/pangofc-fontmap.cI pango/pangoft-fontmap.c
pango/pangoxft-fontmap.c: Combine clear-the-cache
functions; we didn't need separate clear-the-font-cache
and clear-the-pattern-cache functions.
Wed Feb 12 16:59:23 2003 Owen Taylor <otaylor@redhat.com>
* configure.in pango/opentype/fterrcompat.h README:
Up the FreeType version requirement to 2.0.9.
(2.2.1 had a compilation failure with older versions,
this catches it more cleanly, and removes some unneeded
checks. #105302, problem reported by Will Partain.)
Fri Jan 10 18:56:36 2003 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgdef.c: Export TT_New_GDEF_Table
to create an empty GDEF table.
* pango/opentype/pango-ot-info.c: If the font doesn't
have a class definition table, synthesize one using
the charmap and the unicode properties of characters
in the charmap. (Needed to make things work with various
old Arabic fonts, such as the KACST fonts)
2002-11-26 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Do not add GLIB_CFLAGS to CFLAGS.
* docs/Makefile.am, examples/Makefile.am,
modules/arabic/Makefile.am, modules/basic/Makefile.am,
modules/hangul/Makefile.am, modules/hebrew/Makefile.am,
modules/indic/Makefile.am, modules/tamil/Makefile.am,
modules/thai/Makefile.am, pango/Makefile.am,
pango/mini-fribidi/Makefile.am, pango/opentype/Makefile.am:
Instead add $(GLIB_CFLAGS) directly to INCLUDES (GTKDOC_CFLAGS for
docs/Makefile.am). Also some cosmetic line wrapping and
reindentation.
Sun Sep 29 14:55:36 2002 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgpos.c: ligatures can be also used in
MarkBasePos lookups. (2001-03-17 Werner Lemberg)
Sun Sep 29 14:51:25 2002 Owen Taylor <otaylor@redhat.com>
Start of merges from freetype1 of OpenType fixes.
(2001-03-17 Werner Lemberg)
* pango/opentype/ftxgdef.c pango/opentype/ftxgpos.c pango/opentype/ftxg\sub.c:
More fixes for special marks.
2002-09-24 Tor Lillqvist <tml@iki.fi>
* pango/opentype/pango-ot.def: Remove. Not used. (A static library
is built here. Exported entries are in ../pangoft2.def.)
* pango/opentype/Makefile.am (EXTRA_DIST): Remove from here, too.
Wed Aug 7 12:32:39 2002 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c (TT_Load_GSUB_Table):
Offset to MarkAttachClassDef is offset to table,
not offset to offset to table.
* pango/opentype/ftxopen.c (Get_Device): Handle
NULL device tables which we represent with
d->DeltaValue == NULL.
Xft2 and fontconfig conversion, based largely on a patch
from Keith Packard.
* configure.in acconfig.h: Add checks for fontconfig, switch
Xft checks to switch for Xft2 using pkg-config.
* pangoxft.pc.in pangoxft.pc.in
modules/{arabic,basic,hebrew,indic,tamil}/Makefile.am
pango/Makefile.am: Reflect new Xft/fontconfig dependencies.
* pango/pangoxft-private.h pango/pangoxft-fontmap.c
modules/arabic/arabic-xft.c modules/indic/indic-xft.c:
Switch over to using Xft2 and fontconfig.
* pango/pangoft2.c pango/pangoft2-fontmap.c pango/pangoft2-private.h
pango/pango/Makefile.am: Remove usage of mini-xft in
favor of fontconfig.
* pango/pango-ot.h pango/opentype/pango-ot-info.c pango/pangoxft.h
modules/arabic/arabic-{xft,ft2}.c modules/indic/indic-xft.c:
Attach OpenType information directly to the FT_Face
structure using FT_Generic.
* modules/tamil/Makefile.am modules/tamil/tamil-xft.c
configure.in: Remove this module, no longer needed.
* pango/pangoxft-font.c (pango_xft_real_render): Coalesce
calls to Xft rendering functions.
Fri May 10 14:41:27 2002 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgdef.c (TT_Load_GDEF_Table): Fix acess
outside of a loaded frame and some memory leaks
on failure.
Mon May 06 15:07:39 2002 Eric Mader <mader@jtcsv.com>
* Add modules modules/indic/indic-xft.c, indic-ot.c, indic-ot.h, indic-ot-class-tables.c
* pango/opentype/ftxgdef.c: Compute full offset for mark attachment class table
* pango/opentype/ftxgpos.c: Only return TTO_Err_Not_Covered if nothing matches
* pango/opentype/pango-ot-ruleset.c: enable GPOS processing
Fri Mar 15 01:35:56 2002 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgsub.c pango/opentype/ftxopen.c
pango/opentype/ftxopenf.h: In Load_ChainContextSubst2,
handle the case where an empty class definition
is represented by an offset of 0.
* pango/opentype/ftxgpos.c: Same for Load_ChainContextPos2.
* pango/opentype/{ftxopen.c,ftxgpos.c,ftxgsub.c,ftgdef.c}:
Fix pervasive bug where on cleanups on failure of loading
an array element, all array elements were freed, not
just the ones that had been succesfully loaded.
* docs/pango-sections.txt, pango/pango-ot.h: Remove declarations
of unimplemented functions pango_ot_ruleset_set_glyph_loader and
pango_ot_ruleset_set_alternate_func and the related typedefs
PangoOTGlyphLoader and PangoOTAlternateFunc.
* pango/opentype/pango-ot-info.c,
pango/opentype/pango-ot-ruleset.c: Documentation updates.
2001-09-19 Havoc Pennington <hp@redhat.com>
* pango/opentype/fterrcompat.h: header to abstract the difference
between FreeType 2.0.3 and 2.0.4 error codes, based on the
configure check.
* configure.in: check for the tterrors.h header in FreeType 2.0.3,
and define HAVE_FREETYPE_2_0_3 if we have it
Tue Sep 18 15:47:08 2001 Owen Taylor <otaylor@redhat.com>
* configure.in (PANGO_MINOR_VERSION): Up to 0.19.
* pango/pango-font.h pango/pango-fontmap.[ch] pango/fonts.c
pango/pangoxft-fontmap.c pango/pangoft-fontmap.c pango/pango-context.[ch]
pango/pangox-fontmap.c: Add new PangoFontFace and PangoFontFamily
object types, and change the font listing API to list faces and
families, instead of face names and font descriptions.
* pango/pango-font.h pango/fonts.c: Make PangoFontDescription
an opaque heap-allocated structure, add accessors and
convenience functions.
* pango/pango-font.h pango/pango-private.h: Make PangoFontMetrics
heap allocated, protect the structure definition with
#ifdef PANGO_ENABLE_BACKEND, and add getters for the fields.
* pango/pango-attributes.[ch] ( pango_attr_iterator_get_font):
instead of providing a base font description and one to fill
in, provide a single font description to modify based on
the attributes.
* pango/pango-attributes.[ch]: Fix PangoAttrFontDesc to have
a PangoFontDescription by reference, not by value.
* pango/pango-utils.[ch]: make pango_parse_style() and friends
take pointers to individual enumerations instead of to a
PangoFontDescription structure.
* pango/*.c: Fix for the PangoFontDescription and PangoFontMetrics
changes.
* pango/pango-{break,engine,indic,ot,xft}.h pango/Makefile.am
pango/opentype/Makefile.am: Protect portions with
PANGO_ENABLE_ENGINE to shrink the public API.
* modules/*/Makefile.am: -DPANGO_ENABLE_ENGINE.
* pango/{pangox.h,pangox-private.h} modules/basic/basic-x.c: Move
pango_x_font_get_unknown_glyph() into public header since it is
used from modules.
* pango/pango-{context,font,fontmap,modules.utils}.h pango/Makefile.am:
Protect portions with PANGO_ENABLE_BACKEND to shrink the public API.
* pango/*.h: Use G_BEGIN/END_DECLS
* examples/viewer-qt.[cc,h]: Fix for changes to font listing API,
PangoFontDescription.
* pango/pango-indic.h modules/indic/*: Since we install this
header fix it up to Pango conventions, namespece
ZERO_WIDTH_JOINER, ZERO_WIDTH_NON_JOINER.
* docs/pango-sections.txt: Updated.
* modules/arabic/arabic-x.c: (arabic_engine_shape): Remove stray
semicolon.
* modules/arabic/arconv.h:
* modules/arabic/arconv.c: (shape), (doublelig), (arabic_reshape):
Use long* instead of int* for parameter to match what's passed in.
* modules/indic/bengali-x.c: Add missing <string.h> include.
(pango_indic_make_ligs): Use local variable that was added but not
ever used.
(pango_indic_engine_shape): Remove unused locals.
* modules/indic/devanagari-x.c: Add missing <string.h> include.
(pango_indic_engine_shape): Remove unused local.
* modules/indic/gujarati-x.c: Add missing <string.h> include.
(pango_indic_engine_shape): Remove unused local
* modules/tamil/tamil-x.c: (tamil_engine_shape): Initialize a
variable to quiet the compiler's unused warning.
* pango/.cvsignore: Ignore more generated files.
* pango/opentype/ftxgpos.c: (Get_Anchor): Add code to set up the
ap variable. The old code would just use the uninitialized value.
* pango/opentype/ftxopen.c: (Load_Coverage): Remove unused local.
* pango/opentype/pango-ot-ruleset.c: (pango_ot_ruleset_shape):
Remove unused local.
* pango/pango-attributes.c: (pango_attr_list_get_type),
(pango_color_get_type): Add needed function type casts (just
warnings under gcc, but could be errors in other compilers).
* pango/pangoxft-font.c: (pango_xft_font_get_metrics),
(pango_xft_font_get_coverage), (pango_xft_get_shaper_map),
(pango_xft_font_find_shaper): Switch from lang char* to
PangoLanguage*. The code was still compiling, but would not have
worked.
Fri May 18 11:30:57 2001 Owen Taylor <otaylor@redhat.com>
* pango/opentype/disasm.c: Use ISO C99 varargs when
available.
Thu May 17 11:16:23 2001 Owen Taylor <otaylor@redhat.com>
* pango/mapping.c: Fixup docs, remove some FIXMEs that are
no longer applicable.
* pango/pango-layout.c: Move by graphemes, not characters.
* pango/pango-layout.c (pango_layout_line_x_to_index):
Position at the closest grapheme boundary, not at character
boundaries.
* pango/pango-layout.c (pango_layout_line_index_to_x):
Return positions of grapheme boundaries, not character
boundaries.
Tue Apr 24 11:45:55 2001 Owen Taylor <otaylor@redhat.com>
* pango/opentype/ftxgdef.c (TT_Load_GDEF_Table): Remove
excess call to DONE_Stream left over from conversion
from FT1. (reported by Michael Jansson)
Tue Dec 19 22:47:16 2000 Owen Taylor <otaylor@redhat.com>
* configure.in pango-config.in pangoxft.pc.in
modules/basic/Makefile.am: Since Xft may only be available
statically without shlib deps, check for FreeType libs explicitly
and include them when linking, otherwise things won't work. Also,
define FREETYPE_CFLAGS from freetype-config --cflags.
* modules/basic/basic-xft.c pango/pangoxft-font{,map}.c: Fool
Xft into not converting glyph indices by loading the
face unencoded then calling FT_Set_Charmap ourselves.
* pango/Makefile.am pango/pango-ot.h pango/opentype/* :Add start
of opentype handling - most of the actually meat of the code here
is the OpenType layout code from FreeType 1 ported to freetype2
and adapted slighlty for our purposes. Also, includes a
incomplete OpenType-table-dumping code useful for figuring
out what is going on.
* pango/pangoxft.h pango/pangoxft-font.h: Add calls for
getting FT_Face and PangoOTInfo from PangoXftFont.
* modules/arabic/{Makefile.am,arabic-ot.[ch],arabic-xft.c}:
Initial support for rendering Arabic with OpenType fonts.