kc3-lang/freetype

Branch :


Log

Author Commit Date CI Message
a346abc0 2019-02-21 09:19:09 s/`....`/'....'/ for SFNT table tags in documentation.
8de11f3d 2019-02-20 16:18:40 s/NULL/`NULL`/ in documentation.
f92fa393 2019-02-20 16:04:48 Minor documentation fixes.
de8de1ce 2019-02-20 12:48:36 Minor (whitespace, spelling, doc update).
0ac69211 2019-02-16 07:05:39 * src/autofit/afwarp.h (af_warper_compute): Fix declaration.
29b302ad 2019-02-16 07:05:24 Minor.
b66d6a91 2019-02-06 07:38:25 CHANGES: Document recent metrics change from Nikolaus.
a6feefdf 2019-02-02 15: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-02 15: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-22 20:31:44 Update copyright years.
f61f49fe 2019-01-18 13: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-08 20:54:13 [psaux, type1] Align tracing.
b75abeb5 2019-01-08 20: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-30 20:02:08 Minor documentation fix.
b89166cc 2018-12-29 08:55:01 * src/autofit/aflatin2.c: Some fixes from `aflatin.c' (#55310).
02382375 2018-12-26 12:02:10 * builds/mac/README: Fix a hyperlink to defunct www.gyve.org.
afa043de 2018-12-25 22:44:05 Fix links (mostly http -> https).
5e029659 2018-12-25 19: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-12 19: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-12 14:05:03 Fix documentation of TrueType bytecode interpreter debug hook.
2b4e61e4 2018-12-12 09:36:39 Minor documentation fixes.
3e8a2283 2018-12-11 23: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-10 12:11:54 Minor documentation updates and fixes.
d01e28f4 2018-12-06 08:12:27 Important doc fix.
f1b6183f 2018-12-04 11: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-02 23:40:55 * builds/windows/visualc/freetype.dsp: Dust off.
c1e58b4d 2018-11-29 12:57:35 * include/freetype/ftmm.h: Minor.
3dd4e76b 2018-11-27 23:22:52 * builds/windows/vc2010/freetype.vcxproj: Simplify.
78a1e695 2018-11-27 22: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-27 18: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-27 17:55:40 [truetype] Fix numeric overflow (#55103). * src/truetype/ttgload.c (compute_glyph_metrics): Use `SUB_LONG'.
1c4004bb 2018-11-25 23: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-22 11:43:48 * src/cff/cffparse.c: Please the compiler.
642bc759 2018-11-22 10: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-18 14:47:32 * builds/windows/{visualc,vc2005,vc2008}/freetype.vcproj: Fix it.
8d517e67 2018-11-10 15:47:48 Clarification.
78db9eec 2018-11-10 15: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-09 12:14:35 [psaux] Add safety guard (#54985). * src/psaux/psobjs.c (cff_builder_close_contour): Do it.
3b6e65f7 2018-11-08 23:36:37 * builds/unix/configure.raw: Require `windows.h' for windres.
181033d3 2018-11-08 21:04:56 [ftstroke] Fix unpredictable failures (#54986). * src/base/ftstroke.c (ft_sroke_border_lineto): Fix lineto check.
81c31f62 2018-11-08 07:54:47 [ftstroke] Fix unpredictable failures (#54976). * src/base/ftstroke.c (ft_sroke_border_close): Set the start tags.
fb0d66d0 2018-11-07 00: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-06 11: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-06 11: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-04 22:09:16 Minor.
1f43affc 2018-11-04 13:11:16 * src/truetype/ttgxvar.c: Use enum definitions.
d95a12b8 2018-11-03 23:02:58 * src/truetype/ttgxvar.c (ft_var_apply_tuple): Adjust condition.
547f82f2 2018-11-03 23:00:36 * src/truetype/ttgxvar.c (ft_var_apply_tuple): Tracing tweaks.
ce3feb0b 2018-11-03 22:43:21 Revert due to specs: [truetype] Speed up variation IUP. This reverts commit 1e4496c54c010843c1bac56e5d344115d1a49620.
dfa86d65 2018-11-03 22:36:52 Revert "[truetype] Speed up variation IUP." This reverts commit 1e4496c54c010843c1bac56e5d344115d1a49620.
61d50756 2018-11-02 20:42:25 * src/truetype/ttgxvar.c (ft_var_get_item_delta): Fixed logic. Reported and tested by Behdad.
339c451a 2018-11-02 10: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-31 23: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-31 22:01:36 * src/type1/t1load.c (t1_set_mm_blend): Optimized.
300da33d 2018-10-31 21:55:40 * src/truetype/ttgxvar.c (ft_var_get_item_delta): Optimized.
c13635ee 2018-10-29 21: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-29 21: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-28 14:19:33 Comment on timestamp storage.
3e8ec291 2018-10-26 23: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-26 22:52:25 Revert "Align FreeType with standard C memory management." This reverts commit 877aa1b2cc662978aae61ed4d5c6ea8ba56b2fe7.
bfe53294 2018-10-27 00: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-20 07: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-17 11:25:32 * CMakeLists.txt: Specify `RUNTIME DESTINATION'. This is needed for DLL builds.
42885493 2018-10-10 12:21:10 Minor.
912e174c 2018-10-07 09: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-07 09: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-07 08:59:56 Whitespace.
f262d15d 2018-10-07 07:40:37 Minor comment improvement.
9817571c 2018-10-03 08: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-02 20: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-02 16: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-02 16: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-27 21: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-26 22:04:50 Typo.
efe7f648 2018-09-25 09:16:45 Typo.
a9af6914 2018-09-25 09: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-23 21: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-22 14: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-21 20:34:58 * src/base/ftobjs.c (ft_glyphslot_reset_bimap): Further tweak.
abd997aa 2018-09-21 12:50:32 Improve documentation of `FT_LOAD_NO_RECURSE'.
335528e1 2018-09-21 11: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-21 11: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-21 08:32:22 [base] Some comments.
2a9850c4 2018-09-20 22: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-20 22: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-20 06: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-19 22: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-18 17: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-17 08: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.
b8dd404d 2018-09-16 07:22:23 freetype.h: Add warning w.r.t. B/W hinting and rendering (#54589).
de0aabcd 2018-09-15 06:14:18 [sfnt] Comment fix.
10e54d04 2018-09-13 21: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-13 08:58:49 * src/sfnt/sfdriver.c (sfnt_get_var_ps_name): Fix last commit.
a5818ed1 2018-09-13 08: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-12 08: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-12 07: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-12 07:27:30 * src/truetype/ttgxvar.c (ft_var_load_gvar): Check `glyphoffsets'.
7b855ed9 2018-09-10 23: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
fea435fb 2018-09-09 09:46:29 [sfnt] Comment improvement.
0805c4a4 2018-09-09 09:25:58 * builds/freetype.mk (refdoc-venv): Ensure python version (#54631).