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
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
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
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
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
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
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
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
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
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
efd13c5d1b
* src/truetype/ttinterp.c (TT_RunIns): Fix tracing arguments.
2018-03-01 22:17:54 +01:00
Werner Lemberg
713d68ee9f
[sfnt] Prefer `CBDT'/`CBLC' over `glyf' table ( #53154 ).
2018-02-17 18:35:15 +01:00
Werner Lemberg
63aaf89cec
s/sub-pixel/subpixel/.
2018-02-17 10:34:47 +01:00
Werner Lemberg
4a03f17449
[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.
2018-02-06 02:23:19 +01:00
Werner Lemberg
036bdc0c9a
[truetype] Minor typo.
2018-01-28 00:05:46 +01:00
Werner Lemberg
68dddcdcbe
[truetype] Better protection against invalid VF data.
...
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5739
Bug introduced in commit 08cd62deed
.
* src/truetype/ttgxvar.c (TT_Set_Var_Design): Always initialize
`normalizedcoords'.
2018-01-27 23:59:30 +01:00
Werner Lemberg
29c759284e
* src/truetype/ttinterp.c (Ins_GETVARIATION): Avoid NULL reference.
...
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5736
2018-01-27 14:43:43 +01:00
Werner Lemberg
f438e06972
* src/truetype/ttgxvar.c (tt_set_mm_blend): Minor.
2018-01-27 14:39:15 +01:00
Werner Lemberg
ef48653023
[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.
2018-01-27 13:58:02 +01:00
Werner Lemberg
5f94c90f19
Fix comment.
2018-01-27 10:52:13 +01:00
Werner Lemberg
50f693a78b
[truetype] Beautify tracing of VF axis records.
...
* src/truetype/ttgxvar.c (TT_Get_MM_Var): Show axis records in a
table-like manner.
2018-01-27 10:15:58 +01:00
Werner Lemberg
994eb2b349
[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'.
2018-01-26 23:17:43 +01:00
Alexei Podtelezhnikov
b1e0209829
[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'.
2018-01-23 22:29:45 -05:00
Alexei Podtelezhnikov
6ce6685659
* src/base/ftver.rc: Fix mingw-w64 compilation.
2018-01-18 21:29:48 -05:00
Alexei Podtelezhnikov
4b8ccc56d8
[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.
2018-01-18 04:32:52 -05:00
Alexei Podtelezhnikov
fd8000f040
[build] Move VERSIONINFO resource.
...
* builds/windows/vc2010/freetype.vcxproj: Updated.
* builds/windows/ftver.rc: Move file from here...
* src/base/ftver.rc: ... to here.
2018-01-18 03:58:34 -05:00
Ewald Hew
cc2f3cdecf
[psaux] Correctly handle Flex features ( #52846 ).
...
* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdVMOVETO,
cf2_cmdHMOVETO>: Do not move if doing Flex.
2018-01-10 13:28:36 +08:00
Ewald Hew
21bd9c2f8c
[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.
2018-01-07 16:38:54 +08:00
Werner Lemberg
3758aed760
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.
2018-01-06 08:39:36 +01:00
Werner Lemberg
029c9b2391
[truetype] Round offsets of glyph components only if hinting is on.
...
* src/truetype/ttgload.c (TT_Process_Composite_Component): Implement
it.
2018-01-03 19:05:20 +01:00
Werner Lemberg
55d6abea5d
* src/truetype/ttgxvar.c (ft_var_to_design): Remove dead code.
...
This is a better fix than the previous commit, which is now
reverted.
2018-01-03 19:01:15 +01:00
Werner Lemberg
ecfdfd4498
[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.
2018-01-03 00:20:11 +01:00
Werner Lemberg
0a0c22569d
Update copyright year.
2018-01-02 09:33:57 +01:00
Werner Lemberg
3f090c6843
* src/sfnt/ttcmap.c (tt_cmap2_char_next): Fix endless loop.
...
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4838
2017-12-31 10:32:08 +01:00