Commit Graph

1025 Commits

Author SHA1 Message Date
Werner Lemberg e9b8c39eb8 * src/type1/t1load.c (parse_charstrings): Catch this non-standard
beginning of the /CharStrings dictionary:

  /CharStrings 118 dict def
  Private begin
  CharStrings begin
2005-04-14 11:43:40 +00:00
Werner Lemberg a9a65f7f50 * docs/TODO: Updated.
* autogen.sh: Use `--force' for all commands.
2005-04-13 18:12:36 +00:00
Werner Lemberg 3f4f7450da src/pshinter/pshalgo.c (ps_hints_apply): Change scaling values only
if `fitted' is not zero.
2005-04-09 09:50:39 +00:00
Werner Lemberg 57214ba86a * src/truetype/ttgload.c (tt_face_get_metrics) [FT_OPTIMIZE_MEMORY]:
Fix typo which sometimes causes wrong metrics for the last glyph.
2005-04-06 14:48:55 +00:00
Werner Lemberg 5f501a4a98 *** empty log message *** 2005-04-04 20:38:33 +00:00
David Turner 76d7d37b19 * include/freetype/config/ftoption.h: commenting the definition of
FT_OPTIMIZE_MEMORY for the upcoming 2.1.10 release

    * src/autofit/afhints.c: small tweak to use a bit less heap memory
    within the auto-fitter
2005-04-03 22:09:41 +00:00
Werner Lemberg 069ea05829 * src/type1/t1parse.c (T1_New_Parser): Relax the check for a valid
first line in the font.
2005-04-03 20:44:43 +00:00
Werner Lemberg 3a1a1eeaa7 * docs/CHANGES, include/freetype/freetype.h: Improve documentation
of FT_Set_Pixel_Sizes and FT_Set_Char_Size.
2005-04-03 20:11:42 +00:00
Werner Lemberg 8bbace0b63 * builds/amiga/src/base/ftsystem.c (ft_amiga_stream_io): Fix buffer
offsets after a large read.
2005-03-26 22:57:57 +00:00
Werner Lemberg a407abf65f * src/autofit/afglobal.c (af_face_globals_get_metrics):
s/index/gidx/.

* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Fix compiler
warnings.

* src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.

* src/sfnt/ttsbit0.h: Dummy file for build with `make'.
2005-03-26 10:27:09 +00:00
Werner Lemberg fd091038db Update of the Amiga port.
* builds/amiga/makefile, builds/amiga/makefile.os4,
builds/amiga/smakefile: Included the base extension files
(ftbitmap.c, ftotval.c, ftpfr.c, ftstroke.c, ftxf86.c).
2005-03-26 10:18:38 +00:00
Werner Lemberg a4217cb08a Update of the Amiga port.
* builds/amiga/makefile, builds/amiga/smakefile: Handle new modules.

* builds/amiga/makefile.os4: Makefile for AmigaOS4 SDK.

* builds/amiga/README: Updated.

* builds/amiga/include/freetype/config/ftconfig.h: Handle gcc for
AmigaOS4.

* builds/amiga/include/freetype/config/ftmodule.h: Handle new
modules.

* builds/amiga/src/base/ftdebug.c: Updated to current version of
default ftdebug.c.
Add various include files and macros to have proper support for
both AmigaOS4 and older AmigaOS versions.
Don't declare KVPrintF explicitly.
Replace getenv with GetVar.
Actually enable debugging code.

* builds/amiga/src/base/ftsystem.c: Major rewrite.
2005-03-25 22:18:01 +00:00
Werner Lemberg 35a9831961 * tests/*: Removed. 2005-03-23 17:44:34 +00:00
Werner Lemberg fe122df68c * docs/CHANGES, docs/INSTALL.ANY: Updated.
* include/freetype/ftmoderr.h: Replace `Autohint' with `Autofit'.
Add `OTvalid'.

* src/autofit/aferrors.h: New file.

* src/autofit/afglobal.c, src/autofit/afhints.c,
src/autofit/aflatin.c, src/autofit/afloader.c: s/FT_Err_/AF_Err_/.
Include aferrors.h.

* src/autofit/rules.mk (AUTOF_DRV_H): Include aferrors.h.

* src/otvalid/otverror.h: s/FT_Mod_Err_OTV/FT_Mod_Err_OTvalid/.
2005-03-23 16:45:24 +00:00
David Turner 2c683b8abe removing the 'autohint' module from the library, since it is
now replaced by 'autofit'
2005-03-22 22:10:45 +00:00
Werner Lemberg ec4f182713 Formatting. 2005-03-16 01:49:54 +00:00
David Turner e10f217b75 * src/bdf/bdflib.c: removing compiler warnings 2005-03-15 23:48:15 +00:00
David Turner 53e54a632a * src/bdf/bdflib.c: various improvements to the bdf loader, mainly
used to reduce the amount of heap size required to only test wether
    we're dealing with a BDF font (the old code allocated 64 Kb right
    before any test).

    * src/lzw/ftlzw.c (FT_Stream_OpenLZW): modified the function to check
    the LZW header before doing anything else. This helps avoid un-necessary
    heap allocations (400 Kb of heap memory for the LZW decoder ! Oh my !)

    * src/gzip/ftgzip.c (FT_Stream_OpenGZip): ditto for the .gz decoder,
    though the code savings is smaller.
2005-03-15 18:18:57 +00:00
Werner Lemberg 8fe1af6451 Improving comment. 2005-03-11 09:14:21 +00:00
David Turner bafcecf053 * src/tools/glnames.py: adding comment explaining the compression
being used for the Adobe Glyph List.
2005-03-10 18:31:49 +00:00
Werner Lemberg 3ea9ff3344 * src/truetype/ttpload.c (tt_face_load_cvt, tt_face_load_fpgm):
Fix serious typo which prevented correct TT rendering.

* include/freetype/internal/ftmemory.h: Undo change from 2005-03-03.
To suppress warnings it is sufficient to use `-fno-strict-aliasing'.
2005-03-10 15:49:45 +00:00
Werner Lemberg b6ca839997 * src/tools/glnames.py: Formatted.
Format output to be in sync with other FreeType code.
Import `re' and `os.path'.
(StringTable) <__init__>: Add parameter to initialize master table
name.
(StringTable) <dump>: Don't pass master table name.
(StringTable) <dump_sublist>: Emit explanatory comment.
Simplify and make output more human readable.
(t1_bias, glyph_list, adobe_glyph_names): Removed.  Unused.
(main): Use `basename' for file name in header.

* src/psnames/pstables.h: Regenerated.

Other formatting.
2005-03-10 06:28:07 +00:00
David Turner b5b50811b4 * src/base/ftobjs.c (FT_Set_Char_Sizes): fix for bug #12263 2005-03-09 17:36:02 +00:00
David Turner c29d5c361a * src/tools/glnames.py: rewrote the generator for the 'pstables.h'
header, which contains various constant tables related to glyph
    names. It now uses a different storage scheme that saves about 20
    Kb and closes bug #12262

  * src/psnames/pstables.h: re-generated header file

  * src/psnames/psmodule.c: rewrote some parts to comply with recent
    changes in 'pstables.h'
2005-03-09 17:33:03 +00:00
Werner Lemberg 1589cda69c Formatting. 2005-03-08 06:00:35 +00:00
David Turner 1052074edd * src/autofit/aflatin.c (af_latin_metrics_init): fixing bug #12212
(auto-hinter refuses to work if no Unicode charmap in font)
2005-03-06 10:17:28 +00:00
David Turner 52a05d799e * src/otvalid/{otvgsub.c, otvgpos.c}: making static tables constant 2005-03-06 08:14:36 +00:00
Werner Lemberg 094786cb00 * autogen.sh: New script for bootstrapping.
* README.CVS: New file which documents bootstrapping.

* builds/unix/aclocal.m4, builds/unix/config.guess,
builds/unix/config.sub, builds/unix/configure,
builds/unix/ltmain.sh: Removed.
2005-03-05 17:05:35 +00:00
Werner Lemberg c1a59318ba * src/base/ftutil.c: Include FT_INTERNAL_OBJECTS_H. 2005-03-03 23:05:29 +00:00
Werner Lemberg 72393bce3b Various fixes for C and C++ compiling.
* src/autofit/*: Add copyright messages.
  Formatting.

* src/autofit/afhints.c (af_glyph_hints_done): Don't use
`AF_Dimension' but `int' for loop counter.

* src/autofit/aflatin.c (af_latin_metrics_init_widths): Don't use
`AF_Dimension' but `int' for loop counter.
Use proper enumeration value for `render_mode'.
(af_latin_metrics_scale_dim): Don't shadow variables.
(af_latin_hints_compute_segments): Use proper cast for `major_dir'
and `segment_dir'.
(af_latin_align_linked_edge, af_latin_hint_edges): Fix arguments of call to
`af_latin_compute_stem_width'.
(af_latin_hints_apply): Don't use `AF_Dimension' but `int' for loop
counter.

* src/base/ftdbgmem.c (ft_mem_table_get_source, FT_DumpMemory): Use
proper cast for memory allocation.

* src/cff/cffdrivr.c (cff_get_kerning): Use proper cast for
initialization of `sfnt'.

* src/sfnt/sfdriver.c: Include `ttkern.h'.

* src/sfnt/ttkern.c (tt_face_get_kerning): Don't shadow variables.

* src/truetype/ttgload.c: Include `ttpload.h'.

* src/truetype/ttpload.c (tt_face_load_loca) [FT_OPTIMIZE_MEMORY]:
Remove redundant variable.
2005-03-03 17:09:08 +00:00
David Turner ab0eb13fc2 * include/freetype/config/ftmodule.h: moving the order of drivers to
speed up font loading. the pcf and bdf loaders are still slow and
    eat memory like crazy.
2005-03-03 14:10:21 +00:00
David Turner 806e8e89c9 * src/sfnt/ttsbit0.c, src/truetype/ttpload.c: removing compiler
warnings
2005-03-03 14:09:10 +00:00
Werner Lemberg 0e37feda90 * devel/ftoption.h: Updated to recent changes. 2005-03-03 11:10:45 +00:00
Werner Lemberg f9a1be3d23 * src/autofit/afdummy.c, src/autofit/afdummy.h
(af_dummy_script_class): Fix type.

* src/autofit/aflatin.c, src/autofit/aflatin.h
(af_latin_script_class): Fix type.

* src/autofit/rules.mk (AUTOF_DRV_SRC): Fix typo.

Formatting.
2005-03-02 11:24:23 +00:00
David Turner 4bdee1ff76 removing compiler warnings 2005-03-01 22:57:25 +00:00
David Turner c97e557211 * src/autofit/{rules.mk,module.mk,afangles.h}: adding missing files
* src/autofit/afloader.c: fixing small bug that could crash the engine
    with certain fonts.
2005-03-01 22:49:32 +00:00
David Turner fdefb6ad9e * src/autofit/{afhints.h,afhints.c,aflatin.h,aflatin.c,afloader.c}:
various bug-fixes and drastic heap usage reduction improvements.

    * include/freetype/config/ftmodule.h: the auto-fitter is now the
    only supported auto-hinting module

    * include/freetype/config/ftstdlib.h: adding FT_INT_MAX definition
2005-03-01 15:48:29 +00:00
Werner Lemberg 87f6aadf03 Formatting.
* src/truetype/ttpload.c (tt_face_load_loca): Fix typo.

* src/sfnt/ttkern.c: Include `ttkern.h'.
(FT_COMPONENT): Updated.

* include/freetype/internal/fttrace.h: Add entry for `ttkern'.

* src/sfnt/ttsbit0.c: s/FT_Err_/SFNT_Err_/.
Decorate constants with `U' and `L' where necessary.

* src/sfnt/ttcmap.c (tt_cmap4_next): Remove unused variable.
2005-03-01 02:13:50 +00:00
David Turner 40a82ac3d9 updating ChangeLog 2005-02-28 22:09:48 +00:00
David Turner 7dfb84fe10 * src/sfnt/ttkern.c (tt_face_load_kern): fixing a small bug which returned
invalid (random) values for the horizontal kerning
2005-02-27 21:35:50 +00:00
David Turner a511bc8b9b * many, many files: several memory optimizations were implemented to
drastically reduce the heap usage of FreeType, especially in the case
  of memory-mapped files. The idea is to avoid loading and decoding tables
  in the heap, and instead access the raw data whenever possible (i.e.
  when it doesn't compromise performance).

  This had several impacts: first, opening vera.ttf uses a ridiculous amount
  of memory (when the FT_Library footprint is accounted for), until you start
  loading glyphs. Even then, you'll save at least 20 Kb compared to the non
  optimized case. performance of various operations, including open/close
  has also been dramatically improved.

  More optimisations to come. The auto-hinter eats memory like crazy? This
  must be stopped...
2005-02-26 00:12:04 +00:00
David Turner d7fe752715 * include/freetype/config/ftoption.h, include/freetype/internal/ttypes.h,
src/truetype/ttpload.c, src/truetype/ttpload.h, src/truetype/ttgload.c:
    added the temporary configuration FT_OPTIMIZE_MEMORY to control various
    optimizations used to reduce the heap footprint of memory-mapped TrueType
    files.

    * src/truetype/ttpload.c (tt_face_load_loca, tt_face_get_location,
    tt_face_done_loca): when FT_OPTIMIZE_MEMORY is set, the locations table
    is read directly from memory-mapped streams, instead of being decoded
    into the heap.

    * src/truetype/ttpload.c: only load the CVT and fpgm tables when the
    bytecode interpreter is compiled in.
2005-02-22 16:53:06 +00:00
David Turner 5a5783e9c0 * src/base/ftdbgmem.c: adding the ability to list all allocation sites
in the memory debugger. Also a new function FT_DumpMemory() was added.
	It is only available in builds with FT_DEBUG_MEMORY defined, and you
	must declare it in your own code to use it, i.e. with something
	like:

	  extern void FT_DumpMemory( FT_Memory );

	  ...

	  FT_DumpMemory( memory );

	* include/freetype/config/ftoptions.h: disabling TrueType bytecode
	interpreter !

	* include/freetype/internal/ftmemory.h: adding FT_ARRAY_ZERO, as a
	convenience macro.
2005-02-22 15:38:12 +00:00
Werner Lemberg 957ad87d43 * builds/unix/ltmain.sh: Regenerated with `libtoolize --force
--copy' from libtool 1.5.14.
* builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from
automake 1.9.4.

* builds/unix/config.guess, builds/unix/config.sub: Updated from
`config' CVS module at subversions.gnu.org.

* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
`texinfo' CVS module at subversions.gnu.org.
2005-02-20 08:22:30 +00:00
Werner Lemberg f9e9d3f619 * src/cff/cffcmap.c (cff_cmap_unicode_init): Don't try to build
a cmap for a CID-keyed font which doesn't have SIDs.
2005-02-14 07:25:07 +00:00
Werner Lemberg 0f543ff73f * src/type1/t1load.c (read_binary_data): Return more meaningful
value.
(parse_encoding, parse_subrs, parse_charstrings, parse_dict): Check
parser error value after call to T1_Skip_PS_Token (where necessary).

* src/type1/t1parse.c (T1_Get_Private_Dict): Check parser error
value after call to T1_Skip_PS_Token.

* src/cid/cidparse.c (cid_parser_new): Check parser error value
after call to cid_parser_skip_PS_token.

* src/type42/t42parse.c (t42_parse_encoding, t42_parse_sfnts,
t42_parse_charstrings, t42_parse_dict): Check parser error value
after call to T1_Skip_PS_Token (where necessary).

* src/psaux/psobjc.c (skip_string, ps_parser_skip_PS_token,
ps_tobytes): Add error messages.
2005-02-13 21:42:42 +00:00
Werner Lemberg 85efaad11d * configure: Output more variables to the created Makefile so that
it can be used for ft2demos also (if the FT2DEMOS variable is
defined).
2005-02-13 05:46:50 +00:00
Werner Lemberg 89c5c86486 Formatting. 2005-02-10 16:59:37 +00:00
David Turner a61857a8e7 * src/base/ftbitmap.c (FT_Bitmap_Convert): small improvements to the
conversion function (mainly stupid optimization, because I like
	these... shame on me)

	* src/base/Jamfile: adding ftbitmap.c to the list of compiled files
2005-02-10 16:11:29 +00:00
David Turner adc7dd6ace forgot to update ChangeLog before previous comment
I suppose I'm rusty :-)
2005-02-10 15:36:21 +00:00