Log

Author Commit Date CI Message
Werner Lemberg 548704f4 2017-05-17T07:40:50 Code sorting.
Werner Lemberg 5efda13f 2017-05-15T21:26:01 [sfnt] Return proper scaling values for SBIX bitmaps. Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>. * src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Implement it.
Werner Lemberg 6e5445a2 2017-05-15T21:24:04 [truetype] Fix error handling for embedded bitmaps. Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>. * src/truetype/ttgload.c (TT_Load_Glyph) [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Handle error if font is not scalable.
Alexei Podtelezhnikov a7f276a2 2017-05-15T00:25:37 [autofit] Make autohint warping NORMAL option. This moves warping option from LIGHT to NORMAL mode. This makes LIGHT truly void of hinting in x-direction, with left side bearing never changed and right side bearing only altered by advance rounding. Therefore, LIGHT is now ready to return fractional advance. As a NORMAL option, warping substitutes normal hinting. * src/autofit/afcjk.c (af_cjk_hints_apply): Updated. * src/autofit/aflatin.c (af_latin_hints_apply): Updated. * src/autofit/aflatin2.c (af_latin2_hints_apply): Updated. * src/autofit/afloader.c (af_loader_load_glyph): Handle warping phantom points as normal.
Werner Lemberg e99b26aa 2017-05-14T21:57:27 Remove remnants of raster pool. * include/freetype/internal/ftobjs.h (FT_LibraryRec): Remove `raster_pool' and `raster_pool_size' fields. * src/base/ftobjs.c (FT_New_Library), src/raster/ftrend1.c (ft_raster1_init), src/smooth/ftsmooth.c (ft_smooth_init): Updated.
Werner Lemberg a12a3445 2017-05-13T06:29:04 * Version 2.8 released. ======================= Tag sources with `VER-2-8'. * docs/VERSION.TXT: Add entry for version 2.8. * docs/CHANGES: Updated. * README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj, 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.7.1/2.8/, s/271/28/. * include/freetype/freetype.h (FREETYPE_MINOR): Set to 8. (FREETYPE_PATCH): Set to 0. * builds/unix/configure.raw (version_info): Set to 20:0:14. * CMakeLists.txt (VERSION_MINOR): Set to 8. (VERSION_PATCH): Set to 0.
Werner Lemberg 538d571a 2017-05-13T06:28:08 formats.txt: Properly document PFB.
Hin-Tak Leung 603121c0 2017-05-12T07:52:36 Fix `FT_UINT_TO_POINTER' macro for Windows. * builds/unix/ftconfig.in, builds/vms/ftconfig.h, include/freetype/config/ftconfig.h (FT_UINT_TO_POINTER) [_WIN64]: Fix definition.
Werner Lemberg 2e209c6c 2017-05-11T00:28:05 Update CHANGES file.
Werner Lemberg 9de936d3 2017-05-11T00:11:59 s/AF_BLUE_STRINGSET_CANADIAN_SYLLABICS/AF_BLUE_STRINGSET_CANS/.
Sascha Brawer ac0eed86 2017-05-11T00:06:37 [autofit] Add support for Chakma script. * src/autofit/afblue.dat: Add blue zone data for Chakma. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Chakma standard character. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Chakma data.
Sascha Brawer d19859f1 2017-05-10T23:38:05 [autofit] Add support for Kayah Li script. * src/autofit/afblue.dat: Add blue zone data for Kayah Li. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Kayah Li standard character. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Kayah Li data.
Sascha Brawer 87218c99 2017-05-10T12:39:33 [autofit] Add support for Bamum script. * src/autofit/afblue.dat: Add blue zone data for Bamum. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Bamum standard character. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Bamum data.
Sascha Brawer 4aa1aec1 2017-05-10T09:36:13 [autofit] Add support for Saurashtra script. * src/autofit/afblue.dat: Add blue zone data for Saurashtra. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Saurashtra standard character. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Saurashtra data.
Werner Lemberg 53f38244 2017-05-10T09:13:20 [autofit] Add support for Buhid script. * src/autofit/afblue.dat: Add blue zone data for Buhid. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Buhid standard character. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Buhid data.
Sascha Brawer 44c6117e 2017-05-08T20:31:52 [autofit] Add support for Shavian script. * src/autofit/afblue.dat: Add blue zone data for Shavian. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Shavian standard character. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Shavian data.
Sascha Brawer a9e5e6e5 2017-05-08T19:57:16 [autofit] Add support for Vai script. * src/autofit/afblue.dat: Add blue zone data for Vai. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Vai standard character. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Vai data.
Sascha Brawer acc6b6df 2017-05-08T15:08:46 [autofit] Add support for Osmanya script. * src/autofit/afblue.dat: Add blue zone data for Osmanya. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Osmanya standard character. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Osmanya data.
Sascha Brawer f27ebb1e 2017-05-08T10:22:26 [autofit] Add support for Coptic script. * src/autofit/afblue.dat: Add blue zone data for Coptic. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Coptic standard character. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Coptic data.
Sascha Brawer db0fe733 2017-05-08T10:00:16 [autofit] Add support for Carian script. * src/autofit/afblue.dat: Add blue zone data for Carian. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Carian standard character. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Carian data.
Werner Lemberg ec4cb04b 2017-05-07T13:06:36 [truetype] Add tricky font `DFGirl-W6-WIN-BF' (from Dynalab). Reported by Roy Tam <roytam@gmail.com>. * src/truetype/ttobjs.c (tt_check_trickyness_family): Implement it.
Roy Tam 0ed9fef0 2017-05-07T08:32:58 [truetype] More tricky fonts (mainly from Dynalab). * src/truetype/ttobjs.c (tt_check_trickyness_family, tt_check_trickyness_sfnt_ids): Add them.
Werner Lemberg f784a565 2017-05-07T00:45:05 [truetype] Add tricky font `DLCHayMedium' (from Dynalab). Reported by Roy Tam <roytam@gmail.com>. * src/truetype/ttobjs.c (tt_check_trickyness_family): Implement it.
Werner Lemberg 8cd31eb7 2017-05-03T23:54:29 */*: s/backwards compatibility/backward compatibility/.
Sascha Brawer c9e7063a 2017-05-03T23:21:13 [autofit] Add support for Unified Canadian Syllabics script. * src/autofit/afblue.dat: Add blue zone data for Unified Canadian Syllabics. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Unified Canadian Syllabics standard character. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Unified Canadian Syllabics data.
Sascha Brawer 0483fb38 2017-05-03T20:16:24 [autofit] Add blue-zone support for Sundanese script. This essentially moves the Sundanese script from the `Indic' hinter to the `Latin' hinter. * src/autofit/afblue.dat: Add blue zone data for Sundanese. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Sundanese standard character and move data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afranges.c: Move Sundanese data out of AF_CONFIG_OPTION_INDIC block. * src/autofit/afstyles.h: Update Sundanese data; in particular, use AF_WRITING_SYSTEM_LATIN.
Sascha Brawer 14ae17a2 2017-05-03T18:35:13 [autofit] Add support for Avestan script. * src/autofit/afblue.dat: Add blue zone data for Avestan. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Avestan standard character. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Avestan data.
Behdad Esfahbod 60bf264e 2017-05-02T14:38:54 [truetype] Make `IUP' gvar deltas do the same as Apple (#50832). When points are not touched by gvar interpolation deltas, FreeType gave a slightly different result than Apple's CoreText. The OpenType working group will update the specification to document the following behaviour: If the two points with deltas to the `left' and `right' of the untouched point have the same coordinate, then the inferred delta for the untouched point should be zero. * src/truetype/ttgxvar.c (tt_delta_interpolate): Implement new behaviour.
Werner Lemberg ba40054c 2017-05-02T12:32:19 [autofit] Remove `slight' auto-hint mode again. A poll on freetype-devel favoured changes directly applied to `light'. * include/freetype/freetype.h (FT_LOAD_TARGET_SLIGHT, FT_RENDER_MODE_SLIGHT): Removed. * src/autofit/afcjk.c (af_cjk_hints_init), src/autofit/aflatin.c (af_latin_hints_init), src/autofit/aflatin2.c (af_latin2_hints_init): Revert change from 2017-04-22. * src/autofit/afloader.c (af_loader_load_glyph) Remove references to FT_RENDER_MODE_SLIGHT. [AF_CONFIG_OPTION_TT_SIZE_METRICS]: Enable TrueType-like metrics unconditionally. * src/base/ftadvanc.c (LOAD_ADVANCE_FAST_CHECK): Revert change from 2017-04-22. * src/base/ftobjs.c (FT_Load_Glyph): Revert change from 2017-04-22. * src/pshinter/pshalgo.c (ps_hints_apply): Revert change from 2017-04-22. * src/smooth/ftsmooth.c (ft_smooth_render): Revert change from 2017-04-22. * docs/CHANGES: Updated.
Werner Lemberg 7abf0cb7 2017-04-30T17:25:11 [autofit] Fix metrics computation. Problem reported by Markus Trippelsdorf <markus@trippelsdorf.de> and Nikolaus Waxweiler <madigens@gmail.com>. * src/base/ftobjs.c (FT_Request_Size): Trigger recomputation of auto-hinter metrics. Without this change, multiple size changing calls for a single face fail.
Werner Lemberg 785833d9 2017-04-29T06:47:14 * src/truetype/ttdriver.c (tt_size_request): Properly check `error'. Reported by Earnestly <zibeon@googlemail.com> in http://lists.nongnu.org/archive/html/freetype/2017-04/msg00031.html
Werner Lemberg e9e2e5d4 2017-04-27T13:25:58 Document CVE-2017-8287.
Werner Lemberg 0a5315d1 2017-04-27T13:02:24 Introduce AF_CONFIG_OPTION_TT_SIZE_METRICS configuration option. * include/freetype/config/ftoption.h (AF_CONFIG_OPTION_TT_SIZE_METRICS): New option, commented out by default. * src/autofit/afloader.c (af_loader_load_glyph): Use AF_CONFIG_OPTION_TT_SIZE_METRICS to guard the corresponding code.
Werner Lemberg ab10ffcd 2017-04-26T13:41:40 * include/freetype/freetype.h (FT_Render_Mode): Fix order. This retains backwards compatibility. Noted by Alexei.
Werner Lemberg 5f18d867 2017-04-22T23:02:21 [truetype] Do linear scaling for FT_LOAD_NO_HINTING (#50470). * src/truetype/ttobs.h (TT_SizeRec): Add field `hinted_metrics' to hold hinted metrics. Make `metrics' a pointer so that `tt_glyph_load' can easily switch between metrics. * src/truetype/ttdriver.c (tt_size_request): Updated. (tt_glyph_load): Use top-level metrics if FT_LOAD_NO_HINTING is used. * src/truetype/ttgload.c (TT_Hint_Glyph, TT_Process_Simple_Glyph, TT_Process_Composite_Component, load_truetype_glyph, compute_glyph_metrics, TT_Load_Glyph): Updated. * src/truetype/ttinterp.c (TT_Load_Context): Updated. * src/truetype/ttobjs.c (tt_size_reset): Updated. * src/truetype/ttsubpix.c (sph_set_tweaks): Updated.
Werner Lemberg 5aa6716a 2017-04-22T13:27:21 Add new `slight' auto-hinting mode. This mode uses fractional advance widths and doesn't scale glyphs horizontally, only applying vertical scaling and hinting. At the same time, the behaviour of the `light' auto-hinter gets restored for backwards compatibility: Both vertical and horizontal scaling is again based on rounded metrics values (this was changed in a commit from 2017-03-30 as a side effect). To be more precise, the behaviour is restored for TrueType fonts only; for other font formats like Type 1, this is a new feature of the `light' hinting mode. * include/freetype/freetype.h (FT_LOAD_TARGET_SLIGHT): New macro. (FT_RENDER_MODE_SLIGHT): New render mode. * include/freetype/internal/ftobjs.h (FT_Size_InternalRec): Add `autohint_mode' and `autohint_metrics' fields. * src/autofit/afcjk.c (af_cjk_hints_init), src/autofit/aflatin.c (af_latin_hints_init), src/autofit/aflatin2 (af_latin2_hints_init): Updated. * src/autofit/afloader.c (af_loader_embolden_glyph_in_slot): Use `autohint_metrics'. (af_loader_load_glyph): s/internal/slot_internal/. Initialize `autohint_metrics' and `autohint_mode' depending on current auto-hint mode. Use `autohint_metrics'. Updated. * src/base/ftadvanc.c (LOAD_ADVANCE_FAST_CHECK): Updated. * src/base/ftobjs.c (FT_Load_Glyph): Updated. (FT_New_Size): Allocate `internal' object. * src/pshinter/pshalgo.c (ps_hints_apply): Updated. * src/smooth/ftsmooth.c (ft_smooth_render): Updated.
Werner Lemberg 69da54ca 2017-04-26T09:58:28 Document that some FT_Size_Metrics values are always rounded.
Werner Lemberg ba86636b 2017-04-26T09:35:39 And another CVE for an older FreeType version.
Werner Lemberg 7752c68c 2017-04-26T09:16:45 Document CVE-2017-8105.
Werner Lemberg 7fa5743a 2017-04-23T13:57:37 freetype.h: Avoid non-ASCII character (#50858).
Werner Lemberg 5412d886 2017-04-22T12:48:50 Introduce `FT_Size_InternalRec' structure. We are going to extend this later on. * include/freetype/internal/ftobjs.h (FT_Size_InternalRec): New structure with a single field `module_data'. * src/base/ftobjs.c (FT_New_Size): Allocate `internal' field of `FT_Size' structure. * src/cff/cffgload.c (cff_builder_init, cff_decoder_prepare): Use `size->internal->module_data' instead of `size->internal'. * src/cff/cffobjs.c (cff_size_done): Deallocate `module_data'. (cff_size_init, cff_size_select, cff_size_request): Use `size->internal->module_data' instead of `size->internal'. * src/cif/cidobjs.c (cid_size_done, cid_size_init, cid_size_request): Use `size->internal->module_data' instead of `size->internal'. * src/psaux/psobjs.c (t1_builder_ini): Use `size->internal->module_data' instead of `size->internal'. * src/type1/t1objs.c (T1_Size_Done, T1_Size_Init, T1_Size_Request): Use `size->internal->module_data' instead of `size->internal'.
Alexei Podtelezhnikov eb5e0fb7 2017-04-21T22:53:39 * src/smooth/ftsmooth.h: Remove unused guards and declaration.
Alexei Podtelezhnikov c5d9735d 2017-04-21T22:27:49 Typos.
Alexei Podtelezhnikov 71d289da 2017-04-19T23:50:29 Typos.
Alexei Podtelezhnikov eb068312 2017-04-16T23:41:26 Typos.
Hin-Tak Leung 5efba4c4 2017-04-16T07:23:24 Fix tracing messages. * src/base/ftobjs.c (FT_Face_GetCharVariantIndex, FT_Face_GetCharVariantIsDefault, FT_Face_GetVariantsOfChar): Print correct function name.
Alexei Podtelezhnikov 05e1aa5f 2017-04-15T23:48:59 Typos.
Werner Lemberg 90ccab3d 2017-04-08T17:58:57 [autofit] Add support for Old Turkic script. * src/autofit/afblue.dat: Add blue zone data for Old Turkic. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Old Turkic standard characters. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Old Turkic data.
Sascha Brawer df2a7cd1 2017-04-08T16:11:44 [autofit] Add support for Gothic script. * src/autofit/afblue.dat: Add blue zone data for Gothic. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Gothic standard characters. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Gothic data.
Sascha Brawer 5bf4b1aa 2017-04-08T11:38:52 [autofit] Add support for Cypriot script. * src/autofit/afblue.dat: Add blue zone data for Cypriot. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Cypriot standard characters. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Cypriot data.
Sascha Brawer d79fc794 2017-04-08T07:06:24 [autofit] Add support for Deseret script. * src/autofit/afblue.dat: Add blue zone data for Deseret. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Deseret standard characters. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Deseret data.
Werner Lemberg 32efd8c0 2017-04-07T17:22:59 [autofit] Fix invalid character range description (#50745). Also reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1034 * src/autofit/afranges.c (af_glag_nonbase_uniranges): Fix typo in recent commit.
Werner Lemberg 04e00b8a 2017-04-07T17:13:38 [ftfuzzer] Fix clang warnings. * src/tools/ftfuzzer/ftfuzzer.cc (LLVMFuzzerTestOneInput): Add casts.
Sascha Brawer 2c256e6d 2017-04-06T17:05:47 [autofit] Add support for Lisu script. * src/autofit/afblue.dat: Add blue zone data for Lisu. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Lisu standard characters. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Lisu data.
Sascha Brawer 2b911476 2017-04-06T16:49:39 [autofit] Add support for Osage script. * src/autofit/afblue.dat: Add blue zone data for Osage. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Osage standard characters. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Osage data.
Sascha Brawer 628e2850 2017-04-06T12:47:27 [autofit] Add support for Glagolitic script. * src/autofit/afblue.dat: Add blue zone data for Glagolitic. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Glagolitic standard characters. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Glagolitic data.
Sascha Brawer 6967eb93 2017-04-06T11:35:07 [autofit] Add support for Tai Viet script. * src/autofit/afblue.dat: Add blue zone data for Tai Viet. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Tai Viet standard characters. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Tai Viet data.
Sascha Brawer 837f1125 2017-04-06T08:44:08 [autofit] Add support for Tifinagh script. * src/autofit/afblue.dat: Add blue zone data for Tifinagh. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Tifinagh standard characters. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Tifinagh data.
Sascha Brawer 134246b7 2017-04-06T07:06:32 [autofit] Add support for N'Ko script. * src/autofit/afblue.dat: Add blue zone data for N'Ko. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add N'Ko standard characters. * src/autofit/afranges.c, src/autofit/afstyles.h: Add N'Ko data.
Sascha Brawer ba9cee47 2017-04-06T05:50:44 [autofit] Add support for Adlam script. * src/autofit/afblue.dat: Add blue zone data for Adlam. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Adlam standard characters. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Adlam data.
Sascha Brawer 8210ee4b 2017-04-06T05:39:51 [autofit] Add support for Ol Chiki script. * src/autofit/afblue.dat: Add blue zone data for Ol Chiki. * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. * src/autofit/afscript.h: Add Ol Chiki standard character. * src/autofit/afranges.c, src/autofit/afstyles.h: Add Ol Chiki data.
Werner Lemberg 093c1820 2017-04-03T11:37:33 [truetype] Avoid reexecution of `fpgm' and `prep' in case of error. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=981 * include/freetype/fterrdef.h (FT_Err_DEF_In_Glyf_Bytecode): New error code. * src/truetype/ttinterp.c (Ins_FDEF, Ins_IDEF): Prohibit execution of these two opcodes in `glyf' bytecode. (TT_RunIns): Don't enforce reexecution of `fpgm' and `prep' bytecode in case of error since function tables can no longer be modified (due to the changes in `Ins_FDEF' and `Ins_IDEF'). This change can enormously speed up handling of broken fonts.
Alexei Podtelezhnikov e7b01304 2017-04-02T22:01:47 [autofit] Disable metrics adjustment for `FT_LOAD_TARGET_LCD'. * src/autofit/aflatin.c (af_latin_hints_init): Updated. * src/autofit/aflatin2.c (af_latin2_hints_init): Ditto.
Werner Lemberg bb6c037b 2017-04-01T09:49:11 * src/truetype/ttgload.c: Include FT_CONFIG_CONFIG_H. Otherwise FT_UINT_TO_POINTER might not be defined. Problem reported by Alexei.
Alexei Podtelezhnikov 54b58097 2017-03-31T22:41:53 [autofit] Disable stem adjustment for `FT_LOAD_TARGET_LCD'. * include/freetype/freetype.h (FT_LOAD_TARGET_LCD): Document it. * src/autofit/afcjk.c (af_cjk_hints_init): Updated. * src/autofit/aflatin.c (af_latin_hints_init): Ditto. * src/autofit/aflatin2.c (af_latin2_hints_init): Ditto.
Werner Lemberg 5a3490e0 2017-03-31T09:35:58 * src/cff/cffload.c (cff_font_load): Improve fix from 2017-01-04. Allow CFFs containing a single font to have an empty font name. Problem reported by 張俊芝 <418092625@qq.com> in http://lists.nongnu.org/archive/html/freetype-devel/2017-03/msg00074.html
Werner Lemberg c8c67639 2017-03-30T21:07:17 * src/cff/cffparse.h (CFF2_DEFAULT_STACK): Set to 513 also. Requested by Dave Arnold.
Werner Lemberg da38be83 2017-03-30T13:24:03 [truetype] Fix HVAR and VVAR handling (#50678). * src/truetype/ttgxvar.c (tt_hvadvance_adjust): Handle glyph indices larger than `mapCount' as described in the specification.
Werner Lemberg bcc74f4d 2017-03-30T13:14:43 [truetype] Allow linear scaling for unhinted rendering (#50470). * src/truetype/ttdriver.c (tt_size_request): Revert change from 2011-07-16; the intended metrics fix seems now to be implemented in a different way, making the patch unnecessary. Note that this change was usually patched out by all major GNU/Linux distributions due to heavy side effects. * src/truetype/ttgload.c (compute_glyph_metrics, TT_Load_Glyph): Refer to the metrics of the `TT_Size' object.
Werner Lemberg 1ede3674 2017-03-30T00:26:31 [truetype] Fix thinko related to PS name of default named instance. * src/truetype/ttgxvar.c (TT_Get_MM_Var): `strid' and `psid' are name ID values, not indices into the array of name entries.
Werner Lemberg 4c1b5dc1 2017-03-27T21:00:17 s/index/idx/ where appropriate.
Werner Lemberg 208e712d 2017-03-27T20:56:23 [cid, truetype] Don't use `index' as a variable name. At least on FreeBSD there is a global declaration of `index' in file `/usr/include/strings.h'. * src/cff/cf2intrp.c, src/truetype/ttgload.c: s/index/idx/ where appropriate.
Wojciech Mamrak 565f5a7d 2017-03-27T09:19:14 [sfnt] Minor improvement for handling kern tables. * src/sfnt/ttkern.c (tt_face_load_kern): Don't check for cross-stream kerning tables since we reject format 2 tables later on anyways. Modify code for limit test... (tt_face_get_kerning): ... to avoid a limit test here.
Werner Lemberg c22a9aa2 2017-03-27T07:57:24 [pcf] Fix compiler warnings. Reported by Alexander Hedges <ahedges@student.ethz.ch>. * src/pcf/pcfdrivr.c (pcf_property_set, pcf_property_get): Tag `property_name' with `FT_UNUSED' where necessary.
Werner Lemberg 3774fc08 2017-03-26T08:32:09 * src/psaux/psobjs.c (t1_builder_close_contour): Add safety guard. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=941
Werner Lemberg f958c48e 2017-03-24T09:15:10 [psaux] Better protect `flex' handling. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=935 * src/psaux/t1decode.c (t1_decoder_parse_charstrings) <callothersubr>: Since there is not a single flex operator but a series of subroutine calls, malformed fonts can call arbitrary other operators after the start of a flex, possibly adding points. For this reason we have to check the available number of points before inserting a point.
Werner Lemberg 913f436d 2017-03-23T18:37:06 [sfnt] Fix check for default named instance. * src/sfnt/sfobjs.c (sfnt_init_face): A `fixed' number needs four bytes, not two...
Werner Lemberg 67ff7664 2017-03-23T12:41:30 Make MM fonts work (again). * src/base/ftmm.c (FT_Set_Var_Design_Coordinates, FT_Set_MM_Blend_Coordinates, FT_Set_Var_Blend_Coordinates): Ignore return value of `ft_face_get_mvar_service'; instead, check whether a service is actually returned.
Werner Lemberg 683e3ad9 2017-03-21T19:49:11 [truetype] Some variable renamings. Too much local variables holding different structures were called `metrics'. * src/truetype/ttdriver.c (tt_size_select): s/metrics/size_metrics/. * src/truetype/ttgload.c (tt_get_metrics_incr_overrids, compute_glyph_metrics): s/metrics/incr_metrics/. (load_sbit_image): s/metrics/sbit_metrics/. * src/truetype/ttobjs.c (tt_size_run_fpgm): s/metrics/size_metrics/. (tt_size_init_bytecode): s/metrics/tt_metrics/. (tt_size_reset): s/metrics/size_metrics/.
Werner Lemberg 6342da9a 2017-03-20T05:36:41 [sfnt] Don't add instances to non-variation fonts. * src/sfnt/sfobjs.c (sfnt_init_face): Fix it.
Werner Lemberg dd64a622 2017-03-20T05:34:02 * src/cff/cffgload.c (cff_builder_init): Add safety guard (#50578).
Werner Lemberg 7aeee3c5 2017-03-18T17:30:42 Introduce FT_UINT_TO_POINTER macro (#50560). We have to make a separate case for Windows 64's LLP64 data model. * builds/unix/ftconfig.in, builds/vms/ftconfig.h, include/freetype/config/ftconfig.h (FT_UINT_TO_POINTER): New macro. * src/truetype/ttgload.c (load_truetype_glyph): Use it.
Werner Lemberg 3e79254a 2017-03-18T10:06:15 * src/truetype/ttinterp.c (TT_RunIns): Adjust loop counter (#50573). The problematic font that exceeds the old limit is Lato-Regular, version 2.007, containing bytecode generated by a buggy version of ttfautohint.
Werner Lemberg 13fa85a2 2017-03-18T09:42:58 [truetype] Another limitation for bytecode loop count maximum. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=900 * src/truetype/ttinterp.c (TT_RunIns): Limit `loopcall_counter_max' by number of glyphs also.
Werner Lemberg ab840e6a 2017-03-18T08:50:42 [ftfuzzer] Minor improvement. * src/tools/ftfuzzer/ftfuzzer.cc: Don't set intermediate axis if bitmap strikes are active.
Werner Lemberg 9931175d 2017-03-18T07:06:49 Improve `make multi'. * src/autofit/aflatin2.c: Guard file with FT_OPTION_AUTOFIT2. * src/base/ftmac.c: Guard more parts of the file with FT_MACINTOSH. * src/psaux/afmparse.c: Guard file with T1_CONFIG_OPTION_NO_AFM. * src/sfnt/pngshim.c: Guard file with TT_CONFIG_OPTION_EMBEDDED_BITMAPS also. * src/sfnt/ttbdf.c: Avoid empty source file. * src/sfnt/ttpost.c: Guard file with TT_CONFIG_OPTION_POSTSCRIPT_NAMES. * src/sfnt/ttsbit.c: Guard file with TT_CONFIG_OPTION_EMBEDDED_BITMAPS. * src/truetype/ttgxvar.c, src/truetype/ttinterp.c: Avoid empty source file. * src/truetype/ttsubpix.c: Guard file with TT_USE_BYTECODE_INTERPRETER also. * src/type1/t1afm.c: Guard file with T1_CONFIG_OPTION_NO_AFM. * src/autofit/autofit.c, src/base/ftbase.c, src/cache/ftcache.c, src/cff/cff.c, src/cid/type1cid.c, src/gxvalid/gxvalid.c, src/pcf/pcf.c, src/pfr/pfr.c, src/psaux/psaux.c, src/pshinter/pshinter.c, src/psnames/psnames.c, src/raster/raster.c, src/sfnt/sfnt.c, src/smooth/smooth.c, src/truetype/truetype.c, src/type1/type1.c, src/type42/type42.c: Remove conditionals; sort entries.
Werner Lemberg d5bfa053 2017-03-17T21:47:54 Fixes for conditional compilation. * src/autofit/afcjk.c, src/autofit/afindic.c: Include `afcjk.h' earlier. * src/sfnt/sfobjs.c (sfnt_init_face): Put `memory' variable into TT_CONFIG_OPTION_GX_VAR_SUPPORT block. (sfnt_done_face): Protect some code with TT_CONFIG_OPTION_GX_VAR_SUPPORT. * src/sfnt/ttsbit.c (tt_face_load_sbix_image): Remove compiler warning. * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Put `tmp' variable into TT_USE_BYTECODE_INTERPRETER block. (tt_loader_init): Put `error' variable into TT_USE_BYTECODE_INTERPRETER block.
Werner Lemberg e5595784 2017-03-17T21:34:08 Fix preprocessor warning. * devel/ftoption.h, include/freetype/config/ftoption.h: Test whether TT_CONFIG_OPTION_SUBPIXEL_HINTING is defined before checking its value.
Werner Lemberg bffb7fe9 2017-03-17T07:52:30 `make multi' fixes; compiler warnings. * src/base/ftsnames.c: Include FT_INTERNAL_DEBUG_H. * src/cff/cffobjs.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include FT_MULTIPLE_MASTERS_H and FT_SERVICE_MULTIPLE_MASTERS_H. * src/sfnt/sfdriver.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include FT_MULTIPLE_MASTERS_H and FT_SERVICE_MULTIPLE_MASTERS_H. (get_win_string, get_apple_string): Initialize `result'.
Dave Arnold fdbef538 2017-03-17T07:28:11 [cff] Fix potential bugs in default NDV for CFF2. * src/cff/cffload.c (cff_blend_build_vector): Explicitly build blend vector when `lenNDV' is zero; don't rely on zero-init. Save `lenNDV' as part of cache key even when `lenNDV' is zero.
Dave Arnold 0bf95b58 2017-03-17T07:22:55 [cff] Fix CFF2 stack allocation. * src/cff/cffparse.c (cff_parser_init) add 1 for operator.
Werner Lemberg d9ff6f20 2017-03-16T20:20:51 * src/truetype/ttgxvar.c (tt_done_blend): Free `vvar_table'. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=883
Werner Lemberg 981c23b7 2017-03-15T11:35:26 Remove clang compiler warnings (#50548). * include/freetype/internal/tttypes.h (TT_FaceRec): Make `var_postscript_prefix_len' unsigned. * src/autofit/afwarp.c (af_warper_compute_line_best): Remove redundant assignment. * src/cff/cffload.c (cff_subfont_load): Add casts. * src/cff/cffparse.c (cff_parse_blend): Remove redundant assignment. * src/sfnt/sfdriver.c (fmix32, murmur_hash_3_128): Add `static' keyword. Add casts. (fixed2float): Add cast. (sfnt_get_var_ps_name): Make `p' always initialized. Add casts. * src/truetype/ttgxvar.c (TT_Get_MM_Var): Add casts.
Werner Lemberg 3f92048a 2017-03-15T09:18:22 [ftfuzzer] Limit number of tested faces and instances. This is inspired by the discussion in and analysis of https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=859 * src/tools/ftfuzzer/ftfuzzer.cc (LLVMFuzzerTestOneInput): Use only up to 20 face indices. Use only up to 20 instance indices.
Werner Lemberg f87269c3 2017-03-15T08:03:16 * src/tools/ftfuzzer/ftfuzzer.cc: Improve readability; formatting.
Werner Lemberg 9357ef80 2017-03-15T07:56:22 Typo: s/stroke/strike/.
Werner Lemberg 34010f7c 2017-03-14T21:50:22 [sfnt] Implement PS names for font instances [3/3]. Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT. * include/freetype/internal/tttypes.h (TT_FaceRec): New fields `var_postscript_prefix' and `var_postscript_prefix_len'. * src/sfnt/sfdriver.c: Include FT_TRUETYPE_IDS_H. (sfnt_is_alphanumeric): New wrapperfunction for `ft_isalnum'. (get_win_string, get_apple_string): Remove `const' from return value. (MAX_VALUE_DESCRIPTOR_LEN, MAX_PS_NAME_LEN): New macros. (hexdigits): New array. (sfnt_get_var_ps_name): New function, implementing Adobe TechNote 5902 to construct a PS name for a variation font instance. (sfnt_get_ps_name): Call `sfnt_get_var_ps_name' for font instances. * src/sfnt/sfobjs.c (sfnt_done_face): Updated. * src/truetype/ttgxvar.c (tt_set_mm_blend): Reset `face->postscript_name' to trigger recalculation for new instance parameters.
Werner Lemberg 4fd9cc73 2017-03-14T19:40:50 [sfnt] Implement PS names for font instances [2/3]. * src/sfnt/sfdriver.c (fix2float) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New function to find the shortest representation of a 16.16 fractional number.
Werner Lemberg 4a32dce9 2017-03-14T19:32:12 [sfnt] Implement PS names for font instances [1/3]. Add 128bit MurmurHash 3 function. Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT. * src/sfnt/sfdriver.c (ROTL32): New macro. (fmix32, murmur_hash_3_128): New functions.
Werner Lemberg 447a0b62 2017-03-13T07:42:34 [truetype] Ignore invalid MVAR tags. Reported as https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=838 * src/truetype/ttgxvar.c (ft_var_load_mvar): Ignore value and emit warning for invalid tags. (tt_apply_mvar): Ignore invalid tags.