Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 95149592 | 2018-05-02 20:27:48 | Remove FT_CONFIG_OPTION_PIC and related code. */* [FT_CONFIG_OPTION_PIC]: Remove all code guarded by this preprocessor symbol. */*: Replace `XXX_GET' macros (which could be either a function in PIC mode or an array in non-PIC mode) with `xxx' arrays. * include/freetype/internal/ftpic.h, src/autofit/afpic.c, src/autofit/afpic.h, src/base/basepic.c, src/base/basepic.h, src/base/ftpic.c, src/cff/cffpic.c, src/cff/cffpic.h, src/pshinter/pshpic.c, src/pshinter/pshpic.h, src/psnames/pspic.c, src/psnames/pspic.h, src/raster/rastpic.c, src/raster/rastpic.h, src/sfnt/sfntpic.c, src/sfnt/sfntpic.h, src/smooth/ftspic.c, src/smooth/ftspic.h, src/truetype/ttpic.c, src/truetype/ttpic.h: Removed. | ||
| 86bc8a95 | 2018-05-01 20:27:24 | * Version 2.9.1 released. ========================= Tag sources with `VER-2-9-1'. * docs/VERSION.TXT: Add entry for version 2.9.1. * docs/CHANGES: Updated. * README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj, src/base/ftver.rc, builds/windows/vc2005/index.html, builds/windows/vc2008/freetype.vcproj, builds/windows/vc2008/index.html, builds/windows/vc2010/freetype.vcxproj, builds/windows/vc2010/index.html, builds/windows/visualc/freetype.dsp, builds/windows/visualc/freetype.vcproj, builds/windows/visualc/index.html, builds/windows/visualce/freetype.dsp, builds/windows/visualce/freetype.vcproj, builds/windows/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.9/2.9.1/, s/29/291/. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1. * builds/unix/configure.raw (version_info): Set to 22:1:16. * CMakeLists.txt (VERSION_PATCH): Set to 1. * include/freetype/ftgasp.h: Use FT_BEGIN_HEADER and FT_END_HEADER. | ||
| ac97a296 | 2018-04-26 09:04:39 | Another fix for handling invalid format 2 cmaps. Sigh. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8003 * src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition to avoid an endless loop. | ||
| 2157d8fa | 2018-04-24 10:29:19 | [base] Avoid undefined behaviour in lcd filtering code (#53727). * src/base/ftlcdfil.c (ft_lcd_filter_fir, _ft_lcd_filter_legacy): Ensure `height > 0'. | ||
| 67697d00 | 2018-04-22 21:15:10 | * src/base/ftoutln.c (FT_Outline_Decompose): Improve error tracing. | ||
| 3b88576b | 2018-04-22 17:22:35 | [base] Fix bitmap emboldening. Bug introduced after release 2.8. * src/base/ftbitmap.c (ft_bitmap_assure_buffer): We use `FT_QALLOC_MULT', which doesn't zero out the buffer. Adjust the bitmap copying code to take care of this fact. | ||
| c2e2a8e5 | 2018-04-22 17:13:50 | Revert "[base] Fix bitmap copying where the new pitch is smaller." This reverts commit c0f1adedcfaad4f7d2fe912ff4b2933845d61d93. | ||
| c0f1aded | 2018-04-22 11:44:24 | [base] Fix bitmap copying where the new pitch is smaller. * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Handle it. | ||
| 38ecc949 | 2018-04-22 10:14:03 | Another fix for handling invalid format 2 cmaps. The previous commit was incomplete. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7928 * src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition to avoid an endless loop. | ||
| e4b6d853 | 2018-04-19 17:43:03 | [autofit] Add support for Georgian Mtavruli characters. This will be part of the forthcoming Unicode 11.0. * src/autofit/afblue.dat: Add blue zone data for Mtavruli. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Mtavruli standard character. | ||
| 1655e00f | 2018-04-19 14:45:19 | Fix handling of invalid format 2 cmaps. The problem was introduced after the last release. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7828 * src/sfnt/ttcmap.c (tt_cmap2_char_next): Avoid endless loop. | ||
| 2a159782 | 2018-04-17 12:25:17 | [truetype] Integer overflow issues. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7739 * src/truetype/ttinterp.c (Ins_CEILING): Use FT_PIX_CEIL_LONG. | ||
| 70ac167c | 2018-04-16 10:39:10 | [truetype] Integer overflow issues. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7718 * src/truetype/ttinterp.c (Ins_MIRP): Use ADD_LONG. | ||
| 939bbee1 | 2018-04-15 22:35:40 | [docmaker] Make it work with python3. * src/tools/docmaker (*.py): Use parentheses around arguments of `print'. Remove unused imports. | ||
| 235b1e2f | 2018-04-15 21:55:04 | [truetype]: Limit `SLOOP' bytecode argument to 16 bits. This fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7707 * src/truetype/ttinterp.c (Ins_SLOOP): Do it. | ||
| 827ca3bc | 2018-04-14 07:20:31 | [truetype] Integer overflow issues. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7652 * src/truetype/ttinterp.c (Ins_MDAP): Use SUB_LONG. | ||
| 576670b7 | 2018-04-14 07:00:30 | [autofit] Update to Unicode 11.0.0. But no support new scripts (volunteers welcomed). * src/autofit/afranges.c (af_arab_nonbase_uniranges, af_beng_nonbase_uniranges, af_cakm_nonbase_uniranges, af_deva_nonbase_uniranges, af_geor_uniranges, af_gujr_nonbase_uniranges, af_mlym_nonbase_uniranges, af_nkoo_nonbase_uniranges, af_telu_nonbase_uniranges, af_hani_uniranges): Add new data. | ||
| bd9400bd | 2018-04-09 21:28:37 | [truetype] Integer overflow issues. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7453 * src/truetype/ttinterp.c (Round_Super, Round_Super_45): Use ADD_LONG and SUB_LONG. | ||
| 3b8f1680 | 2018-04-04 20:26:08 | [cff, type1] Sanitize `BlueFuzz' and `BlueShift'. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7371 * src/cff/cffload.c (cff_load_private_dict): Sanitize `priv->blue_shift' and `priv->blue_fuzz' to avoid overflows later on. * src/type1/t1load.c (T1_Open_Face): Ditto. | ||
| 26ad1acb | 2018-04-04 16:38:58 | * src/truetype/ttobjs.c (trick_names): Add 3 tricky fonts (#53554), `DFHei-Md-HK-BF', `DFKaiShu-Md-HK-BF' and `DFMing-Bd-HK-BF'. (tt_check_trickyness_sfnt_ids): Add checksums for 3 tricky fonts in above. | ||
| 597cb3b4 | 2018-03-30 13:46:03 | [truetype] Fix memory leak (only if tracing is on). * src/truetype/ttgxvar.c (TT_Get_MM_Var) [FT_DEBUG_LEVEL_TRACE}: Fix it. | ||
| 34e46733 | 2018-03-23 06:13:25 | [sfnt] Correctly handle missing bitmaps in sbix format (#53404). * src/sfnt/ttfsbit.c (tt_face_load_sbix_image): Fix return value. | ||
| 43d4852e | 2018-03-23 06:07:24 | [truetype] Fix advance of empty glyphs in bitmap fonts (#53393). * src/truetype/ttgload.c (TT_Load_Glyph): Apply scaling to metrics for empty bitmaps. | ||
| 5bd76524 | 2018-03-13 11:11:16 | * src/sfnt/ttcmap.c (tt_cmap2_validate): Fix potential numeric overflow. | ||
| 78cded2c | 2018-03-13 11:09:44 | Fix cmap format 2 handling (#53320). The patch introduced for #52646 was not correct. * src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition. | ||
| 733a21bd | 2018-03-05 23:37:17 | Make `ftlcdfil.c' part of the `base' module. `ftobjs.c' needs `ft_lcd_padding'. Problem reported by duhuanpeng <548708880@qq.com>. * modules.cfg (BASE_EXTENSIONS): Don't include `ftlcdfil.c'. * src/base/ftbase.c: Include `ftlcdfil.c'. * src/base/rules.mk (BASE_SRC): Add `ftlcdfil.c'. * src/base/Jamfile (_sources): Adjusted. * docs/INSTALL.ANY: Updated. | ||
| f4a35316 | 2018-03-05 20:45:12 | Make `ftfntfmt.c' part of the `base' module. `ftobjs.c' needs `FT_Get_Font_Format'. Problem reported by duhuanpeng <548708880@qq.com>. * modules.cfg (BASE_EXTENSIONS): Don't include `ftfntfmt.c'. * src/base/ftbase.c: Include `ftfntfmt.c'. * src/base/rules.mk (BASE_SRC): Add `ftfntfmt.c'. * src/base/Jamfile (_sources): Adjusted. * docs/INSTALL.ANY: Updated. | ||
| efd13c5d | 2018-03-01 22:17:54 | * src/truetype/ttinterp.c (TT_RunIns): Fix tracing arguments. | ||
| 713d68ee | 2018-02-17 18:35:15 | [sfnt] Prefer `CBDT'/`CBLC' over `glyf' table (#53154). | ||
| 63aaf89c | 2018-02-17 10:34:47 | s/sub-pixel/subpixel/. | ||
| 4a03f174 | 2018-02-06 02:23:19 | [truetype] Integer overflow issues. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=6027 * src/truetype/ttinterp.c (Ins_MSIRP, Ins_MIAP, Ins_MIRP): Use SUB_LONG; avoid FT_ABS. | ||
| 036bdc0c | 2018-01-28 00:05:46 | [truetype] Minor typo. | ||
| 68dddcdc | 2018-01-27 23:59:30 | [truetype] Better protection against invalid VF data. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5739 Bug introduced in commit 08cd62deedefe217f2ea50e392923ce8b5bc7ac7. * src/truetype/ttgxvar.c (TT_Set_Var_Design): Always initialize `normalizedcoords'. | ||
| 29c75928 | 2018-01-27 14:43:43 | * src/truetype/ttinterp.c (Ins_GETVARIATION): Avoid NULL reference. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5736 | ||
| f438e069 | 2018-01-27 14:39:15 | * src/truetype/ttgxvar.c (tt_set_mm_blend): Minor. | ||
| ef486530 | 2018-01-27 11:16:22 | [truetype] Better trace VF instances. * src/truetype/ttgxvar.c (ft_var_to_normalized): Don't emit number of coordinates. (TT_Get_MM_Var): Trace instance indices names. (TT_Set_Var_Design): Updated. | ||
| 5f94c90f | 2018-01-27 10:52:13 | Fix comment. | ||
| 50f693a7 | 2018-01-27 09:33:17 | [truetype] Beautify tracing of VF axis records. * src/truetype/ttgxvar.c (TT_Get_MM_Var): Show axis records in a table-like manner. | ||
| 994eb2b3 | 2018-01-26 23:17:43 | [truetype] Fix multiple calls of `FT_Get_MM_Var' (#52955). * src/truetype/ttgxvar.c (TT_Get_MM_Var): Set `face->blend->num_axis' in case we have to initialize the `face->blend'. | ||
| b1e02098 | 2018-01-23 22:29:45 | [apinames] Anonymous version map for GNU linker. * src/tools/apinames.c (PROGRAM_VERSION): Set to 0.3. (OutputFormat): Add `OUTPUT_GNU_VERMAP'. (names_dump): Handle it. (usage): Updated. (main): Handle new command line flag `-wL'. | ||
| 6ce66856 | 2018-01-18 21:29:48 | * src/base/ftver.rc: Fix mingw-w64 compilation. | ||
| 4b8ccc56 | 2018-01-18 04:32:52 | [build] Enable VERSIONINFO resource for Cygwin/MinGW. * builds/unix/configure.raw: Check for resource compiler. * builds/unix/unix-cc.in: Conditionally set up resource compiler. * builds/freetype.mk: Add conditional rule for `ftver.rc'. * src/base/ftver.rc: Copyright notice and year update. | ||
| fd8000f0 | 2018-01-18 03:58:34 | [build] Move VERSIONINFO resource. * builds/windows/vc2010/freetype.vcxproj: Updated. * builds/windows/ftver.rc: Move file from here... * src/base/ftver.rc: ... to here. | ||
| cc2f3cde | 2018-01-10 13:24:56 | [psaux] Correctly handle Flex features (#52846). * src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdVMOVETO, cf2_cmdHMOVETO>: Do not move if doing Flex. | ||
| 21bd9c2f | 2018-01-07 16:38:54 | [psaux] Fix Type 1 glyphs with too many stem hints. According to the CFF specification, charstrings can have up to 96 stem hints. Due to hint replacement routines in Type 1 charstrings, some glyphs are rejected by the Adobe engine, which implements the above limit. This fix turns off hinting for such glyphs. * src/psaux/pshints.c (cf2_hintmap_build): Reset the error from calling `cf2_hintmask_setAll' on a problematic Type 1 charstring and turn off hinting. | ||
| 3758aed7 | 2018-01-06 08:39:36 | Add `FT_Done_MM_Var'. This is necessary in case the application's memory routines differ from FreeType. A typical example is a Python application on Windows that calls FreeType compiled as a DLL via the `ctypes' interface. * include/freetype/ftmm.h, src/base/ftmm.c (FT_Done_MM_Var): Declare and define. * docs/CHANGES: Updated. | ||
| 029c9b23 | 2018-01-03 19:05:20 | [truetype] Round offsets of glyph components only if hinting is on. * src/truetype/ttgload.c (TT_Process_Composite_Component): Implement it. | ||
| 55d6abea | 2018-01-03 19:01:15 | * src/truetype/ttgxvar.c (ft_var_to_design): Remove dead code. This is a better fix than the previous commit, which is now reverted. | ||
| ecfdfd44 | 2018-01-03 00:20:11 | [truetype] Make blend/design coordinate round-tripping work. Behdad reported that setting blend coordinates, then getting design coordinates did incorrectly return the default instance's coordinates. * src/truetype/ttgxvar.c (tt_set_mm_blend): Fix it. | ||
| 0a0c2256 | 2018-01-02 09:33:57 | Update copyright year. | ||
| 3f090c68 | 2017-12-31 10:32:08 | * src/sfnt/ttcmap.c (tt_cmap2_char_next): Fix endless loop. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4838 | ||
| 14cd0734 | 2017-12-27 08:59:46 | Fix compiler warnings. * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Make `pitch' and `new_pitch' unsigned. * src/base/ftpsprop.c: Include FT_INTERNAL_POSTSCRIPT_PROPS_H. | ||
| 3cc88e2e | 2017-12-27 08:19:09 | Fixes for `make multi'. * include/freetype/internal/ftpsprop.h: Use `FT_BASE_CALLBACK'. (ps_property_get): Harmonize declaration with corresponding function typedef. * include/freety[e/internal/fttrace.h: Add `trace_psprops'. * src/base/ftpsprop.c: Include necessary header files. (FT_COMPONENT): Define. (ps_property_set): Tag with `FT_BASE_CALLBACK_DEF'. (ps_property_get): Tag with `FT_BASE_CALLBACK_DEF'. Harmonize declaration with corresponding function typedef. | ||
| dd6330d7 | 2017-12-27 08:06:47 | Add missing ChangeLog entry, copyright notices, whitespace, formatting. | ||
| a956e36c | 2017-12-25 12:34:37 | Move PostScript drivers' property handlers to `base' This reduces the amount of duplicated code across PostScript drivers. * src/cff/cffdrivr.c, src/cid/cidriver.c, src/type1/t1driver.c ({cff,cid,t1}_property_{get,set}): Moved to... * include/freetype/internal/ftpsprop.h: ...this new file. (ps_property_{get,set}): New functions to replace moved ones. * src/base/ftpsprop.c: Implement above functions. * include/freetype/internal/internal.h (FT_INTERNAL_POSTSCRIPT_PROPS_H): New macro. * src/cff/cffdrivr.c, src/cid/cidriver.c, src/type1/t1driver.c: Updated. * src/base/Jamfile, src/base/rules.mk, src/base/ftbase.c: Updated. | ||
| 08cd62de | 2017-12-20 22:06:19 | Speed up FT_Set_Var_{Design,Blend}_Coordinates if curr == new. We exit early if the current design or blend coordinates are identical to the new ones. * src/truetype/ttgxvar.c (tt_set_mm_blend, TT_Set_Var_Design): Implement it, returning internal error code -1 if there will be no variation change. * src/type1/t1load.c (t1_set_mm_blend): Ditto. * src/base/ftmm.c (FT_Set_Var_Design_Coordinates, FT_Set_MM_Blend_Coordinates, FT_Set_Var_Blend_Coordinates): Updated. | ||
| 0579d545 | 2017-12-18 23:45:58 | Update incorrect ChangeLog entry. | ||
| 2df73b39 | 2017-12-18 23:32:32 | [sfnt] Fix charmap type 2 iterator (#52646). The subsetted demo font of the report that exhibits the bug has a very unusual type 2 cmap for Unicode(!): It contains only two sub-headers, one for one-byte characters (covering the range 0x20 to 0xFA), and a second one for higher byte 0x01 (just for character code U+0131). Before this commit, the iterator wasn't able to correctly handle a sub-header for higher byte 0x01. * src/sfnt/ttcmap.c (tt_cmap2_char_next): Fix character increment for outer loop. | ||
| bdab6578 | 2017-12-18 20:45:17 | [truetype] Minor code beautification. * src/truetype/ttgxvar.c (ft_var_to_normalized): Trace number of design coordinates. Simplify code. | ||
| 068a7a03 | 2017-12-18 20:34:05 | * src/*/*: Only use `ft_' and `FT_' variants of stdc library stuff. | ||
| 2fe272ac | 2017-12-18 19:40:07 | * src/truetype/ttgxvar.c (tt_face_vary_cvt): Add size guard (#52688). | ||
| d062c54c | 2017-12-18 09:41:17 | [truetype] Fix previous commit. * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Correctly handle unhinted phantom points, which must be properly scaled. | ||
| e7935f29 | 2017-12-18 07:29:57 | [truetype] Don't apply HVAR and VVAR deltas twice (#52683). * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Always adjust `pp1' to `pp4', except if we have an HVAR and/or VVAR table. * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Handle alternative code branch identically w.r.t. presence of an HVAR and/or VVAR table. | ||
| 361af72e | 2017-12-17 15:07:02 | [truetype] Correctly handle variation font phantom points (#52683). * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix phantom point indices. | ||
| 7d3dfcd4 | 2017-12-17 08:19:51 | Fix incorrect advance width scaling (#52683). * src/base/ftadvance.c (FT_Get_Advances): Always respect the FT_LOAD_NO_SCALE flag if present. | ||
| 2c048a8a | 2017-12-11 19:24:30 | Fix compiler warning (#52640). * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Remove unused variable. | ||
| ea68f1c8 | 2017-12-08 20:15:15 | [docmaker] Fix code section parsing. Stuff like { <bla> } confused the parser, which incorrectly treated `<bla>' as a markup tag. * src/tools/docmaker/content.py (ContentProcessor::process_content): Apply `re_markup_tags' only outside of code sections. | ||
| 98ba0c4a | 2017-12-08 18:38:41 | New `ftdriver.h' file, covering all driver modules. This reduces redundancy and increases synergy; it also reduces the number of header files. * include/freetype/config/ftheader.h (FT_DRIVER_H): New macro. (FT_AUTOHINTER_H, FT_CFF_DRIVER_H, FT_TRUETYPE_DRIVER_H, FT_PCF_DRIVER_H, FT_TYPE1_DRIVER_H): Make them aliases to FT_DRIVER_H. * include/freetype/ftautoh.h, include/freetype/ftcffdrv.h, include/freetype/ftpcfdrv.h, include/freetype/ftt1drv.h, include/freetype/ftttdrv.h: Replaced with... * include/freetype/ftdriver.h: ...this new file. (FT_CFF_HINTING_ADOBE, FT_T1_HINTING_ADOBE): Renamed to... (FT_HINTING_ADOBE): ... this new macro. (FT_CFF_HINTING_FREETYPE, FT_T1_HINTING_FREETYPE): Renamed to... (FT_HINTING_FREETYPE): ... this new macro. * src/*/*: Updated accordingly. | ||
| e1090c60 | 2017-12-08 09:54:36 | Fix access to uninitalized memory (#52613). Also reported as https://bugs.chromium.org/p/chromium/issues/detail?id=791317 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): If increasing the bitmap size needs a larger bitmap buffer, assure that the new memory areas are initialized also. | ||
| d21f995a | 2017-12-07 14:49:03 | Fix C++ compilation. * src/psaux/psauxmod.h: Use FT_CALLBACK_TABLE macro where necessary. * src/smooth/ftsmooth.c (ft_smooth_render_generic): Fix warning. | ||
| 63b91548 | 2017-12-07 14:33:44 | Fix `make multi'. * include/freetype/internal/fttrace.h: Remove unused tracing macros. s/pshalgo2/pshalgo/. Add `trace_cffdecode'. * src/pshinter/pshalgo.c (FT_COMPONENT): Updated. * src/cff/cffload.c: Include FT_INTERNAL_POSTSCRIPT_AUX_H. * src/cff/cffobjs.c: Include FT_SERVICE_METRICS_VARIATIONS_H and FT_SERVICE_CFF_TABLE_LOAD_H. * src/cid/cidriver.c: Include FT_INTERNAL_POSTSCRIPT_AUX_H. * src/psaux/cffdecode.c: Include FT_FREETYPE_H and FT_INTERNAL_DEBUG_H. (FT_COMPONENT): Define. * src/psaux/cffdecode.h: Include FT_INTERNAL_POSTSCRIPT_AUX_H. * src/psaux/psauxmod.h: Include FT_INTERNAL_POSTSCRIPT_AUX_H. Declare `cff_builder_funcs' and `ps_builder_funcs'. * src/psaux/psft.c: Include `psobjs.h' and `cffdecode.h'. * src/psaux/psobjs.c : Include `psauxmod.h'. | ||
| 71fecc53 | 2017-12-05 12:06:29 | Improve tracing messages by using singular and plural forms. * src/*/*.c: Implement it. | ||
| 87ddad20 | 2017-12-04 20:43:30 | Update or fix links to use the https protocol instead of http. | ||
| 337e49cf | 2017-12-04 12:36:07 | [truetype] Allow shared points in `cvar' table (#52532). * src/truetype/ttgxvar.c (tt_face_vary_cvt): Implement it by copying and adjusting the corresponding code from `TT_Vary_Apply_Glyph_Deltas'. | ||
| c18c391b | 2017-11-28 12:43:45 | [truetype] Improving tracing of composite glyphs. * src/truetype/ttgload.c (TT_Load_Composite_Glyph) [FT_DEBUG_LEVEL_TRACE]: Show composite glyph information. | ||
| 40db4a99 | 2017-11-27 22:17:41 | Allow (again) encoding vectors with more than 256 elements (#52464). In version 2.6.1, this has been disallowed to better reject malformed fonts; however, this restriction was too strong. This time, we only take the first 256 elements into account, since encoding arrays are always accessed with a 8bit integer, according to the PostScript Language Reference. * src/type1/t1load.c (parse_encoding): Implement it. | ||
| 2f1863cf | 2017-11-23 20:40:52 | Silence unused function warnings. Some static function declarations cause unused function warnings if certain config options are turned off via `ftoption.h'. * src/base/ftbase.h, src/base/ftrfork.c, src/sfnt/ttbdf.h, src/truetype/ttgxvar.h: Add #ifdef guards around these sections. | ||
| bec14f68 | 2017-11-22 18:57:56 | * src/psaux/psft.c (cf2_setGlyphWidth): Check format before setting. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4377 | ||
| b9bd2d14 | 2017-11-22 12:32:47 | [psaux] Fix CFF advance widths. (#52466) Glyph advance widths were being written to the new `PS_Decoder' but not saved to the underlying format specific decoder. This caused pure CFF fonts to have bad advance width. * include/freetype/internal/psaux.h (PS_Decoder): Change `glyph_width' field to pointer. Remove unused fields. * src/psaux/psobjs.c (ps_decoder_init): Change `glyph_width' from copy to reference. Remove unused. * src/psaux/psft.c (cf2_setGlyphWidth): Update code. | ||
| a364e38a | 2017-11-14 07:54:53 | Use Adobe hinting engine for `light' hinting of both CFF and Type 1. Since Ewald Hew factored the Adobe hinting engine out of the CFF driver code, we can now use it on Type 1 (and CID) font formats, as both have the same hinting philosophy. This change activates the Adobe hinter when in LIGHT mode, and therefore always unless explicitly asking for the auto-hinter. This makes LIGHT behavior consistent with CFF fonts. As of this commit, the hinting engine table looks as follows. LIGHT NORMAL ------------------------- TrueType Auto v40 CFF Adobe Adobe Type 1 Adobe Adobe | ||
| 8f5568bf | 2017-11-06 21:42:46 | * src/base/ftobjs.c (FT_Load_Glyph): Relocate condition. | ||
| ab6fe076 | 2017-11-06 21:34:56 | * src/smooth/ftgrays.c (gray_set_cell): Fix uninitialized variables. | ||
| cdab9cfa | 2017-10-21 16:36:49 | [psaux] Fix PostScript interpreter rewinding in Type 1 mode. (#52251) The interpreter in Type 1 mode rewinds the charstring after collecting all hints for building the initial hintmap (commit d52dd7f). However, some charstrings use `endchar' in a final subroutine call, rewinding to the start of that subroutine, and only a small section of the actual glyph is drawn. * src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdENDCHAR>: Ensure we are on the top level charstring before rewinding. | ||
| 77b34e01 | 2017-11-03 16:13:29 | [truetype] Add more tricky fonts. See the report by Yang Yinsen. https://lists.gnu.org/archive/html/freetype-devel/2017-11/msg00000.html * src/truetype/ttobjs.c (trick_names): Add `DFGothic-EB', `DFGyoSho-Lt', `DFHSGothic-W5', `DFHSMincho-W3' and `DFHSMincho-W7'. (tt_check_trickyness_sfnt_ids): Add checksums for DFGothic-EB, DFGyoSho-Lt, DFHSGothic-W5, DFHSMincho-W3 and DFHSMincho-W7. Also add checksums for DLCLiShu and DLCHayBold which their family names were already listed but their checksums were previously unknown. | ||
| 81651636 | 2017-11-01 22:51:03 | [smooth] Fix complex rendering at high ppem. We used to split large glyphs into horizontal bands and continue bisecting them still horizontally if that was not enough. This is guaranteed to fail when a single scanline cannot fit into the rendering memory pool. Now we bisect the bands vertically so that the smallest unit is a column of the band height, which is guranteed to fit into memory. * src/smooth/ftgrays.c (gray_convert_glyph): Implement it. | ||
| 91015cb4 | 2017-10-21 22:57:43 | [smooth] Improve complex rendering at high ppem. At large sizes almost but not exactly horizontal segments can quickly drain the rendering pool. This patch at least avoids filling the pool with trivial cells. Beyond this, we can only increase the pool size. Reported, analyzed, and tested by Colin Fahey. * src/smooth/ftgrays.c (gray_set_cell): Do not record trivial cells. | ||
| d74440a3 | 2017-10-20 16:27:33 | [base] Improve tracing in FT_Load_Glyph, FT_*_Size. * src/base/ftobjs.c (FT_Load_Glyph): Tag tracing messages with function name, glyph index, and load flags. (FT_Select_Metrics, FT_Request_Metrics): Remove all tracing. (FT_Select_Size, FT_Request_Size): Improve tracing. | ||
| c10e7800 | 2017-10-18 23:05:51 | [base] Improve tracing in FT_Render_Glyph. * src/base/ftobjs.c (FT_Render_Glyph_Internal): Add total coverage calculations and downgrade Netpbm dump to bitmap:7. | ||
| 94f6d57a | 2017-10-16 11:48:31 | [cff] Fix segfault on missing `psaux' (#52218) * src/cff/cffload.c (cff_done_blend): Add a check for possible nullptr. * modules.cfg: Update dependency list. | ||
| ccb0f799 | 2017-10-15 14:19:13 | [base, cff] Fix MSVC warnings. * src/base/ftobjs.c (FT_New_Library): C4702: unreachable code. (ft_glyphslot_preset_bitmap): C4244: possible loss of data. * src/cff/cffload.c (cff_blend_doBlend): C4244: possible loss of data. Turn `sum' into unsigned. | ||
| 6bea49e0 | 2017-10-14 22:45:11 | [base] Netpbm image tracing. * src/base/ftobjs.c (FT_Load_Glyph): Trace bitmap size. (FT_Render_Glyph_Internal): Trace bitmap in Netpbm format. * src/smooth/ftgrays.c (gray_sweep): Sweep remnants of span tracing. | ||
| 90461c01 | 2017-10-14 08:42:07 | [afshaper] Delay creating `hb_set' objects until needed. In runs on Noto Naskh Arabic, this results in 89 sets created instead of 340 before. Makes auto-hinter setup with HarfBuzz enabled 20% to 30% faster. * src/autofit/afshaper.c (af_shaper_get_coverage): Implement it. | ||
| 7e23568b | 2017-10-12 18:13:22 | [type1, cid] Add hinting engine switch. Implement property service in `type1' and `cid' drivers to allow switching between FreeType or Adobe hinting engine when both are available. * src/cid/cidriver.c (cid_property_{set,get}, cid_services), src/type1/t1driver.c (t1_property_{set,get}, t1_services): Add Properties service. * src/cid/cidobjs.c (cid_driver_init), src/type1/t1objs.c (T1_Driver_Init): Add default property values. | ||
| dff40d03 | 2017-10-12 18:13:21 | Add T1_CONFIG_OPTION_OLD_ENGINE configuration option. This controls whether the old Type 1 engine gets compiled into FreeType. It is disabled by default. * devel/ftoption.h, include/freetype/config/ftoption.h (T1_CONFIG_OPTION_OLD_ENGINE): New macro. * include/freetype/internal/psaux.h (PS_Decoder): Remove unused field. * include/freetype/internal/psaux.h, src/cid/cidgload.c (cid_load_glyph), src/psaux/psauxmod.c, src/psaux/psobjs.c (ps_builder_add_point), src/psaux/t1decode.c (t1_lookup_glyph_by_stdcharcode, t1_decoder_parse_glyph, t1operator_seac, t1_decoder_parse_charstrings), src/psaux/t1decode.h, src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Surround relevant code with macro. Minor code changes. | ||
| 78df3c27 | 2017-10-12 18:13:08 | Extract width parsing from Type 1 parser. Duplicate the fast advance width calculations from the old parser. This is to facilitate adding options for compiling out the old parser. * src/psaux/t1decode.{c,h} (t1_decoder_parse_metrics): New function. * include/freetype/internal/psaux.h (T1_Decoder_Funcs): New entry `parse_metrics'. * src/psaux/psauxmod.c: Set the new entry. * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String), src/cid/cidgload.c (cid_load_glyph): Separate conditional for selecting engine. | ||
| 8768536c | 2017-10-12 00:13:51 | [autofit] Better visualize table tracing in source code. | ||
| 64985519 | 2017-10-09 07:45:03 | * src/base/ftoutln.c (FT_Outline_Translate): Fix integer overflow. Reported as https://bugs.chromium.org/p/chromium/issues/detail?id=772775 | ||
| b7e43f7d | 2017-10-08 11:58:39 | * src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Integer overflows. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3579 | ||
| 7bfcaaca | 2017-10-07 13:14:38 | [sfnt] Adjust behaviour of PS font names for variation fonts. * src/sfnt/sfdriver.c (sfnt_get_var_ps_name): Use a named instance's PS name only if no variation is applied. | ||
| f89c67f0 | 2017-10-07 13:10:53 | [cff, truetype] Adjust behaviour of named instances. This commit completely separates the interaction between named instances and variation functions. In particular, resetting the variation returns to the current named instance (if set) and not to the base font. As a side effect, variation functions no longer change the named instance index. * src/cff/cffobjs.c (cff_face_init): Use MM service's `set_instance' function. Also apply `MVAR' table to named instances. * src/truetype/ttgxvar.c (TT_Get_MM_Var): Add cast. (tt_set_mm_blend): No longer check whether requested variation coincides with a named instance. (TT_Set_Var_Design): Use current named instance for default coordinates. * src/truetype/ttobjs.c (tt_face_init): Use `TT_Set_Named_Instance'. |