ChangeLog


Log

Author Commit Date CI Message
Werner Lemberg 827ca3bc 2018-04-14T07: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.
Werner Lemberg 576670b7 2018-04-14T07: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.
Nikolaus Waxweiler 029721d6 2018-04-07T21:34:24 Modernize CMake build. * CMakeLists.txt, builds/cmake/FindHarfBuzz.cmake: Extensive modernization measures. * .gitignore: Add build/, as that's the example directory used in CMakeLists.txt. This brings up the minimum required CMake version to 2.8.12. The installation paths follow the GNU defaults now, e.g. installing on a 64 bit host will place binaries into the lib64/ folder on e.g. Fedora. Symbols are hidden by default (e.g. `-fvisibility=hidden' on GCC). CMake will no longer look for a C++ compiler. Library and .so version now match the Autotools build. Comments in the build file and informational messages now use platform agnostic example commands. ftoption.h and ftconfig.h are written directly without a redundant `-new' copy. External dependencies are expressed as option()s and will turn up as such in cmake-gui. Internal: Properties such as dependencies and include directories are now privately set on the freetype library instead of globally. The CPack definitions have been cleaned up, the `make dist' has been removed. Source packages generated with CPack don't contain Autotools files and aren't used by the maintainters anyway. On Windows, src/base/ftver.rc is compiled to decorate the library with version and copyright information. A pkg-config file is now generated and installed.
Werner Lemberg bd9400bd 2018-04-09T21: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.
Alexei Podtelezhnikov cdddeff0 2018-04-06T21:01:50 [windows, wince] Clean up legacy project files. * builds/wince/vc2005-ce/freetype.vcproj, builds/wince/vc2008-ce/freetype.vcproj, builds/windows/vc2005/freetype.vcproj, builds/windows/vc2008/freetype.vcproj, builds/windows/visualce/freetype.vcproj, builds/windows/visualce/freetype.dsp, builds/windows/visualc/freetype.vcproj, builds/windows/visualc/freetype.dsp: Remove per-file compile flags.
Werner Lemberg 3b8f1680 2018-04-04T20: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.
suzuki toshiya 26ad1acb 2018-04-04T16: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.
Werner Lemberg 7109495c 2018-04-01T13:24:59 * builds/toplevel.mk (work): Use $(SEP). This fixes the `make refdoc' using Cygwin: $(CAT) is `type' on this platform, and this program only understands backslashes in paths. Reported by Nikhil Ramakrishnan <ramakrishnan.nikhil@gmail.com>.
Werner Lemberg 597cb3b4 2018-03-30T13: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.
Ben Wagner 34e46733 2018-03-23T06:13:25 [sfnt] Correctly handle missing bitmaps in sbix format (#53404). * src/sfnt/ttfsbit.c (tt_face_load_sbix_image): Fix return value.
Ben Wagner 43d4852e 2018-03-23T06: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.
Werner Lemberg af89e445 2018-03-22T06:00:55 Remove `ftlcdfil.c' and `ftfntfmt.c' from build files (#53415). builds/amiga/makefile, builds/amiga/makefile.os4, builds/amiga/smakefile, 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, builds/symbian/freetype.mmp, builds/wince/vc2005-ce/freetype.vcproj, builds/wince/vc2008-ce/freetype.vcproj, builds/windows/vc2005/freetype.vcproj, builds/windows/vc2008/freetype.vcproj, builds/windows/vc2010/freetype.vcxproj, builds/windows/vc2010/freetype.vcxproj.filters, builds/windows/visualc/freetype.dsp, builds/windows/visualc/freetype.vcproj, builds/windows/visualce/freetype.dsp, builds/windows/visualce/freetype.vcproj, vms_make.com: Do it.
Werner Lemberg 5bd76524 2018-03-13T11:11:16 * src/sfnt/ttcmap.c (tt_cmap2_validate): Fix potential numeric overflow.
Werner Lemberg 78cded2c 2018-03-13T11: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.
Nikolaus Waxweiler 098dd70c 2018-03-10T14:51:17 * CMakeLists.txt (BASE_SRCS): Update to changes from 2018-03-05.
Chun-wei Fan 6f854692 2018-03-05T12:33:34 * CMakeLists.txt [win32]: Allow MSVC DLL builds (#53287). Do not limit DLL builds to MinGW, since we already have `__declspec(dllexport)' directives in `ftconfig.h'. Also suppress more warnings for POSIX functions.
Werner Lemberg e277267c 2018-03-08T11:33:31 Typo.
Hugh McMaster a7833f26 2018-03-07T22:23:54 Make installation of `freetype-config' optional (#53093). Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Werner Lemberg 733a21bd 2018-03-05T23: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.
Werner Lemberg f4a35316 2018-03-05T20: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.
Werner Lemberg efd13c5d 2018-03-01T22:17:54 * src/truetype/ttinterp.c (TT_RunIns): Fix tracing arguments.
Werner Lemberg 02064791 2018-03-01T21:34:57 * builds/unix/configure.raw: Need HarfBuzz 1.3.0 or newer. Problem reported by Alan Coopersmith <alan.coopersmith@oracle.com>.
Werner Lemberg 713d68ee 2018-02-17T18:35:15 [sfnt] Prefer `CBDT'/`CBLC' over `glyf' table (#53154).
Werner Lemberg 9fbd0041 2018-02-17T10:37:10 Split off ChangeLog.28.
Werner Lemberg 4a03f174 2018-02-06T02: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.
Alexei Podtelezhnikov f4a3255d 2018-02-04T00:09:02 [unix] Use -fvisibility=hidden. It is now widely recommended that ELF shared libraries hide symbols except those with explicit __attribute__((visibility("default"))). This is supported by all major compilers and should rather be an option in libtool. * builds/unix/configure.raw: Add -fvisibility=hidden to CFLAGS. * builds/unix/ftconfig.in, builds/vms/ftconfig.h, include/freetype/config/ftconfig.h (FT_EXPORT): Use visibility attribute.
Werner Lemberg 68dddcdc 2018-01-27T23: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'.
Werner Lemberg 29c75928 2018-01-27T14:43:43 * src/truetype/ttinterp.c (Ins_GETVARIATION): Avoid NULL reference. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5736
Werner Lemberg f438e069 2018-01-27T14:39:15 * src/truetype/ttgxvar.c (tt_set_mm_blend): Minor.
Werner Lemberg ef486530 2018-01-27T11: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.
Werner Lemberg 50f693a7 2018-01-27T09: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.
Werner Lemberg 994eb2b3 2018-01-26T23: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'.
Alexei Podtelezhnikov b1e02098 2018-01-23T22: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'.
Alexei Podtelezhnikov c6a965b4 2018-01-21T14:29:58 [unix] Call libtool to clean up. * builds/unix/install.mk (clean_project_unix, distclean_project_unix): Use libtool. * builds/freetype.mk: Minor.
Alexei Podtelezhnikov 6ce66856 2018-01-18T21:29:48 * src/base/ftver.rc: Fix mingw-w64 compilation.
Alexei Podtelezhnikov 4b8ccc56 2018-01-18T04: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.
Alexei Podtelezhnikov fd8000f0 2018-01-18T03: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.
Alexei Podtelezhnikov d2d1750e 2018-01-12T23:01:49 [build] Expand dllexport/dllimport to Cygwin/MinGW. * include/freetype/config/ftconfig.h: Respect DLL_EXPORT, s/_MSC_VER/_WIN32/. * builds/unix/ftconfig.in: Replicate here. * builds/vms/ftconfig.h: Replicate here.
Alexei Podtelezhnikov e8b38f89 2018-01-12T08:57:08 [build] Improve and document MSVC build. * include/freetype/config/ftconfig.h: Guard dllexport/dllimport attributes with _DLL and FT2_DLLIMPORT. * builds/windows/vc2010/index.html: Update documentation.
Steve Robinson 707cd028 2018-01-10T07:48:39 * CMakeLists.txt [win32]: Suppress warnings for POSIX functions.
Ewald Hew cc2f3cde 2018-01-10T13:24:56 [psaux] Correctly handle Flex features (#52846). * src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdVMOVETO, cf2_cmdHMOVETO>: Do not move if doing Flex.
Alexei Podtelezhnikov 3f96c0bc 2018-01-09T22:22:19 * builds/windows/vc2010/freetype.sln: Synchronize with the project.
Werner Lemberg 67a42aa8 2018-01-08T12:15:27 * Version 2.9 released. ======================= Tag sources with `VER-2-9'. * docs/VERSION.TXT: Add entry for version 2.9. * README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj, 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/windows/ftver.rc, 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.8.1/2.9/, s/281/29/. * include/freetype/freetype.h (FREETYPE_MINOR): Set to 9. (FREETYPE_PATCH): Set to 0. * builds/unix/configure.raw (version_info): Set to 22:0:16. * CMakeLists.txt (VERSION_PATCH): Set to 1.
Werner Lemberg 1d6773e6 2018-01-07T18:41:54 Add check for librt, needed for `ftbench' (#52824). * builds/unix/configure.raw: Call AC_USE_SYSTEM_EXTENSIONS. (LIB_CLOCK_GETTIME): Define; this will hold `-lrt' if necessary. * builds/unix/unix-cc.in (LIB_CLOCK_GETTIME): New variable.
Ewald Hew 21bd9c2f 2018-01-07T16: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.
Werner Lemberg 3758aed7 2018-01-06T08: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.
Werner Lemberg 029c9b23 2018-01-03T19:05:20 [truetype] Round offsets of glyph components only if hinting is on. * src/truetype/ttgload.c (TT_Process_Composite_Component): Implement it.
Werner Lemberg 55d6abea 2018-01-03T19: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.
Alexei Podtelezhnikov 20b3e348 2018-01-02T22:12:09 Move internal LCD-related declarations. * include/freetype/ftlcdfil.h (ft_lcd_padding, ft_lcd_filter_fir): Move from here... * include/freetype/internal/ftobjs.h: ... to here.
Alexei Podtelezhnikov c94d042b 2018-01-02T21:38:35 * include/freetype/config/ftconfig.h (FT_EXPORT, FT_EXPORT_DEF) [_MSC_VER]: Limit Visual C++ attributes.
Werner Lemberg ecfdfd44 2018-01-03T00: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.
Werner Lemberg 0a0c2256 2018-01-02T09:33:57 Update copyright year.
Werner Lemberg 3f090c68 2017-12-31T10: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
Werner Lemberg 0268bf35 2017-12-31T08:21:08 Synchronize other Windows project files. * builds/windows/*: Add missing files.
Werner Lemberg 7f82c6db 2017-12-31T08:00:16 Update Visual C 2010 project files. Problem reported by Hin-Tak. * builds/windows/vc2010/freetype.vcxproj: Add files `ftbdf.c' and `ftcid.c'. Sort entries. * builds/windows/vc2010/freetype.vcxproj.filter: Ditto. Fix members of `FT_MODULE' group.
Werner Lemberg ff5c9928 2017-12-30T01:46:52 * builds/vms/ftconfig.h: Synchronize with unix `ftconfig.in' file.
Werner Lemberg 4f983ab9 2017-12-28T21:55:01 * builds/unix/ftconfig.in: Synchronize with main `ftconfig.h' file. Reported by Nikolaus.
Werner Lemberg 14cd0734 2017-12-27T08: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.
Werner Lemberg 3cc88e2e 2017-12-27T08: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.
Werner Lemberg 10636901 2017-12-27T08:11:14 Provide support for intra-module callback functions. This is needed especially for `make multi' with C++. * include/freetype/config/ftconfig.h (FT_BASE_CALLBACK, FT_BASE_CALLBACK_DEF): New macros.
Werner Lemberg dd6330d7 2017-12-27T08:06:47 Add missing ChangeLog entry, copyright notices, whitespace, formatting.
Werner Lemberg 08cd62de 2017-12-20T22: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.
Werner Lemberg 0579d545 2017-12-18T23:45:58 Update incorrect ChangeLog entry.
Werner Lemberg 2df73b39 2017-12-18T23: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.
Matthias Clasen bdab6578 2017-12-18T20:45:17 [truetype] Minor code beautification. * src/truetype/ttgxvar.c (ft_var_to_normalized): Trace number of design coordinates. Simplify code.
Werner Lemberg 068a7a03 2017-12-18T20:34:05 * src/*/*: Only use `ft_' and `FT_' variants of stdc library stuff.
Werner Lemberg 2fe272ac 2017-12-18T19:40:07 * src/truetype/ttgxvar.c (tt_face_vary_cvt): Add size guard (#52688).
Werner Lemberg d062c54c 2017-12-18T09:41:17 [truetype] Fix previous commit. * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Correctly handle unhinted phantom points, which must be properly scaled.
Werner Lemberg e7935f29 2017-12-18T07: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.
Jonathan Kew 361af72e 2017-12-17T15:07:02 [truetype] Correctly handle variation font phantom points (#52683). * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix phantom point indices.
Jonathan Kew 7d3dfcd4 2017-12-17T08: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.
Alexei Podtelezhnikov d019097b 2017-12-16T22:00:40 * builds/windows/vc2010/freetype.vcxproj: AfterBuild copy. * objs/.gitignore: Ignore almost everything.
Werner Lemberg 2c048a8a 2017-12-11T19:24:30 Fix compiler warning (#52640). * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Remove unused variable.
Azzuro a998d484 2017-12-09T14:22:35 * builds/windows/vc2010/freetype.vcxproj: Adjust output directory. This allows builds with different configurations in parallel.
Werner Lemberg 286b0c9f 2017-12-09T09:41:45 Fix `make setup dos', second try (#52622). * builds/detect.mk (dos_setup): Don't use literal `>' character at all. Mixing the different escaping rules from make, dos, and windows is too fragile.
Werner Lemberg ea68f1c8 2017-12-08T20: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.
Werner Lemberg 98ba0c4a 2017-12-08T18: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.
Werner Lemberg bef8de2a 2017-12-08T10:02:12 Move `ftdriver.h' to `ftdrv.h'. * include/freetype/internal/ftdriver.h: Renamed to... * include/freetype/internal/ftdrv.h: ... this name. * include/freetype/internal/internal.h (FT_INTERNAL_DRIVER_H): Updated.
Werner Lemberg e1090c60 2017-12-08T09: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.
Werner Lemberg 99df4919 2017-12-08T09:48:18 Fix `make setup dos' (#52622). * builds/detect.mk (dos_setup): Properly escape literal `>' character.
Werner Lemberg d21f995a 2017-12-07T14: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.
Werner Lemberg 63b91548 2017-12-07T14: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'.
Werner Lemberg 7ec1345d 2017-12-07T14:21:39 * include/freetype/config/ftheader.h: Some clean-up. This commit removes documentation of deprecated macros and does some minor streamlining.
Werner Lemberg b85ff564 2017-12-06T23:17:23 * builds/symbian/bld.inf: Updated.
Werner Lemberg ed7f0913 2017-12-06T23:15:54 New header file `ftparams.h' that collects all parameter tags. * include/freetype/config/ftheader.h (FT_PARAMETER_TAGS_H): New macro. (FT_TRUETYPE_UNPATENTED_H, FT_UNPATENTED_HINTING_H): Define it to `ftparams.h'. * include/freetype/ftautoh.h, include/freetype/ftcffdrv.h, include/freetype/ftincrem.h, include/freetype/ftlcdfil.h, include/freetype/ftsnames.h, include/freetype/ftt1drv.h: Include FT_PARAMETER_TAGS_H. Move FT_PARAM_TAG_XXX definitions to... * include/freetype/ftparams.h: ...this new file. * include/freetype/ttunpat.h: Remove. No longer needed.
Werner Lemberg 71fecc53 2017-12-05T12:06:29 Improve tracing messages by using singular and plural forms. * src/*/*.c: Implement it.
Werner Lemberg 87ddad20 2017-12-04T20:43:30 Update or fix links to use the https protocol instead of http.
Werner Lemberg 337e49cf 2017-12-04T12: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'.
Werner Lemberg c18c391b 2017-11-28T12:43:45 [truetype] Improving tracing of composite glyphs. * src/truetype/ttgload.c (TT_Load_Composite_Glyph) [FT_DEBUG_LEVEL_TRACE]: Show composite glyph information.
Werner Lemberg 40db4a99 2017-11-27T22: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.
Jan Alexander Steffens (heftig) 7d81ba7e 2017-11-27T07:15:04 Fix last commit (#52522). * builds/freetype.mk: Set `FT_OPTION_H' and `FTOPTION_FLAG' properly if we have `ftoption.h' in `BUILD_DIR'.
Werner Lemberg 8f485199 2017-11-24T10:34:09 [unix] Install a massaged `ftoption.h' file (#51780). * builds/unix/configure.raw (ftoption_set, ftoption_unset): New auxiliary functions to construct... (FTOPTION_H_SED): ... this new variable. Apply it as a sed argument while copying `ftoption.h' to the `builds/unix' directory (using `AC_CONFIG_FILES'). Simplify code of test that checks cpp's computation of bit length (the test previously created an empty `ftoption.h' file and deleted it immediately afterwards); without this change, it can happen on my GNU/Linux box that `configure's execution of `config.status' doesn't create `ftoption.h' (no idea why this happens). * builds/unix/install.mk (install): Install `builds/unix/ftoption.h'. * builds/unix/unix-def.in (DISTCLEAN): Updated. * builds/unix/.gitignore: Updated.
Werner Lemberg 0d0e5bb1 2017-11-23T20:42:57 Minor.
Tor Andersson 2f1863cf 2017-11-23T20: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.
Ewald Hew bec14f68 2017-11-22T18: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
Ewald Hew b9bd2d14 2017-11-22T12: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.
Vlad Tsyrklevich 954710dd 2017-11-15T23:06:29 * include/freetype/ftrender.h: Fix `FT_Renderer_RenderFunc' type.
Nikolaus Waxweiler a364e38a 2017-11-14T07: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
yuri_levchenko af585ad4 2017-11-09T13:38:26 * CMakeLists.txt: Add `DISABLE_FORCE_DEBUG_PREFIX' option.
Alexei Podtelezhnikov 8f5568bf 2017-11-06T21:42:46 * src/base/ftobjs.c (FT_Load_Glyph): Relocate condition.