Nikolaus Waxweiler
660afb5ce8
Unbreak CMake Windows installation
...
* CMakeLists.txt: Generate ftconfig.h on non-UNIX.
2018-05-02 23:39:28 +01:00
Werner Lemberg
9514959241
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.
2018-05-02 20:27:48 +02:00
Werner Lemberg
86bc8a9505
* 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.
2018-05-01 20:37:24 +02:00
Werner Lemberg
ac97a29653
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.
2018-04-26 09:04:39 +02:00
Ben Wagner
2157d8fa6f
[base] Avoid undefined behaviour in lcd filtering code ( #53727 ).
...
* src/base/ftlcdfil.c (ft_lcd_filter_fir, _ft_lcd_filter_legacy):
Ensure `height > 0'.
2018-04-24 10:29:19 +02:00
Werner Lemberg
67697d0076
* src/base/ftoutln.c (FT_Outline_Decompose): Improve error tracing.
2018-04-22 21:15:10 +02:00
Alexei Podtelezhnikov
3b88576ba0
[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.
2018-04-22 17:22:35 +02:00
Werner Lemberg
c2e2a8e5d9
Revert "[base] Fix bitmap copying where the new pitch is smaller."
...
This reverts commit c0f1adedcf
.
2018-04-22 17:13:50 +02:00
Werner Lemberg
c0f1adedcf
[base] Fix bitmap copying where the new pitch is smaller.
...
* src/base/ftbitmap.c (ft_bitmap_assure_buffer): Handle it.
2018-04-22 11:44:24 +02:00
Werner Lemberg
38ecc949ce
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.
2018-04-22 10:14:03 +02:00
Alexei Podtelezhnikov
92e4662ba6
Documentation tweaks.
2018-04-19 17:57:42 -04:00
Werner Lemberg
e4b6d85326
[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.
2018-04-19 17:43:03 +02:00
Werner Lemberg
1655e00fce
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.
2018-04-19 14:45:19 +02:00
Werner Lemberg
2a1597826a
[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.
2018-04-17 12:25:17 +02:00
Werner Lemberg
632a11f91f
CHANGES: Mention CVE-2018-6942.
2018-04-16 19:51:37 +02:00
Werner Lemberg
70ac167c47
[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.
2018-04-16 10:39:10 +02:00
Ankit Dhankhar
939bbee1c0
[docmaker] Make it work with python3.
...
* src/tools/docmaker (*.py): Use parentheses around arguments of `print'.
Remove unused imports.
2018-04-15 22:35:40 +02:00
Alexei Podtelezhnikov
843193b9d5
[build] Use `info' function of make 3.81.
...
* configure, docs/INSTALL, docs/INSTALL.CROSS, docs/INSTALL.GNU,
docs/INSTALL.UNIX, docs/MAKEPP: Bump make version requirements.
* builds/detect.mk (std_setup): Replace `echo' with `info'.
(dos_setup): Removed.
* builds/unix/install.mk, builds/modules.mk, builds/dos/detect.mk,
builds/windows/detect.mk, builds/os2/detect.mk: Updated.
* builds/newline: No longer needed.
2018-04-15 16:27:10 -04:00
Werner Lemberg
235b1e2fe6
[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.
2018-04-15 21:55:04 +02:00
Werner Lemberg
827ca3bcf2
[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.
2018-04-14 07:20:31 +02:00
Werner Lemberg
576670b779
[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.
2018-04-14 07:00:30 +02:00
Nikolaus Waxweiler
029721d69c
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.
2018-04-10 22:31:10 +01:00
Werner Lemberg
bd9400bd46
[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.
2018-04-09 21:28:37 +02:00
Alexei Podtelezhnikov
cdddeff02f
[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.
2018-04-06 21:01:50 -04:00
Werner Lemberg
3b8f16803c
[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.
2018-04-04 20:26:08 +02:00
suzuki toshiya
26ad1acbcb
* 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.
2018-04-04 16:39:42 +09:00
Werner Lemberg
578dafd6b4
Minor comment improvement.
2018-04-03 11:31:22 +02:00
Werner Lemberg
7109495c5e
* 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>.
2018-04-01 13:24:59 +02:00
Werner Lemberg
597cb3b442
[truetype] Fix memory leak (only if tracing is on).
...
* src/truetype/ttgxvar.c (TT_Get_MM_Var) [FT_DEBUG_LEVEL_TRACE}: Fix
it.
2018-03-30 13:46:03 +02:00
Alexei Podtelezhnikov
fa6da7bf6d
Documentation improvement.
2018-03-26 21:40:18 -04:00
Werner Lemberg
61ee69a66e
Typo.
2018-03-24 05:53:22 +01:00
Kushal K S V S
e1122047ae
Fixing cmake command format
2018-03-23 13:12:07 +05:30
Ben Wagner
34e467332b
[sfnt] Correctly handle missing bitmaps in sbix format ( #53404 ).
...
* src/sfnt/ttfsbit.c (tt_face_load_sbix_image): Fix return value.
2018-03-23 06:13:25 +01:00
Ben Wagner
43d4852ec6
[truetype] Fix advance of empty glyphs in bitmap fonts ( #53393 ).
...
* src/truetype/ttgload.c (TT_Load_Glyph): Apply scaling to metrics
for empty bitmaps.
2018-03-23 06:07:24 +01:00
Werner Lemberg
af89e445f8
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.
2018-03-22 06:00:55 +01:00
Werner Lemberg
5bd76524ef
* src/sfnt/ttcmap.c (tt_cmap2_validate): Fix potential numeric
...
overflow.
2018-03-13 11:11:16 +01:00
Werner Lemberg
78cded2c5c
Fix cmap format 2 handling ( #53320 ).
...
The patch introduced for #52646 was not correct.
* src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition.
2018-03-13 11:09:44 +01:00
Nikolaus Waxweiler
098dd70cb1
* CMakeLists.txt (BASE_SRCS): Update to changes from 2018-03-05.
2018-03-10 14:51:17 +01:00
Chun-wei Fan
6f854692a8
* 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.
2018-03-09 06:51:38 +01:00
Werner Lemberg
e277267c52
Typo.
2018-03-08 11:33:31 +01:00
Werner Lemberg
b0a93839b5
CHANGES: Document `--enable-freetype-config'.
2018-03-08 06:36:47 +01:00
Hugh McMaster
a7833f26c4
Make installation of `freetype-config' optional ( #53093 ).
...
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
2018-03-08 06:25:13 +01:00
Werner Lemberg
ccec889229
Minor: Update CHANGES' and improve documentation in
modules.cfg'.
2018-03-08 06:09:17 +01:00
Werner Lemberg
733a21bdbc
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.
2018-03-05 23:37:17 +01:00
Werner Lemberg
f4a3531655
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.
2018-03-05 20:45:12 +01:00
Werner Lemberg
5955b77b1d
Minor documentation improvement.
2018-03-03 09:21:59 +01:00
Werner Lemberg
efd13c5d1b
* src/truetype/ttinterp.c (TT_RunIns): Fix tracing arguments.
2018-03-01 22:17:54 +01:00
Werner Lemberg
0206479158
* builds/unix/configure.raw: Need HarfBuzz 1.3.0 or newer.
...
Problem reported by Alan Coopersmith <alan.coopersmith@oracle.com>.
2018-03-01 21:34:57 +01:00
Werner Lemberg
713d68ee9f
[sfnt] Prefer CBDT'/
CBLC' over `glyf' table ( #53154 ).
2018-02-17 18:35:15 +01:00
Werner Lemberg
9fbd0041ca
Split off ChangeLog.28.
2018-02-17 10:37:10 +01:00