|
b75abeb5
|
2019-01-08T20:51:39
|
|
[psaux] Fix closepath (#55414).
All of the Type 1 path building is done with code common to the
revised CFF engine, with the exception of closepath, which was still
calling ps_builder_close_contour(), thus previously cached segments
were not always written to the path, and glyph corruption, or even
invalid outlines were possible.
* src/psauc/psinterp.c (cf2_interpT2CharString) <cf2_cmdCLOSEPATH>:
Switch to calling `cf2_glyphpath_closeOpenPath'.
|
|
b89166cc
|
2018-12-29T08:55:01
|
|
* src/autofit/aflatin2.c: Some fixes from `aflatin.c' (#55310).
|
|
afa043de
|
2018-12-25T22:44:05
|
|
Fix links (mostly http -> https).
|
|
5e029659
|
2018-12-25T19:24:06
|
|
* src/psaux/cffdecode.c (cff_operaor_seac): Fix numeric overflow.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11915
|
|
ec439711
|
2018-12-12T19:59:42
|
|
[gxvalid] Fix compiler warnings.
* src/gxvalid/gxvjust.c (gxv_just_check_max_gid),
src/gxvalid/gxvmort.c (gxv_mort_coverage_validate): Use `FT_UNUSED'.
|
|
3e8a2283
|
2018-12-11T23:54:17
|
|
* src/truetype/ttgload.c (TT_Hint_Glyph): Remove useless test.
`control_len' only gets its value from `n_ins' (and vice versa),
which is always read as `unsigned short' and thus can't be larger
than 0xFFFF.
|
|
f1b6183f
|
2018-12-04T11:51:15
|
|
[bdf] Ignore data after `ENDFONT'.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10798
* src/bdf/bdflib.c (_bdf_parse_end): New function.
(_bdf_parse_glyphs): Switch to `_bdf_parse_end' after `ENDFONT' has
been encountered.
|
|
456e9c8f
|
2018-12-02T23:40:55
|
|
* builds/windows/visualc/freetype.dsp: Dust off.
|
|
3dd4e76b
|
2018-11-27T23:22:52
|
|
* builds/windows/vc2010/freetype.vcxproj: Simplify.
|
|
78a1e695
|
2018-11-27T22:24:06
|
|
[type1,cff] Add FT_{Set,Get}_MM_WeightVector API calls.
For multiple master fonts, common usage (in Postscript) is to modify
the WeightVector of an existing font instance, this addition
supports that use.
* include/freetype/ftmm.h, src/base/ftmm.c (FT_Set_MM_WeightVector,
FT_Get_MM_WeightVector): New API functions.
* include/freetype/internalservices/svmm.h
(FT_Set_MM_WeightVector_Func, FT_Get_MM_WeightVector_Func): New
function types.
(MultiMasters): Add `set_mm_weightvector' and `get_mm_weightvector'
members.
(FT_DEFINE_SERVICE_MULTIMASTERSREC): Updated.
* src/cffcffdrivr.c (cff_set_mm_weightvector,
cff_get_mm_weightvector): New functions.
(cff_service_multi_masters): Register them.
* src/truetype/ttdriver.c (tt_service_gx_multi_masters): Updated.
This driver doesn't use the new interface.
* src/type1/t1load.c (T1_Set_MM_WeightVector,
T1_Get_MM_WeightVector): New functions.
* src/type1/t1driver.c (t1_service_multi_masters): Register them.
* src/type1/t1load.h: Updated.
|
|
1fc6937f
|
2018-11-27T18:02:44
|
|
[cff] Fix compiler warning (#55105).
* src/cff/cffparse.c (cff_parser_run): Guard label only used if
CFF_CONFIG_OPTION_OLD_ENGINE is active.
|
|
74cdd75f
|
2018-11-27T17:55:40
|
|
[truetype] Fix numeric overflow (#55103).
* src/truetype/ttgload.c (compute_glyph_metrics): Use `SUB_LONG'.
|
|
1c4004bb
|
2018-11-25T23:19:39
|
|
[builds] Belated DLL support with vc2002-vc2008.
The solution and project files should be automatically upgraded for
the approriate Visual C++ version.
* builds/windows/visualc/freetype.{sln,vcproj}: Major upgrades.
* builds/windows/visualc/index.html: Document the change.
* builds/windows/vc2005, builds/windows/vc2008: Removed as redundant.
|
|
55b35cd6
|
2018-11-22T11:43:48
|
|
* src/cff/cffparse.c: Please the compiler.
|
|
642bc759
|
2018-11-22T10:29:35
|
|
[cff] Fix memory overflow.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9869
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10869
* src/cff/cffparse.c (destruct_t2s_item, cff_parser_run): Store
evaluated T2 charstrings in separately allocated memory.
|
|
81f43a9d
|
2018-11-18T14:47:32
|
|
* builds/windows/{visualc,vc2005,vc2008}/freetype.vcproj: Fix it.
|
|
78db9eec
|
2018-11-10T15:39:19
|
|
[smooth] Placeholder only for library-enabled LCD filtering.
* src/smooth/ftsmooth.c (ft_smooth_init): Add disabled
`FT_Library_SetLcdFilter' call.
|
|
58e48e92
|
2018-11-09T12:14:35
|
|
[psaux] Add safety guard (#54985).
* src/psaux/psobjs.c (cff_builder_close_contour): Do it.
|
|
3b6e65f7
|
2018-11-08T23:36:37
|
|
* builds/unix/configure.raw: Require `windows.h' for windres.
|
|
181033d3
|
2018-11-08T21:04:56
|
|
[ftstroke] Fix unpredictable failures (#54986).
* src/base/ftstroke.c (ft_sroke_border_lineto): Fix lineto check.
|
|
81c31f62
|
2018-11-08T07:54:47
|
|
[ftstroke] Fix unpredictable failures (#54976).
* src/base/ftstroke.c (ft_sroke_border_close): Set the start tags.
|
|
fb0d66d0
|
2018-11-07T00:47:44
|
|
[truetype] Fix VF check from 2018-09-12 (#54973).
* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Use correct
offsets for estimates.
|
|
fbd24523
|
2018-11-06T11:15:31
|
|
[pshinter] Fix numeric overflow.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11242
* src/pshinter/pshrec.c (ps_dimension_add_t1stem): Implement it.
|
|
5b86f53d
|
2018-11-06T11:08:41
|
|
[psaux] Fix timeout in old CFF engine.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11260
* src/psaux/cffdecode.c (cff_decoder_parse_charstrings)
<cff_op_sqrt> [CFF_CONFIG_OPTION_OLD_ENGINE]: Fix potential endless
loop.
|
|
1f43affc
|
2018-11-04T13:11:16
|
|
* src/truetype/ttgxvar.c: Use enum definitions.
|
|
d95a12b8
|
2018-11-03T23:02:58
|
|
* src/truetype/ttgxvar.c (ft_var_apply_tuple): Adjust condition.
|
|
547f82f2
|
2018-11-03T23:00:36
|
|
* src/truetype/ttgxvar.c (ft_var_apply_tuple): Tracing tweaks.
|
|
dfa86d65
|
2018-11-03T22:36:52
|
|
Revert "[truetype] Speed up variation IUP."
This reverts commit 1e4496c54c010843c1bac56e5d344115d1a49620.
|
|
61d50756
|
2018-11-02T20:42:25
|
|
* src/truetype/ttgxvar.c (ft_var_get_item_delta): Fixed logic.
Reported and tested by Behdad.
|
|
339c451a
|
2018-11-02T10:10:10
|
|
[autofit] Prevent SEGV.
See
https://bugs.ghostscript.com/show_bug.cgi?id=697545
for more details on how the bug was found.
* src/autofit/afloader.c (af_loader_load_glyph): Propagate error
code.
|
|
1e4496c5
|
2018-10-31T23:17:33
|
|
[truetype] Speed up variation IUP.
* src/truetype/ttgxvar.c (tt_delta_interpolate): Separate trivial
snapping to the same position from true interpolation.
|
|
ba03310b
|
2018-10-31T22:01:36
|
|
* src/type1/t1load.c (t1_set_mm_blend): Optimized.
|
|
300da33d
|
2018-10-31T21:55:40
|
|
* src/truetype/ttgxvar.c (ft_var_get_item_delta): Optimized.
|
|
c13635ee
|
2018-10-29T21:25:10
|
|
[base] Fix numeric overflow.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11080
* src/base/ftoutln.c (FT_Outline_Get_Orientation): Use `MUL_LONG'.
|
|
ba62f9d8
|
2018-10-29T21:11:36
|
|
[cff] Fix numeric overflow.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10988
* src/cff/cffparse.c (cff_parser_run)
[CFF_CONFIG_OPTION_OLD_ENGINE]: Use `NEG_LONG'.
|
|
3e8ec291
|
2018-10-26T23:23:48
|
|
[sfnt] Make `head' timestamps unsigned.
It's been more than 2^31 seconds since 1904.
* include/freetype/tttables.h (TT_Header): Change field types.
* src/sfnt/ttload.c (tt_face_load_generic_header): Updated.
|
|
d71f2bc1
|
2018-10-26T22:52:25
|
|
Revert "Align FreeType with standard C memory management."
This reverts commit 877aa1b2cc662978aae61ed4d5c6ea8ba56b2fe7.
|
|
bfe53294
|
2018-10-27T00:07:53
|
|
[psaux] Fix numeric overflow.
Triggered by
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11157
* src/psaux/cffdecode.c (cff_decoder_parse_charstrings) <cff_op_blend>
[CFF_CONFIG_OPTION_OLD_ENGINE]: Fix integer overflow.
|
|
f56830ed
|
2018-10-20T07:27:47
|
|
Avoid endless loop while tracing (#54858).
* src/type1/t1load.c (parse_buildchar): Guard tracing stuff with
FT_DEBUG_LEVEL_TRACE.
|
|
0c4feb72
|
2018-10-17T11:25:32
|
|
* CMakeLists.txt: Specify `RUNTIME DESTINATION'.
This is needed for DLL builds.
|
|
912e174c
|
2018-10-07T09:28:52
|
|
A missing Unicode cmap is not a fatal error.
This is a follow-up to the previous commit.
* src/cff/cffobjs.c (cff_face_init), src/sfnt/sfobjs.c
(sfnt_load_face), src/type1/t1objs.c (T1_Face_Init),
src/type42/t42objs.c (T42_Face_Init): Implement it.
|
|
885f5b0b
|
2018-10-07T09:03:05
|
|
Fix handling of FT_CONFIG_OPTION_ADOBE_GLYPH_LIST (#54794).
* src/cff/cffcmap.c (cff_cmap_unicode_init), src/psaux/t1cmap.c
(t1_cmap_unicode_init), src/sfnt/ttcmap.c (tt_cmap_unicode_init):
Check `unicodes_init' field.
|
|
9817571c
|
2018-10-03T08:04:55
|
|
[ftgrays] Fix typo in stand-alone mode (#54771).
* src/smooth/ftgrays.c (FT_THROW) [STANDALONE_ &&
FT_DEBUG_LEVEL_TRACE]: Fix call to `FT_ERR_CAT'.
|
|
d280ae1e
|
2018-10-02T20:45:16
|
|
[psaux] Fix segfault.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10768
* src/psaux/cffdecode.c (cff_decoder_parse_charstrings)
<cff_op_callothersubr> [CFF_CONFIG_OPTION_OLD_ENGINE]: Check
argument.
|
|
6b660f12
|
2018-10-02T16:48:59
|
|
[psaux] Fix numeric overflow.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10768
* src/psaux/cffdecode.c (cff_decoder_parse_charstrings) <cff_op_roll>
[CFF_CONFIG_OPTION_OLD_ENGINE]: Use NEG_INT.
|
|
83fc524d
|
2018-10-02T16:36:49
|
|
[pshinter] Handle numeric overflow.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10550
* src/pshinter/pshglob.c (psh_blues_snap_stem): Mask numeric
overflow.
|
|
877aa1b2
|
2018-09-27T21:17:36
|
|
Align FreeType with standard C memory management.
* include/freetype/ftsystem.h: Include FT_TYPES_H.
(*FT_Alloc_Func, *FT_Realloc_Func): Use size_t for the size arguments.
* src/raster/ftmisc.h: Ditto.
* builds/amiga/src/base/ftsystem.c, builds/unix/ftsystem.c,
* builds/vms/ftsystem.c, src/base/ftsystem.c (ft_alloc, ft_realloc):
Use size_t for the size arguments.
* src/base/ftdbgmem.c (ft_mem_debug_alloc, ft_mem_debug_realloc): Use
FT_Offset, aka size_t, for the size arguments.
|
|
efe7f648
|
2018-09-25T09:16:45
|
|
Typo.
|
|
a9af6914
|
2018-09-25T09:10:09
|
|
Fix handing of `FT_Bool'.
Before this commit we had code like
(FT_Bool)( globals->glyph_styles[gindex] & 0x8000)
Since `FT_Bool' is defined to be an `unsigned char', the code
evaluated to something like
(unsigned char)( 0x8532 & 0x8000)
which in turn expanded to
(unsigned char)( 0x8000)
and finally yielded 0x00 – i.e., false – not as expected.
Problem reported and analyzed by Tony Smith <tony.smith@macro4.com>.
* include/freetype/fttypes.h (FT_BOOL): Add a comparison against
zero so that we always have a Boolean expression.
*/*: Replace castings to `FT_Bool' with calls to `FT_BOOL' where
possible.
|
|
0f122fef
|
2018-09-23T21:46:26
|
|
[bdf] Speed up charmap access.
This makes FT_Get_Char_Index and FT_Get_Next_Char 4-5 times faster.
* src/bdf/bdfdrivr.c (bdf_cmap_char_{index,next}): Help binary search
with continuous prediction.
|
|
793a9ff9
|
2018-09-22T14:38:00
|
|
* src/base/ftobjs.c (ft_glyphslot_reset_bimap): Another tweak.
This one should be clearer. When the rounded monochrome bbox collapses
we add a pixel that covers most if not all original cbox.
|
|
f26d5775
|
2018-09-21T20:34:58
|
|
* src/base/ftobjs.c (ft_glyphslot_reset_bimap): Further tweak.
|
|
335528e1
|
2018-09-21T11:26:37
|
|
Improve auto-hinter handling of bitmap fonts (#54681).
For bitmap fonts, `FT_Load_Glyph' should either return an error or
not set the format to `FT_GLYPH_FORMAT_OUTLINE'. However, in this
case `FT_Load_Glyph' calls into the auto-hinter which calls back
into `FT_Load_Glyph' with `FT_LOAD_NO_SCALE' in the flags, which
marks the glyph as `FT_GLYPH_FORMAT_OUTLINE' with an empty path
(even though it doesn't have any path). It appears that the
auto-hinter should not be called when the face doesn't have
outlines. The current test for using the auto-hinter in
`FT_Load_Glyph' checks if the driver supports scalable outlines, but
not if the face supports scalable outlines.
* src/base/ftobjs.c (FT_Load_Glyph): Directly check whether we have
scalable outlines.
|
|
c168cc3b
|
2018-09-21T11:09:27
|
|
[raster] Fix disappearing vertical lines (#54589).
* src/raster/ftraster.c (Vertical_Sweep_Span): Handle special case
where both left and right outline exactly pass pixel centers.
|
|
2a9850c4
|
2018-09-20T22:40:32
|
|
* src/base/ftobjs.c (ft_glyphslot_reset_bimap): Tiny rounding tweak.
This adds pixels in case a contour goes through the center
and they need to be turned on in the b/w rasterizer.
|
|
c1b21f47
|
2018-09-20T22:14:46
|
|
[pcf] Replace charmap implementation.
PCF comes with charmap lookup table, aka PCF encodings. Using it
directly makes FT_Get_Char_Index and FT_Get_Next_Char 4-5 times
faster than the original BDF-like binary searches.
* src/pcf/pcf.h (PCF_EncodingRec): Removed.
(PCF_FaceRec): Remove `nencodings' and `encodings'.
* src/pcf/pcfdrivr.c (pcf_cmap_char_{index,next}): Replaced.
* src/pcf/pcfread.c (pcf_get_encodings): Store data differently.
|
|
8e950680
|
2018-09-20T06:26:34
|
|
[base] Remove unused function `FT_GlyphLoader_CopyPoints'.
* include/freetype/internal/ftgloadr.h, src/base/ftgloadr.c
(FT_GlyphLoader_CopyPoints): Do it.
|
|
7f93c977
|
2018-09-19T22:45:45
|
|
[pcf] Prepare to replace charmap implementation.
* src/pcf/pcf.h (PCF_Face): Updated to include...
(PCF_EncRec): ... this new structure to store charmap geometry.
* src/pcf/pcfread.c (pcf_get_encodings): Store charmap geometry.
|
|
d629c2ba
|
2018-09-18T17:11:48
|
|
Remove unused fields.
* src/pcf.h (PCF_FaceRec): Remove `charmap' and `charmap_handle'.
* src/bdfdrvr.h (BDF_FaceRec): Ditto.
* src/winfonts/winfnt.h (FNT_FaceRec): Ditto.
|
|
dfddc2d9
|
2018-09-17T08:03:57
|
|
[pshinter] Handle numeric overflow.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10396
* src/pshinter/pshglob.c: Include FT_INTERNAL_CALC_H.
(psh_blues_snap_stems): Mask numeric overflow.
|
|
10e54d04
|
2018-09-13T21:47:35
|
|
[truetype] Some fixes for VF checks.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10317
* src/truetype/ttgxvar.c (ft_var_load_gvar): Properly exit memory
frame if we have invalid glyph variation data offsets.
(tt_face_vary_cvt): Protect against missing `tuplecoords' array.
Fix typo.
|
|
7665914c
|
2018-09-13T08:58:49
|
|
* src/sfnt/sfdriver.c (sfnt_get_var_ps_name): Fix last commit.
|
|
a5818ed1
|
2018-09-13T08:46:44
|
|
* src/sfnt/sfdriver.c (sfnt_get_var_ps_name): Check `result'.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10316
|
|
6b53300b
|
2018-09-12T08:08:09
|
|
[sfnt] Better PS name handling (#54629).
* src/sfnt/sfdriver (IS_WIN, IS_APPLE): Omit language ID checks.
(get_win_string, get_apple_string): Return NULL when the PostScript
font name characters is not according to specification.
(get_win_string): Make trace output work if the high byte if
non-zero.
(sfnt_get_var_ps_name, sfnt_get_ps_name): Previously we preferred
Win PS name (when there is also an Apple PS name); change this into
a fallback to Apple PS name in case the Win PS name is invalid.
|
|
65681e6d
|
2018-09-12T07:40:49
|
|
[truetype] Improve VF check.
Triggered by
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10255
* src/truetype/ttgxvar.c (ft_var_load_gvar): Use better limit check
for `tupleCount'.
|
|
53c5e4bd
|
2018-09-12T07:27:30
|
|
* src/truetype/ttgxvar.c (ft_var_load_gvar): Check `glyphoffsets'.
|
|
7b855ed9
|
2018-09-10T23:41:04
|
|
* src/pshinter/pshrec.c (t2_hints_stems): Mask numeric overflow.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10215
|
|
0805c4a4
|
2018-09-09T09:25:58
|
|
* builds/freetype.mk (refdoc-venv): Ensure python version (#54631).
|
|
7bf20282
|
2018-09-07T06:43:19
|
|
Typo.
|
|
1c04eed7
|
2018-09-07T06:40:55
|
|
[truetype] Fix assertion failure.
Triggered by
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10212
* src/truetype/ttgload.c (load_truetype_glyph): Reintroduce
`opened_frame' (removed in a change from 2018-08-26) to handle
dealloation of the second frame.
|
|
f8af8fba
|
2018-09-05T12:16:56
|
|
Synchronize `ftdebug.c' files.
* builds/amiga/src/base/ftdebug.c, builds/wince/ftdebug.c,
builds/windows/ftdebug.c: Synchronize with `src/base/ftdebug.c'.
|
|
77aa0266
|
2018-09-05T11:07:20
|
|
Add documentation guidelines file.
* docs/DOCGUIDE: New file.
|
|
48f93e64
|
2018-09-04T21:19:26
|
|
* devel/ftoption.h: Synchronize with master `ftoption.h'.
|
|
7da5589c
|
2018-09-03T16:45:28
|
|
[docwriter] Don't break code snippets accross lines.
Reported as
http://lists.nongnu.org/archive/html/freetype-devel/2018-08/msg00124.html
* docs/reference/markdown/stylesheets/extra.css (.md-typeset code):
Add rule `white-space'.
|
|
76a52465
|
2018-09-03T09:08:47
|
|
*/*: s/PSNames/psnames/.
Only tracing messages are affected.
|
|
475f6d25
|
2018-09-03T09:00:58
|
|
[sfnt] Fix heap buffer overflow in CPAL handling.
* src/sfnt/ttcpal.c (tt_face_palette_set): Fix boundary test.
(tt_face_load_cpal): Updated.
|
|
9be656bb
|
2018-09-01T11:01:52
|
|
Remove `FT_Outline_{New,Done}_Internal'.
These public API functions(!) were always undocumented and have
escaped all clean-up efforts until now.
* include/freetype/ftoutln.h (FT_Outline_New_Internal,
FT_Outline_Done_Internal): Removed.
* src/base/ftoutln.h (FT_Outline_New_Internal,
FT_Outline_Done_Internal): Merge into...
(FT_Outline_New, FT_Outline_Done): ... these functions.
* docs/README: Updated.
|
|
809d5125
|
2018-08-31T22:49:19
|
|
* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Check glyph format.
|
|
4b49a807
|
2018-08-31T20:26:46
|
|
[errors] Refine the macro logic surrounding `FT_Error_String'.
* include/freetype/fterrors.h (FT_INCLUDE_ERR_PROTOS,
FT_ERR_PROTOS_DEFINED): Undefine `FT_INCLUDE_ERR_PROTOS' after
checking it and introduce a new macro that takes proper care of
multiple-inclusion protection.
|
|
9a323e47
|
2018-08-31T20:09:21
|
|
* src/base/ftdebug.c (FT_Throw): Restore missing `FT_UNUSED' calls.
|
|
aff04e91
|
2018-08-31T14:57:36
|
|
* src/base/ftdebug.c (FT_Throw): Reduce chattiness.
|
|
0d4ca138
|
2018-08-31T06:53:52
|
|
* src/autofit/afhints.c (af_glyph_hints_reload): Add initialization.
|
|
1dacbd89
|
2018-08-30T23:28:30
|
|
Consolidate bitmap presetting and size assessment.
* include/freetype/internal/ftobjs.h (ft_glyphslot_preset_bitmap):
Change return type.
* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Return the bitmap
size assessment.
* src/raster/ftrend1.c (ft_raster1_render): Use it to refuse the
rendering of enourmous or far-fetched outlines.
* src/smooth/ftsmooth.c (ft_smooth_render_generic): Ditto.
|
|
ca980b4c
|
2018-08-30T21:51:18
|
|
* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Correct mono.
|
|
35efb103
|
2018-08-30T14:30:46
|
|
[errors] Introduce a macro to control `FT_Error_String'.
* devel/ftoption.h (FT_CONFIG_OPTION_ERROR_STRINGS),
include/freetype/config/ftoption.h (FT_CONFIG_OPTION_ERROR_STRINGS):
New macro.
|
|
d20dc392
|
2018-08-30T14:09:04
|
|
[errors] Introduce `FT_Error_String'.
* include/freetype/fterrors.h (FT_Error_String),
src/base/fterrors.c (FT_Error_String): Implement `FT_Error_String'.
* src/base/ftbase.c, src/base/Jamfile (_source),
src/base/rules.mk (BASE_SRC): Add `fterrors.c' to the build logic.
* src/base/ftdebug.c (FT_Throw): Use `FT_Error_String'.
|
|
c0ccf750
|
2018-08-30T09:56:09
|
|
[autofit] Trace `before' and `after' edges of strong points.
* src/autofit/afhints.h (AF_PointRec) [FT_DEBUG_AUTOFIT]: New arrays
`before' and `after'.
* src/autofit/afhints.c (af_get_strong_edge_index): New auxiliary
function.
(af_glyph_hints_dump_points): Trace `before' and `after' edges.
(af_glyph_hints_align_strong_points) [FT_DEBUG_AUTOFIT]: Set
`before' and `after' information.
|
|
5d93a3fc
|
2018-08-30T01:12:22
|
|
[base] Overflow-resistant bitmap presetting.
* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Implement it.
|
|
934a6159
|
2018-08-29T15:28:21
|
|
Fix numeric overflows.
* src/pshint/pshalgo.c (psh_hint_align, psh_hint_align_light,
psh_hint_table_find_strong_points): Fix numeric overflows.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10083
|
|
3915a18b
|
2018-08-29T06:53:54
|
|
[cff] Fix handling of `roll' op in old engine.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10080
* src/psaux/cffdecode.c (cff_decoder_parse_charstrings) <cff_op_roll>
[CFF_CONFIG_OPTION_OLD_ENGINE]: Use modulo for loop count, as
documented in the specification.
|
|
ae3afbc4
|
2018-08-26T15:40:16
|
|
* src/truetype/ttobjs.c (tt_size_read_bytecode): Trace CVT values.
|
|
20957721
|
2018-08-26T15:15:56
|
|
ChangeLog*: s/\t/ /.
|
|
f87b7117
|
2018-08-26T17:46:25
|
|
* configure: Copy assets required by docwriter.
Copy directory `docs/reference/markdown' when FreeType is compiled in a
different directory.
Fixes `make refdoc' if builddir != srcdir.
Reported as
http://lists.nongnu.org/archive/html/freetype-devel/2018-08/msg00083.html
|
|
13034e54
|
2018-08-26T12:22:51
|
|
* src/pshint/pshalgo.c (psh_hint_overlap): Fix numeric overflow.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10057
|
|
4738dcc4
|
2018-08-26T12:03:33
|
|
Minor tracing adjustments.
* src/base/ftstream.c (FT_Stream_EnterFrame, FT_Stream_ExitFrame):
Trace.
* src/truetype/ttgload.c (TT_Access_Glyph_Frame): Remove tracing.
|
|
6e339b8d
|
2018-08-26T11:59:02
|
|
[truetype] Avoid nested frames.
Triggered by
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10054
* src/truetype/ttgload.c (load_truetype_glyph): Don't use variable
`opened_frame' to trace whether a frame must be closed at the end of
function: This fails because `TT_Vary_Apply_Glyph_Deltas' (which
gets called for space glyphs) uses a frame by itself. Instead,
close the frame after loading the header, then use another frame for
the remaining part of the glyph later on.
Also avoid calling `tt_get_metrics' twice under some circumstances.
|
|
b287c80b
|
2018-08-26T06:39:43
|
|
Various minor clean-ups.
* src/base/ftapi.c: Remove. Unused.
* src/base/Jamfile (_sources): Updated.
* src/base/ftstream.c (FT_Stream_ReleaseFrame): Remove redundant
code.
|
|
c98aa9b7
|
2018-08-25T17:02:20
|
|
Add missing ChangeLog entry for the last four commits.
|
|
77f0814a
|
2018-08-23T17:53:54
|
|
Add macros for handling over-/underflowing `FT_Int64' values.
* include/freetype/internal/ftcalc.h (ADD_INT64, SUB_INT64,
MUL_INT64, DIV_INT64) [FT_LONG64]: New macros.
* src/base/ftcalc.c (ft_corner_orientation) [FT_LONG64]: Use
`SUB_INT64' and `MUL_INT64'.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10028
|
|
45524679
|
2018-08-22T10:31:05
|
|
[truetype] Improve legibility of `glyf' parsing.
* src/truetype/ttgload.c (ON_CURVE_POINT, X_SHORT_VECTOR,
Y_SHORT_VECTOR, REPEAT_FLAG, X_POSITIVE, SAME_X, Y_POSITIVE, SAME_Y,
OVERLAP_SIMPLE): New macros.
(TT_Load_Simple_Glyph): Use new macros to make code more readable.
Remove useless adjustment of `outline->tags' elements.
|