David Turner
581ec91c27
* include/freetype/ftcache.h,
...
include/freetype/cache/ftcmanag.h,
include/freetype/cache/ftccache.h,
include/freetype/cache/ftcmanag.h,
include/freetype/cache/ftcmru.h (added),
include/freetype/cache/ftlru.h (removed),
include/freetype/cache/ftcsbits.h,
include/freetype/cache/ftcimage.h,
include/freetype/cache/ftcglyph.h,
src/cache/ftcmru.c,
src/cache/ftcmanag.c,
src/cache/ftccache.c,
src/cache/ftcglyph.c,
src/cache/ftcimage.c,
src/cache/ftcsbits.c,
src/cache/ftccmap.c,
src/cache/ftcbasic.c (added),
src/cache/ftclru.c (removed):
*Complete* rewrite of the cache sub-system to "solve" the
following points:
- all public APIs have been moved to FT_CACHE_H, everything
under "include/freetype/cache" is only needed by client
applications that want to implement their own caches
- a new function named FTC_Manager_RemoveFaceID to deal
with the uninstallation of FaceIDs
- the image and sbit cache are now abstract classes, that
can be extended much more easily by client applications
- better performance in certain areas. Further optimizations
to come shortly anyway...
- the FTC_CMapCache_Lookup function has changed its signature,
charmaps can now only be retrieved by index
- FTC_Manager_Lookup_Face => FTC_Manager_LookupFace
FTC_Manager_Lookup_Size => FTC_Manager_LookupSize (still in
private header for the moment)
2003-12-22 21:53:37 +00:00
David Turner
57ecae22a7
new version of the cache sub-system - still under debugging
2003-12-19 21:23:58 +00:00
Werner Lemberg
2acb963baf
Cleanups.
2003-04-23 06:47:12 +00:00
David Turner
b280537b6d
* src/base/ftdbgmem.c, docs/DEBUG.TXT: added new environment variables
...
to control memory debugging with FreeType. See the description of
"FT2_DEBUG_MEMORY", "FT2_ALLOC_TOTAL_MAX" and "FT2_ALLOC_COUNT_MAX"
in DEBUG.TXT
* src/cache/ftccache.c, src/cache/ftccmap.c, src/cache/ftcsbits.c,
ftlru.c: fixed the cache sub-system to correctly deal with out-of-memory
conditions.
* src/pfr/pfrobjs.c, src/pfr/pfrsbits.c: fixing compiler warnings and a
small memory leak
* src/psaux/psobjs.c (t1_reallocate_table): fixed a bug (memory leak) that
only happened when trying to resize an array would end in an OOM.
* src/smooth/ftgrays.c: removed compiler warnings / volatile bug
* src/truetype/ttobjs.c: removed segmentation fault that happened in
tight memory environments.
2003-03-13 21:07:51 +00:00
David Turner
ae26c684db
* src/cache/ftccmap.c: the cmap cache now supports UCS-4 charmaps
...
when available in Asian fonts
* src/sfnt/ttload.c, src/base/ftobjs.c: changed "asian" to "Asian" in
comments
* src/truetype/ttdriver.c (Set_Char_Sizes): fixed a rounding bug when
computing the scale factors for a given character size in points with
resolution.
2003-02-25 20:37:50 +00:00
David Turner
4bdf4350f2
various improvements for 2.1.4. see ChangeLog, I've got problems with
...
copy & paste on my desktop !!
2003-01-30 23:24:18 +00:00
Werner Lemberg
8c90c22dbe
* src/cache/ftccache.c (ftc_node_hash_unlink, ftc_node_hash_link)
...
[FTC_CACHE_USE_LINEAR_HASHING]: Fix returned error code.
Fix debugging messages.
* src/type42/t42error.h: New file.
* src/type42/t42drivr.c, src/type42/t42objs.c,
src/type42/t42parse.c: Use t42 error codes.
* src/type42/rules.mk: Updated.
* src/base/ftnames.c: Include FT_INTERNAL_STREAM_H.
Formatting, adding copyright messages.
2002-06-08 06:47:18 +00:00
David Turner
4927e37a04
commit last fixes and optimisations to the cache manager.
...
The performance of cache hits has increased between 20 and 50% !!
2002-06-08 01:05:56 +00:00
David Turner
f47d5f0b39
debugging new cache hash table implementation
2002-06-07 22:09:20 +00:00
Werner Lemberg
7b3dc7bb61
* src/cache/ftccache.c (ftc_cache_lookup),
...
src/cache/ftccmap.c (ftc_cmap_family_init),
src/cache/ftcmanag.c (ftc_family_table_alloc),
src/cache/ftcsbits.c (FTC_SBit_Cache_Lookup): Use FTC_Err_*.
src/cache/ftcimage.c (FTC_Image_Cache_Lookup): Use FTC_Err_*.
(FTC_ImageCache_Lookup): Fix handling of invalid arguments.
2002-04-28 02:48:20 +00:00
Werner Lemberg
48c984b5bb
* src/cff/cffdrivr.c (cff_get_glyph_name): Fix debug message.
...
* src/cff/cffobjs.c (CFF_Driver_Init, CFF_Driver_Done)
[TT_CONFIG_OPTION_EXTEND_ENGINE]: Removed.
* src/cff/sfobjs.c (SFNT_Load_Face)
[TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto.
* src/truetype/ttobjs.c (TT_Init_Driver, TT_Done_Driver)
[TT_CONFIG_OPTION_EXTEND_ENGINE]: Ditto.
* src/truetype/ttdriver.c, src/truetype/ttobjs.c,
src/truetype/ttobjs.h: Renaming driver functions to the
FT_<Subject>_<Action> scheme:
TT_Init_Driver => TT_Driver_Init
TT_Done_Driver => TT_Driver_Done
TT_Init_Face => TT_Face_Init
TT_Done_Face => TT_Face_Done
TT_Init_Size => TT_Size_Init
TT_Done_Size => TT_Size_Done
TT_Reset_Size => TT_Size_Reset
2002-03-30 16:41:09 +00:00
Werner Lemberg
0d9165e1d6
* src/base/ftdbgmem.c (ft_mem_table_resize, ft_mem_table_new,
...
ft_mem_table_set, ft_mem_debug_alloc, ft_mem_debug_free,
ft_mem_debug_realloc, ft_mem_debug_done, FT_Alloc_Debug,
FT_Realloc_Debug, FT_Free_Debug): Fix compiler warnings.
* src/base/ftcalc.c (FT_MulFix): Ditto.
* src/cff/cffdrivr.c (cff_get_name_index): Ditto.
* src/cff/cffobjs.c (CFF_Size_Get_Global_Funcs, CFF_Size_Init,
CFF_GlyphSlot_Init): Ditto.
* src/cid/cidobjs.c (CID_GlyphSlot_Init,
CID_Size_Get_Globals_Funcs): Ditto.
* src/type1/t1objs.c (T1_Size_Get_Globals_Funcs, T1_GlyphSlot_Init):
Ditto.
* src/pshinter/pshmod.c (pshinter_interface): Use `static const'.
* src/winfonts/winfnt.c (FNT_Get_Next_Char): Remove unused
variables.
* include/freetype/internal/psaux.h (T1_Builder_Funcs): Renamed
to...
(T1_Builder_FuncsRec): This.
(T1_Builder_Funcs): New typedef.
(PSAux_Interface): Remove compiler warnings.
* src/psaux/psauxmod.c (t1_builder_funcs), src/psaux/psobjs.h
(t1_builder_funcs): Updated.
* src/pshinter/pshglob.h (PSH_Blue_Align): Replaced with ...
(PSH_BLUE_ALIGN_{NONE,TOP,BOT}): New defines.
(PSH_AlignmentRec): Updated.
* include/freetype/internal/ftstream.h (GET_Char, GET_Byte): Fix
typo.
* include/freetype/internal/ftgloadr.h (FT_SubGlyph): Ditto.
* src/base/ftstream (FT_Get_Char): Rename to...
(FT_Stream_Get_Char): This.
* src/base/ftnames.c (FT_Get_Sfnt_Name): s/index/idx/ -- `index' is
a built-in function in gcc, causing warning messages with gcc 3.0.
* src/autohint/ahglyph.c (ah_outline_load): Ditto.
* src/autohint/ahglobal.c (ah_hinter_compute_blues): Ditto.
* src/cache/ftcmanag.c (ftc_family_table_alloc,
ftc_family_table_free, FTC_Manager_Done, FTC_Manager_Register_Cache):
Ditto.
* src/cff/cffload.c (cff_new_index, cff_done_index,
cff_explicit_index, CFF_Access_Element, CFF_Forget_Element,
CFF_Get_Name, CFF_Get_String, CFF_Load_SubFont, CFF_Load_Font,
CFF_Done_Font): Ditto.
* src/psaux/psobjs.c (PS_Table_Add, PS_Parser_LoadField): Ditto.
* src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Ditto.
* src/pshinter/pshrec.c (ps_mask_test_bit, ps_mask_clear_bit,
ps_mask_set_bit, ps_dimension_add_t1stem, ps_hints_t1stem3,
* src/pshinter/pshalgo1.c (psh1_hint_table_record,
psh1_hint_table_record_mask, psh1_hint_table_activate_mask): Ditto.
* src/pshinter/pshalgo2.c (psh2_hint_table_record,
psh2_hint_table_record_mask, psh2_hint_table_activate_mask): Ditto.
* src/sfnt/ttpost.c (Load_Format_20, Load_Format_25,
TT_Get_PS_Name): Ditto.
* src/truetype/ttgload.c (TT_Get_Metrics, Get_HMetrics,
load_truetype_glyph): Ditto.
* src/type1/t1load.c (parse_subrs, T1_Open_Face): Ditto.
* src/type1/t1afm.c (T1_Get_Kerning): Ditto.
* include/freetype/cache/ftcmanag.h (ftc_family_table_free): Ditto.
2002-03-07 21:59:59 +00:00
Werner Lemberg
3975e2e1f5
Formatting.
2002-01-09 21:01:18 +00:00
David Turner
f86709a15b
* 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
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
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
145f94cb26
added new charmap cache. see include/freetype/cache/ftccmap.h
2001-12-07 14:43:45 +00:00