Commit Graph

329 Commits

Author SHA1 Message Date
David Turner a391b7e86f fixing memory leak in the PCF driver, and managing the
"AVERAGE_WIDTH" property in PCF fonts to return correct
character pixel (width/height) pairs for embedded bitmaps..
2002-02-06 11:22:56 +00:00
Werner Lemberg 08270698e7 Adding the function `FT_Get_Next_Char', doing the obvious thing
w.r.t. the selected charmap.

* include/freetype/freetype.h: Add prototype.
* include/freetype/internal/ftdriver.h: Add `FTDriver_getNextChar'
typedef.
(FT_Driver_Class): Use it.
* include/freetype/internal/psnames.h: Add `PS_Next_Unicode_Func'
typedef.
(PSNames_Interface): Use it.
* include/freetype/internal/tttypes.h: Add `TT_CharNext_Func'
typedef.
(TT_CMapTable): Use it.

* src/base/ftobjs.c (FT_Get_Next_Char): New function, implementing
high-level API.
* src/cff/cffdrivr.c (cff_get_next_char): New function.
(cff_driver_class): Add it.
* src/cid/cidriver.c (Cid_Get_Next_Char): New function.
(t1cid_driver_class): Add it.
* src/pcf/pcfdriver.c (PCF_Get_Next_Char): New function.
(pcf_driver_class): Add it.
* src/psnames/psmodule.c (PS_Next_Unicode): New function.
(psnames_interface): Add it.
* src/sfnt/ttcmap.c (code_to_next0, code_to_next2, code_to_next4,
code_to_next6, code_to_next_8_12, code_to_next_10): New auxiliary
functions.
(TT_CharMap_Load): Use them.
* src/truetype/ttdriver.c (Get_Next_Char): New function.
(tt_driver_class): Add it.
* src/type1/t1driver.c (Get_Next_Char): New function.
(t1_driver_class): Add it.
* src/winfnt/winfnt.c (FNT_Get_Next_Char): New function.
(winfnt_driver_class): Add it.

* src/pcf/pcfread.c (pcf_load_font): For now, report Unicode for
Unicode and Latin 1 encodings.
2002-02-04 20:55:58 +00:00
Werner Lemberg 5b4691278c * builds/unix/freetype-config.in: Add missing `fi'. 2002-02-02 15:05:38 +00:00
David Turner f8d40f96c0 increasing FREETYPE_PATCH to 7 2002-02-01 09:22:39 +00:00
Werner Lemberg acf80aa238 Formatting. 2002-02-01 01:20:11 +00:00
David Turner 5eef31a04f updating documentation for 2.0.7 2002-01-31 17:42:05 +00:00
Werner Lemberg 708fd47251 *** empty log message *** 2002-01-30 22:37:52 +00:00
David Turner a104001612 moved INSTALL to docs/INSTALL to get rid of conflicts with the "install"
script on Windows (where the file system doesn't preserve CASE)
2002-01-30 12:56:16 +00:00
David Turner 8ac794cf04 fixed the "configure" script in the top-level directory..
It didn't work correctly when several arguments were passed
to it. For example, when typing:

  ./configure --disable-shared --prefix=/usr

the "--prefix=/usr" was incorrectly sent to the "make" program..
2002-01-29 18:13:54 +00:00
Werner Lemberg 43e5b1147d * README.UNX: Fix typo.
* builds/unix/install.mk (uninstall): Fix library name for libtool.
2002-01-29 01:11:23 +00:00
Werner Lemberg e8d3b9b75d * src/pcf/pcfdriver.c (PCF_Done_Face): Fix incorrect destruction of
the face object (face->toc.tables, face->root.family_name,
face->root.available_size, face->charset_encoding,
face->charset_registry are now freed).  Thanks to Niels Moseley.
2002-01-28 23:52:24 +00:00
Werner Lemberg 7c836c227c * src/type1/t1load.c (parse_encoding): Set `loader->num_chars'.
* src/type1/t1load.c (parse_subrs, parse_charstrings): Use copy
of `base' string for decrypting to not modify the original data.
2002-01-28 13:34:52 +00:00
Werner Lemberg 5e99e92619 * src/smooth/ftgrays.c (gray_render_scanline): Fix bug which caused
bad rendering of thin lines (less than one pixel thick).
2002-01-28 05:04:22 +00:00
Werner Lemberg 2ee087e487 * src/cff/cffdrivr.c (cff_get_name_index): Make last patch work
actually.
2002-01-25 22:55:53 +00:00
Werner Lemberg 840c2f268e * src/cache/ftccache.c (ftc_node_done, ftc_node_destroy): Fix
compilation warnings.
* src/base/descrip.mms (OBJS): Add `ftmm.obj'.
* src/cache/descrip.mms (ftcache.obj): Dependencies added.
2002-01-25 16:05:39 +00:00
Antoine Leca c511ad734b * docs/PATENTS: Typo fixed (Thanks to Detlef "Hawkeye" Wuerkner) in the URL for the on-line resource. 2002-01-21 21:57:38 +00:00
Werner Lemberg 6b86b0b54d * builds/win32/ftdebug.c: New file.
* builds/win32/visualc/freetype.dsp: Updated.

* builds/amiga/src/base/ftsystem.c: Updated for AmigaOS 3.9.
* builds/amiga/README: Updated.
2002-01-19 02:20:45 +00:00
Werner Lemberg 548de419a2 * builds/win32/visualc/freetype.dsp: Updated. 2002-01-18 09:00:44 +00:00
Werner Lemberg 08411e563d * builds/unix/freetype2.a4: The script was still buggy.
* builds/unix/freetype-config.in: Make it really work for any install
prefix.
2002-01-13 06:36:02 +00:00
Werner Lemberg 7d697ff893 * builds/unix/freetype2.a4: Fix some serious bugs. 2002-01-11 02:22:40 +00:00
Werner Lemberg b8ced96ce3 Formatting. 2002-01-09 21:01:18 +00:00
David Turner 944ac3747e small speed-up to the anti-aliased renderer 2002-01-09 10:48:25 +00:00
David Turner 9d283e504d added 'configure' and 'install' wrapper scripts to make the
installation process more Unix-friendly :-)
2002-01-08 18:33:55 +00:00
David Turner 6456a92ebb fixed html quoting in DocMaker 2002-01-07 12:09:51 +00:00
David Turner 7dc6718343 updating documentation 2002-01-07 10:40:48 +00:00
David Turner 4472fd437d * include/freetype/config/ftoption.h: setting default options for
a release build (debugging off, bytecode interpreter off)
2002-01-07 10:05:34 +00:00
David Turner 3837098a65 * src/base/ftobjs.c, src/base/ftoutln.c, src/cache/ftccmap.c,
src/cff/cffload.c, src/cff/cffobjs.c, src/pshinter/pshalgo2.c,
        src/sfnt/ttload.c, src/sfnt/ttsbit.c: removing small compiler
        warnings (in pedantic compilation modes)
2002-01-07 10:04:09 +00:00
Werner Lemberg 2a4ea10b05 formatting 2002-01-06 16:42:44 +00:00
David Turner f126ee26e7 the TrueType glyph loader is now much more paranoid, this avoids
unpleasant overwrites in the case of invalid glyph data (found in
the output of buggy font converters)

the computation of auto-hinted stem widths has been modified to
avoid certain color fringes in LCD-decimation rendering (a.k.a.
"ClearType")
2002-01-06 10:13:40 +00:00
David Turner 6ee4fcdeea added README.UNX for Unix users 2002-01-04 16:36:42 +00:00
David Turner b122d6d843 remove compiler warnings and a typo in builds/unix/ftsystem.c 2002-01-04 09:47:30 +00:00
Werner Lemberg 1ccd917ed6 * src/type1/t1objs.c (T1_Face_Init): Add cast to avoid compiler
warning.
2002-01-03 22:06:13 +00:00
David Turner 52ca40b522 * 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 1c2ef2b948 * 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 da0da4a5e8 Formatting. 2001-12-31 16:04:26 +00:00
David Turner dcf5e6e5c5 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 21bdad1554 * 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 39defae424 * 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 964dd10db1 Formatting. 2001-12-23 00:56:36 +00:00
David Turner eb147c6a0b 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 4770f01cbe * 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 ae69e7dc7d * 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 de4383892e * 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 637dd17647 * 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 5fd895c9f4 * 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 b3bf8144df Formatting. 2001-12-21 10:57:09 +00:00
David Turner 04658fcd81 * 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 aa78d59d23 * src/base/ftobjs.c (FT_Done_Library): Remove compiler warning.
Formatting.
2001-12-20 21:22:02 +00:00
Werner Lemberg a931abf7a1 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 7c0403638f disabling bytecode interpreter 2001-12-20 13:34:21 +00:00