Commit Graph

397 Commits

Author SHA1 Message Date
David Turner c48bf37bda * builds/unix/ftsystem.c (FT_New_Stream): added a fix to ensure that
all FreeType input streams are closed in child processes of a "fork"
        on Unix systems. This is important to avoid (potential) access
        control issues..
2002-01-03 17:08:20 +00:00
David Turner 662b344c23 * src/type1/t1objs.c (T1_Face_Init): fixed a bug that crashed the
library when dealing with certain weird fonts (like "Stalingrad",
        in "sadn.pfb". This font has no full font name entry.. )

        * src/base/ftoutln.c, include/freetype/ftoutln.h: added the
        FT_Outline_Check API to check the consistency of outline data

        * src/base/ftobjs.c (FT_Load_Glyph): added a call to the new
        FT_Outline_Check to ensure that loaded glyphs are valid. This
        allows certain fonts like "tt1095m_.ttf" to be loaded even though
        it appears they contain really funky glyphs..

        there still is a bug there though.. !!
2002-01-03 16:56:59 +00:00
Werner Lemberg d3a71dd4ac Formatting. 2001-12-31 16:04:26 +00:00
David Turner 1127b2bf3f improving the computation of the advance widths of auto-hinted glyphs,
in order to produce better letter spacing..
2001-12-30 01:30:11 +00:00
Antoine Leca fb009c7449 * builds/dos/detect.mk: Correcting the order for Borland compilers:
16-bit bcc was never selected, always overriden by 32-bit bcc32.
2001-12-25 20:54:33 +00:00
Werner Lemberg f891f91113 * src/pfc/pcfread.c (pcf_load_font): Handle property `POINT_SIZE'
and fix incorrect computation of `available_sizes'.
2001-12-23 01:38:53 +00:00
Werner Lemberg 3681e37db9 Formatting. 2001-12-23 00:56:36 +00:00
David Turner 9a9edc6624 fixing the autohinter: the advance of auto-hinted glyphs in mono-spaced fonts was incorrect 2001-12-22 16:07:52 +00:00
Werner Lemberg af594e606a * builds/amiga/*: Adaptations to latest changes.
Support added for MorphOS.

* src/pshinter/pshrec.c (FT_COMPONENT): Redefine to `trace_pshrec'.
(ps_mask_table_merge, ps_hints_open, ps_hints_stem,
ps_hints_t1stem3, ps_hints_t2mask, ps_hints_t2counter): Fix
FT_ERROR messages.
* src/pshinter/pshalgo1.c (FT_COMPONENT): Define as
`trace_pshalgo1'.
* src/pshinter/pshalgo2.c (FT_COMPONENT): Define as
`trace_pshalgo2'.
* include/freetype/internal/ftdebug.h (FT_Trace): Updated.

* docs/modules.txt: New file.
2001-12-22 14:38:40 +00:00
David Turner b5c7de5b37 * src/cff/cffgload.c: added a comment regarding "cntrmask" operator
* src/pshinter/pshrec.c: now ignores invalid "hintmask" and "cntrmask"
        operators (instead of returning an error). Glyph 2028 of the CFF font
        "MSung-Light-Acro" couldn't be rendered otherwise (it seems its
        charstring is buggy, though this requires more analysis)..
2001-12-21 21:21:13 +00:00
David Turner 7c0d20814a * src/cff/cffgload.c, src/psaux/t1decode.c, src/pshinter/pshrec.c,
src/pshinter/ahalgo2.c, src/pshinter/pshglob.h: fixed a bug where
        the X and Y axis where inversed in the postscript hinter. this
        caused problem when displaying on non-square surfaces..
2001-12-21 15:59:43 +00:00
David Turner 3a664fca14 * src/cid/cidobjs.c (CID_Face_Done): fixed a memory leak, the subrs
routines were never released when CID faces were destroyed
2001-12-21 15:26:19 +00:00
David Turner 79ea4cd40c * src/cid/cidobjs.c (CID_Face_Done): fixed a memory leak, the subrs
routines were never released when CID faces were destroyed
2001-12-21 15:20:48 +00:00
Werner Lemberg f05003dace Formatting. 2001-12-21 10:57:09 +00:00
David Turner 0515c09637 * src/pshinter/pshglob.c (psh_globals_new): replaced a floating point
constant with a fixed-float equivalent. For some reason, some compilers
        aren't capable of directly computing a floating pointer constant casted
        to FT_Fixed, and will link a math library instead !!
2001-12-21 04:16:42 +00:00
Werner Lemberg f41e71a199 * src/base/ftobjs.c (FT_Done_Library): Remove compiler warning.
Formatting.
2001-12-20 21:22:02 +00:00
Werner Lemberg 21e046e0c4 Formatting.
* src/cache/ftccache.c (ftc_node_destroy, ftc_cache_lookup): Fix
tracing strings.
* src/cache/ftccmap.c (ftc_cmap_family_init): Ditto.
* src/cache/ftcmanag.c (ftc_family_table_alloc,
ftc_family_table_free, FTC_Manager_Check): Ditto.
* src/cache/ftcsbits.c (ftc_sbit_node_load): Ditto.
2001-12-20 17:49:10 +00:00
David Turner 0f58446b3e disabling bytecode interpreter 2001-12-20 13:34:21 +00:00
David Turner 0fcb412ffc * docs/CHANGES: updated for 2.0.6 release
* src/cff/cffload.h, src/cff/cffload.c, src/cff/cffgload.c: updated
        to mode the definition of encoding tables within "cffload.c" instead
        of making them part of a shared header (causing problems in "multi"
        builds)
2001-12-20 13:33:03 +00:00
David Turner c8087481df * docs/TODO: added "stem3 and counter hints support" to the TODO list
for the Postscript hinter

        * docs/BUGS: closed the AUTOHINT-NO-SBITS bug.

        * src/pshinter/pshrec.c (t2_hint_stems), src/cff/cffobjs.h,
        src/cff/cffobjs.c, src/cff/cffload.c, src/cff/cffload.h,
        src/cff/cffgload.c, src/cff/cffgload.h, src/cff/cffdriver.c,
        include/freetype/internal/cfftypes.h: added Postscript hinter support
        to the CFF driver

        * src/base/ftobjs.c (FT_Done_Library): fixed a stupid bug that crashed
        the library on exit
2001-12-20 13:14:18 +00:00
David Turner 85eb669546 * src/type1/t1gload.c (T1_Load_Glyph): enable font matrix transform
on hinted glyphs..

        * src/cid/cidgload.c, src/cid/cidobjs.c, src/cid/cidobjs.h,
        src/cid/cidriver.c, include/freetype/internal/t1types.h: added
        Postscript hinter support to the CID font driver !!
2001-12-20 09:36:21 +00:00
Werner Lemberg 0d535112fd Formatting.
CFF encoding tables moved back from cffload.c to cffload.h.
2001-12-19 22:26:12 +00:00
David Turner 4937a3ebd2 * src/truetype/ttgload.c (TT_Load_Glyph), src/base/ftobjs.c
(FT_Load_Glyph): "fixed" the bug that prevented embedded bitmaps from
        begin loaded when the auto-hinter is used.. This actually is a hack
        but will be enough until the internal re-design scheduled for
        FreeType 2.1
2001-12-19 21:09:16 +00:00
David Turner c40a7e2d50 * include/freetype/cache/ftcache.h: added comments to indicate that
some of the exported functions should only be used by applications
        that need to implement custom cache types

        * src/truetype/ttgload.c: fixed a nasty bug that prevent composites
        from loading correctly. Believe it or not, this was due to an invalid
        macro definition !!
2001-12-19 19:17:35 +00:00
David Turner 8772845cdb * src/sfnt/sfobjs.c (SFNT_Load_Face): make the "post" and "name"
tables optional to load PCL fonts properly
2001-12-19 14:59:23 +00:00
David Turner fc3a316441 * src/raster/ftrend1.c (ft_raster1_render): fixed a nasty outline
shifting bug in the monochrome renderer.

        * README: updated version numbers to 2.0.6
2001-12-19 14:47:28 +00:00
Werner Lemberg aef3fc816b * src/truetype/ttgload.c (load_truetype_glyph): Fix test for invalid
glyph header.
2001-12-17 16:21:22 +00:00
Werner Lemberg c2e97a3072 Updating/Formatting. 2001-12-16 23:53:39 +00:00
Werner Lemberg 5da9dd77f2 * src/base/ftglyph (FT_Glyph_To_Bitmap): Remove compiler warning.
* include/freetype/ftcache.h (FTC_Node_Unref): Removed.  It is
already in ftcmanag.h.
* src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused variable
`gfam'.
* src/cache/ftcmanag.c (ftc_family_table_alloc,
* ftc_family_table_free): Use FT_EXPORT_DEF.
* include/freetype/cache/ftcmanag.h: Updated.
* src/cache/ftccache.c (ftc_node_destroy): Use FT_EXPORT_DEF.
* src/cache/ftccmap.c (ftc_cmap_node_init): Remove unused variable
`cfam'.
Remove compiler warning.
(FTC_CMapCache_Lookup): Remove compiler warnings.
(ftc_cmap_family_init): Ditto.
(FTC_CMapCache_Lookup): Ditto.

* builds/unix/configure.ac: Increase `version_info' to 8:0:2.
* builds/unix/configure: Regenerated.

* builds/mac/README: Updated.
2001-12-16 08:17:33 +00:00
David Turner 59c9fea654 * src/truetype/ttgload.c (load_truetype_glyph): fixing crash when dealing
with invalid fonts (i.e. glyph size < 10 bytes)..
2001-12-14 15:14:44 +00:00
David Turner 7a1e2c12bf * builds/mac/freetype.mac: a new Makefile to build with MPW on MacOS
classic..
2001-12-14 15:06:15 +00:00
David Turner bce2986d0d fixing hinted advance width bug in all font drivers 2001-12-14 14:52:58 +00:00
David Turner 2b30c17fd3 * src/pshint/pshglob.c: adding correct BlueScale/BlueShift support,
plus family blues processing

    * src/cff/cffgload.c: started adding support for the Postscript hinter
2001-12-12 16:07:29 +00:00
Werner Lemberg 2f5d1b76ca * builds/unix/freetype2.m4: Some portability fixes. 2001-12-12 15:15:44 +00:00
Werner Lemberg fa4ca88346 * src/base/descrip.mms (OBJS): Add ftdebug.obj. 2001-12-11 14:11:11 +00:00
Werner Lemberg 04bfe312a5 * src/sfnt/ttload.c (TT_Load_Generic_Header): Typos. 2001-12-11 14:09:06 +00:00
David Turner 09feefee16 * src/base/fttrigon.c (FT_Cos): fixed a small bug that caused slightly
improper results for FT_Cos and FT_Sin (example: FT_Sin(0) == -1 !!)
2001-12-11 13:49:55 +00:00
David Turner dd27182038 * builds/unix/freetype-config.in: modified the script to prevent
passing "-L/usr/lib" to gcc

        * docs/FTL.TXT: simple fix (change "LICENSE.TXT" to "FTL.TXT")

        * builds/unix/freetype2.m4: added autoconf macro, we need to install
        it in $(prefix)/share/aclocal/freetype2.m4 but I didn't modified
        builds/unix/install.mk yet..
2001-12-11 13:38:52 +00:00
David Turner 7da4824dfb * include/freetype/internal/ftstream.h: fixed the definitions of
GET_LongLE and GET_ULongLE which where incorrect (creating problems
        in the pcf driver)..

        * INSTALL: updated the instructions to build shared libraries with
        Jam.. they were simply erroneous..
2001-12-11 13:14:41 +00:00
David Turner 640078d425 * src/pcf/pcfdriver.c (PCF_Init_Face): allow Xft to use PCF fonts
by setting the "face->metrics.max_advance" correctly..
2001-12-10 10:47:47 +00:00
Werner Lemberg e9e130c071 Formatting. 2001-12-07 21:56:32 +00:00
David Turner 145f94cb26 added new charmap cache. see include/freetype/cache/ftccmap.h 2001-12-07 14:43:45 +00:00
Leonard Rosenthol 6b2e4d4e13 Noted my Mac OS changes from today 2001-12-07 01:51:48 +00:00
Werner Lemberg 69905a2f24 Fix ChangeLog. 2001-12-06 18:37:52 +00:00
David Turner c8ad30a7a0 * src/base/ftglyph.c (FT_Glyph_To_Bitmap): re-ordered code for debugging
purposes..


    * src/smooth/ftsmooth.c (ft_smooth_render): fixed a nasty hidden bug where
    outline shifting wasn't correctly undone after bitmap rasterization. this
    created problems with certain glyphs (like '"' of certain fonts..) and
    the cache system..
2001-12-05 17:24:34 +00:00
David Turner 14183ea0f8 First of all, a big thanks to Werner and Antoine for their latest work !!
* src/pshinter/pshalgo2.c (psh2_hint_table_init),
      src/pshinter/pshalgo1.c (psh1_hint_table_init): removed compiler
      warnings

    * include/freetype/cache/*, src/cache/*: yet another massive rewrite of
    the caching sub-system, in order to both increase performance and allow
    simpler cache sub-classing. As an example, the code for the image and
    sbit caches is now much simpler

    I still need to update the documentation in www/freetype2/docs/cache.html
    to reflect the new design though..
2001-12-05 15:59:33 +00:00
Werner Lemberg c3b2160869 Formatting.
Cleaning up of ChangeLog.

* docs/license.txt: s/X Windows/X Window System/.

* src/raster/ftraster.c: Fix definition condition of MEM_Set().
* src/smooth/ftgrays.c (M_Y): Change value to 192.
* src/base/ftdbgmem.c (ft_mem_table_destroy): Fix printf() parameter.
Remove unused variable.
* src/cache/ftcimage.c (ftc_image_node_init,
ftc_image_node_compare): Remove unused variables.
* src/cache/ftcsbits.c (ftc_sbit_node_weight): Remove unused
variable.
* src/raster/ftraster.c (MEM_Set): Move definition down to avoid
compiler warning.
* src/autohint/ahhint.c (ah_hinter_hint_edges): Use UNUSED() to
avoid compiler warnings.
* src/pcf/pcfread.c (tableNames): Use `const'.
(pcf_read_TOC): Change counter name to avoid compiler warning.
Use `const'.
* src/pshinter/pshrec.c (ps_hints_close): Remove redundant
declaration.
* src/pshinter/pshalgo1.c (psh1_hint_table_init): Rename variables
to avoid shadowing.
* src/pshinter/pshalgo2.c (psh2_hint_table_activate_mask): Ditto.
* src/type1/t1objs.h: Remove double declarations of `T1_Size_Init()'
and `T1_Size_Done()'.
2001-12-05 01:22:05 +00:00
Antoine Leca d0e6ad636f * include/freetype/ttnameid.h: Added some new Microsoft language
codes and LCIDs as found in MSDN (Passport SDK). Also added
comments about the meaning of bit 57 of OS/2 (TT_UCR_SURROGATES)
which with OpenType v.1.3 now means "there is a character beyond
FFFF in this font". Thanks to Detlef Wuerkner <TetiSoft@apg.lahn.de>
for noticing this.
2001-11-20 19:22:13 +00:00
David Turner f2c56515f5 * src/pshinter/{pshalgo2.c, pshalgo1.c}: fixed stupid bug in sorting
routine that created nasty alignment artefacts.

        * src/pshinter/pshrec.c, tests/gview.c: debugging updates..

        * src/smooth/ftgrays.c: de-activated experimental gamme support,
        apparently, "optimal" gamma tables depend on the monitor type,
        resolution and general karma, so it's better to compute them outside
        of the rasterizer itself..
2001-11-20 01:29:34 +00:00
David Turner adf07a930c * src/smooth/ftgrays.c: adding experimental "gamma" support. This
produces smoother glyphs at small sizes for very little cost

	* src/autohint/ahglyph.c, src/autohint/ahhint.c: various fixes to
	the auto-hinter. They merely improve the output of sans-serif fonts.
	Note that there are still problems with serifed fonts and composites
	(accented characters)

	* tests/gview.c: updated the debugging glyph viewer to show the
	hints generated by the "autohint" module
2001-10-30 23:51:24 +00:00
David Turner 75133bff1d fixed a small performance bug in the new cache sub-system implementation 2001-10-27 17:36:04 +00:00
Tom Kacvinsky 8d14d4729c Changed a minor typo. 2001-10-26 18:02:15 +00:00
Tom Kacvinsky 0805ec2589 Changed tjk@ams.org to tkacvins@freetype.org. 2001-10-26 18:01:32 +00:00
David Turner cd605b6302 _major_ re-design of the caching sub-system. Still using the same API
though :-)
2001-10-26 16:58:27 +00:00
Leonard Rosenthol 91ff42258e Added changes about MacOS stuff 2001-10-26 13:23:38 +00:00
Leonard Rosenthol 2f553a2c38 Added change about ftlib.prj 2001-10-25 16:04:24 +00:00
David Turner dcb2b27ea8 updated comment explaining how to use project-specific
option (and module) files
2001-10-24 23:33:31 +00:00
Tom Kacvinsky 40da4e401b * builds/unix/ftsystem.c (FT_New_Memory): Added a missing `}'. 2001-10-24 14:45:15 +00:00
David Turner aa007cd2ed * include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c:
improvements to the memory debugger to report more information in
	case of errors. Also, some allocations that occured through
	REALLOC couldn't be previously catched correctly..
2001-10-24 08:04:00 +00:00
David Turner 3a65746f1d replaced liberal uses of "memset" by the "MEM_Set" macro call
(some platforms don't provide this ANSI function !!)
2001-10-24 07:31:03 +00:00
David Turner 6e34ec93bc updating the debugging memory manager to run on Unix, VMS and
Amiga too (since they use a custom version of "ftsystem.c" !!)
2001-10-23 20:19:01 +00:00
David Turner 88cdbb34a2 removed bogus warnings 2001-10-22 15:24:32 +00:00
David Turner 950c669060 * include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c: modified
the debugging memory manager to report the location (source file name
        + line number) where leaked memory blocks are allocated in the source
        file..  funny, isn't it ??
2001-10-22 14:50:41 +00:00
David Turner 869fc49017 Added a new debugging memory manager implementation. See the
FT_DEBUG_MEMORY macro definition in "ftoption.h", as well as the
file "src/base/ftdbgmem.c"
2001-10-22 08:32:21 +00:00
Tom Kacvinsky a006a0f5ec 2001-10-21 Tom Kacvinsky <tjk@ams.org>
* src/cff/cffload.c (CFF_Done_Font): Free subfonts array only if
        we are working with a CID keyed CFF font.  Otherwise, a variable
        that was never allocated memory might freed.  This is a correction
        to the previous patch for freeing subfonts.
2001-10-21 20:30:54 +00:00
Tom Kacvinsky 726a4fa6f1 2001-10-21 Tom Kacvinsky <tjk@ams.org>
* src/cff/cffload.c (CFF_Done_Font): Free the subfonts array to
        avoid a memory leak.
2001-10-21 16:30:59 +00:00
David Turner 12d40dac42 * src/type1/t1load.c: fixed memory leak bugs that appeared with certain
synthetized fonts (e.g. CourierBoldOblique, a.k.a. "cobo_____.pfb")

	* src/pshinter/pshalgo2.c, src/pshinter/pshalgo1.c,
	src/pshinter/pshglob.c: removing compiler warnings in pedantic modes
	(in multi-object compilation mode, mainly)
2001-10-21 15:41:11 +00:00
Tom Kacvinsky e6eaadf683 Added another entry for t1load.c related to synthetic fonts: make sure
that custom encodings are not loaded twice (thus avoiding a memory
leak).
2001-10-20 20:49:58 +00:00
Tom Kacvinsky 3beab5bd13 Added entries for changes to t1load.c. 2001-10-20 17:53:22 +00:00
David Turner 7e4b52d17b getting rid of compiler warnings 2001-10-19 09:17:49 +00:00
David Turner 3b9f1e096d another small test of the CVS loginfo setup 2001-10-19 08:15:28 +00:00
David Turner 0d7ccf1d4e adding or updating files to the old build system to compile
the library with the Postscript hinter correctly..
2001-10-19 07:34:20 +00:00
David Turner b3e1b292cd just testing the CVS loginfo setup 2001-10-18 15:02:47 +00:00
David Turner 043be66c15 just testing the CVS loginfo setup 2001-10-18 14:58:45 +00:00
David Turner b347aaa206 just testing the CVS loginfo setup 2001-10-18 14:57:28 +00:00
David Turner ec3c28a847 just testing the CVS loginfo setup 2001-10-18 14:54:49 +00:00
David Turner 8e005d502d just testing the CVS loginfo setup 2001-10-18 14:50:01 +00:00
David Turner 6043d2bc5d just testing the CVS loginfo setup 2001-10-18 14:49:12 +00:00
David Turner d5fb3512b0 just testing the CVS loginfo setup 2001-10-18 14:45:28 +00:00
David Turner 0ad006b76f just testing the CVS loginfo setup 2001-10-18 14:36:46 +00:00
David Turner 12c6830662 just testing the CVS loginfo setup 2001-10-18 14:35:52 +00:00
David Turner 8d6aae02d8 just testing the CVS loginfo setup 2001-10-18 14:33:11 +00:00
David Turner 835368543f just testing the CVS loginfo setup 2001-10-18 14:31:41 +00:00
David Turner a0b314c044 just testing the CVS loginfo setup 2001-10-18 14:27:43 +00:00
David Turner 3b25cc7b03 just testing the CVS loginfo setup 2001-10-18 14:25:38 +00:00
David Turner 6ea520aad4 just testing the CVS loginfo setup 2001-10-18 14:12:44 +00:00
David Turner 3cb2500966 just testing the CVS loginfo setup 2001-10-18 14:10:23 +00:00
David Turner 5a4c1ff381 just testing the CVS loginfo setup 2001-10-18 14:07:06 +00:00
David Turner 02f3b4889c just testing the CVS loginfo setup 2001-10-18 14:02:15 +00:00
David Turner 730d0540a4 just testing the CVS loginfo setup 2001-10-18 14:00:54 +00:00
David Turner 0ebf28c73e just testing the CVS loginfo setup 2001-10-18 13:58:05 +00:00
David Turner 29d5a0ecbd just testing the CVS loginfo setup 2001-10-18 13:52:47 +00:00
David Turner f373e2d9bc rewrote "glnames.py" to fix a rather nasty bug that made FreeType
return incorrect glyph names for certain glyph indices..
2001-10-18 13:20:01 +00:00
David Turner c9349c9343 updating ChangeLog and Jamfile for the new Postscript hinter 2001-10-18 11:59:08 +00:00
David Turner 39bea028f8 fixed typo 2001-10-18 10:27:56 +00:00
David Turner 1c5802a4b2 updated FT_Div64by32 2001-10-18 09:51:09 +00:00
David Turner 034a19326b documentation update for 2.0.5 2001-10-17 13:57:02 +00:00
David Turner 23bcde193e implementing a new function named "FT_Get_Postscript_Name" to
retrieve a face's "unique" Postscript name
2001-10-17 13:48:10 +00:00
David Turner 40d006af7c tagging files, checking new CVS -> mail script 2001-10-17 11:33:01 +00:00
Werner Lemberg 80b8d77024 Fixed a bug in `glnames.py' that prevented it from generating
correct glyph names tables.  This resulted in the unavailability of
certain glyphs like `Cacute', `cacute' and `lslash' in Unicode
charmaps, even if these were present in the font (causing problems
for Polish users).

* src/tools/glnames.py (mac_standard_names): Fixed.
(t1_standard_strings): Some fixes and renamed to ...
(sid_standard_names): This.
(t1_expert_encoding): Fixed.
(the_adobe_glyph_list): Renamed to ...
(adobe_glyph_names): This.
(the_adobe_glyphs): Renamed to ...
(adobe_glyph_values): This.
(dump_mac_indices, dump_glyph_list, dump_unicode_values, main):
Updated.
* src/psnames/pstables.h: Regenerated.
* src/psnames/psmodule.c (PS_Unicode_Value): Fix offset.
Fix return value.
Use `sid_standard_table' and `ps_names_to_unicode' instead of
`t1_standard_glyphs' and `names_to_unicode'.
(PS_Macintosh_Name): Use `ps_glyph_names' instead of
`standard_glyph_names'.
(PS_Standard_Strings): Use `sid_standard_names' instead of
`t1_standard_glyphs'.
* doc/BUGS, doc/TODO: New documents.
* src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented
correct LRU behaviour.
setjmp() and longjmp() are now used for rollback (i.e. when memory
pool overflow occurs).
Function names are now all uniformly prefixed with `gray_'.

* src/smooth/ftgrays.c: Include <setjmp.h>.
(ErrRaster_MemoryOverflow): New macro.
(TArea): New type to store area values in each cell (using `int' was
too small on 16-bit systems).  <limits.h> is included to properly
get the needed data type.
(TCell, TRaster): Use it.
(TRaster): New element `jump_buffer'.
(gray_compute_cbox): Use `RAS_ARG' as the only parameter and get
`outline' from it.
(gray_record_cell): Use longjmp().
(gray_set_cell): Use gray_record_cell() for error handling.
(gray_render_line, gray_render_conic, gray_render_cubic): Simplify.
(gray_convert_glyph_inner): New function, using setjmp().
(gray_convert_glyph): Use it.


Provide a public API to manage multiple size objects for a given
FT_Face in the new header file `ftsizes.h'.

* include/freetype/ftsizes.h: New header file,
* include/freetype/internal/ftobjs.h: Use it.
Remove declarations of FT_New_Size and FT_Done_Size (moved to
ftsizes.h).
* include/freetype/config/ftheader.h (FT_SIZES_H): New macro.
* src/base/ftobjs.c (FT_Activate_Size): New function.
* src/cache/ftcmanag.c: Include ftsizes.h.
(ftc_manager_init_size, ftc_manager_flush_size): Use
FT_Activate_Size.
2001-10-10 19:56:42 +00:00
David Turner b4b96260e4 * src/psnames/pstables.h, src/psnames/psmodule.c, src/tools/glnames.py:
fixed a bug in 'glnames.py' that prevented it from generating correct
	glyph names table. This resulted in the unavailability of certain glyphs
	like "Cacute", "cacute" and "lslash" in Unicode charmaps, even if these
	were present in the font (causing problems for Polish users).
2001-10-08 21:18:11 +00:00
David Turner b3ba40ddfd * include/freetype/ftsizes.h, src/base/ftobjs.c, src/cache/ftcmanag.c:
added a new header, named "ftsizes.h" (FT_SIZES_H) to provide a public
	API to manage multiple size objects for a given FT_Face.
2001-10-07 13:30:26 +00:00
David Turner 5b1e81411d * src/cache/ftlru.c (FT_Lru_Lookup_Node): fixed a bug that prevented
correct LRU behaviour
2001-10-07 11:06:07 +00:00
David Turner c4f622c341 * src/smooth/ftgrays: "setjmp/longjmp" is now used for rollback (i.e.
when memory pool overflow occurs), function names are now all prefixed
	with "gray_", and a new type (TArea) is defined to store area value in
	each cell (using "int" was too small on 16-bit systems)..
2001-10-07 10:39:03 +00:00
Werner Lemberg 4667dd6d17 Add ChangeLog entry. 2001-09-20 12:01:09 +00:00
Werner Lemberg 817a85a8ad * src/type1/t1afm.c (T1_Done_AFM): Free `afm'. 2001-09-15 10:05:12 +00:00
Werner Lemberg 20abe742a7 * src/sfnt/ttcmap.c (code_to_index2): Handle code values with
hi-byte == 0 correctly.

* builds/link-std.mk ($(PROJECT_LIBRARY)): Fix typo.
2001-09-10 13:11:52 +00:00
Werner Lemberg ec342907b3 formatting 2001-09-10 06:55:43 +00:00
David Turner 8ab0add6b4 Martin Muskens bufixes:
- reallocation bug in T1_Table_Add
  - increased accuracy of units per EM computation in T1 fonts
  - support "+" as valid font name character (used in embedded fonts)
2001-08-30 07:59:28 +00:00
David Turner 26160d5b2c fixed Type1 kerning flag setting when reading AFM file 2001-08-30 06:56:03 +00:00
Werner Lemberg bcf8d4b497 * src/sfnt/ttload.c (TT_Load_CMap): Fix frame length of
`cmap_rec_fields'.

* include/freetype/fterrors.h [!FT_CONFIG_OPTION_USE_MODULE_ERRORS]:
Undefine FT_ERR_BASE before defining again.
2001-08-24 23:11:34 +00:00
Werner Lemberg 28df3070f0 * src/truetype/ttinterp.h: Fix prototype of TT_Move_Func.
Some formatting
2001-08-22 18:35:06 +00:00
Werner Lemberg a0d32dc1fa * builds/dos/dos-def.mk (NO_OUTPUT): Don't use `&>' but `>'. 2001-08-21 15:49:24 +00:00
David Turner 67750c8fa4 updating the definition of FT_CONFIG_OPTION_USE_MODULE_ERRORS
to _undefined_ (source compatibility breaking issue) + updated its comment

back from holidays, woohoo :-)
2001-08-21 08:50:45 +00:00
Werner Lemberg 6870f4cf1a * src/base/ftcalc.c (FT_MulDiv): Fixed serious typo. 2001-08-18 05:09:42 +00:00
Werner Lemberg 5dea44438f Updating to OpenType 1.3.
* include/freetype/internal/tttypes.h (TT_CMap0, TT_CMap2, TT_CMap4,
TT_CMap6): Adding field `language'.
(TT_CMapTable): Removing field `language'.
Type of `length' field changed to FT_ULong.
Adding fields for cmaps format 8, 10, and 12.
(TT_CMapGroup): New auxiliary structure.
(TT_CMap8_12, TT_CMap10): New structures.
* include/freetype/tttables.h (TT_HoriHeader, TT_VertHeader):
Removed last element of `Reserved' array.
* include/freetype/ttnameid.h (TT_PLATFORM_CUSTOM, TT_MS_ID_UCS_4,
TT_NAME_ID_CID_FINDFONT_NAME): New macros.

* src/sfnt/ttcmap.c (TT_CharMap_Load): Updated loading of `language'
field to the new structures.
Fixed freeing of arrays in case of unsuccessful loads.
Added support for loading format 8, 10, and 12 cmaps.
(TT_CharMap_Free): Added support for freeing format 8, 10, and 12
cmaps.
(code_to_index4): Small improvement.
(code_to_index6): Ditto.
(code_to_index8_12, code_to_index10): New functions.
* src/sfnt/ttload.c (TT_Load_Metrics_Header): Updated to new
structure.
(TT_Load_CMap): Ditto.

* src/sfnt/sfobjs.c (tt_encodings): Add MS UCS4 table (before MS
Unicode).


* src/type1/t1driver.c (t1_get_name_index): Fix compiler warning.
2001-08-13 11:44:29 +00:00
Tom Kacvinsky 32949c1b97 Added entries for chnages to t1driver.c (new name_index function,
function name change)

Added entries for cffdrivr.c (documentation fix, function name change)
2001-08-09 01:21:24 +00:00
Tom Kacvinsky 2eaadd5ad8 Added entries for changes to CFF driver (moved some assignments from
source file to header and added glyph name index requestor function).

Added entries for chnages to FreeType includes for new function
FT_Get_Name_Index.
2001-08-08 11:18:13 +00:00
Werner Lemberg 7dabafd63e * builds/cygwin/*: Removed. Use the unix stuff instead.
* builds/vms/ftconfig.h (FT_CALLBACK_DEF): Updated to change dated
2001-06-27.
2001-07-26 13:17:21 +00:00
Werner Lemberg 49f3cf6546 Add ChangeLog entry. 2001-07-17 12:44:49 +00:00
Werner Lemberg 36af3ea62b * include/freetype/internal/psaux.h (PS_Table): Use FT_Offset for
`cursor' and `capacity'.
* src/psaux/psobjc.c (reallocate_t1_table): Use FT_Long for second
parameter.
(PS_Table_Add): Use FT_Offset for `new_size'.


* src/base/ftsynth.c: Include ftcalc.h unconditionally.
2001-07-17 12:37:54 +00:00
Werner Lemberg 2b6248bac0 formatting 2001-07-07 23:24:02 +00:00
David Turner 3b7049fe10 removed pedantic compiler warnings when the bytecode
interpreter is compiled in the library
2001-07-07 16:12:14 +00:00
David Turner ca90a2c46b * include/internal/ftstream.h: modified the definitions
of the FT_GET_XXXX and NEXT_XXXX macros for 16-bit correctness
2001-07-06 13:52:36 +00:00
Werner Lemberg a560a1e018 * src/autohint/ahhint.c (ah_hinter_align_weak_points): Remove
unused variable `edges'.
(ah_hinter_load): Remove unused variables `old_width' and
`new_width'.
* src/cid/cidload.c (cid_decrypt): Use `U' for constant (again).
* src/psaux/psobjs.c (T1_Decrypt): Ditto.
* src/type1/t1parse.c (T1_Get_Private_Dict): Ditto.
2001-07-03 12:45:24 +00:00
Werner Lemberg 99b744164d * src/cid/cidload.c, src/cid/cidload.h (cid_decrypt): Use FT_Offset
instead of FT_Int as type for `length' parameter.
* include/freetype/internal/psaux.h (PSAux_Interface): Updated.


* src/psaux/psobjs.c, src/psaux/psobjs.h (T1_Decrypt): Use FT_Offset
instead of FT_Int as type for `length' parameter.
2001-06-27 17:06:28 +00:00
Werner Lemberg f814d0fafe First round in converting
type foo ( ... )

to

  type
  foo ( ... )

Other minor formatting issues.
2001-06-27 16:18:10 +00:00
David Turner 9a554eb2d6 the SFNT Kerning table loader now ensures that the table is correctly
sorted.
2001-06-27 12:40:46 +00:00
David Turner f77581f642 changed the definition of FT_CALLBACK_DEF 2001-06-27 10:54:13 +00:00
David Turner dee781342b * include/freetype/ftconfig.h, src/*/*.c: changed the definition and
uses of the FT_CALLBACK_DEF macro in order to support 16-bit compilers
2001-06-27 09:26:46 +00:00
Werner Lemberg 890f313b37 * include/freetype/internal/ftstream.h (FT_GET_OFF3_LE): Fix typo.
* src/base/ftcalc.c (ft_div64by32): Fixed the source to work
correctly on 16-bit systems.
* docs/PATENTS: Added patents disclaimer.  This one was missing!
* docs/CHANGES, docs/todo: Updated for the upcoming 2.0.4 release.
2001-06-26 05:57:19 +00:00
David Turner 2bf99344c3 fixed the 64-bits division computation for 16-bits systems 2001-06-24 17:23:45 +00:00
Werner Lemberg 3974a6058d Formatting. 2001-06-23 22:06:00 +00:00
David Turner c5341fb94e adding Debian build directory 2001-06-23 07:44:51 +00:00
Werner Lemberg 0fe9763135 Add cast in pcfread.c. 2001-06-22 17:08:26 +00:00
David Turner 995ff2046b updated documentation for the 2.0.4 release 2001-06-22 08:45:31 +00:00
Werner Lemberg 38364152e6 * include/freetype/config/ftconfig.h: Add two more `L's to
constants.
Add missing semicolons.

* builds/toplevel.mk: Do similar change as for
builds/unix/detect.mk.

* include/freetype/freetype.h (FT_ENC_TAG): New version to make it
easier to redefine.
* include/freetype/ftimage.h (FT_IMAGE_TAG): Ditto.

* include/freetype/freetype.h (FT_New_Memory_Face): Updated
2001-06-20 08:06:50 +00:00
Werner Lemberg 8eb0353fec Formatting. 2001-06-19 23:03:41 +00:00
David Turner 0b3a99153a * builds/win32/visualc/freetype.dsp, builds/win32/visualc/index.html:
updated the Visual C++ project (for the 2.0.4 release)

        * builds/unix/detect.mk: added rule for AIX detection (which uses
        /usr/sbin/init instead of /sbin/init, go figure..)
2001-06-19 15:45:48 +00:00
David Turner 61f0685683 * include/freetype/fterrors.h: updated some of the error macros to
simplify Werner's latest tricks :o)
2001-06-19 13:41:59 +00:00
Werner Lemberg cf24d51531 Minor cleanups to remove compiler warnings.
* include/freetype/cache/ftcmanag.h (FTC_MAX_BYTES_DEFAULT): Use
`L' for constant.
* include/freetype/config/ftoption.h (FT_RENDER_POOL_SIZE): Ditto.
* src/base/ftcalc.c (FT_MulDiv): Use `L' for constant.
* src/base/ftglyph.c (FT_Glyph_Get_CBox): Remove `error' variable.
* src/base/fttrigon.c (ft_trig_arctan_table): Use `L' for constants.
* src/base/ftobjs.c (FT_Done_Size): Fix return value.
(FT_Set_Char_Size, FT_Set_Pixel_Sizes, FT_Get_Kerning): Remove
unused `memory' variable.
* src/autohint/ahglyph.c (ah_get_orientation): Use `L' for constant.
* src/autohint/ahhint.c (ah_hint_edges_3,
ah_hinter_align_edge_points): Remove unused `before' and `after'
variables.
(ah_hinter_align_weak_points): Remove unused `edge_limit' variable.
(ah_hinter_load): Remove unused `new_advance', `start_contour',
and `metrics' variables.
* src/cff/cffload.c (CFF_Load_Encoding): Remove dead code to avoid
compiler warning.
* src/cff/cffobjs.c (CFF_Init_Face): Remove unused `base_offset'
variable.
* src/cff/cffgload.c (CFF_Parse_CharStrings): Remove unused
`outline' variable.
(cff_compute_bias): Use `U' for constant.
* src/cid/cidload.c (cid_decrypt): Ditto.
* src/psaux/psobjs.c (T1_Decrypt): Ditto.
* src/psaux/t1decode.c (T1_Decoder_Parse_CharStrings): Ditto.
* src/sfnt/ttload.c (TT_Load_Kern): Remove unused `version'
variable.
* src/sfnt/ttsbit.c (TT_Load_SBit_Image): Remove unused `top'
variable.
* src/truetype/ttgload.c (load_truetype_glyph): Remove unused
`num_contours' and `ins_offset' variables.
(compute_glyph_metrics): Remove unused `Top' and `x_scale'
variables.
(TT_Load_Glyph): Remove unused `memory' variable.
* src/smooth/ftgrays.c (grays_raster_render): Use `L' for constants.
2001-06-18 14:23:45 +00:00
Werner Lemberg 00a2207fd8 Make the new error scheme source compatible with older FT versions
by introducing another layer.

* include/freetype/fterrors.h (FT_ERRORDEF_, FT_NOERRORDEF_): New
macros.
(FT_NOERRORDEF): Removed.
* include/*/*err*.h: Use FT_ERRORDEF_ and FT_NOERRORDEF_.
2001-06-18 10:35:00 +00:00
Werner Lemberg be5a53654d * include/freetype/freetype.h (FT_ENC_TAG): New macro.
(FT_Encoding_): Use it.
* include/freetype/ftimage.h (FT_IMAGE_TAG): Define it
conditionally.
2001-06-16 11:20:41 +00:00
Werner Lemberg 9e528d0376 formatting 2001-06-16 07:48:30 +00:00
David Turner ac6cc419df modified the TrueType interpreter to let it
use the new trigonometric functions provided in "fttrigon.h". This
        gets rid of some old 64-bit computation routines, as well as many
        warnings when compiling the library with the "long long" 64-bit
        integer type.
2001-06-14 12:34:00 +00:00
Werner Lemberg 1b3a0014e2 * src/base/ftcalc.c (FT_MulDiv, FT_DivFix, FT_Sqrt64): Remove
compiler warnings.
2001-06-11 13:26:11 +00:00
Werner Lemberg 7986070714 Increase `version_info' to 7:0:1.
Fixed a bug that returned an invalid linear width for composite
TrueType glyphs.
* include/internal/tttypes.h (TT_Loader_): Two new elements `linear'
and `linear_def'.
* src/truetype/ttgload.c (load_truetype_glyph,
compute_glyph_metrics): Use it.
* include/fttypes.h (FT_ERROR_BASE): New macro.
* src/base/ftobjs.c (FT_Open_Face, FT_Render_Glyph_Internal): Use it
to make source code work with the new error scheme implemented by
Werner.
* src/base/ftoutln.c (FT_Outline_Render): Ditto.
2001-06-08 21:17:29 +00:00
David Turner 57d4de0e51 fixed a bug that returned an invalid linear width for composite
TrueType glyphs

fixed source code to work with the new error scheme implemented
by Werner
2001-06-08 13:29:36 +00:00
Werner Lemberg b3f3210b65 * builds/unix/configure.in: Renamed to ...
* builds/unix/configure.ac: This to make sure that autoconf 2.50 is
needed.
Run `autoupdate' on it.
* builds/unix/configure: Regenerated.

* src/autohint/ahhint.c (ah_hinter_load_glyph): Fixed a bug that
corrupted transformed glyphs that were auto-hinted (the transform
was applied twice).

Updating to libtool 1.4.0 and autoconf 2.50.
2001-06-08 12:19:22 +00:00
David Turner 0ebd3338f6 * src/autohint/ahhint.c (ah_hinter_load_glyph): fixed a bug that
corrupted transformed glyphs that were auto-hinted (the transform
        was applied twice !!)
2001-06-08 10:54:43 +00:00