Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 3cc7d630 | 2006-09-27 08:48:38 | adding missing file | ||
| 26bb2e27 | 2006-09-27 07:58:43 | * src/base/Jamfile, src/base/rules.mk, vms_make.com: adding 'ftlcdfil.c' to the list of compiled source files | ||
| 8a317cf7 | 2006-09-27 07:52:48 | * include/freetype/freetype.h: bumping FT_FREETYPE_PATCH to 2 for an upcoming 2.2.2 release * include/freetype/ftlcdfil.h, src/freetype/ftlcdfil.c: added a new API to support color filtering of subpixel glyph bitmaps. In default build, the function FT_Library_SetLcdFilter returns FT_Err_Unimplemented_Feature; you need to #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the real implementation * src/smooth/ftsmooth.c: adding support for sub-pixel color filtering; simplifying a few function calls * include/freetype/config/ftheader.h: adding FT_LCD_FILTER_H macro that points to <freetype/ftlcdfil.h> | ||
| e20df4a1 | 2006-09-27 06:29:21 | * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes correctly. Reported as Savannah bug #17843. | ||
| 110246c6 | 2006-09-26 21:55:44 | formatting | ||
| e3d6e948 | 2006-09-26 16:58:21 | CHANGES BETWEEN 2.2.1 and 2.2.2 I. IMPORTANT BUG FIXES - Various integer overflows have been fixed. - PFB fonts with MacOS resource fork weren't handled correctly on non-MacOS platforms. - The PCF font loarder has been seriously hardened against malformed font files. II. IMPORTANT CHANGES - the unpatented hinter is now part of the default build of the library, and we added code to automatically support "tricky" fonts that need it. what this means is that FreeType should "just work" with certain Asian fonts, like MingLiu, which cannot properly load without a bytecode interpreter, but fortunately do not use any of the patented bytecode opcodes. Note that the API didn't change, so you can still force unpatented hinting with a special parameter to FT_Open_Face as well. if you're an embedded systems developer, you might want to *disable* the feature to save code space by undefining TT_CONFIG_OPTION_UNPATENTED_HINTING in ftoption.h. - LCD-optimized rendering is now disabled in all default builds of the library, mainly due to patent reasons. For more information see: http://lists.gnu.org/archive/html/freetype/2006-09/msg00064.html a new configuration macro FT_CONFIG_OPTION_SUBPIXEL_RENDERING has been introduced in ftoption.h; manually define it in this file if you want to re-enable the feature. the change only affects the implementation, not the FreeType API. This means that clients don't need to be modified, because the library still generates LCD decimated bitmaps, but with the added constraint that R=G=B on each triplet. - Some computation bugs in the TrueType bytecode interpreter were found, which allow us to get rid of very subtle and rare differences we had with the Windows renderer. III. MISCELLANEOUS - TrueType glyph loading is now about 25% faster. - the anti-aliased rasterizer has been optimized and is now 15% to 25% percent faster than the previous one, depending on content - the Type 1 loader has been improved; as an example, it now skips over top-level dictionaries properly ====================================================================== | ||
| 6f8c6229 | 2006-09-26 15:42:44 | * src/autofit/aftypes.h, src/autofit/afhints.h, src/autofit/afmodule.c: adding support for disabling horizontal and vertical hinting for the purpose of debugging the auto-fitter | ||
| 745ff2c2 | 2006-09-19 05:48:02 | * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if LWFN fails and both are available. | ||
| f9644559 | 2006-09-12 13:48:10 | formatting | ||
| f3050059 | 2006-09-11 12:00:32 | * src/sfnt/sfobjs.c (tt_face_get_name): support some function which report their English names through an Apple Roman (platform,encoding) pair, with language_id != English if the font uses another name entry with language_id == English, it will be selected correctly though. * src/truetype/ttobjs.c: add unpatent-hinting selection for "mingli.ttf" | ||
| 36d2eab0 | 2006-09-05 19:24:34 | * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size' values which have the upper two bytes set to 0xFF instead of 0xFF (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and `HAN NOM B.ttf'). * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code. Formatting. | ||
| 2066e0ac | 2006-09-05 14:58:22 | fix stupid bug | ||
| c7bc9b79 | 2006-09-05 12:17:38 | * src/smooth/ftgrays.c: minor source cleanups and optimization | ||
| 772e55d3 | 2006-09-05 09:45:15 | * src/smooth/ftgrays.c (gray_sweep): Avoid buffer overwrites when to the end of a bitmap scanline. The fun never ends ;-) | ||
| aa557a90 | 2006-09-04 16:42:44 | fix for the latest rasterizer optimization | ||
| 2d8629b3 | 2006-09-03 06:18:45 | * devel/ftoption.h: Synchronize with include/freetype/config/ftoption.h. * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing variable declaration. (gray_convert_glyph): Fix compiler warnings. Formatting, copyright years. | ||
| bd50295c | 2006-09-01 19:05:24 | * src/smooth/ftgrays.c: optmized the performance of the anti-aliased rasterizer. The speed gains is between 15% and 25%, depending on content | ||
| 6d79f214 | 2006-09-01 14:09:35 | * src/truetype/ttobjs.c: updated the TrueType loader to recognize a few fonts that require the automatic unpatented loader | ||
| a787f455 | 2006-08-27 11:26:18 | 2006-08-27 Jens Claudius <jens.claudius@yahoo.com> Fix miscellaneous compiler warnings. * freetype2/include/freetype/internal/ftobjs.h: close comment with `*/' to avoid `/* in comment' compiler warning. * freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on 64-bit platforms void* is larger than FT_UInt32. * freetype2/src/base/ftobjs.c (t_validator_error): cast away volatileness of argument to ft_longjmp. Spotted by Werner `Putzfrau' Lemberg. * freetype2/src/bdf/bdflib.c (bdf_load_font): initialize local variable `lineno'. * freetype2/src/gxvalid/gxvmod.c (classic_kern_validate): mark local variable `error' volatile. | ||
| c4c35b77 | 2006-08-27 08:03:46 | * builds/unix/ftconfig.in: Synchronize with main ftconfig.h. Reported by Jens. Formatting. | ||
| 6aa260ce | 2006-08-25 22:45:13 | support for "automatic unpatented hinting" added we still need to determine the list of "trick" CJK fonts that are going to toggle the bytecode interpreter instead of the auto-hinter | ||
| 088e44e8 | 2006-08-22 14:24:30 | 2006-08-22 Jens Claudius <jens.claudius@yahoo.com> Fix for previous commit, which caused many compiler warnings/errors about addresses of volatile objects passed as function arguments as non-volatile pointers. * freetype2/include/freetype/internal/ftvalid.h: Make FT_Validator typedef a pointer to a volatile object. * freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function argument `table' a pointer to a volatile object. * freetype2/src/otvalid/otvmod.c (otv_load_table): Make function argument `table' a pointer to a volatile object. | ||
| 12342996 | 2006-08-19 11:18:09 | formatting | ||
| 2652bd54 | 2006-08-18 17:20:37 | 2006-08-18 Jens Claudius <jens.claudius@yahoo.com> * freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local variable `_sfnt' as volatile since it must keep its value across a call to ft_setjmp. (gxv_validate): Same for local variables `memory' and `valid'. (classic_kern_validate): Same for local variables `memory', `ckern', and `valid'. * freetype2/src/otvalid/otvmod.c (otv_validate): Same for function parameter `face' and local variables `base', `gdef', `gpos', `gsub', `jstf', and 'valid'. * freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for local variable `cmap'. | ||
| 33f5f249 | 2006-08-16 16:50:55 | * include/freetype/internal/ftgloadr.h, include/freetype/internal/tttypes.h, src/base/ftgloadr.c, src/base/ftobjs.c, src/truetype/ttgload.c, src/truetype/ttinterp.c, src/truetype/ttobjs.c: improvements to native TrueType hinting, this is a first try, controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c | ||
| 2b21a932 | 2006-08-16 09:24:32 | * src/base/ftobjs.c (ft_validator_run): disabling function, it is buggy by design, so it will always return -1 | ||
| 9fbfc6af | 2006-08-16 09:11:31 | * src/cid/cidgload.c (cid_slot_load_glyph), src/truetype/ttgload.c (tt_prepare_zone): removing compiler warnings | ||
| e261f426 | 2006-08-15 17:00:43 | * src/otvalid/otvmod.c, src/gxvalid/gxvmod.c: replace ft_validator_run by ft_setjmp | ||
| 9950adcc | 2006-08-13 12:14:36 | * freetype2/include/freetype/internal/psaux.h: (enum T1_TokenType_): add T1_TOKEN_TYPE_KEY. (struct T1_FieldRec_) add `dict'. Add macros T1_FIELD_DICT_FONTDICT and T1_FIELD_DICT_PRIVATE. Change T1_NEW_XXX and T1_FIELD_XXX macros to take the dictionary where the PS keywords is expected as an additional argument. * freetype2/src/cid/cidload.c: (T1_FieldRec): Adjust invocations of T1_FIELD_XXX. * freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX. * freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing. (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY instead as T1_TOKEN_TYPE_ANY. (ps_parser_load_field): Make sure a token that should be a string or name is a string or name indeed. Avoid memory leak if a keyword has been already encountered and its value is overwritten. * freetype2/src/type1/t1load.c: (T1_FieldRec): Adjust invocations of T1_FIELD_XXX. (parse_dict): Ignore keywords that occur in the wrong dictionary (e.g., in Private instead of FontDict). * freetype2/src/type1/t1tokens.h: Adjust invocations of T1_FIELD_XXX. | ||
| a4d6a1c8 | 2006-07-19 09:54:56 | Move creation of field `buildchar' of T1_DecoderRec out of `t1_decoder_init' and let the caller of `t1_decoder_init' take care of it. Call the finisher for T1_Decoder in `cid_face_compute_max_advance' and `T1_Compute_Max_Advance'. * freetype2/include/freetype/internal/psaux.h (T1_DecoderRec): Remove field `face', add `len_buildchar'. * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): Add field `buildchar'. * freetype2/src/cid/cidgload.c (cid_face_compute_max_advance): Call finisher for T1_Decoder. (cid_slot_load_glyph): Do not ignore failure when initializing the T1_Decoder. * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Updated. (t1_decoder_init): Remove initialization of fields `buildchar' and `len_buildchar'. (t1_decoder_done): Remove deallocation of field `buildchar'. * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize T1_Decoder's `buildchar' and `len_buildchar'; call finisher for T1_Decoder. (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and `len_buildchar'; make sure to call finisher for T1_Decoder even in case of error. * freetype2/src/type1/t1load.c (T1_Open_Face): Allocate new field `buildchar' of T1_FaceRec. * freetype2/src/type1/t1objs.c (T1_Face_Done): Free new field `buildchar' of T1_FaceRec. | ||
| 1a380e02 | 2006-07-14 18:28:08 | * freetype2/include/freetype/internal/psaux.h: New macros IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT, and IS_PS_BASE85 (from freetype2/src/psaux/psconv.h). (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER, T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND. (T1_DecoderRec): New fields `buildchar' and `face'. (IS_PS_TOKEN): New macro. * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): New fields `ndv_idx', `cdv_idx', and `len_buildchar'. * freetype2/include/freetype/t1tables.h (PS_BlendRec): New fields `default_design_vector' and `num_default_design_vector'. * freetype2/src/psaux/psconv.h: Move macros IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT, and IS_PS_BASE85 to freetype2/include/freetype/internal/psaux.h. * freetype2/src/psaux/psobjs.c (ps_parser_to_token_array): Allow `token' argument to be NULL if we want only to count the number of tokens. (ps_tocoordarray): Allow `coords' argument to be NULL if we just want to skip the array. (ps_tofixedarray): Allow `values' argument to be NULL if we just want to skip the array. * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add support for (partially commented out) othersubrs 19-25, 27, and 28. (t1_decoder_init): Initialize new fields `face' and `buildchar'. (t1_decoder_done): Release new field `buildchar'. * freetype2/src/type1/t1load.c (parse_buildchar, parse_private): New functions. (t1_keywords): Register them. (t1_allocate_blend): Updated. (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER, T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND. (parse_dict): Remove `keyword_flags' argument. Use new macro IS_PS_TOKEN. Changed function so that later PostScript definitions override earlier ones. (t1_init_loader): Initialize new field `keywords_encountered'. (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and `len_buildchar'. Remove `keywords_flags'. * freetype2/src/type1/t1load.h (T1_LoaderRect): New field `keywords_encountered'. (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros. * freetype2/src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: New entries for parsing /NDV, /CDV, and /DesignVector. | ||
| 4af3c4d7 | 2006-07-08 21:31:24 | Add many checks to protect against malformed PCF files. * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers. (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors. * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table data and check that tables don't overlap (using a simple bubblesort). (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE): New macros which give the size of data structures in the data stream. (pcf_get_properties): Use rough estimates to get array size limits. Assign `face->nprops' and `face->properties' earlier so that a call to PCF_Face_Done can do the clean-up in case of error. Protect against invalid string offsets. (pcf_get_metrics): Clean up code. Adjust tracing message levels. Use rough estimate to get array size limit. (pcf_get_bitmaps): Clean up code. Adjust tracing message levels. Use rough estimates to get offset limits. (pcf_get_encodings): Adjust tracing message level. (pcf_get_accel): Clean up code. | ||
| 8eb05255 | 2006-06-27 06:20:01 | * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which don't have a POINT_SIZE property. This fixes Savannah bug #16914. | ||
| 24703f8b | 2006-06-26 19:12:51 | * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15. (t1_decoder_parse_charstrings): Operator with opcode 15 pops its two arguments. Handle the case where the pops of an othersubr may be part of a subroutine. Handle unknown othersubrs gracefully: count their operands and let the following pop operators push the operands as the results onto the Type1 stack. Improve handling of setcurrentpoint opcode. | ||
| e9a74667 | 2006-06-26 17:37:44 | Fix handling of self-delimiting tokens. | ||
| c011f4cb | 2006-06-26 09:40:00 | The Type 1 parser now skips over top-level procedures as required for a `Simplified Parser'. This makes the parser more robust as it doesn't poke around in PostScript code. Additionally, it makes the FontDirectory hackery in src/type1/t1load.c unnecessary. * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro. (skip_literal_string): Add FT_Error as return value. Handle escapes better. (skip_string): Add FT_Error as return value. Don't set `parser->error' but return error code directly. (skip_procedure): New function. (ps_parser_skip_PS_token): Handle procedures. Update code. (ps_parser_to_token): Update code. (ps_parser_load_field_table): Handle bbox entries also. * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery. Add commented-out code for synthetic fonts. | ||
| a2da05c2 | 2006-06-25 06:27:27 | Fix two hinting bugs as reported in http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html. * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add `first_point' member. * src/truetype/ttgload.c (tt_prepare_zone): Initialize `first_point'. (TT_Process_Composite_Glyph): Always untouch points. * src/truetype/ttinterp.c (Ins_SHC): Fix computation of `first_point' and `last_point' in case of composite glyphs. (Ins_IUP): Fix computation of `end_point'. | ||
| ef3d2c23 | 2006-06-25 06:07:14 | formatting, copyright years | ||
| 52311976 | 2006-06-22 02:34:27 | * src/base/ftmac.c: Add byteorder workaround for Intel Mac | ||
| 817831f4 | 2006-06-15 09:05:41 | src/base/ftgxval.c, src/base/ftotval.c: return FT_Err_Unimplemented_Feature when validation service is unavailable | ||
| b10e45a7 | 2006-06-08 07:32:56 | * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of errors. | ||
| 5f1f7507 | 2006-06-07 05:11:50 | Fix memory leak described in Savannah bug #16768 * src/type1/t1afm.c (T1_Read_Metrics): fix memory leak which happened when the metrics file doesn't have kerning pairs. | ||
| f1a23cbf | 2006-06-06 13:53:26 | oops, stupid error fixed | ||
| 4836f955 | 2006-06-06 12:54:08 | formatting | ||
| 457b4a81 | 2006-06-06 08:14:14 | * include/freetype/internal/services/svpscmap.h, src/cff/cffcmap.c, src/psaux/t1cmap.c, src/psnames/psmodule.c: Fix for the memory leak described in bug #16759. We change 'ps_unicodes_init' so that it also takes a 'free_glyph_name' callback to release the glyph names returned by 'get_glyph_name' | ||
| d724f20e | 2006-06-04 15:17:41 | formatting | ||
| ea4547ca | 2006-06-04 14:50:57 | * src/base/ftutil.c (ft_mem_qrealloc): fix the function to accept 'item_size == 0' as well, though this sounds weird, it can theorically happen. see bug #16669 | ||
| 0971735d | 2006-06-04 14:33:08 | * src/pfr/pfrobjs.c (pfr_face_init): fix the computation of 'face->num_glyphs' which missed the last glyph, due to the offset-by-1 computation, since the PFR format doesn't guarantee that glyph index 0 corresponds to the "missing glyph" should fix bug #16668 | ||
| de0a96c5 | 2006-05-19 23:16:12 | * fix 2 memory leaks in MacOS resource fork handler, Savannah bug #16631 | ||
| 47200605 | 2006-05-19 10:48:42 | fix the 2nd part of Savannah bug #16590 | ||
| 545c4e56 | 2006-05-17 22:55:04 | * src/truetype/ttgload.c (TT_Load_Composite_Glyph) [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again. Formatting, documentation fixes. | ||
| 281679de | 2006-05-17 13:34:21 | * include/freetype/internal/tttypes.h, src/autofit/afangles.c, src/autofit/afcjk.c, src/autofit/afhints.c, src/autofit/aflatin.c, src/autofit/aftypes.h, src/base/ftcalc.c, src/base/ftoutln.c, src/gzip/ftgzip.c, src/psaux/psconv.c, src/truetype/ttgload.c, src/type1/t1gload.c: this is a major patch used to drastically improve the performance of loading glyphs. This both speeds up loading the glypn vector themselves and the auto-fitter. note that we've started using inline assembler with GCC to implement FT_MulFix, given that this function is so damn important for the engine's performance. the resulting speed-up is about 25%. | ||
| dc3ff31c | 2006-05-17 12:59:35 | * src/ftccmap.c (FTC_CMapCache_Lookup): changed the threshold used to detect rogue clients from 4 to 16. This is to prevent some segmentation faults with fonts like KozMinProVI-Regular.otf which comes from the Japanese Adobe Reader Asian Font pack. | ||
| de2d90af | 2006-05-17 08:54:30 | * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This fixes the first part of Savannah bug #16590. * docs/PROBLEMS: Updated icl issues. | ||
| 6e467a65 | 2006-05-12 15:05:45 | * src/tools/docmaker/tohtml.py (block_footer): Split into... (block_footer_start, block_footer_middle, block_footer_end): This to add navigation buttons. (HtmlFormatter::block_exit): Updated. | ||
| e12a471f | 2006-05-12 14:20:43 | * src/tools/docmaker/tohtml.py (html_header_1): Use `utf-8' charset. Convert some files to UTF-8. | ||
| 6756dc15 | 2006-05-12 08:00:13 | * src/tools/docmaker/sources.py (re_source_keywords): Add word boundary markers. * src/tools/docmaker/content.py (re_field): Allow `.' in field names (but not at the beginning or end). * include/freetype/*: Many minor documentation improvements (adding links, spelling errors, etc.). | ||
| fd74ec68 | 2006-05-12 04:00:44 | * README: Minor updates. * include/freetype/*: s/scale/scaling value/ where appropriate. Many other minor documentation improvements. * src/tools/docmaker/sources.py (re_italic, re_bold): Handle trailing punctuation. * src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word): Add warning message for undefined cross references. Update handling of re_italic and re_bold. | ||
| 4f3b5bbd | 2006-05-04 07:13:05 | * src/lzw/ftlzw2.c: Renamed to... * src/lzw/ftlzw.c: This. * src/lzw/Jamfile, src/lzw/rules.mk: Updated. * builds/mac/FreeType.m68k_cfm.make.txt, builds/mac/FreeType.m68k_far.make.txt, builds/mac/FreeType.ppc_carbon.make.txt, builds/mac/FreeType.ppc_classic.make.txt: Updated. | ||
| c6afa122 | 2006-05-02 22:22:16 | * include/freetype/internal/ftmemory.h: s/new/newsz/ (for C++). (FT_ALLOC): Remove redundant redefinition. * builds/compiler/gcc-dev.mk (CFLAGS) [g++]: Don't use `-Wstrict-prototypes'. * src/base/ftstream.c (FT_Stream_EnterFrame): Add cast. Formatting, copyright years. | ||
| 9482ba50 | 2006-05-02 10:21:28 | * include/freetype/ftstream.h, src/base/ftstream.c: modifying various frame-related functions to report the place where the frames were entered/extracted/exited/released in the memory debugger. | ||
| 9ca78256 | 2006-05-02 09:00:29 | * include/freetype/internal/ftmemory.h, src/base/ftbitmap.c, src/base/ftmac.c, src/base/ftrfork.c, src/lzw/ftzopen.c, src/raster/ftrend1.c, src/sfnt/ttpost.c, src/truetype/ttgxvar.c, src/type42/t42parse.c, src/winfonts/winfnt.c: hardening the code against out-of-bounds conditions when allocating arrays. This is for the cases where FT_NEW_ARRAY and FT_RENEW_ARRAY are not used already. Introducing the new FT_ALLOC_MULT and FT_REALLOC_MULT macros. | ||
| 264f307e | 2006-05-02 06:34:27 | * include/freetype/fterrdef.h, include/freetype/config/ftconfig.h, include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c, src/base/ftutil.c: udpating the memory management functions and macros to safely deal with array size buffer overflows, this corresponds to attemps to allocate arrays that are too large. For an example, consider the following code: count = read_uint32_from_file(); array = malloc( sizeof(Item) * count ); for ( nn = 0; nn < count; nn++ ) array[nn] = read_item_from_file(); if 'count' is larger than FT_UINT_MAX/sizeof(Item), the multiplication will overflow and the array allocated will be smaller than the data read from the file. In this case, the heap will be trashed, and this can be used as a denial-of-service, or make the engine crash later. the FT_ARRAY_NEW and FT_ARRAY_RENEW macro now check that the new count is no more than FT_INT_MAX/item_size, otherwise, a new error, named 'FT_Err_Array_Too_Large' will be returned. note that the memory debugger now works again when FT_DEBUG_MEMORY is defined, and FT_STRICT_ALIASING has disappeared, the corresponding code being now the default. | ||
| a2295402 | 2006-04-30 04:46:17 | fix bug in Mac_Read_POST_Resource() | ||
| 8fe65390 | 2006-04-29 07:31:16 | Further C library abstraction. Based on a patch from msn2@bidyut.com. * include/freetype/config/ftstdlib.h (FT_CHAR_BIT, FT_FILE, ft_fopen, ft_fclose, ft_fseek, ft_ftell, ft_fread, ft_smalloc, ft_scalloc, ft_srealloc, ft_sfree, ft_labs): New wrapper macros for C library functions. Update all users accordingly (and catch some other places where the C library function was used instead of the wrapper functions). * src/base/ftsystem.c: Don't include stdio.h and stdlib.h. * src/gzip/zutil.h [MSDOS && !(__TURBOC__ || __BORLANDC__)]: Don't include malloc.h. | ||
| 50ef72b6 | 2006-04-29 07:02:36 | * src/lzw/ftlzw.c, src/lzw/zopen.c, src/lzw/zopen.h: Removed, obsolete. | ||
| 564b4432 | 2006-04-26 15:02:52 | * src/psaux/psobjs.c (shift_elements): Don't use FT_Long but FT_PtrDiff for `delta'. Reported by C | ||
| 8a8c6022 | 2006-04-22 12:24:52 | Formatting, copyright years, documentation. | ||
| 7aa20102 | 2006-04-21 08:38:35 | * src/sfnt/ttcmap.c: removed compiler warnings (gcc-4.0.2) | ||
| 7dc7f215 | 2006-04-13 16:31:02 | doc updates - fixing FT_Stroker_New to use a FT_Library instead of a FT_Memory i know, i know, the ChangeLog will be updated later | ||
| 65c7c773 | 2006-04-13 07:51:58 | * src/autofit/afloader.c: removing superfluous code in the auto-fitter's loader | ||
| d51b41e0 | 2006-03-29 06:35:26 | no message | ||
| fa3651e7 | 2006-03-28 05:06:50 | formatting, copyright year | ||
| 42137bc6 | 2006-03-27 20:10:26 | * src/sfnt/ttkern.c (tt_face_get_kerning): fixed a serious bug that caused some programs to go into an infinite loop when dealing with fonts that don't have a properly sorted kerning sub-table | ||
| 26170df0 | 2006-03-26 07:19:07 | * src/bdf/bdflib.c (ERRMSG4): New macro. (_bdf_parse_glyphs): Handle invalid BBX values. * include/freetype/fterrdef.h (FT_Err_Bbx_Too_Big): New error macro. | ||
| d6e2498f | 2006-03-24 18:31:47 | * src/tools/docmaker/tohtml.py (make_html_para): Convert `...' quotations into real left and right single quotes. Use `para_header' and `para_footer'. * src/tools/docmaker/sources.py (re_bold, re_italic): Accept "'" also. | ||
| af16820a | 2006-03-24 12:46:49 | Normalize quotation to `...'. | ||
| e0dd18fc | 2006-03-24 12:14:48 | * src/tools/docmaker/tohtml.py (html_header_1): The `DOCTYPE' comment must be in uppercase. | ||
| 4db32ecb | 2006-03-24 11:54:53 | * docs/CHANGES: Updated. * src/tools/docmaker/tohtml.py (html_header_2): Add horizontal padding between table elements. Formatting, copyright years. | ||
| 2ce92037 | 2006-03-23 20:58:20 | - added FT_Get_SubGlyph_Info API to freetype.h - small fix to lsb/rsb delta computations - cleaning up Jamfile | ||
| 6c5b617c | 2006-03-22 15:30:41 | * src/cache/ftccache.c, (ftc_node_mru_up, FTC_Cache_Lookup) [!FTC_INLINE]: Compile conditionally. * src/cache/ftccache.h: Updated. * src/cache/ftcglyph.c (FTC_GNode_Init, FTC_GNode_UnselectFamily, FTC_GNode_Done, FTC_GNode_Compare, FTC_Family_Init, FTC_GCache_New): s/FT_EXPORT/FT_LOCAL/. (FTC_GCache_Init, FTC_GCache_Done): Commented out. (FTC_GCache_Lookup) [!FTC_INLINE]: Compile conditionally. s/FT_EXPORT/FT_LOCAL/. * src/cache/ftcglyph.h: Updated. * src/cache/ftcimage.c (FTC_INode_Free, FTC_INode_New): s/FT_EXPORT/FT_LOCAL/. (FTC_INode_Weight): Commented out. * src/cache/ftcimage.h: Updated. * src/cache/ftmanag.c (FTC_Manager_Compress, FTC_Manager_RegisterCache, FTC_Manager_FlushN): s/FT_EXPORT/FT_LOCAL/. * src/cache/ftmanag.h: Updated. * src/cache/ftcsbits.c (FTC_SNode_Free, FTC_SNode_New, FTC_SNode_Compare): s/FT_EXPORT/FT_LOCAL/. (FTC_SNode_Weight): Commented out. * src/cache/ftcsbits.h: Updated. | ||
| 3867d2f2 | 2006-03-22 08:03:06 | * src/cache/ftccache.c, src/cache/ftccache.h (FTC_Node_Destroy): Remove, unused. * src/cache/ftccmap.h: Remove, unused. * src/cache/rules.mk (CACHE_DRV_H): Remove ftccmap.h. | ||
| 5556dd21 | 2006-03-21 21:36:33 | * src/base/ftoutln.c (FT_Outline_Get_Orientation): Improve algorithm. | ||
| 95f206b1 | 2006-03-21 20:47:28 | * src/sfnt/ttcmap.c (tt_face_build_cmaps): Handle invalid offset correctly. | ||
| 26377008 | 2006-03-21 18:41:40 | * src/cff/cfftypes.h (CFF_CharsetRec): Add `max_cid' member. * src/cff/cffload.c (cff_charset_load): Set `charset->max_cid'. * src/cff/cffgload.c (cff_slot_load): Change type of third parameter to `FT_UInt'. Check range of `glyph_index'. * src/cff/cffgload.h: Updated. | ||
| 24b9e87b | 2006-03-21 16:30:04 | * src/autofit/aflatin.c (af_latin_metrics_scale): fixed small bug that crash the auto-hinter (introduce by previous patch). aaah | ||
| 5a73d8d2 | 2006-03-20 16:55:32 | * builds/freetype.mk (CACHE_DIR, CACHE_H): Remove. (FREETYPE_H): Updated. * src/cache/rules.mk (CACHE_H_DIR): Remove. (CACHE_DRV_H): Updated. Formatting, copyright years. | ||
| e091ce35 | 2006-03-20 16:01:28 | * src/autofit/aflatin.c (af_latin_hints_init): disable horizontal hinting for italic/oblique fonts | ||
| da95af6c | 2006-03-20 13:32:33 | * builds/win32/visualc/freetype.dsp: updating the project file, adding missing base source files (e.g. ftstroke.c, ftxf86.c, etc...) * src/autofit/afcjk.c, src/autofit/aflatin.c, src/base/ftobjs.c, src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrobjs.c, src/sfnt/sfobjs.c, src/sfnt/ttmtx.c, src/truetype/ttpload.c, src/truetype/ttpload.h, src/type1/t1afm.c, src/type1/t1objs.c: removing compiler warnings when building with Visual C++ 6 and /W4 | ||
| 256de4b1 | 2006-03-20 12:10:24 | * include/freetype/cache/ftccache.h, include/freetype/cache/ftccmap.h, include/freetype/cache/ftcglyph.h include/freetype/cache/ftcimage.h include/freetype/cache/ftcmanag.h include/freetype/cache/ftcmru.h include/freetype/cache/ftcsbits.h: removing these header files from the public include directory. * include/freetype/config/ftheader.h: changing the definition of FT_CACHE_INTERNAL_XXX_H macros to redirect to FT_CACHE_H instead * src/cache/ftcbasic.c, src/cache/ftccache.c, src/cache/ftccache.h, src/cache/ftccback.h, src/cache/ftccmap.c, src/cache/ftcglyph.c, src/cache/ftcglyph.h, src/cache/ftcimage.c, src/cache/ftcimage.h, src/cache/ftcmanag.c, src/cache/ftcmanag.h, src/cache/ftcmru.c, src/cache/ftcmru.h, src/cache/ftcsbits.c, src/cache/ftcsbits.h: modifications to prevent using the FT_CACHE_INTERNAL_XXX_H macros, and grab the headers in 'src/cache' instead (see below). | ||
| dad2a2de | 2006-03-20 11:48:13 | * src/cache/ftccache.h, src/cache/ftcglyph.h, src/cache/ftcimage.h, src/cache/ftcsbits.h, src/cache/ftcmanag.h, src/cache/ftccmap.h, src/cache/ftcmru.h: copying the cache's internal header files which were located in 'include/freetype/cache' to the 'src/cache' directory instead. Note that these files are not used by FreeType clients, all cache public APIs have been already moved to include/freetype/ftcache.h, and the FT_CACHE_INTERNAL_XXXX_H macros all resolve to it. the move is to allow us to modify the internals without intereference from rogue clients. Note that there are no known client that accesses the cache internals at the moment. | ||
| 65b96aad | 2006-03-07 00:38:24 | * src/cache/ftcmanag.c (FTC_Manager_Lookup_Size): prevent crashes in Mozilla/FireFox print preview in Ubuntu Hoary | ||
| 91a3faaa | 2006-03-01 11:31:08 | Convert to Unix line endings. | ||
| 9f5d3de3 | 2006-02-28 13:21:50 | * src/base/ftutil.c (ft_mem_qalloc) [FT_STRICT_ALIASING]: Do not return error if size == 0. | ||
| a87b08a7 | 2006-02-28 09:53:23 | * src/base/ftobjs.c (FT_Done_Library): Modules are removed in the reversed order so that type42 module is removed before truetype module. This avoids double free in some occasions. | ||
| 98d6a3ac | 2006-02-27 19:49:34 | * src/cache/ftccache.c (ftc_node_destroy) [!FT_CONFIG_OPTION_OLD_INTERNALS]: Mark as FT_LOCAL_DEF. This should now fix all possible compilation options. | ||
| 422d2a05 | 2006-02-27 18:25:22 | formatting, copyright years | ||
| c07ee520 | 2006-02-27 18:13:12 | * include/freetype/cache/ftccache.h [FT_CONFIG_OPTION_OLD_INTERNALS]: Remove declaration of ftc_node_done. | ||
| c13e75fb | 2006-02-27 13:14:42 | * src/base/ftutil.c: ft_mem_alloc and related functions now return an error if a negative size is passed in parameters. * src/cache/ftccache.c: make ftc_node_destroy FT_BASE_DEF, it needs to be exported for rogue clients * src/pshinter/pshglob.c: prevent problems with malformed fonts which have an odd number of blue values (these are broken according to the specs). * src/cff/cffload.c, src/type1/t1load.c: modify the loaders to force even-ness of 'num_blue_values'. Also change the CFF loader so that invalid entries in index files are ignored. | ||
| cffa8b65 | 2006-02-27 11:11:40 | * src/base/ftobjs.c (FT_Set_Char_Size): Ahh.. forgot to check the case width or height is 0. |