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.