src


Log

Author Commit Date CI Message
Werner Lemberg 0e95b3d1 2010-08-29T10: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>.
suzuki toshiya 0eb9b1f5 2010-08-28T21: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.
suzuki toshiya 8b05b5d8 2010-08-28T21: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.
Teijo Kinnunen ebaeb642 2010-08-17T07:40:55 Fix Savannah bug #30788. * src/cache/ftccache.c (FTC_Cache_Clear): Check `cache->buckets' for NULL too.
Werner Lemberg a205b3ca 2010-08-10T02: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'.
Werner Lemberg ba95440c 2010-08-06T20:07:36 Minor doc fixes, formatting.
suzuki toshiya 44524158 2010-08-07T01: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.
Yuriy Kaminskiy c9de9cbd 2010-08-06T08:20:28 [raster] Fix valgrind warning. * src/raster/ftraster.c (Decompose_Curve) <default>: Access point[0] only if we don't hit `limit'.
suzuki toshiya 81f3472c 2010-08-06T14: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.
Werner Lemberg 223cb1b5 2010-08-06T06:55:09 [cff] Add comment to clarify current implementation of `pop' operator.
Werner Lemberg 346f1867 2010-08-06T00: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'.
Werner Lemberg c06da1ad 2010-08-05T23:15:26 Fix Savannah bug #30656. * src/type42/t42parse.c (t42_parse_sfnts): Protect against negative string_size. Fix comparison.
suzuki toshiya d9b3e394 2010-08-05T17: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.
Werner Lemberg 45a3c76b 2010-08-04T15:54:55 Fix Savannah bug #30644. * src/base/ftstream.c (FT_Stream_EnterFrame): Fix comparison.
Suzuki, Toshiya (鈴木俊哉) 11d65e8a 2010-08-04T14:43:29 [cff] Improve stack overflow test. * src/cff/cffgload.c (cff_decoder_parse_charstrings): Check stack after execution of operations too.
Werner Lemberg fe3433c7 2010-07-18T18: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.
Werner Lemberg 2de6b8a3 2010-07-17T13: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.
Werner Lemberg c8f5b98b 2010-07-12T21:13:22 Remove C++ warnings. */*: Initialize pointers where necessary to make g++ happy.
Werner Lemberg ebfd454a 2010-07-11T09:28:21 Fix C++ compilation issue. * src/tools/apinames.c (names_dump) <OUTPUT_WATCOM_LBC>: Fix typo of `dot' variable.
suzuki toshiya d594202e 2010-07-11T00: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.
suzuki toshiya 84fa62e0 2010-07-09T23:43:14 Fix a mistake in t42objs.c in previous commit.
suzuki toshiya 840f208d 2010-07-09T12: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.
suzuki toshiya 1e2a446d 2010-07-09T12:25:59 Capitalize ISO.
suzuki toshiya dfba8cfe 2010-07-09T12:25:36 Apple Unicode is not deprecated now.
suzuki toshiya b8ca6de3 2010-07-09T11: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.
Ken Sharp 603d1218 2010-07-09T09: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.
Werner Lemberg 888cd184 2010-07-08T07:29:42 Fix Savannah bug #30361. * src/truetype/ttinterp.c (Ins_IUP): Fix bounds check.
Werner Lemberg c73e1605 2010-07-06T10:44:56 Pacify compiler. * src/cff/cffload.c (cff_index_get_pointers): Initialize `new_bytes'.
Eugene A. Shatokhin b33b856a 2010-07-05T22: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.
Werner Lemberg 2dc76a46 2010-07-05T06: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.
suzuki toshiya 0ae32718 2010-07-04T20: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.
suzuki toshiya a874c7ec 2010-07-04T12: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.
Werner Lemberg e0176397 2010-07-03T15:31:38 Make ftgrays.c compile stand-alone again. * src/smooth/ftgrays.c [_STANDALONE_]: Include `stddef.h'. (FT_INT_MAX, FT_PtrDist)[_STANDALONE_]: Define.
suzuki toshiya b2ea64bc 2010-07-02T18: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.
Werner Lemberg c2dabdee 2010-07-02T01:27:49 Merge branch 'master' of git.sv.gnu.org:/srv/git/freetype/freetype2 Conflicts: ChangeLog
suzuki toshiya 5ef20c8c 2010-07-01T18: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.
Werner Lemberg a2d225e3 2010-07-01T11:37:09 [truetype] Protect against code range underflow. * src/truetype/ttinterp.c (DO_JROT, DO_JMPR, DO_JROF): Don't allow negative IP values.
Werner Lemberg 462ddb40 2010-07-01T11: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.
suzuki toshiya f29f741e 2010-07-01T17: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.
Werner Lemberg 6305b869 2010-06-30T18: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.
Werner Lemberg 0ae6cf21 2010-06-30T10: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.
Werner Lemberg ae425e51 2010-06-29T12:31:08 Fix minor tracing issues. * src/cff/cffgload.c, src/truetype/ttgload.c: Adjust tracing levels.
Werner Lemberg 18b552f6 2010-06-27T15: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.
Werner Lemberg 8bebaa74 2010-06-27T15:10:15 Fix valgrind warning. * src/base/ftoutln.c (FT_Outline_Get_Orientation): Initialize `result' array.
Werner Lemberg 4f7851e3 2010-06-27T13:03:54 [cff] Fix memory leak. * src/cff/cffgload.c (cff_operator_seac): Free charstrings even in case of errors.
Werner Lemberg e9f0cdb6 2010-06-27T12: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.
Werner Lemberg 1c70fcbc 2010-06-27T00:43:23 Fix PFR change 2010-06-24. * src/pfr/pfrgload.c (pfr_glyph_load_simple): Really protect against invalid indices.
Werner Lemberg 91ea0bf8 2010-06-26T22:46:38 Improve PFR tracing messages. * src/pfr/pfrgload.c (pfr_glyph_load_rec): Emit tracing messages for simple and compound glyph offsets.
Werner Lemberg 82ad8ab2 2010-06-26T09:45:41 Fix last PFR change. * src/pfr/pfrobjs.c (pfr_face_init): Fix rejection logic.
Werner Lemberg 7d911736 2010-06-26T09:29:51 Fix Savannah bug #30262. * src/sfnt/ttload.c (tt_face_load_maxp): Limit `maxComponentDepth' arbitrarily to 100 to avoid stack exhaustion.
Werner Lemberg 75787c19 2010-06-26T09: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.
Werner Lemberg ea5babaa 2010-06-25T22:44:37 Fix Savannah bug #30261. * src/pfr/pfrobjs.c (pfr_face_init): Reject fonts which contain neither outline nor bitmap glyphs.
Werner Lemberg e23ba91a 2010-06-25T21:55:14 Fix Savannah bug #30254. * src/cff/cffload.c (cff_index_get_pointers): Do sanity check for first offset also.
suzuki toshiya c69891a1 2010-06-25T09: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.
Werner Lemberg 6fc12943 2010-06-24T20:20:26 Fix Savannah bug #30247. * src/pcf/pcfread.c (pcf_get_metrics): Disallow (invalid) fonts with zero metrics.
Graham Asher e419f48b 2010-06-24T12: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.
Werner Lemberg f765e440 2010-06-24T10:34:29 */*: Use module specific error names where appropriate.
Werner Lemberg 8b1c34da 2010-06-24T08:48:10 Fix Savannah bug #30236. * src/sfnt/ttcmap.c (tt_face_build_cmaps): Improve check for pointer to `cmap_table'.
Werner Lemberg 3cf87f4d 2010-06-24T08: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.
Werner Lemberg b21d7bc5 2010-06-24T07: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'.
Werner Lemberg 8c2c2556 2010-06-24T07:36:21 Whitespace.
Werner Lemberg fb69029a 2010-06-23T10: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).
Werner Lemberg ddc4b136 2010-06-21T09:28:32 Fix Savannah bug #30168. * src/pfr/pfrgload.c (pfr_glyph_load_compound): Limit the number of subglyphs to avoid endless recursion.
Werner Lemberg 90b07bd5 2010-06-20T16:27:36 Fix Savannah bug #30145. * src/psaux/psobjs.c (t1_builder_add_contour): Protect against `outline == NULL' which might happen in invalid fonts.
Werner Lemberg f4c94d4b 2010-06-19T16: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.
Werner Lemberg 5d86cdce 2010-06-15T08:29:30 Fix Savannah bug #30108. * src/autofit/afglobal.c (af_face_globals_compute_script_coverage): Properly mask AF_DIGIT bit in comparison.
Werner Lemberg 8d22746c 2010-06-12T01: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'.
Werner Lemberg 3624110c 2010-06-11T23:00:22 [cff]: Improve debugging output. * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_hintmask>: Implement it.
Graham Asher 7fb3ef64 2010-06-10T08: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
Werner Lemberg ad61f178 2010-06-09T15:18:57 Oops, revert unwanted previous commit for ftgrays.c.
Werner Lemberg 7d3d2cc4 2010-06-09T09:14:09 Fix Savannah bug #30082. * src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_callothersubr>: Protect against stack underflow.
Werner Lemberg a4124bf0 2010-06-08T09:21:39 Fix Savannah bug #30053. * src/cff/cffparse (cff_parse_real): Handle border case where `fraction_length' has value 10.
Werner Lemberg 370aea80 2010-06-08T08:37:11 Formatting.
Werner Lemberg d087199f 2010-06-07T08: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.
Werner Lemberg c217bf19 2010-05-26T16:16:34 Remove unused variable. Found by Graham. * src/autofit/afhints.c (af_glyph_hints_reload): Remove unused variable `first' in first block.
Werner Lemberg e30de299 2010-05-22T20: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.
Werner Lemberg 09344385 2010-05-22T07: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.
Bram Tassyns d7cc8f49 2010-05-21T10: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'.
Werner Lemberg 6da023d1 2010-05-20T15: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.
Hongbo Ni 236fc8e1 2010-05-18T11:00:39 Apply patch #7196. * src/cff/cffgload.c (cff_slot_load): Prevent crash if CFF subfont index is out of range.
Werner Lemberg 30b8480b 2010-05-11T00:06:02 Whitespace.
Ken Sharp 88169b10 2010-05-11T00: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.
Ken Sharp 54e63755 2010-04-14T23: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.
Michał Cichoń 08e254e0 2010-04-14T21:25:30 Fix Savannah bug #27999. * src/cache/ftcmanag.c (FTC_Manager_RemoveFaceID): Only remove selected entry, not all.
Jonathan Kew 25e742c5 2010-04-06T16:42:56 Add overflow check to `fvar' table. * src/truetype/ttgxvar.c (TT_Get_MM_Var): Check axis and instance count.
Ken Sharp 7baeeafc 2010-04-05T11:19:38 Fix Savannah bug #29335. * src/raster/ftraster.c (Line_Up): Use slow multiplication to prevent overflow. This shouldn't have any serious impact on speed, however.
Werner Lemberg 460d23f1 2010-04-05T08:46:26 Add new function `FT_Library_SetLcdFilterWeights'. This is based on code written by Lifter <http://unixforum.org/index.php?showuser=11691>. It fixes FreeDesktop bug #27386. * src/base/ftlcdfil.c (FT_Library_SetLcdFilterWeights): New function. * include/freetype/ftlcdfil.h: Updated. * docs/CHANGES: Updated.
John Tytgat 8c4cce52 2010-04-05T08:22:22 Fix Savannah bug #29404. * src/truetype/ttgload.c: Revert change 2752bd1a (check on bit 1 of `head' table of TrueType fonts).
suzuki toshiya cef43bde 2010-03-14T23:12:13 Fix `multi build' for Tytgat's CFF driver improvement. * src/base/cffload.h (cff_index_get_name): Added.
suzuki toshiya 199f04f3 2010-03-12T14:48:57 Remove duplicated inclusion of `FT_OUTLINE_H' in ftobjs.c.
Chris Liddell 6c0d8814 2010-03-11T18:27:31 Fix Savannah bug #27442. * src/raster/ftraster.c (ft_black_reset): Fix `buffer_size'.
Werner Lemberg 763300a9 2010-03-09T17:01:21 Remove unused variable. Reported by Graham. * src/cff/cffparse.c (cff_parse_real): Remove `rest'.
Werner Lemberg 03b3da8b 2010-03-02T13:00:55 Improve CFF string (especially glyphname) lookup performance. We do this by avoiding memory allocation and file I/O. This is Savannah patch #7104. * src/cff/cfftypes.h: Include PS cmaps service and FT_INTERNAL_POSTSCRIPT_HINTS_H. (CFF_SubFontRec): Remove `num_local_subrs'. (CFF_FontRec): Add `num_strings', `strings', and `string_pool' fields. Remove `string_index' and `num_global_subrs' fields. Use real types instead of `void' for `pshinter' and `psnames' fields. * src/cff/cffload.c: Don't include PS cmaps service. (cff_index_get_pointers): Add `pool' parameter which allows to insert an extra NUL character for each String INDEX entry. (cff_index_get_name): Make it a local function. (cff_index_get_string): New function. (cff_subfont_load): Updated. (cff_font_load): Initialize `num_strings', `strings', and `string_pool' fields in the `CFF_FontRec' structure. (cff_index_get_sid_string): Use `cff_index_get_string' instead of `cff_index_get_name'. (cff_font_done): Updated. * src/cff/cffload.h: Don't include PS cmaps service. (cff_index_get_string): Added. (cff_index_get_sid_string): Updated. * src/cff/cffobjs.c: Don't include PS cmaps service and FT_INTERNAL_POSTSCRIPT_HINTS_H. (cff_size_get_globals_funcs, cff_slot_init): Updated. (cff_face_init): Follow `cff_index_get_name', `cff_index_get_string', and `cff_index_get_sid_string' changes. * src/cff/cffcmap.c (cff_sid_free_glyph_name): Removed. (cff_sid_to_glyph_name): Use `cff_index_get_cid_string'. (cff_cmap_unicode_init): Updated. * src/cff/cffdrivr.c: Don't include PS cmap service. (cff_get_glyph_name): Avoid unnecessary lookup for POSTSCRIPT_CMAPS service. (cff_get_glyph_name, cff_ps_get_font_info, cff_get_ros): Follow API `cff_index_get_sid_string' change. (cff_get_name_index): Use `cff_index_get_string' instead of `cff_index_get_name'. * src/cff/cffgload.c: Don't include FT_INTERNAL_POSTSCRIPT_HINTS_H. (cff_decoder_init, cff_decoder_prepare): Updated.
Werner Lemberg e0717d4f 2010-02-27T08:10:11 Simplify code. Suggested by Behdad. * src/base/ftobjs.c (FT_Get_First_Char): Don't use a loop since we call FT_Get_Next_Char anyway if necessary.
Behdad Esfahbod 2415cbf3 2010-02-26T23:48:53 Improve handling of invalid glyph indices in char->index functions. * src/base/ftobjs.c (FT_Get_First_Char, FT_Get_Next_Char): Use a loop.
Chris Liddell 10cf3887 2010-02-18T17:09:30 Fix Savannah bug #28905. Initialize phantom points before calling the incremental interface to update glyph metrics. * src/truetype/ttgload.c (tt_get_metrics_incr_overrides) [FT_CONFIG_OPTION_INCREMENTAL]: New function, split off from... (tt_get_metrics): This. Updated. (load_truetype_glyph): Use tt_get_metrics_incr_overrides.
Werner Lemberg b36d4192 2010-02-13T07:57:56 * Version 2.3.12 released. ========================== Tag sources with `VER-2-3-12'. * docs/CHANGES: Updated. * docs/VERSION.DLL: Update documentation and bump version number to 2.3.12. * 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.3.11/2.3.12/, s/2311/2312/. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 12. * builds/unix/configure.raw (version_info): Set to 10:0:4.
suzuki toshiya 93eaf50a 2010-02-13T01:08:33 Fix overallocating bug in FT_Outline_New_Internal().
Ken Sharp 63e7aac3 2010-02-10T07:13:27 Really fix Savannah bug #28678 (part 2). Since we consider `sbw' for the horizontal direction only, we still have to synthesize vertical metrics if the user wants to use the vertical writing direction. * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): Synthesize vertical metrics (only) if FT_LOAD_VERTICAL_LAYOUT is set.
Ken Sharp 980b76ea 2010-02-10T07:02:43 Really fix Savannah bug #28678 (part 1). After long discussion, we now consider the character width vector (wx,wy) returned by the `sbw' Type 1 operator as being part of *one* direction only. For example, if you are using the horizontal writing direction, you get the horizontal and vertical components of the advance width for this direction. Note that OpenType and CFF fonts don't have such a vertical component; instead, the GPOS table can be used to generate two-dimensional advance widths (but this isn't handled by FreeType). * include/freetype/ftincrem.h (FT_Incremental_MetricsRec): Add `advance_v' field to hold the vertical component of the advance value. * src/truetype/ttgload.c (tt_get_metrics), src/cff/cffgload.c (cff_slot_load), src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String), src/cid/cidgload.c (cid_load_glyph): Use it.