| 
              
19d39f43
               | 
              
2020-07-03T09:17:22
               | 
              
               | 
              
[smooth] Use direct rendering mode in Harmony.
Instead of rendering 3 bitmaps side by side and reshuffling, we use
direct rendering to deliver the bitmaps on each third byte.
* src/smooth/ftsmooth.c (ft_smooth_raster_lcd)
[!FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Set up direct mode with...
(ft_smooth_lcd_spans): ... new span function.
               | 
            
            
              
   
               | 
              
2d67511a
               | 
              
2020-07-03T09:02:09
               | 
              
               | 
              
[smooth] Separate LCD paths from gray rendering.
This makes `ft_smooth_render' a lot smaller and easier to follow. It
also cleanly separates Harmony and ClearType-style LCD rendering
algorithms. Now I only wish to move LCD filtering and geometry from
FT_Library to FT_Renderer.
* src/smooth/ftsmooth.c (ft_smooth_render): Move LCD code from here...
(ft_smooth_raster_lcd, ft_smooth_raster_lcdv): ... to here.
[FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Reorganize #ifdef's.
               | 
            
            
              
   
               | 
              
a4434747
               | 
              
2020-06-20T05:31:34
               | 
              
               | 
              
[cff] Fix handling of `style_name == NULL' (#58630).
* src/cff/cffobjs.c (cff_face_init): If a call to `cff_strcpy' fails
by returning NULL in `cff_face_init', `remove_style' is still
called.  This means that the NULL pointer is dereferenced, causing a
crash.
               | 
            
            
              
   
               | 
              
f594ffdc
               | 
              
2020-06-19T18:55:49
               | 
              
               | 
              
[cff] Fix another two memory leaks (#58629).
* src/cff/cffobjs.c (cff_size_init): If a call to `funcs->create'
fails to allocate one of the `internal->subfont' variables, make
sure to free `internal->topfont' and any successfully allocated
subfonts.
               | 
            
            
              
   
               | 
              
2e2f3cb5
               | 
              
2020-06-19T16:29:07
               | 
              
               | 
              
[psaux] Fix memory leak (#58626).
* src/psaux/psstack.c (cf2_stack_init): If `cf2_stack_init' fails to
allocate the stack, return error early.
               | 
            
            
              
   
               | 
              
09b98060
               | 
              
2020-06-19T16:21:08
               | 
              
               | 
              
Fix memory leak (#58624).
* src/base/ftobjs.c (FT_New_Size): Avoid trying to free
  `size->internal`, unless `size' has been allocated. This
  mistake appeared in the fix for 58611.
               | 
            
            
              
   
               | 
              
6e722f2e
               | 
              
2020-06-19T08:39:23
               | 
              
               | 
              
[base] Rework d1180b5f9598 until further notice.
* src/base/ftoutln.c (FT_Outline_Get_Orientation): Reject large
outlines.
               | 
            
            
              
   
               | 
              
8ed5a247
               | 
              
2020-06-19T10:35:57
               | 
              
               | 
              
[cff, cid] Fix segfaults in case of error (#58621).
* src/cff/cffobjs.c (cff_slot_done), src/cid/cidobjs.c
(cid_slot_done): If `ft_glyphslot_init' fails to allocate
`internal', then the class' `done_slot' callback (called by
`ft_glyphslot_done') must not dereference the pointer to `internal'.
               | 
            
            
              
   
               | 
              
d1180b5f
               | 
              
2020-06-19T08:18:26
               | 
              
               | 
              
[base] Fix UBSAN error.
Reported as
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=23166
* src/base/ftoutln.c (FT_Outline_Get_Orientation): Avoid values
larger than 32 bits.
               | 
            
            
              
   
               | 
              
4d364b68
               | 
              
2020-06-19T05:41:37
               | 
              
               | 
              
[woff2] Fix segfault.
Reported as
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=23402
* src/sfnt/sfwoff2.c (get_x_mins): Check whether `loca' table
exists.
               | 
            
            
              
   
               | 
              
d924c5cf
               | 
              
2020-06-19T04:14:39
               | 
              
               | 
              
[sfnt] Support Intel compilers.
* src/sfnt/pngshim.c (premultiply_data): Intel compilers do not
currently support `__builtin_shuffle'.
               | 
            
            
              
   
               | 
              
a4429959
               | 
              
2020-06-18T15:12:03
               | 
              
               | 
              
[base] Fix memory leak (#58611).
* src/base/ftobjs.c (FT_New_Size): When the call to `clazz->init_size'
fails, make sure to free `size->internal'.
               | 
            
            
              
   
               | 
              
575b78d9
               | 
              
2020-06-18T15:12:03
               | 
              
               | 
              
[cff] Fix memory leak (#58610).
* src/cff/cffobjs.c (cff_size_init): When the call to
`funcs->create' fails, make sure to free `internal'.
               | 
            
            
              
   
               | 
              
74cebeae
               | 
              
2020-06-19T03:41:12
               | 
              
               | 
              
* src/cff/cffload.c (cff_index_get_pointers): Rename `t' to `tbl'.
               | 
            
            
              
   
               | 
              
c8cd139c
               | 
              
2020-06-18T13:46:37
               | 
              
               | 
              
[cff] Free table upon error allocating other data (#58609).
* src/cff/cffload.c (cff_index_get_pointers): When new_bytes fails
to allocate, make sure to free the table.  Do the same for both
allocations if there is a later error.
               | 
            
            
              
   
               | 
              
16586859
               | 
              
2020-06-13T21:15:45
               | 
              
               | 
              
Remove redundant inclusion of `ft2build.h'.
* */*: Remove `#include <ft2build.h>' where possible.
* include/freetype/freetype.h: Remove cpp error about missing
inclusion of `ft2build.h'.
               | 
            
            
              
   
               | 
              
e1339133
               | 
              
2020-06-08T13:31:55
               | 
              
               | 
              
Make macros for header file names optional.
We no longer have to take care of the 8.3 file name limit; this
allows us (a) to introduce longer, meaningful file names, and (b) to
avoid macro names in `#include' lines altogether since some
compilers (most notably Visual C++) doesn't support this properly.
*/*: Replace
   #include FOO_H
with
   #include <freetype/foo.h>
or something similar.  Also update the documentation.
               | 
            
            
              
   
               | 
              
9e6e903c
               | 
              
2020-06-02T17:14:54
               | 
              
               | 
              
* src/sfnt/ttcmap.c (tt_face_build_cmaps): Trace number of cmaps.
               | 
            
            
              
   
               | 
              
62fea391
               | 
              
2020-05-18T09:33:38
               | 
              
               | 
              
Remove obsolete HAVE_STDINT_H probing macro.
This macro was updated by the unix configure script and the
`CMakeLists.txt' one, but is never used in the source tree (nor is
<stdint.h> included anywhere).
* CMakeLists.txt, builds/unix/ftconfig.in: Don't handle
`HAVE_STDINT_H'.
               | 
            
            
              
   
               | 
              
4eee1340
               | 
              
2020-05-18T09:16:12
               | 
              
               | 
              
Remove Jamfile files from the tree.
These have not been used in a very, very long time, so better remove
them.  A corresponding patch will be submitted to the
`freetype2-demos' repository.
* src/Jamfile, src/*/Jamfile, Jamrules: Delete.
               | 
            
            
              
   
               | 
              
3f70e6d2
               | 
              
2020-05-12T00:38:46
               | 
              
               | 
              
[smooth] Turn on LCD filtering during FreeType initialization.
* src/smooth/ftsmooth.c (ft_smooth_init): Enable LCD filtering.
* include/freetype/ftlcdfil.h: Document it, remove patent warnings.
* include/freetype/freetype.h (FT_Render_Mode): Updated.
* include/freetype/config/ftoption.h, devel/ftoption.h
[FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Do not mention patents.
               | 
            
            
              
   
               | 
              
652f8863
               | 
              
2020-05-11T23:30:37
               | 
              
               | 
              
[smooth] Stop using dedicated LCD modules and classes.
The LCD modules were never truly independent. They mostly served as
a way to disable patented LCD rendering, which is no longer necessary.
The `smooth' module now handles LCD modes as well.
* src/smooth/ftsmooth.c (ft_smooth_lcd_renderer_class.
ft_smooth_lcdv_renderer_class): Deleted.
(ft_render_smooth): Reworked from `ft_render_smooth_generic'.
* src/smooth/ftsmooth.h: Remove dedicated LCD classes.
* src/smooth/module.mk: Remove dedicated LCD modules.
* include/freetype/config/ftmodule.h: Ditto.
* builds/amiga/include/config/ftmodule.h: Ditto.
* include/freetype/ftmodapi.h: Do not mention LCD modules.
               | 
            
            
              
   
               | 
              
132f19b7
               | 
              
2020-05-05T20:14:14
               | 
              
               | 
              
* Version 2.10.2 released. ==========================
Tag sources with `VER-2-10-2'.
* docs/VERSION.TXT: Add entry for version 2.10.2.
* README, Jamfile (RefDoc), src/base/ftver.rc,
builds/windows/vc2010/index.html, builds/windows/visualc/index.html,
builds/windows/visualce/index.html,
builds/wince/vc2005-ce/index.html,
builds/wince/vc2008-ce/index.html, docs/freetype-config.1:
s/2.10.1/2.10.2/, s/2101/2102/.
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
* builds/unix/configure.raw (version_info): Set to 23:2:17.
* CMakeLists.txt (VERSION_PATCH): Set to 2.
* docs/CHANGES: Updated.
               | 
            
            
              
   
               | 
              
a45da253
               | 
              
2020-05-08T10:59:37
               | 
              
               | 
              
* src/truetype/ttinterp.c (TT_RunIns): Adjust loop counter (#58319).
The font that exceeds the old limit is Icono Regular, version
1.00000.
               | 
            
            
              
   
               | 
              
de60e7d3
               | 
              
2020-05-03T17:11:20
               | 
              
               | 
              
* builds/freetype.mk: Refactor for readability.
               | 
            
            
              
   
               | 
              
49967cb6
               | 
              
2020-05-02T13:50:33
               | 
              
               | 
              
[builds] Clean up Windows CE project files.
Remove version from filenames that caused a lot of polution in the
release process. Use VERSIONINFO resource instead.
* builds/wince/vc2005-ce/freetype.vcproj,
builds/wince/vc2008-ce/freetype.vcproj,
builds/windows/visualce/freetype.vcproj,
builds/windows/visualce/freetype.dsp: s/2101//g, but add `ftver.rc'.
* builds/wince/vc2008-ce/index.html,
builds/wince/vc2005-ce/index.html,
builds/windows/visualce/index.html: s/2101//g.
               | 
            
            
              
   
               | 
              
a612da0e
               | 
              
2020-05-01T22:52:52
               | 
              
               | 
              
* devel/ft2build.h: Override FT_CONFIG_MODULES_H here as well.
               | 
            
            
              
   
               | 
              
9c850f56
               | 
              
2020-05-01T22:30:15
               | 
              
               | 
              
[builds/unix] Consolidate marco overrides (for the demos to see them).
* builds/unix/unix-cc.in (FT_CONFIG_MODULES_H, FT_CONFIG_OPTIONS_H):
Override them here...
* builds/freetype.mk: ... instead of here.
               | 
            
            
              
   
               | 
              
11beee85
               | 
              
2020-04-08T09:05:32
               | 
              
               | 
              
Allow setting `CC' in Unix build (#58051).
* builds/unix/unix-cc.in (CC): Use `override'.  The command line
  value of `CC' (if any) is stored already in `CCraw'.
               | 
            
            
              
   
               | 
              
7a019a63
               | 
              
2020-04-04T14:06:37
               | 
              
               | 
              
[woff2] Return if single stream operation fails.
* src/sfnt/sfwoff2.c (get_x_mins): Do it.
* src/sfnt/woff2tags.c: Remove unused include.
               | 
            
            
              
   
               | 
              
13c0df80
               | 
              
2020-03-22T23:29:51
               | 
              
               | 
              
[docs] Fix building docs if `srcdir' != `builddir'.
`docs/reference/*' was moved one directory up in commit 237fed6.
* builds/unix/unix-def.in (PIP): Remove variable.
* configure: Create `docs' directory and copy assets from
`docs/markdown'.
* docs/README: Output directory is `reference'.
               | 
            
            
              
   
               | 
              
1fd31487
               | 
              
2020-03-21T20:17:17
               | 
              
               | 
              
[docwriter] Drop support for Python < 3.5.
Python versions < 3.5 have reached end-of-life and as such, no
security or bug fixes will be provided for those versions.  See
  https://devguide.python.org/#status-of-python-branches
for more information.
* Jamfile (RefDoc): Add `site' parameter.
* builds/detect.mk (std_setup): Update Python version requirement.
* builds/freetype.mk (refdoc-venv): Use pip as `python -m pip'.
* builds/unix/ax_compare_version.m4,
builds/unix/ax_prog_python_version.m4: Macros to detect Python
version.  New files.
* builds/unix/configure.raw: Check for Python >= 3.5 and remove
check for `pip'.
* docs/CHANGES, docs/INSTALL.GNU, docs/README: Updated.
               | 
            
            
              
   
               | 
              
6a431038
               | 
              
2020-03-02T18:21:27
               | 
              
               | 
              
[gzip] Support `gzip' encoded header conditionally.
In order to support `gzip' encoded header the call to
`inflateInit2' was modified in commit 6a92b1fadde26477a9179.
However, this code breaks with the outdated internal version
of zlib.  This is a temporary fix to conditionally support
`gzip' encoded header whenever a system installation of zlib
is being used.
Problem report in
  https://lists.nongnu.org/archive/html/freetype-devel/2020-02/msg00023.html
* src/gzip/ftgzip.c (FT_Gzip_Uncompress): Change the the call to
`inflateInit2' depending on whether the system installation is
being used or the internal copy.
               | 
            
            
              
   
               | 
              
11975fe9
               | 
              
2020-02-29T20:18:00
               | 
              
               | 
              
Fix state of `FT_Face' for buggy `gvar' tables (#57923).
By resetting the blend as implemented with this commit fonts with
invalid `gvar' tables may keep calling into `ft_var_load_gvar' from
`tt_set_mm_blend' and failing, but the font was invalid anyway and
we want to keep seeing the failure in `tt_set_mm_blend'.
* src/truetype/ttgxvar.c (ft_var_load_gvar): Calculate length of
offset array once.
Allocate arrays after `FT_FRAME_ENTER' (extra check before
allocating and avoid needing to free array later if error entering
frame).
Always call `FT_FRAME_EXIT'.
Consistently set counts immediately after array initialized.
Reset the blend (particularly `blend->glyphoffsets') on failure.
               | 
            
            
              
   
               | 
              
149b9055
               | 
              
2020-02-29T20:28:03
               | 
              
               | 
              
ChangeLog entry for last commit.
               | 
            
            
              
   
               | 
              
216e0776
               | 
              
2020-02-28T07:43:00
               | 
              
               | 
              
[truetype] Add better checks for loading `gvar' table (#57905).
* src/truetype/ttgxvar.c (ft_var_load_gvar): Delay settings of any
`blend->xxxcount' values until the corresponding data has been
checked.
Also do some sanitizing to avoid a too early exit.
(TT_Vary_Apply_Glyph_Deltas): Improve tracing message.
               | 
            
            
              
   
               | 
              
141da028
               | 
              
2020-02-27T09:49:06
               | 
              
               | 
              
Make `FT_HAS_*' and `FT_IS_*' really return true (#57906).
* include/freetype/freetype.h (FT_HAS_*, FT_IS_*): Implement it.
               | 
            
            
              
   
               | 
              
5b1a37af
               | 
              
2020-02-25T11:08:11
               | 
              
               | 
              
Fix for CFF space glyph regression (#57541).
* src/psaux/psft.c (cf2_decoder_parse_substrings): Replace early-out
  with FT_OFFSET.
               | 
            
            
              
   
               | 
              
fa147af4
               | 
              
2020-02-22T18:30:46
               | 
              
               | 
              
[woff2] Fix font table access.
Reported as
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=20778
* src/sfnt/sfwoff2.c (get_x_mins): Explicitly check for presence of
`head' table, which might not have been processed yet.
               | 
            
            
              
   
               | 
              
6e49dff0
               | 
              
2020-02-21T20:57:52
               | 
              
               | 
              
[psaux] Make `t1_decoder_parse_metrics' handle `op_div' (#57519).
* src/psaux/t1decode.c (t1_decoder_parse_metrics): Copy
corresponding code from old engine's `t1_decoder_parse_charstrings'
function.
               | 
            
            
              
   
               | 
              
49f3394d
               | 
              
2020-02-19T12:56:49
               | 
              
               | 
              
[autofit] Add support for Hanifi Rohingya script.
* src/autofit/afblue.dat: Add blue zone data for Hanifi Rohingya.
* src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
* src/autofit/afscript.h: Add Hanifi Rohingya standard character.
* src/autofit/afranges.c, src/autofit/afstyles.h: Add Hanifi
  Rohingya data.
               | 
            
            
              
   
               | 
              
84d56589
               | 
              
2020-02-19T18:13:02
               | 
              
               | 
              
Require HarfBuzz 1.8.
* builds/unix/configure.raw, CMakeLists.txt: Request HarfBuzz 1.8.0
or newer.
We are going to add auto-hinter support for Hanifi Rohingya, which
was introduced in Unicode 11.0.
               | 
            
            
              
   
               | 
              
8930cc96
               | 
              
2020-02-12T18:25:03
               | 
              
               | 
              
* src/sfnt/ttcmap.c (tt_face_build_cmaps): Ignore version (#57708).
               | 
            
            
              
   
               | 
              
4a19a53d
               | 
              
2020-02-04T13:37:19
               | 
              
               | 
              
* src/truetype/ttinterp.c (TT_RunIns): Adjust loop counter (#57732).
The font that exceeds the old limit is Constantine, version 1.001.
               | 
            
            
              
   
               | 
              
e5038be7
               | 
              
2020-01-19T17:05:19
               | 
              
               | 
              
Update all copyright notices.
               | 
            
            
              
   
               | 
              
fd03cf88
               | 
              
2020-01-04T19:28:36
               | 
              
               | 
              
[base] Fix `FREETYPE_PROPERTIES=type1:hinting-engine=adobe`.
* src/base/ftpsprop.c (ps_property_set) [hinting-engine]: Avoid an
incorrect return value that caused a warning.  The function did the
right thing, though.
               | 
            
            
              
   
               | 
              
50b01387
               | 
              
2020-01-04T18:42:27
               | 
              
               | 
              
Add reference to another oss-fuzz bug report.
               | 
            
            
              
   
               | 
              
a99a8e28
               | 
              
2020-01-03T18:09:12
               | 
              
               | 
              
[woff2] Fix memory leaks and a runtime warning.
Reported as
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19773
* src/sfnt/sfwoff2.c (compute_ULong_sum): Add missing cast.
(reconstruct_hmtx): Add missing deallocation calls.
               | 
            
            
              
   
               | 
              
10d8de75
               | 
              
2019-12-30T11:22:04
               | 
              
               | 
              
[truetype] Fix UBSan warning on offset to nullptr (#57501).
* src/truetype/ttinterp.c (Ins_CALL): Fail if `exc->FDefs' is null.
               | 
            
            
              
   
               | 
              
a4df0373
               | 
              
2019-12-31T16:04:01
               | 
              
               | 
              
[woff2] Allow bitmap-only fonts (#57394).
* src/sfnt/sfwoff2.c (reconstruct_font): Fix test for `glyf' and
`loca' tables.
               | 
            
            
              
   
               | 
              
496601e5
               | 
              
2019-12-18T23:11:22
               | 
              
               | 
              
[docs] (2/2) Fix generation of API documentation (#56745).
Creating the API Reference in the (new) `reference' sub-directory is
consistent with other documentation sub-topics, such as `design',
`glyphs' and `tutorial'.
This patch fixes broken hyperlinks in the documentation pointing to
and from the API Reference.  It also allows web assets to load from
their relative paths.
* builds/freetype.mk (DOC_DIR): Adjust.
(refdoc, refdoc-venv): Add `--site' argument.
* builds/toplevel.mk (do-dist): Updated.
               | 
            
            
              
   
               | 
              
237fed6d
               | 
              
2019-12-18T23:07:35
               | 
              
               | 
              
[docs] (1/2) Move static web assets (#56745).
* docs/reference/*: Move ...
* docs: ... one directory up.
               | 
            
            
              
   
               | 
              
8cee1dde
               | 
              
2019-12-17T14:12:38
               | 
              
               | 
              
Fix more UBSan warnings on adding offset to nullptr (#57432).
* src/truetype/ttinterp.c (Ins_LOOPCALL), src/psaux/psft.c
(cf2_initLocalRegionBuffer): Use `FT_OFFSET'.
               | 
            
            
              
   
               | 
              
7e1b39f6
               | 
              
2019-12-16T11:07:58
               | 
              
               | 
              
[truetype] Fix UBSan warnings on adding offsets to nullptr.
Reported as
  https://bugs.chromium.org/p/chromium/issues/detail?id=1032152
* src/truetype/ttinterp.c (Ins_FDEF, Ins_IDEF): Use `FT_OFFSET'.
               | 
            
            
              
   
               | 
              
0c14a3ad
               | 
              
2019-12-14T00:04:01
               | 
              
               | 
              
[truetype] Fix integer overflow.
Reported as
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19305
* src/truetype/ttinterp.c (Ins_MIRP): Use `ADD_LONG'.
               | 
            
            
              
   
               | 
              
2c9a2d58
               | 
              
2019-12-13T23:56:25
               | 
              
               | 
              
Another bunch of UBSan warnings on adding offsets to nullptr.
Reported as
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19427
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19433
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19441
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19451
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19452
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19457
* src/autofit/aflatin.c (af_latin_hints_compute_segments,
af_latin_hints_compute_edges): Use `FT_OFFSET'.
* src/base/ftstream.c (FT_Stream_EnterFrame): Use `FT_OFFSET'.
* src/psaux/cffdecode.c (cff_decoder_parse_charstrings): Exit early
if there is no charstring.
* src/psaux/psobjs.c (t1_decrypt): Use `FT_OFFSET'.
* src/smooth/ftsmooth.c (ft_smooth_render_generic): Exit early for
zero bitmap dimensions.
               | 
            
            
              
   
               | 
              
11d4ce23
               | 
              
2019-12-09T12:40:42
               | 
              
               | 
              
Fix more UBSan warnings on adding offset to nullptr (#57384)
* src/smooth/ftsmooth.c (ft_smooth_render_generic),
src/psaux/psobjs.c (ps_table_add): Use `FT_OFFSET'.
               | 
            
            
              
   
               | 
              
dfc9a049
               | 
              
2019-12-05T08:44:30
               | 
              
               | 
              
* src/truetype/ttinterp.c (TT_RunIns): Use `FT_OFFSET'.
Reported as
  https://bugs.chromium.org/p/chromium/issues/detail?id=1030614
               | 
            
            
              
   
               | 
              
551bd3a9
               | 
              
2019-12-03T11:52:48
               | 
              
               | 
              
More nullptr offset UBSan warnings (#57331, #57347).
* src/autofit/afcjk.c (af_cjk_hints_compute_segments),
src/psaux/psft.c (cf2_getSeacComponent), src/truetype/ttinterp.c
(Ins_UNKNOWN): Use `FT_OFFSET'.
               | 
            
            
              
   
               | 
              
4270e9f3
               | 
              
2019-11-27T11:38:45
               | 
              
               | 
              
Avoid more nullptr offset UBSan warnings (#57316).
* src/base/ftoutln.c (FT_Outline_Transform): Bail on empty points.
* src/cff/cffload.c (cff_subfont_load): Use `FT_OFFSET'.
* src/psaux/psft.c (cf2_decoder_parse_substrings): Early out if
`charstring_base' or `charstring_len' are null.
* src/sfnt/ttload.c (tt_face_load_name): Use `FT_OFFSET'.
               | 
            
            
              
   
               | 
              
d4f9c249
               | 
              
2019-11-23T11:25:28
               | 
              
               | 
              
[base] Really fix #57194.
Apply accidentally missed second part of patch.
* src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Call
`FT_GlyphLoader_CreateExtra'.
               | 
            
            
              
   
               | 
              
9df460b6
               | 
              
2019-11-23T11:09:40
               | 
              
               | 
              
[truetype] Avoid sanitizer warning (#57289).
* src/truetype/ttpload.c (tt_face_get_device_metrics): Use
`FT_OFFSET'.
               | 
            
            
              
   
               | 
              
c67b9a1c
               | 
              
2019-11-23T11:01:18
               | 
              
               | 
              
[truetype] Fix integer overflow (#57287).
* src/truetype/ttgload.c (compute_glyph_metrics): Use `SUB_LONG'.
               | 
            
            
              
   
               | 
              
3cb7b3f7
               | 
              
2019-11-23T10:54:51
               | 
              
               | 
              
[sfnt] Avoid sanitizer warning (#57286).
* src/sfnt/ttcmap.c (tt_face_build_cmaps): Avoid possible `NULL +
offset' computation.
Tag `table' as `const'.
               | 
            
            
              
   
               | 
              
2d1d60aa
               | 
              
2019-11-23T10:42:04
               | 
              
               | 
              
[base] Fix `NULL + offset' sanitizer warnings (#57194).
* src/base/ftgloadr.c (FT_GlyphLoader_Adjust_Points,
FT_GlyphLoader_Adjust_Subglyphs): Use `FT_OFFSET'.
(FT_GlyphLoader_CreateExtra): Add short cut if some values are zero.
               | 
            
            
              
   
               | 
              
26d0f579
               | 
              
2019-11-23T10:28:37
               | 
              
               | 
              
* include/freetype/internal/ftmemory.h (FT_OFFSET): New macro.
Use this for `base + offset' pointer calculations where `base' can
be NULL (triggering a sanitizer warning even if the resulting
pointer gets never dereferenced since it is undefined behaviour
in C).
Suggested by Ben Wagner.
               | 
            
            
              
   
               | 
              
9b017959
               | 
              
2019-11-23T10:07:48
               | 
              
               | 
              
[sfnt] Ensure OTTO fonts have tables (#57285).
* src/sfnt/ttload.c (tt_face_load_font_dir): Add test.
               | 
            
            
              
   
               | 
              
07c8d8bb
               | 
              
2019-11-23T10:00:02
               | 
              
               | 
              
Minor fixes for recent compilers.
* src/gzip/infutil.h (inflate_mask): Add `const'.
* src/autofit/aflatin2.c: Include `ft2build.h'.
               | 
            
            
              
   
               | 
              
3aaae716
               | 
              
2019-11-07T23:39:41
               | 
              
               | 
              
CMakeLists.txt: minor doc additions, compile builds/unix/ftsystem.c on UNIX
               | 
            
            
              
   
               | 
              
b75031a2
               | 
              
2019-10-25T21:29:13
               | 
              
               | 
              
* src/sfnt/sfwoff2.c (woff2_open_font): Check `num_fonts' for TTCs.
Reported as
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18494
               | 
            
            
              
   
               | 
              
3b8bc65c
               | 
              
2019-10-22T08:07:05
               | 
              
               | 
              
* src/sfnt/sfwoff2.c (woff2_open_font): Avoid undefined shift.
Also improve tracing.
Reported as
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18390
               | 
            
            
              
   
               | 
              
90a30f15
               | 
              
2019-10-10T22:04:50
               | 
              
               | 
              
* src/sfnt/pngshim.c (premultiply_data): Optimize for __SSE__ only.
               | 
            
            
              
   
               | 
              
545a481a
               | 
              
2019-10-10T13:11:06
               | 
              
               | 
              
* src/sfnt/sfwoff2.c (reconstruct_glyf): Check `triplet_size'.
Reported as
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18108
               | 
            
            
              
   
               | 
              
1e9229f0
               | 
              
2019-10-09T15:37:19
               | 
              
               | 
              
[cff] Fix FT_FACE_FLAG_GLYPH_NAMES for CFF2 based fonts (#57023).
* src/cff/cffobjs.c (cff_face_init): Don't set FT_FACE_FLAG_GLYPH_NAMES
for CFF2 based fonts.
               | 
            
            
              
   
               | 
              
5a1a79c0
               | 
              
2019-10-08T11:12:18
               | 
              
               | 
              
[woff2] Fix SFNT table checks.
Also reduce number of SFNT table lookups.
Reported as
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18065
* include/freetype/internal/wofftypes.h (WOFF2_InfoRec): Add fields
`glyf_table', `loca_table', and `head_table'.
* src/sfnt/sfwoff2.c (reconstruct_glyf): Update signature.
Use table pointers in `info' parameter.
(get_x_mins): Check `maxp_table'
Use table pointers in `info' parameter.
(reconstruct_font):  Use and set table pointers in `info' parameter.
Fix check for `glyf' and `loca' tables.
Update call to `reconstruct_glyf'.
(woff2_open_font): Updated.
               | 
            
            
              
   
               | 
              
1167bff3
               | 
              
2019-10-06T23:22:34
               | 
              
               | 
              
* src/sfnt/sfwoff2 (reconstruct_glyf): Fix reallocation.
Reported as
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18046
               | 
            
            
              
   
               | 
              
0fcf486e
               | 
              
2019-10-06T21:12:42
               | 
              
               | 
              
Improve memory debugging.
* include/freetype/internal/ftmemory.h (FT_MEM_FREE): Use
`FT_DEBUG_INNER' to set source code file name and line.
* src/base/ftdbgmem.c (ft_mem_table_remove): Better formatting of
tracing message.
               | 
            
            
              
   
               | 
              
1f4e5bcb
               | 
              
2019-10-03T21:07:16
               | 
              
               | 
              
* src/sfnt/sfwoff2 (reconstruct_font): Fix reallocation.
Reported as
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=17966
               | 
            
            
              
   
               | 
              
c912690d
               | 
              
2019-09-30T22:45:34
               | 
              
               | 
              
* src/base/ftstroke.c (ft_stroker_inside): Speed up.
               | 
            
            
              
   
               | 
              
94815d6e
               | 
              
2019-10-01T00:15:25
               | 
              
               | 
              
* src/sfnt/sfwoff2 (woff2_open_font): Initialize `woff2.ttc_fonts'.
Reported as
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=17804
               | 
            
            
              
   
               | 
              
839a0236
               | 
              
2019-09-30T07:41:57
               | 
              
               | 
              
* src/sfnt/sfwoff2.c (reconstruct_font): Fix memory leak.
Reported as
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=17812
               | 
            
            
              
   
               | 
              
12696dcf
               | 
              
2019-09-30T07:27:55
               | 
              
               | 
              
[woff2] Reject fonts without `head' table.
Also fix memory deallocation in case of error.
`head' problem reported as
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=17820
* src/sfnt/sfwoff2.c (reconstruct_glyf): Don't use `stream_close'.
Abort if `head_table' is NULL.
Don't free `transformed_buf' in case of error.
(woff2_open_font): Don't set `uncompressed_buf' to NULL.
               | 
            
            
              
   
               | 
              
ba06adaf
               | 
              
2019-09-29T13:29:21
               | 
              
               | 
              
[woff2] Fix compiler warnings.
Problem reported by Alexei.
* src/sfnt/sfwoff2.c (reconstruct_glyf): Initialize `x_min'.
(reconstruct_font): Initialize `num_hmetrics'.
(woff2_open_font): Initialize `info'.
               | 
            
            
              
   
               | 
              
c37a5014
               | 
              
2019-09-28T07:42:34
               | 
              
               | 
              
* src/sfnt/sfwoff2.c (woff2_open_font): Fix sanity check.
Correct thinkos in patch from 2019-09-01.
               | 
            
            
              
   
               | 
              
2bf603bd
               | 
              
2019-09-28T07:37:24
               | 
              
               | 
              
[woff2] Fix memory leaks.
One of them reported as
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=17766
* src/sfnt/sfwoff2.c (woff2_open_font): Free `info->x_mins' and
`woff2->ttc_fonts'.
(reconstruct_glyf): Initialize `info->x_mins'.
               | 
            
            
              
   
               | 
              
b39576f9
               | 
              
2019-09-27T19:18:49
               | 
              
               | 
              
* src/base/ftstroke.c (ft_stroker_cap): Speed up caps.
               | 
            
            
              
   
               | 
              
432efa25
               | 
              
2019-09-25T21:50:16
               | 
              
               | 
              
* src/base/ftstroke.c (ft_stroker_outside): Speed up clipped miter.
* include/freetype/ftstroke.h: Wordsmith miter docs.
               | 
            
            
              
   
               | 
              
db4083fd
               | 
              
2019-09-25T08:48:26
               | 
              
               | 
              
* src/sfnt/sfwoff2.c (woff2_open_font): Check (sum of) table sizes.
Reported as
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=17684
               | 
            
            
              
   
               | 
              
4881f75b
               | 
              
2019-09-23T22:57:00
               | 
              
               | 
              
* src/base/ftstroke.c (ft_stroke_border_arcto): Speed up calculations.
               | 
            
            
              
   
               | 
              
5327092b
               | 
              
2019-09-20T06:30:28
               | 
              
               | 
              
[woff2] Fix memory leaks.
Reported as
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16896
* src/sfnt/sfwoff2.c (woff2_open_font): Fix error handling.
Free `uncompressed_buf'.
(reconstruct_font): Free `transformed_buf'.
               | 
            
            
              
   
               | 
              
04ebb2a0
               | 
              
2019-09-17T19:46:59
               | 
              
               | 
              
* src/otvalid/otvcommon.c (otv_Coverage_get_last): Guard `count'.
Problem reported by Marc Schönefeld <marc.schoenefeld@gmx.org>.
               | 
            
            
              
   
               | 
              
99f23d6f
               | 
              
2019-09-17T13:22:28
               | 
              
               | 
              
* src/sfnt/sfwoff2.c (woff2_open_font): Check table index.
Reported as
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=17100
               | 
            
            
              
   
               | 
              
cc17f852
               | 
              
2019-09-15T04:30:18
               | 
              
               | 
              
[cmake] Don't fail if brotli is missing (#56894).
The libs which cmake controls are commented out at
  include/freetype/config/ftoption.h
and cmake un-comment each enabled library, but the brotli option was
not commented out, therefore `FT_CONFIG_OPTION_USE_BROTLI' remained
defined even if brotli was missing/disabled/etc.
Comment it such that cmake can control it, which means leaving it
undefined if brotli is missing.
* include/freetype/config/ftoption.h: Fix typo.
               | 
            
            
              
   
               | 
              
3de1b8d0
               | 
              
2019-09-05T14:10:01
               | 
              
               | 
              
[cmake] Add brotli support.
* CMakeLists.txt (FT_WITH_BROTLI): New option.
* builds/cmake/FindBrotliDec.cmake: New file.
               | 
            
            
              
   
               | 
              
87f52252
               | 
              
2019-09-05T12:14:03
               | 
              
               | 
              
Fix handling of `AF_CONFIG_OPTION_INDIC'.
* devel/ftoption.h, include/freetype/config/ftoption.h:
`AF_CONFIG_OPTION_INDIC' needs `AF_CONFIG_OPTION_CJK'.
               | 
            
            
              
   
               | 
              
12351eee
               | 
              
2019-09-05T12:02:59
               | 
              
               | 
              
CMakeLists.txt: Fix generation of DLL related stuff (#56852).
Extract `version_info' variable from `builds/unix/configure.raw' and
use the data to correctly set `LIBRARY_VERSION' and
`LIBRARY_SOVERSION'.
Also use the data to set `ft_version' field in `freetype2.pc'.
Also fix the needed minimum version of HarfBuzz in `freetype2.pc'.
               | 
            
            
              
   
               | 
              
3fa35aa4
               | 
              
2019-09-03T21:10:20
               | 
              
               | 
              
* src/sfnt/sfwoff2.c (compute_ULong_sum): Fix undefined shift.
Reported as
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16933
               | 
            
            
              
   
               | 
              
543a3b93
               | 
              
2019-09-01T23:03:09
               | 
              
               | 
              
* src/sfnt/sfwoff2.c (woff2_open_font): Add sanity check.
Don't trust `totalSfntSize' unconditionally.
Reported as
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16893
               | 
            
            
              
   
               | 
              
cbee985a
               | 
              
2019-08-27T15:08:15
               | 
              
               | 
              
[woff2] Don't use `FT_UInt64' (#56815).
* src/sfnt/sfwoff2.c (woff2_open_font): Use `FT_UInt32' for
`file_offset'.  This fixes builds on platforms where `FT_LONG64' is
not defined while still being sufficient to store a file offset.
               | 
            
            
              
   
               | 
              
59415658
               | 
              
2019-08-27T14:07:14
               | 
              
               | 
              
[truetype] Prevent crash in `TT_Set_Named_Instance' (#56813).
* src/truetype/ttgxvar.c (TT_Set_Named_Instance): Fix error
handling.
               |