summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* [truetype] Always use interpreter v35 for B/W rendering (#51051).Nikolaus Waxweiler2017-05-204-29/+73
| | | | | | | | | | * src/truetype/ttgload.c (tt_loader_init) [TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL]: Adjust `subpixel_hinting_lean', `grayscale_cleartype', and `vertical_lcd_lean' accordingly. * src/truetype/ttinterp.c (Ins_GETINFO): Updated. (TT_RunIns): Update `backward_compatibility' flag.
* [smooth] Implement minimal dynamic padding for LCD filtering.Alexei Podtelezhnikov2017-05-204-33/+44
| | | | | | | | | | | | | | | | | | | Extra bitmap padding for LCD filtering depends on the filter. The default 5-tap filter needs 2 extra subpixels. The light 3-tap filter needs only 1 extra subpixel. This space could be already available due to rounding. In order to optimize the padding, we now expand CBox for the given filter weights before rounding. This change breakes current Skia (and Firefox). * include/freetype/internal/ftobjs.h (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Remove `lcd_extra' field. * src/base/ftlcdfil.c (FT_Library_SetLcdFilterWeights, FT_Library_SetLcdFilter): Remove `lcd_extra' initializations. * src/smooth/ftsmooth.c (ft_smooth_render_generic): Implement dymanic LCD padding.
* [autofit] More code sorting.Werner Lemberg2017-05-174-35/+35
|
* Code sorting.Werner Lemberg2017-05-171-12/+12
|
* [sfnt] Return proper scaling values for SBIX bitmaps.Werner Lemberg2017-05-152-0/+17
| | | | | | Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>. * src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Implement it.
* [truetype] Fix error handling for embedded bitmaps.Werner Lemberg2017-05-152-1/+17
| | | | | | | | 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.
* [autofit] Make autohint warping NORMAL option.Alexei Podtelezhnikov2017-05-155-31/+30
| | | | | | | | | | | | | | | 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.
* Remove remnants of raster pool.Werner Lemberg2017-05-146-35/+22
| | | | | | | | * 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.
* * Version 2.8 released.VER-2-8Werner Lemberg2017-05-1328-223/+265
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ======================= 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.
* formats.txt: Properly document PFB.Werner Lemberg2017-05-131-3/+13
|
* Fix `FT_UINT_TO_POINTER' macro for Windows.Hin-Tak Leung2017-05-124-3/+11
| | | | | | * builds/unix/ftconfig.in, builds/vms/ftconfig.h, include/freetype/config/ftconfig.h (FT_UINT_TO_POINTER) [_WIN64]: Fix definition.
* Update CHANGES file.Werner Lemberg2017-05-111-0/+8
|
* s/AF_BLUE_STRINGSET_CANADIAN_SYLLABICS/AF_BLUE_STRINGSET_CANS/.Werner Lemberg2017-05-113-3/+3
|
* [autofit] Add support for Chakma script.Sascha Brawer2017-05-117-193/+259
| | | | | | | | | * 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.
* [autofit] Add support for Kayah Li script.Sascha Brawer2017-05-107-109/+190
| | | | | | | | | * 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.
* [autofit] Add support for Bamum script.Sascha Brawer2017-05-107-204/+267
| | | | | | | | | * 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.
* [autofit] Add support for Saurashtra script.Sascha Brawer2017-05-107-38/+98
| | | | | | | | | | * 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.
* [autofit] Add support for Buhid script.Werner Lemberg2017-05-107-192/+266
| | | | | | | | | * 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.
* [autofit] Add support for Shavian script.Sascha Brawer2017-05-087-32/+112
| | | | | | | | | * 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.
* [autofit] Add support for Vai script.Sascha Brawer2017-05-087-2/+58
| | | | | | | | | * 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.
* [autofit] Add support for Osmanya script.Sascha Brawer2017-05-087-31/+88
| | | | | | | | | * 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.
* [autofit] Add support for Coptic script.Sascha Brawer2017-05-087-160/+234
| | | | | | | | | * 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.
* [autofit] Add support for Carian script.Sascha Brawer2017-05-087-165/+222
| | | | | | | | | * 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.
* [truetype] Add tricky font `DFGirl-W6-WIN-BF' (from Dynalab).Werner Lemberg2017-05-072-1/+10
| | | | | | Reported by Roy Tam <roytam@gmail.com>. * src/truetype/ttobjs.c (tt_check_trickyness_family): Implement it.
* [truetype] More tricky fonts (mainly from Dynalab).Roy Tam2017-05-072-9/+43
| | | | | * src/truetype/ttobjs.c (tt_check_trickyness_family, tt_check_trickyness_sfnt_ids): Add them.
* [truetype] Add tricky font `DLCHayMedium' (from Dynalab).Werner Lemberg2017-05-072-1/+10
| | | | | | Reported by Roy Tam <roytam@gmail.com>. * src/truetype/ttobjs.c (tt_check_trickyness_family): Implement it.
* */*: s/backwards compatibility/backward compatibility/.Werner Lemberg2017-05-0323-108/+112
|
* [autofit] Add support for Unified Canadian Syllabics script.Sascha Brawer2017-05-037-165/+256
| | | | | | | | | | | | * 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.
* [autofit] Add blue-zone support for Sundanese script.Sascha Brawer2017-05-038-46/+101
| | | | | | | | | | | | | | | | | | 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.
* [autofit] Add support for Avestan script.Sascha Brawer2017-05-037-165/+223
| | | | | | | | | * 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.
* [truetype] Make `IUP' gvar deltas do the same as Apple (#50832).Behdad Esfahbod2017-05-022-18/+20
| | | | | | | | | | | | | 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.
* [autofit] Remove `slight' auto-hint mode again.Werner Lemberg2017-05-0214-100/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* [autofit] Fix metrics computation.Werner Lemberg2017-04-302-0/+15
| | | | | | | | | 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.
* * src/truetype/ttdriver.c (tt_size_request): Properly check `error'.Werner Lemberg2017-04-293-0/+13
| | | | | | Reported by Earnestly <zibeon@googlemail.com> in http://lists.nongnu.org/archive/html/freetype/2017-04/msg00031.html
* Document CVE-2017-8287.Werner Lemberg2017-04-271-4/+5
|
* Introduce AF_CONFIG_OPTION_TT_SIZE_METRICS configuration option.Werner Lemberg2017-04-274-15/+53
| | | | | | | | | * 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.
* * include/freetype/freetype.h (FT_Render_Mode): Fix order.Werner Lemberg2017-04-262-1/+9
| | | | | | This retains backwards compatibility. Noted by Alexei.
* [truetype] Do linear scaling for FT_LOAD_NO_HINTING (#50470).Werner Lemberg2017-04-267-23/+55
| | | | | | | | | | | | | | | | | | | | | * 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.
* Add new `slight' auto-hinting mode.Werner Lemberg2017-04-2611-41/+187
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Document that some FT_Size_Metrics values are always rounded.Werner Lemberg2017-04-261-12/+19
|
* And another CVE for an older FreeType version.Werner Lemberg2017-04-261-2/+9
|
* Document CVE-2017-8105.Werner Lemberg2017-04-261-0/+5
|
* freetype.h: Avoid non-ASCII character (#50858).Werner Lemberg2017-04-231-1/+1
|
* Introduce `FT_Size_InternalRec' structure.Werner Lemberg2017-04-228-32/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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'.
* * src/smooth/ftsmooth.h: Remove unused guards and declaration.Alexei Podtelezhnikov2017-04-212-7/+4
|
* Typos.Alexei Podtelezhnikov2017-04-213-6/+5
|
* Typos.Alexei Podtelezhnikov2017-04-198-25/+25
|
* Typos.Alexei Podtelezhnikov2017-04-165-7/+7
|
* Fix tracing messages.Hin-Tak Leung2017-04-162-5/+17
| | | | | | * src/base/ftobjs.c (FT_Face_GetCharVariantIndex, FT_Face_GetCharVariantIsDefault, FT_Face_GetVariantsOfChar): Print correct function name.
* Typos.Alexei Podtelezhnikov2017-04-154-9/+9
|