Werner Lemberg
5e02965905
* src/psaux/cffdecode.c (cff_operaor_seac): Fix numeric overflow.
...
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11915
2018-12-25 19:24:06 +01:00
Werner Lemberg
ec439711b1
[gxvalid] Fix compiler warnings.
...
* src/gxvalid/gxvjust.c (gxv_just_check_max_gid),
src/gxvalid/gxvmort.c (gxv_mort_coverage_validate): Use `FT_UNUSED'.
2018-12-12 19:59:42 +01:00
Werner Lemberg
e8bbef85c0
Fix documentation of TrueType bytecode interpreter debug hook.
2018-12-12 14:05:47 +01:00
Werner Lemberg
2b4e61e4d6
Minor documentation fixes.
2018-12-12 09:36:39 +01:00
Werner Lemberg
3e8a2283f5
* 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.
2018-12-11 23:54:17 +01:00
Werner Lemberg
0c83ba6d61
Minor documentation updates and fixes.
2018-12-10 12:14:13 +01:00
Alexei Podtelezhnikov
d01e28f41f
Important doc fix.
2018-12-06 08:12:27 -05:00
Werner Lemberg
f1b6183f36
[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.
2018-12-04 11:51:15 +01:00
Alexei Podtelezhnikov
456e9c8fce
* builds/windows/visualc/freetype.dsp: Dust off.
2018-12-02 23:40:55 -05:00
Nikhil Ramakrishnan
c1e58b4d93
* include/freetype/ftmm.h: Minor.
2018-11-29 12:57:35 +05:30
Alexei Podtelezhnikov
3dd4e76b19
* builds/windows/vc2010/freetype.vcxproj: Simplify.
2018-11-27 23:22:52 -05:00
Chris Liddell
78a1e69517
[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.
2018-11-27 22:24:06 +01:00
Ben Wagner
1fc6937f7f
[cff] Fix compiler warning ( #55105 ).
...
* src/cff/cffparse.c (cff_parser_run): Guard label only used if
CFF_CONFIG_OPTION_OLD_ENGINE is active.
2018-11-27 18:02:44 +01:00
Ben Wagner
74cdd75f6f
[truetype] Fix numeric overflow ( #55103 ).
...
* src/truetype/ttgload.c (compute_glyph_metrics): Use `SUB_LONG'.
2018-11-27 17:56:25 +01:00
Alexei Podtelezhnikov
1c4004bb34
[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.
2018-11-25 23:19:39 -05:00
Armin Hasitzka
55b35cd611
* src/cff/cffparse.c: Please the compiler.
2018-11-22 11:43:48 +00:00
Armin Hasitzka
642bc7590c
[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.
2018-11-22 10:29:35 +00:00
Alexei Podtelezhnikov
81f43a9d36
* builds/windows/{visualc,vc2005,vc2008}/freetype.vcproj: Fix it.
2018-11-18 14:47:32 -05:00
Alexei Podtelezhnikov
8d517e679b
Clarification.
2018-11-10 15:47:48 -05:00
Alexei Podtelezhnikov
78db9eecff
[smooth] Placeholder only for library-enabled LCD filtering.
...
* src/smooth/ftsmooth.c (ft_smooth_init): Add disabled
`FT_Library_SetLcdFilter' call.
2018-11-10 15:39:19 -05:00
Werner Lemberg
58e48e9287
[psaux] Add safety guard ( #54985 ).
...
* src/psaux/psobjs.c (cff_builder_close_contour): Do it.
2018-11-09 12:14:35 +01:00
Alexei Podtelezhnikov
3b6e65f7bf
* builds/unix/configure.raw: Require `windows.h' for windres.
2018-11-08 23:36:37 -05:00
Alexei Podtelezhnikov
181033d396
[ftstroke] Fix unpredictable failures ( #54986 ).
...
* src/base/ftstroke.c (ft_sroke_border_lineto): Fix lineto check.
2018-11-08 21:04:56 -05:00
Alexei Podtelezhnikov
81c31f62cb
[ftstroke] Fix unpredictable failures ( #54976 ).
...
* src/base/ftstroke.c (ft_sroke_border_close): Set the start tags.
2018-11-08 07:54:47 -05:00
Ben Wagner
fb0d66d04c
[truetype] Fix VF check from 2018-09-12 ( #54973 ).
...
* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Use correct
offsets for estimates.
2018-11-07 00:47:44 +01:00
Werner Lemberg
fbd2452346
[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.
2018-11-06 11:15:31 +01:00
Werner Lemberg
5b86f53dd6
[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.
2018-11-06 11:08:41 +01:00
Alexei Podtelezhnikov
cc288e383b
Minor.
2018-11-04 22:09:16 -05:00
Alexei Podtelezhnikov
1f43affc09
* src/truetype/ttgxvar.c: Use enum definitions.
2018-11-04 13:11:16 -05:00
Alexei Podtelezhnikov
d95a12b88d
* src/truetype/ttgxvar.c (ft_var_apply_tuple): Adjust condition.
2018-11-03 23:02:58 -04:00
Alexei Podtelezhnikov
547f82f20e
* src/truetype/ttgxvar.c (ft_var_apply_tuple): Tracing tweaks.
2018-11-03 23:00:36 -04:00
Alexei Podtelezhnikov
ce3feb0b9d
Revert due to specs: [truetype] Speed up variation IUP.
...
This reverts commit 1e4496c54c
.
2018-11-03 22:43:21 -04:00
Alexei Podtelezhnikov
dfa86d65e5
Revert "[truetype] Speed up variation IUP."
...
This reverts commit 1e4496c54c
.
2018-11-03 22:36:52 -04:00
Alexei Podtelezhnikov
61d50756b6
* src/truetype/ttgxvar.c (ft_var_get_item_delta): Fixed logic.
...
Reported and tested by Behdad.
2018-11-02 20:42:25 -04:00
Shailesh Mistry
339c451ad0
[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.
2018-11-02 10:10:10 +01:00
Alexei Podtelezhnikov
1e4496c54c
[truetype] Speed up variation IUP.
...
* src/truetype/ttgxvar.c (tt_delta_interpolate): Separate trivial
snapping to the same position from true interpolation.
2018-10-31 23:17:33 -04:00
Alexei Podtelezhnikov
ba03310b5a
* src/type1/t1load.c (t1_set_mm_blend): Optimized.
2018-10-31 22:01:36 -04:00
Alexei Podtelezhnikov
300da33d61
* src/truetype/ttgxvar.c (ft_var_get_item_delta): Optimized.
2018-10-31 21:55:40 -04:00
Werner Lemberg
c13635ee4b
[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'.
2018-10-29 21:25:10 +01:00
Werner Lemberg
ba62f9d8f5
[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'.
2018-10-29 21:11:36 +01:00
Alexei Podtelezhnikov
acb19ed4e9
Comment on timestamp storage.
2018-10-28 14:19:33 -04:00
Alexei Podtelezhnikov
3e8ec291ff
[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.
2018-10-26 23:23:48 -04:00
Alexei Podtelezhnikov
d71f2bc159
Revert "Align FreeType with standard C memory management."
...
This reverts commit 877aa1b2cc
.
2018-10-26 22:52:25 -04:00
Werner Lemberg
bfe5329475
[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.
2018-10-27 00:07:53 +02:00
Werner Lemberg
f56830ed40
Avoid endless loop while tracing ( #54858 ).
...
* src/type1/t1load.c (parse_buildchar): Guard tracing stuff with
FT_DEBUG_LEVEL_TRACE.
2018-10-20 07:27:47 +02:00
Werner Lemberg
0c4feb72cf
* CMakeLists.txt: Specify `RUNTIME DESTINATION'.
...
This is needed for DLL builds.
2018-10-17 11:25:32 +02:00
Werner Lemberg
428854931e
Minor.
2018-10-10 12:21:10 +02:00
Werner Lemberg
912e174c66
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.
2018-10-07 09:28:52 +02:00
Werner Lemberg
885f5b0b4e
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.
2018-10-07 09:03:05 +02:00
Werner Lemberg
0a178144e8
Whitespace.
2018-10-07 08:59:56 +02:00