summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* add note to docs/DEBUGdbgmem-more-limiterssuzuki toshiya2011-01-151-1/+33
|
* fix dir separator handlingsuzuki toshiya2011-01-101-3/+5
|
* use basename only in the site identification in alloc limitersuzuki toshiya2011-01-101-4/+11
|
* introduce ft_basename(): if libgen.h is available, it is a macro to system ↵suzuki toshiya2011-01-104-1/+31
| | | | basename()
* s/PLATFORM_PATH_SEPARATOR/PLATFORM_DIR_SEPARATOR/suzuki toshiya2011-01-103-17/+17
|
* use cpp-macro PLATFORM_PATH_SEPARATOR instead of raw ascii slashsuzuki toshiya2011-01-103-6/+52
|
* fix a bug to cause OOMsuzuki toshiya2011-01-101-2/+2
|
* formattingsuzuki toshiya2011-01-093-51/+102
|
* remove ft_basename()suzuki toshiya2011-01-092-7/+6
|
* update ft_mem_check_site_alloc_environment() for new syntaxsuzuki toshiya2011-01-091-26/+35
|
* fix trace message bug in ft_mem_debug_alloc()suzuki toshiya2011-01-091-1/+2
|
* use ft_strchr() instead of index()suzuki toshiya2011-01-092-3/+4
|
* fix trace levelssuzuki toshiya2011-01-094-17/+18
|
* introduce FT2_ALLOC_{TOTAL,CUR}_MAX_SITE environment to restrict memory ↵suzuki toshiya2011-01-096-2/+153
| | | | allocation locally
* Correct wrong years about recent commits in ChangeLog.suzuki toshiya2011-01-091-12/+12
|
* [cache] Fix Savannah bug #31923, patch drafted by Harsha.suzuki toshiya2011-01-093-0/+64
| | | | | | | | | | | | | | | When a node comparator changes the cached nodes during the search of a node matching with queried properties, the pointers obtained before the functon should be updated to prevent the dereference to freed or reallocated nodes. To minimize the rescan of the linked list, the update is executed when the comparator notifies the change of cached nodes. This change depends previous change: 38b272ffbbdaae276d636aec4ef84af407d16181 * src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): Rescan the top node if the cached nodes are changed. * src/cache/ftccache.c (FTC_Cache_Lookup): Ditto.
* [cache] Notice if a cache query induced the node list change.suzuki toshiya2011-01-0910-20/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some node comparators (comparing the cache node content and the properties specified by the query) can flush the cache node to prevent the cache inflation. The change may invalidate the pointers to the node obtained before the node comparison, so the change should be noticed to the caller. The problem caused by the cache node changing is reported by Harsha, see Savannah bug #31923. * src/cache/ftccache.h (FTC_Node_CompareFunc): Add new argument `FT_Bool* list_changed' to indicate the change of the cached nodes to the caller. (FTC_CACHE_LOOKUP_CMP): Watch the change of the cached nodes by `_list_changed'. (FTC_CACHE_TRYLOOP_END): Take new macro argument `_list_changed' and update it when FTC_Manager_FlushN() flushes any nodes. * src/cache/ftccback.h (ftc_snode_compare): Updated to fit with new FTC_Node_CompareFunc type. (ftc_gnode_compare): Ditto. * src/cache/ftcbasic.c: Include FT_INTERNAL_OBJECTS_H to use TRUE/FALSE macros. (ftc_basic_gnode_compare_faceid): New argument `FT_Bool* list_changed' to indicate the change of the cache nodes, anyway, it is always FALSE. * src/cache/ftccmap.c: Include FT_INTERNAL_OBJECTS_H to use TRUE/FALSE macros. (ftc_cmap_node_compare): New argument `FT_Bool* list_changed' to indicate the change of the cache nodes, anyway, it is always FALSE. (ftc_cmap_node_remove_faceid): Ditto. * src/cache/ftccache.c (FTC_Cache_NewNode): Pass a NULL pointer to FTC_CACHE_TRYLOOP_END(), because the result is not needed. (FTC_Cache_Lookup): Watch the change of the cache nodes by `list_changed'. (FTC_Cache_RemoveFaceID): Ditto. * src/cache/ftcglyph.c: Include FT_INTERNAL_OBJECTS_H to use TRUE/FALSE macros. (ftc_gnode_compare): New argument `FT_Bool* list_changed' to indicate the change of the cache nodes, anyway, it is always FALSE. (FTC_GNode_Compare): New argument `FT_Bool* list_changed' to be passed to ftc_gnode_compare(). * src/cache/ftcglyph.h (FTC_GNode_Compare): Ditto. * src/cache/ftcsbits.c (ftc_snode_compare): New argument `FT_Bool* list_changed' to indicate the change of the cache nodes, anyway. It is updated by FTC_CACHE_TRYLOOP(). (FTC_SNode_Compare): New argument `FT_Bool* list_changed' to be passed to ftc_snode_compare(). * src/cache/ftcsbits.h (FTC_SNode_Compare): Ditto.
* [cache] Fit FTC_GNode_Compare() to FTC_Node_CompareFunc.suzuki toshiya2011-01-093-3/+15
| | | | | | | | * src/cache/ftcglyph.h (FTC_GNode_Compare): Add the 3rd argument `FTC_Cache cache' to fit FTC_Node_CompareFunc prototype. * src/cache/ftcglyph.c (FTC_GNode_Compare): Ditto. Anyway, `cache' is not used by its child ftc_gnode_compare().
* [cache] Deduplicate the code to get the top node by a hash.suzuki toshiya2011-01-093-28/+62
| | | | | | | | | | | | | | | | | | | | | | | | There are several duplicated codes getting the top node from a cache by a given hash, like: idx = hash & cache->mask; if ( idx < cache->p ) idx = hash & ( cache->mask * 2 + 1 ); pnode = cache->buckets + idx; To deduplicate them, a cpp-macro to do same work FTC_NODE__TOP_FOR_HASH( cache, hash ) is introduced. For non-inlined config, non-ftc_get_top_node_for_hash() is also introduced. * src/cache/ftccache.h (FTC_NODE__TOP_FOR_HASH): Declare and implement inlined version. (FTC_CACHE_LOOKUP_CMP): Use FTC_NODE__TOP_FOR_HASH(). * src/cache/ftccache.c (ftc_get_top_node_for_hash): Non- inlined version. (ftc_node_hash_unlink): Use FTC_NODE__TOP_FOR_HASH(). (ftc_node_hash_link): Ditto. (FTC_Cache_Lookup): Ditto.
* [cache] inline-specific functions are conditionalized.suzuki toshiya2011-01-095-0/+30
| | | | | | | | | | | | | | * src/cache/ftcglyph.c (FTC_GNode_Compare): Conditionalized for inlined config. This function is a thin wrapper of ftc_gnode_compare() for inlined FTC_CACHE_LOOKUP_CMP() (see `nodecmp' argument). Under non-inlined config, ftc_gnode_compare() is invoked by FTC_Cache_Lookup(), via FTC_Cache->clazz.node_compare(). * src/cache/ftcglyph.h (FTC_GNode_Compare): Ditto. * src/cache/ftcsbits.c (FTC_SNode_Compare): Ditto, for ftc_snode_compare(). * src/cache/ftcsbits.h (FTC_SNode_Compare): Ditto.
* [cache] Correct a type mismatch under non-inlined config.suzuki toshiya2011-01-092-1/+9
| | | | | | * src/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP): FTC_GCache_Lookup() takes the node via a pointer `FTC_Node*', differently from cpp-macro FTC_CACHE_LOOKUP_CMP().
* Update Jamfile to include Bzip2 support.suzuki toshiya2011-01-062-2/+12
| | | | | | | * Jamfile: Include src/bzip2 to project. Comments for lzw, gzip, bzip2 are changed to clarify that they are for compressed PCF fonts, not others. (e.g. compressed BDF fonts are not supported yet)
* Improve `gasp' table documentation.Werner Lemberg2011-01-051-5/+13
|
* Update Symbian project files to include Bzip2 support.suzuki toshiya2011-01-063-0/+17
| | | | | | | | | Currently, it provides FT_Stream_OpenBzip2() that returns unimplemented error always, to prevent unresolved symbol error for the applications designed for Unix systems. * builds/symbian/bld.inf: Include ftbzip2.h. * builds/symbian/freetype.mmp: Include ftbzip2.c.
* Fix ChangeLog.suzuki toshiya2011-01-061-1/+1
|
* Update classic MacOS makefiles to include Bzip2 support.suzuki toshiya2011-01-065-0/+25
| | | | | | | | | | | Currently, it provides FT_Stream_OpenBzip2() that returns unimplemented error always, to prevent unresolved symbol error for the applications designed for Unix systems. * builds/mac/FreeType.m68k_cfm.make.txt: Include ftbzip2.c.o. * builds/mac/FreeType.m68k_far.make.txt: Ditto. * builds/mac/FreeType.ppc_carbon.make.txt: Include ftbzip2.c.x. * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
* Update Amiga makefiles to include Bzip2 support.suzuki toshiya2011-01-064-4/+33
| | | | | | | | | | Currently, it provides FT_Stream_OpenBzip2() that returns unimplemented error always, to prevent unresolved symbol error for the applications designed for Unix systems. * builds/amiga/makefile: Include bzip2.ppc.o built from ftbzip2.c. * builds/amiga/makefile.os4: Include bzip2.o built from ftbzip2.c. * builds/amiga/smakefile: Ditto.
* Update pkg-config tools to reflect Bzip2 support.suzuki toshiya2011-01-063-2/+10
| | | | | | * builds/unix/freetype-config.in: Include `-lbz2' to --libs output, if built with Bzip2 support. * builds/unix/freetype2.in: Ditto.
* * builds/unix/configure.raw: Remove `SYSTEM_BZ2LIB' macro.suzuki toshiya2011-01-062-2/+10
| | | | | | | | SYSTEM_ZLIB is used to switch the builtin zlib source or system zlib source out of FreeType2. But ftbzip2 module has no builtin bzip2 library and always requires system bzip2 library. Thus SYSTEM_BZ2LIB is always yes, it is not used.
* */rules.mk: Handle `*pic.c' files.Werner Lemberg2011-01-039-29/+41
|
* Formatting.Werner Lemberg2011-01-033-45/+72
|
* * src/cff/cfftypes.h (CFF_MAX_CID_FONTS): Increase to 64.Werner Lemberg2010-12-312-2/+8
| | | | Problem reported by Tom Bishop <wenlin@wenlin.com>.
* Enable bzip2 support for `make devel'.Werner Lemberg2010-12-311-1/+1
|
* Improve bzip2 support.Werner Lemberg2010-12-318-98/+51
| | | | | | | | | * include/freetype/ftmoderr.h: Add bzip2. * docs/INSTALL.ANY, docs/CHANGES: Updated. * src/pcf/README: Updated. * include/freetype/internal/pcftypes.h: Obsolete, removed.
* Add bzip2 compression support to handle *.pcf.bz2 files.Joel Klinghed2010-12-3113-20/+823
| | | | | | | | | | | | | | | | | | | * builds/unix/configure.raw: Test for libbz2 library. * devel/ftoption.h, include/freetype/config/ftoption.h (FT_CONFIG_OPTION_USE_BZIP2): Define. * include/freetype/config/ftheader.h (FT_BZIP2_H): Define. * include/freetype/ftbzip2.h: New file. * src/bzip2/*: New files. * src/pcf/pcf.h: s/gzip_/comp_/. * src/pcf/pcfdrvr.c: Include FT_BZIP2_H. s/gzip_/comp_/. (PCF_Face_Init): Handle bzip2 compressed files. * docs/formats.txt, modules.cfg: Updated.
* Apply Savannah patch #7422.Harsha2010-12-252-1/+22
| | | | | | | | | | | | | | If we encouter a space in a string then the sbit buffer is NULL, height and width are 0s. So the check in ftc_snode_compare will always pass for spaces (comparision with 255). Here the comments above the condition are proper but the implementation is not. When we create an snode I think it is the proper way to initialize the width to 255 and then put a check for being equal to 255 in snode compare function. * src/cache/ftcsbits.c (FTC_SNode_New): Initialize sbit widths with value 255. (ftc_snode_compare): Fix condition.
* Fix parameter handling of `FT_Set_Renderer'.Werner Lemberg2010-12-133-0/+16
| | | | | | Reported by Kirill Tishin <siege@bk.ru>. * src/base/ftobjs.c (FT_Set_Renderer): Increment `parameters'.
* [cff] Allow `hlineto' and `vlineto' without arguments.Werner Lemberg2010-12-092-1/+19
| | | | | | | | | | | We simply ignore such instructions. This is invalid, but it doesn't harm; and indeed, there exist such subsetted fonts in PDFs. Reported by Albert Astals Cid <aacid@kde.org>. * src/cff/cffgload.c (cff_decoder_parse_charstrings) [cff_op_hlineto]: Ignore instruction if there aren't any arguments on the stack.
* * Version 2.4.4 released.VER-2-4-4Werner Lemberg2010-11-2820-193/+224
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ========================= Tag sources with `VER-2-4-4'. * docs/CHANGES: Updated. * docs/VERSION.DLL: Update documentation and bump version number to 2.4.4 * README, Jamfile (RefDoc), builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html, builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html, builds/win32/visualc/freetype.dsp, builds/win32/visualc/freetype.vcproj, builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp, builds/win32/visualce/freetype.vcproj, builds/win32/visualce/index.html, builds/wince/vc2005-ce/freetype.vcproj, builds/wince/vc2005-ce/index.html, builds/wince/vc2008-ce/freetype.vcproj, builds/wince/vc2008-ce/index.html: s/2.4.3/2.4.4/, s/243/244/. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4. * builds/unix/configure.raw (version_info): Set to 12:2:6.
* Update CHANGES.Werner Lemberg2010-11-281-1/+9
|
* [ftsmooth]: Minor code simplification.Алексей Подтележников2010-11-282-1/+14
| | | | | * src/smooth/ftgrays (gray_render_cubic): Do only one comparison instead of two.
* [truetype] Better multi-threading support.Johnson Y. Yan2010-11-262-0/+13
| | | | | * src/truetype/ttinterp.c (TT_Load_Context): Reset glyph zone references.
* * src/psaux/t1decode.c (t1_decoder_parse_charstring): ExpandJohn Tytgat2010-11-232-36/+48
| | | | | | | | start_point, check_points, add_point, add_point1, close_contour macros. Remove add_contour macro. Return error code from t1_builder_start_point and t1_builder_check_points when there was one (instead of returning 0).
* Fix outdated CVS reference.John Tytgat2010-11-231-2/+2
| | | | * docs/INSTALL.UNIX: Fix outdated CVS references.
* New entry in CHANGESsuzuki toshiya2010-11-231-0/+17
|
* Some formatting and improvements of comments.Werner Lemberg2010-11-221-21/+46
|
* [truetype] Identify the tricky fonts by cvt/fpgm/prep checksums.suzuki toshiya2010-11-232-6/+168
| | | | | | | | | | | | Some Latin TrueType fonts are still expected to be unhinted. Fix Savannah bug #31645. * src/truetype/ttobjs.c (tt_check_trickyness): Divided to... (tt_check_trickyness_family): this checking family name, and (tt_check_trickyness_sfnt_ids): this checking cvt/fpgm/prep. (tt_get_sfnt_checksum): Function to retrieve the sfnt checksum for specified subtable even if cleared by lazy PDF generators. (tt_synth_sfnt_checksum): Function to calculate the checksum.
* [truetype] Fix `loca' handling for inconsistent number of glyphs.Werner Lemberg2010-11-182-2/+16
| | | | | | | Reported by Johnson Y. Yan <yinsen_yan@foxitsoftware.com>. * src/truetype/ttpload.c (tt_face_load_loca): While sanitizing, handle case where `loca' is the last table in the font.
* [sfnt] Ignore all errors while loading `OS/2' table.Werner Lemberg2010-11-182-3/+8
| | | | | | Suggested by Johnson Y. Yan <yinsen_yan@foxitsoftware.com>. * src/sfnt/sfobjs.c (sfnt_load_face): Do it.
* [type1] Fix matrix normalization.Johnson Y. Yan2010-11-182-2/+9
| | | | | * src/type1/t1load.c (parse_font_matrix): Handle sign of scaling factor.