|
4e64d9d3
|
2019-03-08T00:13:08
|
|
CHANGES: Minor fixes.
|
|
2f4b740c
|
2019-03-07T09:42:25
|
|
Fix invalid function pointer casts.
This change should allow Freetype to work on WASM/Emscripten without
needing `-s EMULATE_FUNCTION_POINTER_CASTS=1'.
* src/autofit/afdummy.c (af_dummy_hints_apply): Fix signature.
* src/cid/cidload.c (cid_parse_font_matrix, parse_fd_array,
parse_expansion_factor, parse_font_name): Return `void', not
`FT_Error'.
* include/freetype/internal/ftobjs.h (FT_CMap_CharVarIsDefaultFunc):
Fix signature.
|
|
31757f96
|
2019-03-05T11:35:03
|
|
[base] Handle numeric overflow (#55827).
* src/base/ftglyph.c (FT_Glyph_Get_CBox): Use `FT_PIX_CEIL_LONG'.
|
|
6a4718a3
|
2019-03-05T17:25:19
|
|
Fix use of uninitialized memory.
* src/psaux/psintrp.c (cf2_interpT2CharString): The call to
`cf2_arrstack_setCount' may fail because the allocator ran out of
memory. When this happens the stack is still written to before the
error condition is checked. This means that FreeType writes outside
of allocated memory. This commit moves the error check prior to the
stack assignment, hence the function now properly returns with an
error condition.
|
|
6d65c60f
|
2019-03-02T16:05:51
|
|
Minor formatting.
|
|
bf04c592
|
2019-02-25T06:32:26
|
|
Minor doc fixes.
|
|
4d51f78d
|
2019-02-23T11:21:48
|
|
More documentation updates.
In particular, mark the new behaviour of `FT_LOAD_COLOR' as experimental.
|
|
6ab36880
|
2019-02-23T11:18:39
|
|
* src/base/ftbitmap.c (FT_Bitmap_Blend): No fractional offsets.
The function only provided a framework without an actual
implementation, which this commits removes.
|
|
75859970
|
2019-02-23T10:07:09
|
|
Update all copyright notices.
|
|
fd8fc64e
|
2019-02-23T10:05:37
|
|
* src/tools/update-copyright-year: Insert `(C)'.
|
|
b77826e1
|
2019-02-21T10:23:15
|
|
Triage 8ea854bfe92443706d55656072f891ec8f2cb3c2.
|
|
8ea854bf
|
2019-02-21T10:14:57
|
|
[truetype] Mask numeric overflows.
* src/truetype/ttinterp.c (Move_CVT, Move_CVT_Stretched, Ins_MIRP):
Mask numeric overflows.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11681
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11734
|
|
5e3a38b1
|
2019-02-21T10:04:28
|
|
[psaux] Mask numeric overflow.
* src/psaux/cffdecode.c (cff_decoder_parse_charstrings): Mask numeric
overflow.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13041
|
|
a346abc0
|
2019-02-21T09:19:09
|
|
s/`....`/'....'/ for SFNT table tags in documentation.
|
|
8de11f3d
|
2019-02-20T16:18:40
|
|
s/NULL/`NULL`/ in documentation.
|
|
f92fa393
|
2019-02-20T16:04:48
|
|
Minor documentation fixes.
|
|
de8de1ce
|
2019-02-20T12:48:36
|
|
Minor (whitespace, spelling, doc update).
|
|
0ac69211
|
2019-02-16T07:05:39
|
|
* src/autofit/afwarp.h (af_warper_compute): Fix declaration.
|
|
29b302ad
|
2019-02-16T07:05:24
|
|
Minor.
|
|
b66d6a91
|
2019-02-06T07:38:25
|
|
CHANGES: Document recent metrics change from Nikolaus.
|
|
a6feefdf
|
2019-02-02T15:50:57
|
|
[truetype] Apply MVAR hasc, hdsc and hlgp metrics to current FT_Face metrics.
Instead of setting typo or win metrics as the new FT_Face metrics
indiscriminately, apply only typo deltas to the currently active FT_Face
metrics. This prevents line height differences when e.g. the default
outlines were used as the regular face and instances for everything else.
* src/truetype/ttgxvar.c (tt_apply_mvar): Implement.
|
|
f72b0074
|
2019-02-02T15:45:31
|
|
[sfnt] Use typo metrics if OS/2 fsSelection USE_TYPO_METRICS bit is set.
If the OS/2 table exists and fsSelection bit 7 (USE_TYPO_METRICS) is set,
use the sTypo* set of values to compute the FT_Face's ascender, descender
and height. Otherwise, fall back to old behavior.
* src/sfnt/sfobjs.c (sfnt_load_face): Implement.
|
|
f686ad46
|
2019-01-22T20:31:44
|
|
Update copyright years.
|
|
f61f49fe
|
2019-01-18T13:25:23
|
|
[sfnt] Handle TT fonts having two PostScript font names (#55471).
* src/sfnt/sfdriver.c (sfnt_get_name_id): Prefer English over any
other language found for PostScript font names.
|
|
1e7a8f30
|
2019-01-08T20:54:13
|
|
[psaux, type1] Align tracing.
|
|
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'.
|
|
2875ada1
|
2018-12-30T20:02:08
|
|
Minor documentation fix.
|
|
b89166cc
|
2018-12-29T08:55:01
|
|
* src/autofit/aflatin2.c: Some fixes from `aflatin.c' (#55310).
|
|
02382375
|
2018-12-26T12:02:10
|
|
* builds/mac/README: Fix a hyperlink to defunct www.gyve.org.
|
|
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'.
|
|
e8bbef85
|
2018-12-12T14:05:03
|
|
Fix documentation of TrueType bytecode interpreter debug hook.
|
|
2b4e61e4
|
2018-12-12T09:36:39
|
|
Minor documentation fixes.
|
|
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.
|
|
0c83ba6d
|
2018-12-10T12:11:54
|
|
Minor documentation updates and fixes.
|
|
d01e28f4
|
2018-12-06T08:12:27
|
|
Important doc fix.
|
|
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.
|
|
c1e58b4d
|
2018-11-29T12:57:35
|
|
* include/freetype/ftmm.h: Minor.
|
|
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.
|
|
8d517e67
|
2018-11-10T15:47:48
|
|
Clarification.
|
|
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.
|
|
cc288e38
|
2018-11-04T22:09:16
|
|
Minor.
|
|
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.
|
|
ce3feb0b
|
2018-11-03T22:43:21
|
|
Revert due to specs: [truetype] Speed up variation IUP.
This reverts commit 1e4496c54c010843c1bac56e5d344115d1a49620.
|
|
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'.
|
|
acb19ed4
|
2018-10-28T14:19:33
|
|
Comment on timestamp storage.
|
|
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.
|
|
42885493
|
2018-10-10T12:21:10
|
|
Minor.
|
|
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.
|
|
0a178144
|
2018-10-07T08:59:56
|
|
Whitespace.
|
|
f262d15d
|
2018-10-07T07:40:37
|
|
Minor comment improvement.
|
|
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.
|
|
4500c701
|
2018-09-26T22:04:50
|
|
Typo.
|
|
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.
|
|
abd997aa
|
2018-09-21T12:50:32
|
|
Improve documentation of `FT_LOAD_NO_RECURSE'.
|
|
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.
|
|
493aa68f
|
2018-09-21T08:32:22
|
|
[base] Some comments.
|
|
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.
|