Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 5edc2f33 | 2010-10-01 08:15:55 | Fix Savannah bug #31040. * src/truetype/ttinterp.c (free_buffer_in_size): Remove. (TT_RunIns): Updated. | ||
| d2b8b8db | 2010-09-20 19:06:23 | [sfnt] Make error message filling NULL names less verbose. * src/sfnt/ttpost.c (load_format_20): Showing 1 summary message when we fill `post' names by NULL, instead of per-entry message. | ||
| e0a9a933 | 2010-09-20 09:29:23 | [smooth] Fix and improve spline flattening. This fixes the flattening of cubic, S-shaped curves and speeds up the handling of both the conic and cubic arcs. See the discussions on the freetype-devel mailing list in late August and September 2010 for details. * src/smooth/ftgrays.c (FT_MAX_CURVE_DEVIATION): New macro. (TWorker): Remove `conic_level' and `cubic_level' elements. (gray_render_conic): Simplify algorithm. (gray_render_cubic): New algorithm; details are given in the code comments. (gray_convert_glyph): Remove heuristics. | ||
| d38ba0c9 | 2010-09-19 20:51:19 | Minor fixes. * src/cff/cffload.c (cff_charset_compute_cids): `charset->sids[i]' is `FT_UShort'. (cff_index_access_element): Don't use additions in comparison. * src/sfnt/ttpost.c (load_format_20): Make `post_limit' of type `FT_Long'. Don't use additions in comparison. Improve tracing messages. (load_format_25, load_post_names): Make `post_limit' of type `FT_Long'. | ||
| 73aa20ca | 2010-09-20 01:30:38 | [cff] Truncate the element length at the end of the stream. See Savannah bug #30975. * src/cff/cffload.c (cff_index_access_element): `off2', the offset to the next element is truncated at the end of the stream to prevent invalid I/O. As `off1', the offset to the requested element has been checked by FT_STREAM_SEEK(), `off2' should be checked similarly. | ||
| d2d843a0 | 2010-09-20 01:28:17 | [cff] Ignore CID > 0xFFFFU. See Savannah bug #30975. * src/cff/cffload.c (cff_charset_compute_cids): Ignore CID if greater than 0xFFFFU. CFF font spec does not mention about maximum CID in the font, but PostScript and PDF spec define that maximum CID is 0xFFFFU. | ||
| a0f43f20 | 2010-09-20 01:26:56 | [cff] Make trace message in cff_charset_load() verbose. See Savannah bug #30975. * src/cff/cffload.c (cff_charset_load): Report the original `nleft' and truncated `nleft'. | ||
| b3e1954d | 2010-09-20 01:22:34 | [cff] Correct `max_cid' from CID array length to max CID. See Savannah bug #30975. * src/cff/cffload.c (cff_charset_compute_cids): Don't increment max_cid after detecting max CID. The array CFF_Charset->cids is allocated by max_cid + 1. (cff_charset_cid_to_gindex): Permit CID is less than or equal to CFF_Charset->max_cid. * src/cff/cffobjs.c (cff_face_init): FT_Face->num_glyphs is calculated as CFF_Charset->max_cid + 1. | ||
| 643d49df | 2010-09-20 01:07:57 | [truetype] Sanitize the broken offsets in `loca'. * src/truetype/ttpload.c (tt_face_get_location): If `pos1', the offset to the requested entry in `glyf' exceeds the end of the table, return offset=0, length=0. If `pos2', the offset to the next entry in `glyf' exceeds the end of the table, truncate the entry length at the end of `glyf' table. See Savannah bug #31040. | ||
| 900e7e0c | 2010-09-20 01:03:36 | [sfnt] Prevent overrunning in `post' table parser. * src/sfnt/ttpost.c (load_post_names): Get the length of `post' table and pass the limit of `post' table to load_format_20() and load_format_25(). (load_format_20): Stop the parsing when we reached at the limit of `post' table. If more glyph names are required, they are filled by NULL names. See Savannah bug #31040. | ||
| db053ec9 | 2010-09-17 23:20:00 | [truetype] Don't duplicate size->twilight structure to be freed. * src/truetype/ttinterp.c (free_buffer_in_size): Don't duplicate FT_GlyphZoneRec size->twilight to be freed. If duplicated, FT_FREE() erases the duplicated pointers only and leave original pointers. They can cause the double-free crash when the burst errors occur in TrueType interpreter and free_buffer_in_size() is invoked repeatedly. See Savannah bug #31040 for detail. | ||
| afd89d30 | 2010-09-15 13:02:35 | Make bytecode debugging with FontForge work again. * src/truetype/ttinterp.c (TT_RunIns): Don't call `free_buffer_in_size' in case of error if a debugger is active. | ||
| 6abb9232 | 2010-09-14 09:02:10 | Improve tracing messages. * src/truetype/ttinterp.c (TT_RunIns): Improve wording of tracing message. * src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Add tracing message. * src/truetype/ttgload.c (tt_loader_init): Add tracing message. * src/cache/ftcsbits.c (ftc_snode_load): Emit tracing message if glyph doesn't fit into a small bitmap container. | ||
| 5220ef58 | 2010-09-13 07:32:22 | Fix minor issues reported by <muktha.narayan@wipro.com>. * src/autofit/aflatin.c (af_latin_compute_stem_width): Remove redundant conditional check. * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Ditto. * src/cff/cffload.c (cff_encoding_load): Remove conditional check which always evaluates to `true'. * src/pshinter/pshalgo.c (ps_glyph_interpolate_strong_points): Ditto. * src/truetype/ttinterp.c (Ins_IUP): Ditto. * src/cid/cidgload.c (cid_slot_load_glyph): Don't check for NULL if value is already dereferenced. * src/winfonts/winfnt.c (FNT_Load_Glyph): Fix check of `face'. | ||
| 0eb657b0 | 2010-08-31 13:29:05 | [truetype] Decrease the trace level catching the interpreter error. * src/truetype/ttinterp.c (TT_RunIns): Decrease the trace level showing the error when the interpreter returns with an error, from FT_TRACE7() to FT_TRACE1(). | ||
| 29e044a4 | 2010-08-31 01:23:30 | [truetype] Prevent bytecode reuse after the interpretation error. * src/truetype/ttinterp.c (free_buffer_in_size): New function to free the buffer allocated during the interpretation of this glyph. (TT_RunIns): Unset FT_Face->size->{cvt_ready,bytecode_ready} if an error occurs in the bytecode interpretation. The interpretation of invalid bytecode may break the function definitions and referring them in later interpretation is danger. By unsetting these flags, `fpgm' and `prep' tables are executed again in next interpretation. Fix Savannah bug #30798, reported by Robert Swiecki. | ||
| 12cf0316 | 2010-08-29 11:02:24 | [ftraster] Pacify compiler. * src/raster/ftraster.c (ft_black_new) [_STANDALONE_]: `memory' is not used. | ||
| 0e95b3d1 | 2010-08-29 10:46:26 | [cff] Allow SIDs >= 65000. * src/cff/cffload.c (cff_charset_load): Fix change from 2009-03-20: The threshold for SIDs is not applicable here. I misinterpreted the `SID values 65000 and above are available for implementation use' sentence in the CFF specification. Problem reported by Ivan Ninčić <inincic@pdftron.com>. | ||
| 0eb9b1f5 | 2010-08-28 21:41:16 | Force hinting when the font lacks its familyname. In Type42 or Type11 font embedded in PostScript & PDF, TrueType sfnt stream may lack `name' table because they are not required. Hinting for nameless fonts is safer for PDFs including embedded Chinese fonts. Written by David Bevan, see: http://lists.gnu.org/archive/html/freetype-devel/2010-08/msg00021.html http://lists.freedesktop.org/archives/poppler/2010-August/006310.html * src/truetype/ttobjs.c (tt_check_trickyness): If a NULL pointer by nameless font is given, TRUE is returned to enable hinting. | ||
| 8b05b5d8 | 2010-08-28 21:16:26 | Register yet another tricky TrueType font. * src/truetype/ttobjs.c (tt_check_trickyness): Add `HuaTianKaiTi?', a Kaishu typeface paired with `HuaTianSongTi?' by Huatian Information Industry. | ||
| ebaeb642 | 2010-08-17 07:40:55 | Fix Savannah bug #30788. * src/cache/ftccache.c (FTC_Cache_Clear): Check `cache->buckets' for NULL too. | ||
| a205b3ca | 2010-08-10 02:59:12 | Try to fix Savannah bug #30717 (and probably #30719 too). * src/smooth/ftsmooth.c (ft_smooth_render_generic): Add another overflow test for `width' and `height'. | ||
| ba95440c | 2010-08-06 20:07:36 | Minor doc fixes, formatting. | ||
| 44524158 | 2010-08-07 01:46:56 | Fix Savannah bug #30648. * src/base/ftobjs.c (FT_Done_Library): Specify the order of font drivers in face closing process. Type42 faces should be closed before TrueType faces, because a Type42 face refers another internal TrueType face which is created from sfnt[] array on the memory. | ||
| c9de9cbd | 2010-08-06 08:20:28 | [raster] Fix valgrind warning. * src/raster/ftraster.c (Decompose_Curve) <default>: Access point[0] only if we don't hit `limit'. | ||
| 81f3472c | 2010-08-06 14:11:54 | Fix Savannah bug #30658. * src/base/ftobjs.c (Mac_Read_POST_Resource): Check the total length of collected POST segments does not overrun the allocated buffer. | ||
| 223cb1b5 | 2010-08-06 06:55:09 | [cff] Add comment to clarify current implementation of `pop' operator. | ||
| 346f1867 | 2010-08-06 00:47:57 | Fix Savannah bug #30657. * src/truetype/ttinterp.c (BOUNDSL): New macro. Change `BOUNDS' to `BOUNDSL' where appropriate. * src/truetype/ttinterp.h (TT_ExecContextRec): Fix type of `cvtSize'. | ||
| c06da1ad | 2010-08-05 23:15:26 | Fix Savannah bug #30656. * src/type42/t42parse.c (t42_parse_sfnts): Protect against negative string_size. Fix comparison. | ||
| d9b3e394 | 2010-08-05 17:10:32 | [cff] Don't use any values in decoder after parsing error. * src/cff/cffgload.c (cff_slot_load): Skip the evaluations of the values in decoder, if cff_decoder_parse_charstrings() returns any error. | ||
| 45a3c76b | 2010-08-04 15:54:55 | Fix Savannah bug #30644. * src/base/ftstream.c (FT_Stream_EnterFrame): Fix comparison. | ||
| 11d65e8a | 2010-08-04 14:43:29 | [cff] Improve stack overflow test. * src/cff/cffgload.c (cff_decoder_parse_charstrings): Check stack after execution of operations too. | ||
| fe3433c7 | 2010-07-18 18:41:47 | Add reference counters and to FT_Library and FT_Face objects. * include/freetype/freetype.h (FT_Reference_Face): New function. * include/freetype/ftmodapi.h (FT_Rererence_Library): New function. * include/freetype/internal/ftobjs.h (FT_Face_InternalRec, FT_LibraryRec): New field `refcount'. * src/base/ftobjs.c (FT_Open_Face, FT_New_Library): Handle `refcount'. (FT_Reference_Face, FT_Reference_Library): Implement new functions. (FT_Done_Face, FT_Done_Library): Handle `refcount'. * docs/CHANGES: Updated. | ||
| 2de6b8a3 | 2010-07-17 13:39:50 | [cff] Final try to fix `hintmask' and `cntrmask' limit check. Problem reported by Tobias Wolf <towolf@gmail.com>. * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_hintmask>: Sigh. I'm apparently too silly to fix this correctly in less than three tries. | ||
| c8f5b98b | 2010-07-12 21:13:22 | Remove C++ warnings. */*: Initialize pointers where necessary to make g++ happy. | ||
| ebfd454a | 2010-07-11 09:28:21 | Fix C++ compilation issue. * src/tools/apinames.c (names_dump) <OUTPUT_WATCOM_LBC>: Fix typo of `dot' variable. | ||
| d594202e | 2010-07-11 00:31:17 | Fix another case reported in Savannah bug #30373. Permit a face for Type1, Type42 and CFF without charmap, patch by Tor Andersson. * src/type1/t1objs.c (T1_Face_Init): Reset the error if it is FT_Err_No_Unicode_Glyph_Name. * src/type42/t42objs.c (T42_Face_Init): Ditto. * src/cff/cffobjs.c (cff_face_init): Ditto. | ||
| 84fa62e0 | 2010-07-09 23:43:14 | Fix a mistake in t42objs.c in previous commit. | ||
| 840f208d | 2010-07-09 12:26:33 | Use defined macros to set {platform,encoding}_id. * src/bdf/bdfdrivr.c: Include ttnameid.h and use macros to set charmap.{platfom,encoding}_id. * src/pcf/pcfdrivr.c: Ditto. * src/winfonts/winfnt.c: Ditto. * src/type1/t1objs.c: Ditto. * src/type42/t42objs.c: Ditto. * src/cff/cffobjs.c: Ditto. * src/pfr/pfrobjs.c: Ditto. | ||
| 1e2a446d | 2010-07-09 12:25:59 | Capitalize ISO. | ||
| dfba8cfe | 2010-07-09 12:25:36 | Apple Unicode is not deprecated now. | ||
| b8ca6de3 | 2010-07-09 11:36:00 | Fix Savannah bug #30373. Too serious check of errors by `FT_CMap_New' since 2010-07-04 is fixed. Reported by Tor Andersson. * include/freetype/fterrdef.h (PSnames_Err_No_Unicode_Glyph_Name): New error code to indicate the Unicode charmap synthesis failed because no Unicode glyph name is found. * src/psnames/psmodule.c (ps_unicodes_init): Return PSnames_Err_No_Unicode_Glyph_Name when no Unicode glyph name is found in the font. * src/cff/cffcmap.c (cff_cmap_unicode_init): Return CFF_Err_No_Unicode_Glyph_Name when no SID is available. * src/type1/t1objs.c (T1_Face_Init): Proceed if `FT_CMap_New' is failed by the lack of Unicode glyph name. * src/type42/t42objs.c (T42_Face_Init): Ditto. * src/cff/cffobjs.c (cff_face_init): Ditto. | ||
| 603d1218 | 2010-07-09 09:55:29 | Make ftraster.c compile in stand-alone mode with MSVC compiler. * src/raster/ftmisc.h (FT_Int64) [_WIN32, _WIN64]: Fix typedef since there is no `inttypes.h' for MSVC. | ||
| 888cd184 | 2010-07-08 07:29:42 | Fix Savannah bug #30361. * src/truetype/ttinterp.c (Ins_IUP): Fix bounds check. | ||
| c73e1605 | 2010-07-06 10:44:56 | Pacify compiler. * src/cff/cffload.c (cff_index_get_pointers): Initialize `new_bytes'. | ||
| b33b856a | 2010-07-05 22:36:30 | Fix Savannah bug #27648. * src/base/ftobjs.c (ft_remove_renderer, FT_Add_Module): Call `raster_done' only if we have an outline glyph format. Fix comment typo. | ||
| 2dc76a46 | 2010-07-05 06:40:02 | [cff] Next try to fix `hintmask' and `cntrmask' limit check. Problem reported by malc <av1474@comtv.ru>. * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_hintmask>: It is possible that there is just a single byte after the `hintmask' or `cntrmask', e.g., a `return' instruction. | ||
| 0ae32718 | 2010-07-04 20:14:18 | Restrict the number of the charmaps in a rogue-compatible mode. Fix for Savannah bug #30059. * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Replace `16' the minimum character code passed by a legacy rogue client by... * include/freetype/config/ftoption.h (FT_MAX_CHARMAP_CACHEABLE): This. It is undefined when FT_CONFIG_OPTION_OLD_INTERNALS is undefined (thus the rogue client compatibility is not required). * src/cff/cffobjs.c (cff_face_init): Abort the automatic selection or synthesis of Unicode cmap subtable when the charmap index exceeds FT_MAX_CHARMAP_CACHEABLE. * src/sfnt/ttcmap.c (tt_face_build_cmaps): Issue error message when the charmap index exceeds FT_MAX_CHARMAP_CACHEABLE. * src/base/ftobjs.c (find_unicode_charmap): When Unicode charmap is found after FT_MAX_CHARMAP_CACHEABLE, ignore it and search earlier one. (find_variant_selector_charmap): When UVS charmap is found after FT_MAX_CHARMAP_CACHEABLE, ignore it and search earlier one. (FT_Select_Charmap): When a charmap matching with requested encoding but after FT_MAX_CHARMAP_CACHEABLE, ignore and search earlier one. (FT_Set_Charmap): When a charmap matching with requested charmap but after FT_MAX_CHARMAP_CACHEABLE, ignore and search earlier one. (FT_Get_Charmap_Index): When a requested charmap is found after FT_MAX_CHARMAP_CACHEABLE, return the inverted charmap index. | ||
| a874c7ec | 2010-07-04 12:08:41 | Check error value by `FT_CMap_New'. * src/cff/cffobjs.c (cff_face_init): Check error value by `FT_CMap_New'. * src/pfr/pfrobjs.c (pfr_face_init): Ditto. * src/type1/t1jobjs.c (T1_Face_Init): Ditto. * src/type42/t42jobjs.c (T42_Face_Init): Ditto. | ||
| e0176397 | 2010-07-03 15:31:38 | Make ftgrays.c compile stand-alone again. * src/smooth/ftgrays.c [_STANDALONE_]: Include `stddef.h'. (FT_INT_MAX, FT_PtrDist)[_STANDALONE_]: Define. | ||
| b2ea64bc | 2010-07-02 18:16:02 | Additional fix for Savannah bug #30306. * src/base/ftobjs.c (Mac_Read_POST_Resource): If the type of the POST fragment is 0, the segment is completely ignored. The declared length of the segment is not cared at all. According to Adobe Technical Note 5040, type 0 segment is comment only and should not be loaded for the interpreter. Reported by Robert Swiecki. | ||
| c2dabdee | 2010-07-02 01:27:49 | Merge branch 'master' of git.sv.gnu.org:/srv/git/freetype/freetype2 Conflicts: ChangeLog | ||
| 5ef20c8c | 2010-07-01 18:39:04 | Initial fix for Savannah bug #30306. * src/base/ftobjs.c (Mac_Read_POST_Resource): Check `rlen' the length of fragment declared in the POST fragment header and prevent an underflow in length calculation. Some fonts set the length to zero in spite of the exist of following 16bit `type'. Reported by Robert Swiecki. | ||
| a2d225e3 | 2010-07-01 11:37:09 | [truetype] Protect against code range underflow. * src/truetype/ttinterp.c (DO_JROT, DO_JMPR, DO_JROF): Don't allow negative IP values. | ||
| 462ddb40 | 2010-07-01 11:28:43 | [truetype] Add rudimentary tracing for bytecode instructions. * src/truetype/ttinterp.c (opcode_name) [FT_DEBUG_LEVEL_TRACE]: New array. (TT_RunIns): Trace opcodes. | ||
| f29f741e | 2010-07-01 17:31:03 | Additional fix for Savannah bug #30248 and #30249. * src/base/ftobjs.c (Mac_Read_POST_Resource): Check the buffer size during gathering PFB fragments embedded in LaserWriter PS font for Macintosh. Reported by Robert Swiecki. | ||
| 6305b869 | 2010-06-30 18:24:33 | Fix Savannah bug #30263. * src/smooth/ftgrays.c (gray_render_span): Use cast to `unsigned int' to avoid integer overflow. * src/smooth/ftsmooth.c (ft_smooth_render_generic): Use smaller threshold values for `width' and `height'. This is not directly related to the bug fix but makes sense anyway. | ||
| 0ae6cf21 | 2010-06-30 10:26:48 | Minor optimizations by avoiding divisions. * src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning): Replace divisions with multiplication in comparisons. | ||
| ae425e51 | 2010-06-29 12:31:08 | Fix minor tracing issues. * src/cff/cffgload.c, src/truetype/ttgload.c: Adjust tracing levels. | ||
| 18b552f6 | 2010-06-27 15:41:02 | [cff] Really fix `hintmask' and `cntrmask' limit check. * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_hintmask>: Fix thinko and handle tracing also. | ||
| 8bebaa74 | 2010-06-27 15:10:15 | Fix valgrind warning. * src/base/ftoutln.c (FT_Outline_Get_Orientation): Initialize `result' array. | ||
| 4f7851e3 | 2010-06-27 13:03:54 | [cff] Fix memory leak. * src/cff/cffgload.c (cff_operator_seac): Free charstrings even in case of errors. | ||
| e9f0cdb6 | 2010-06-27 12:34:19 | [cff] Protect against invalid `hintmask' and `cntrmask' operators. * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_hintmask>: Ensure that we don't exceed `limit' while parsing the bit masks of the `hintmask' and `cntrmask' operators. | ||
| 1c70fcbc | 2010-06-27 00:43:23 | Fix PFR change 2010-06-24. * src/pfr/pfrgload.c (pfr_glyph_load_simple): Really protect against invalid indices. | ||
| 91ea0bf8 | 2010-06-26 22:46:38 | Improve PFR tracing messages. * src/pfr/pfrgload.c (pfr_glyph_load_rec): Emit tracing messages for simple and compound glyph offsets. | ||
| 82ad8ab2 | 2010-06-26 09:45:41 | Fix last PFR change. * src/pfr/pfrobjs.c (pfr_face_init): Fix rejection logic. | ||
| 7d911736 | 2010-06-26 09:29:51 | Fix Savannah bug #30262. * src/sfnt/ttload.c (tt_face_load_maxp): Limit `maxComponentDepth' arbitrarily to 100 to avoid stack exhaustion. | ||
| 75787c19 | 2010-06-26 09:24:08 | Add some memory checks (mainly for debugging). * src/base/ftstream.c (FT_Stream_EnterFrame): Exit with error if the frame size is larger than the stream size. * src/base/ftsystem.c (ft_ansi_stream_io): Exit with error if seeking a position larger than the stream size. | ||
| ea5babaa | 2010-06-25 22:44:37 | Fix Savannah bug #30261. * src/pfr/pfrobjs.c (pfr_face_init): Reject fonts which contain neither outline nor bitmap glyphs. | ||
| e23ba91a | 2010-06-25 21:55:14 | Fix Savannah bug #30254. * src/cff/cffload.c (cff_index_get_pointers): Do sanity check for first offset also. | ||
| c69891a1 | 2010-06-25 09:02:18 | Initial fix for Savannah bug #30248 and #30249. * src/base/ftobjs.c (Mac_Read_POST_Resource): Check the error during reading a PFB fragment embedded in LaserWriter PS font for Macintosh. Reported by Robert Swiecki. | ||
| 6fc12943 | 2010-06-24 20:20:26 | Fix Savannah bug #30247. * src/pcf/pcfread.c (pcf_get_metrics): Disallow (invalid) fonts with zero metrics. | ||
| e419f48b | 2010-06-24 12:50:46 | * src/smooth/ftgrays.c (gray_render_cubic): Fix algorithm. The previous version was too aggressive, as demonstrated in http://lists.gnu.org/archive/html/freetype-devel/2010-06/msg00020.html. | ||
| f765e440 | 2010-06-24 10:34:29 | */*: Use module specific error names where appropriate. | ||
| 8b1c34da | 2010-06-24 08:48:10 | Fix Savannah bug #30236. * src/sfnt/ttcmap.c (tt_face_build_cmaps): Improve check for pointer to `cmap_table'. | ||
| 3cf87f4d | 2010-06-24 08:20:56 | Fix Savannah bug #30235. * src/pfr/pfrgload.c (pfr_glyph_load_simple): Protect against invalid indices if there aren't any coordinates for indexing. | ||
| b21d7bc5 | 2010-06-24 07:40:49 | [bdf]: Font properties are optional. * src/bdf/bdflib.c (_bdf_readstream): Use special error code to indicate a redo operation. (_bdf_parse_start): Handle `CHARS' keyword here too and pass current input line to `_bdf_parse_glyph'. | ||
| 8c2c2556 | 2010-06-24 07:36:21 | Whitespace. | ||
| fb69029a | 2010-06-23 10:00:52 | Fix Savannah bug #30220. * include/freetype/fterrdef.h (BDF_Err_Missing_Fontboundingbox_Field): New error code. * src/bdf/bdflib.c (_bdf_parse_start): Check for missing `FONTBOUNDINGBOX' field. Avoid memory leak if there are multiple `FONT' lines (which is invalid but doesn't hurt). | ||
| ddc4b136 | 2010-06-21 09:28:32 | Fix Savannah bug #30168. * src/pfr/pfrgload.c (pfr_glyph_load_compound): Limit the number of subglyphs to avoid endless recursion. | ||
| 90b07bd5 | 2010-06-20 16:27:36 | Fix Savannah bug #30145. * src/psaux/psobjs.c (t1_builder_add_contour): Protect against `outline == NULL' which might happen in invalid fonts. | ||
| f4c94d4b | 2010-06-19 16:08:31 | Fix Savannah bug #30135. * src/bdf/bdflib.c (_bdf_list_join): Don't modify value in static string `empty'. (_bdf_parse_glyph): Avoid memory leak in case of error. | ||
| 5d86cdce | 2010-06-15 08:29:30 | Fix Savannah bug #30108. * src/autofit/afglobal.c (af_face_globals_compute_script_coverage): Properly mask AF_DIGIT bit in comparison. | ||
| 8d22746c | 2010-06-12 01:32:20 | Fix Savannah bug #30106. Point numbers for FreeType's implementation of hinting masks are collected before the final number of points of a glyph has been determined; in particular, the code for handling the `endchar' opcode can reduce the number of points. * src/pshinter/pshalgo.c (psh_glyph_find_strong_points): Assure that `end_point' is not larger than `glyph->num_points'. | ||
| 3624110c | 2010-06-11 23:00:22 | [cff]: Improve debugging output. * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_hintmask>: Implement it. | ||
| 7fb3ef64 | 2010-06-10 08:10:57 | ftgrays: Speed up rendering of small cubic splines. * src/smooth/ftgrays.c (gray_render_cubic): Implement new, simplified algorithm to find out whether the spline can be replaced with two straight lines. See this thread for more: http://lists.gnu.org/archive/html/freetype-devel/2010-06/msg00000.html | ||
| ad61f178 | 2010-06-09 15:18:57 | Oops, revert unwanted previous commit for ftgrays.c. | ||
| 7d3d2cc4 | 2010-06-09 09:14:09 | Fix Savannah bug #30082. * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_callothersubr>: Protect against stack underflow. | ||
| a4124bf0 | 2010-06-08 09:21:39 | Fix Savannah bug #30053. * src/cff/cffparse (cff_parse_real): Handle border case where `fraction_length' has value 10. | ||
| 370aea80 | 2010-06-08 08:37:11 | Formatting. | ||
| d087199f | 2010-06-07 08:46:01 | Fix Savannah bug #30052. This bug has been introduced with commit 2415cbf3. * src/base/ftobjs.c (FT_Get_First_Char, FT_Get_Next_Char): Protect against endless loop in case of corrupted font header data. | ||
| c217bf19 | 2010-05-26 16:16:34 | Remove unused variable. Found by Graham. * src/autofit/afhints.c (af_glyph_hints_reload): Remove unused variable `first' in first block. | ||
| e30de299 | 2010-05-22 20:03:41 | Fix various memory problems found by linuxtesting.org. * src/base/ftgxval.c (FT_TrueTypeGX_Free, FT_ClassicKern_Free), src/base/ftotval.c (FT_OpenType_Free), src/base/ftpfr.c (ft_pfr_check): Check `face'. * src/base/ftobjs.c (FT_Get_Charmap_Index): Check `charmap' and `charmap->face'. (FT_Render_Glyph): Check `slot->face'. (FT_Get_SubGlyph_Info): Check `glyph->subglyphs'. Improve API documentation. | ||
| 09344385 | 2010-05-22 07:43:22 | autofit: Remove dead code. Suggested by Graham. * src/autofit/afhints.c (af_glyph_hints_compute_inflections): Removed. (af_glyph_hints_reload): Remove third argument. Update all callers. | ||
| d7cc8f49 | 2010-05-21 10:14:58 | Fix Savannah bug #27987. * src/cff/cffobjs.c (remove_subset_prefix): New function. (cff_face_init): Use it to adjust `cffface->family_name'. | ||
| 6da023d1 | 2010-05-20 15:38:00 | TrueType: Make FreeType ignore maxSizeOfInstructions in `maxp'. Acroread does the same. * src/truetype/ttgload.c (TT_Process_Composite_Glyph): Call `Update_Max' to adjust size of instructions array if necessary and add a rough safety check. (load_truetype_glyph): Save `loader->byte_len' before recursive call. * src/truetype/ttinterp.h, src/truetype/ttinterp.c (Update_Max): Declare it as FT_LOCAL. | ||
| 236fc8e1 | 2010-05-18 11:00:39 | Apply patch #7196. * src/cff/cffgload.c (cff_slot_load): Prevent crash if CFF subfont index is out of range. | ||
| 30b8480b | 2010-05-11 00:06:02 | Whitespace. | ||
| 88169b10 | 2010-05-11 00:03:33 | Fix Savannah bug #29846. Previously we discovered fonts which used `setcurrentpoint' to set the initial point of a contour to 0,0. This caused FreeType to raise an error, because the `setcurrentpoint' operator is only supposed to be used with the results from an OtherSubr subroutine. This was fixed by simply ignoring the error and carrying on. Now we have found a font which uses setcurrentpoint to actually establish a non-zero point for a contour during the course of a glyph program. FWIW, these files may be produced by an application called `Intaglio' on the Mac, when converting TrueType fonts to Type 1. The fix allows the new invalid behaviour, the old invalid behaviour and real proper usage of the operator to work the same way as Adobe interpreters apparently do. (t1_decoder_parse_charstrings): Make `setcurrentpoint' use the top two elements of the stack to establish unconditionally the current x and y coordinates. Make the `flex' subroutine handling (OtherSubr 0) put the current x,y coordinates onto the stack, instead of two dummy uninitialised values. | ||
| 54e63755 | 2010-04-14 23:38:35 | Fix Savannah bug #29444. * src/psaux/psobjs.c (t1_builder_start_point): Accept (invalid) `lineto' immediately after `hsbw', in accordance with Acrobat, GS, and others. |