Skip to content

Commit

Permalink
Update git submodules
Browse files Browse the repository at this point in the history
* Update external/freetype from branch 'master'
  to 2adc3a99d6df6ec4189e10a6bc7780f56f658bba
  - Merge "Update Freetype to 2.9.1"
  - Update Freetype to 2.9.1
    
    Bug: 78038255
    
    Change-Id: I0ef7b993e53bd486264e218e8c283691f8c37515
    
  - Merge "Add METADATA for freetype"
  - Add METADATA for freetype
    
    Test: NA
    Change-Id: I3843f5cdfe201171124dcfc5401cff7e417d1df0
    
  - * Version 2.9.1 released.
    =========================
    
    Tag sources with `VER-2-9-1'.
    
    * docs/VERSION.TXT: Add entry for version 2.9.1.
    * docs/CHANGES: Updated.
    
    * README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
    src/base/ftver.rc, 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.9/2.9.1/, s/29/291/.
    
    * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
    
    * builds/unix/configure.raw (version_info): Set to 22:1:16.
    * CMakeLists.txt (VERSION_PATCH): Set to 1.
    
    * include/freetype/ftgasp.h: Use FT_BEGIN_HEADER and FT_END_HEADER.
    
  - Another fix for handling invalid format 2 cmaps.
    
    Sigh.
    
    Reported as
    
      https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8003
    
    * src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition to avoid
    an endless loop.
    
  - [base] Avoid undefined behaviour in lcd filtering code (#53727).
    
    * src/base/ftlcdfil.c (ft_lcd_filter_fir, _ft_lcd_filter_legacy):
    Ensure `height > 0'.
    
  - * src/base/ftoutln.c (FT_Outline_Decompose): Improve error tracing.
    
  - [base] Fix bitmap emboldening.
    
    Bug introduced after release 2.8.
    
    * src/base/ftbitmap.c (ft_bitmap_assure_buffer): We use
    `FT_QALLOC_MULT', which doesn't zero out the buffer.  Adjust the
    bitmap copying code to take care of this fact.
    
  - Revert "[base] Fix bitmap copying where the new pitch is smaller."
    
    This reverts commit c0f1adedcfaad4f7d2fe912ff4b2933845d61d93.
    
  - [base] Fix bitmap copying where the new pitch is smaller.
    
    * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Handle it.
    
  - Another fix for handling invalid format 2 cmaps.
    
    The previous commit was incomplete.
    
    Reported as
    
      https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7928
    
    * src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition to avoid
    an endless loop.
    
  - Documentation tweaks.
    
  - [autofit] Add support for Georgian Mtavruli characters.
    
    This will be part of the forthcoming Unicode 11.0.
    
    * src/autofit/afblue.dat: Add blue zone data for Mtavruli.
    * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
    
    * src/autofit/afscript.h: Add Mtavruli standard character.
    
  - Fix handling of invalid format 2 cmaps.
    
    The problem was introduced after the last release.
    
    Reported as
    
      https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7828
    
    * src/sfnt/ttcmap.c (tt_cmap2_char_next): Avoid endless loop.
    
  - [truetype] Integer overflow issues.
    
    Reported as
    
      https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7739
    
    * src/truetype/ttinterp.c (Ins_CEILING): Use FT_PIX_CEIL_LONG.
    
  - CHANGES: Mention CVE-2018-6942.
    
  - [truetype] Integer overflow issues.
    
    Reported as
    
      https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7718
    
    * src/truetype/ttinterp.c (Ins_MIRP): Use ADD_LONG.
    
  - [docmaker] Make it work with python3.
    
    * src/tools/docmaker (*.py): Use parentheses around arguments of `print'.
    Remove unused imports.
    
  - [build] Use `info' function of make 3.81.
    
    * configure, docs/INSTALL, docs/INSTALL.CROSS, docs/INSTALL.GNU,
    docs/INSTALL.UNIX, docs/MAKEPP: Bump make version requirements.
    
    * builds/detect.mk (std_setup): Replace `echo' with `info'.
    (dos_setup): Removed.
    * builds/unix/install.mk, builds/modules.mk, builds/dos/detect.mk,
    builds/windows/detect.mk, builds/os2/detect.mk: Updated.
    * builds/newline: No longer needed.
    
  - [truetype]: Limit `SLOOP' bytecode argument to 16 bits.
    
    This fixes
    
      https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7707
    
    * src/truetype/ttinterp.c (Ins_SLOOP): Do it.
    
  - [truetype] Integer overflow issues.
    
    Reported as
    
      https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7652
    
    * src/truetype/ttinterp.c (Ins_MDAP): Use SUB_LONG.
    
  - [autofit] Update to Unicode 11.0.0.
    
    But no support new scripts (volunteers welcomed).
    
    * src/autofit/afranges.c (af_arab_nonbase_uniranges,
    af_beng_nonbase_uniranges, af_cakm_nonbase_uniranges,
    af_deva_nonbase_uniranges, af_geor_uniranges,
    af_gujr_nonbase_uniranges, af_mlym_nonbase_uniranges,
    af_nkoo_nonbase_uniranges, af_telu_nonbase_uniranges,
    af_hani_uniranges): Add new data.
    
  - Modernize CMake build.
    
    * CMakeLists.txt, builds/cmake/FindHarfBuzz.cmake: Extensive
      modernization measures.
    
    * .gitignore: Add build/, as that's the example directory used in
      CMakeLists.txt.
    
    This brings up the minimum required CMake version to 2.8.12.
    
    The installation paths follow the GNU defaults now, e.g. installing on a
    64 bit host will place binaries into the lib64/ folder on e.g. Fedora.
    
    Symbols are hidden by default (e.g. `-fvisibility=hidden' on GCC).
    
    CMake will no longer look for a C++ compiler.
    
    Library and .so version now match the Autotools build.
    
    Comments in the build file and informational messages now use platform
    agnostic example commands.
    
    ftoption.h and ftconfig.h are written directly without a redundant
    `-new' copy.
    
    External dependencies are expressed as option()s and will turn up as
    such in cmake-gui.
    
    Internal: Properties such as dependencies and include directories are
    now privately set on the freetype library instead of globally.
    
    The CPack definitions have been cleaned up, the `make dist' has been
    removed. Source packages generated with CPack don't contain Autotools
    files and aren't used by the maintainters anyway.
    
    On Windows, src/base/ftver.rc is compiled to decorate the library with
    version and copyright information.
    
    A pkg-config file is now generated and installed.
    
  - [truetype] Integer overflow issues.
    
    Reported as
    
      https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7453
    
    * src/truetype/ttinterp.c (Round_Super, Round_Super_45): Use
    ADD_LONG and SUB_LONG.
    
  - [windows, wince] Clean up legacy project files.
    
    * builds/wince/vc2005-ce/freetype.vcproj,
    builds/wince/vc2008-ce/freetype.vcproj,
    builds/windows/vc2005/freetype.vcproj,
    builds/windows/vc2008/freetype.vcproj,
    builds/windows/visualce/freetype.vcproj,
    builds/windows/visualce/freetype.dsp,
    builds/windows/visualc/freetype.vcproj,
    builds/windows/visualc/freetype.dsp: Remove per-file compile flags.
    
  - [cff, type1] Sanitize `BlueFuzz' and `BlueShift'.
    
    Reported as
    
      https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7371
    
    * src/cff/cffload.c (cff_load_private_dict): Sanitize
    `priv->blue_shift' and `priv->blue_fuzz' to avoid overflows later
    on.
    
    * src/type1/t1load.c (T1_Open_Face): Ditto.
    
  - * src/truetype/ttobjs.c (trick_names): Add 3 tricky fonts (#53554),
    `DFHei-Md-HK-BF', `DFKaiShu-Md-HK-BF' and `DFMing-Bd-HK-BF'.
    (tt_check_trickyness_sfnt_ids): Add checksums for 3 tricky fonts
    in above.
    
  - Minor comment improvement.
    
  - * builds/toplevel.mk (work): Use $(SEP).
    
    This fixes the `make refdoc' using Cygwin: $(CAT) is `type' on this
    platform, and this program only understands backslashes in paths.
    
    Reported by Nikhil Ramakrishnan <ramakrishnan.nikhil@gmail.com>.
    
  - [truetype] Fix memory leak (only if tracing is on).
    
    * src/truetype/ttgxvar.c (TT_Get_MM_Var) [FT_DEBUG_LEVEL_TRACE}: Fix
    it.
    
  - Documentation improvement.
    
  - Typo.
    
  - Fixing cmake command format
    
  - [sfnt] Correctly handle missing bitmaps in sbix format (#53404).
    
    * src/sfnt/ttfsbit.c (tt_face_load_sbix_image): Fix return value.
    
  - [truetype] Fix advance of empty glyphs in bitmap fonts (#53393).
    
    * src/truetype/ttgload.c (TT_Load_Glyph): Apply scaling to metrics
    for empty bitmaps.
    
  - Remove `ftlcdfil.c' and `ftfntfmt.c' from build files (#53415).
    
    builds/amiga/makefile, builds/amiga/makefile.os4,
    builds/amiga/smakefile, builds/mac/FreeType.m68k_cfm.make.txt,
    builds/mac/FreeType.m68k_far.make.txt,
    builds/mac/FreeType.ppc_carbon.make.txt,
    builds/mac/FreeType.ppc_classic.make.txt,
    builds/symbian/freetype.mmp, builds/wince/vc2005-ce/freetype.vcproj,
    builds/wince/vc2008-ce/freetype.vcproj,
    builds/windows/vc2005/freetype.vcproj,
    builds/windows/vc2008/freetype.vcproj,
    builds/windows/vc2010/freetype.vcxproj,
    builds/windows/vc2010/freetype.vcxproj.filters,
    builds/windows/visualc/freetype.dsp,
    builds/windows/visualc/freetype.vcproj,
    builds/windows/visualce/freetype.dsp,
    builds/windows/visualce/freetype.vcproj, vms_make.com: Do it.
    
  - * src/sfnt/ttcmap.c (tt_cmap2_validate): Fix potential numeric
    overflow.
    
  - Fix cmap format 2 handling (#53320).
    
    The patch introduced for #52646 was not correct.
    
    * src/sfnt/ttcmap.c (tt_cmap2_char_next): Adjust condition.
    
  - * CMakeLists.txt (BASE_SRCS): Update to changes from 2018-03-05.
    
  - * CMakeLists.txt [win32]: Allow MSVC DLL builds (#53287).
    
    Do not limit DLL builds to MinGW, since we already have
    `__declspec(dllexport)' directives in `ftconfig.h'.
    Also suppress more warnings for POSIX functions.
    
  - Typo.
    
  - CHANGES: Document `--enable-freetype-config'.
    
  - Make installation of `freetype-config' optional (#53093).
    
    Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
    
  - Minor: Update `CHANGES' and improve documentation in `modules.cfg'.
    
  - Make `ftlcdfil.c' part of the `base' module.
    
    `ftobjs.c' needs `ft_lcd_padding'.
    
    Problem reported by duhuanpeng <548708880@qq.com>.
    
    * modules.cfg (BASE_EXTENSIONS): Don't include `ftlcdfil.c'.
    
    * src/base/ftbase.c: Include `ftlcdfil.c'.
    * src/base/rules.mk (BASE_SRC): Add `ftlcdfil.c'.
    * src/base/Jamfile (_sources): Adjusted.
    
    * docs/INSTALL.ANY: Updated.
    
  - Make `ftfntfmt.c' part of the `base' module.
    
    `ftobjs.c' needs `FT_Get_Font_Format'.
    
    Problem reported by duhuanpeng <548708880@qq.com>.
    
    * modules.cfg (BASE_EXTENSIONS): Don't include `ftfntfmt.c'.
    
    * src/base/ftbase.c: Include `ftfntfmt.c'.
    * src/base/rules.mk (BASE_SRC): Add `ftfntfmt.c'.
    * src/base/Jamfile (_sources): Adjusted.
    
    * docs/INSTALL.ANY: Updated.
    
  - Minor documentation improvement.
    
  - * src/truetype/ttinterp.c (TT_RunIns): Fix tracing arguments.
    
  - * builds/unix/configure.raw: Need HarfBuzz 1.3.0 or newer.
    
    Problem reported by Alan Coopersmith <alan.coopersmith@oracle.com>.
    
  - Merge "Enable Type1 and Type1CID fonts"
  - Enable Type1 and Type1CID fonts
    
    These are needed by pdfium and as pdfium is a built in lib I don't see a
    reason to statically link another version of freetype into pdfium.
    
    Fixes: 71375703
    Test: Looked at two pdfs that use type1 fonts in the print preview
          (which uses the built in pdfium)
    
    Change-Id: I82feba9951761d601231521737f761fd45db65b6
    
  - [sfnt] Prefer `CBDT'/`CBLC' over `glyf' table (#53154).
    
  - Split off ChangeLog.28.
    
  - s/sub-pixel/subpixel/.
    
  - Merge "Update FreeType 2.9"
  - [truetype] Integer overflow issues.
    
    Reported as
    
      https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=6027
    
    * src/truetype/ttinterp.c (Ins_MSIRP, Ins_MIAP, Ins_MIRP): Use
    SUB_LONG; avoid FT_ABS.
    
  - Update FreeType 2.9
    
    Merge commit '036bdc0c9a4fb55b4fe5a7276e97b70b95c8a260'. This CL also
    enables psaux module since it is required for the Korean font.
    
    Bug: 70356096
    Change-Id: I2b2aa16bd573363db2bf26f2b4b507245e773c0b
    
  - [unix] Use -fvisibility=hidden.
    
    It is now widely recommended that ELF shared libraries hide symbols
    except those with explicit __attribute__((visibility("default"))).
    This is supported by all major compilers and should rather be an
    option in libtool.
    
    * builds/unix/configure.raw: Add -fvisibility=hidden to CFLAGS.
    * builds/unix/ftconfig.in, builds/vms/ftconfig.h,
    include/freetype/config/ftconfig.h (FT_EXPORT): Use visibility
    attribute.
    
  - [truetype] Minor typo.
    
  - [truetype] Better protection against invalid VF data.
    
    Reported as
    
      https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5739
    
    Bug introduced in commit 08cd62deedefe217f2ea50e392923ce8b5bc7ac7.
    
    * src/truetype/ttgxvar.c (TT_Set_Var_Design): Always initialize
    `normalizedcoords'.
    
  - * src/truetype/ttinterp.c (Ins_GETVARIATION): Avoid NULL reference.
    
    Reported as
    
      https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5736
    
  - * src/truetype/ttgxvar.c (tt_set_mm_blend): Minor.
    
  - [truetype] Better trace VF instances.
    
    * src/truetype/ttgxvar.c (ft_var_to_normalized): Don't emit number
    of coordinates.
    (TT_Get_MM_Var): Trace instance indices names.
    (TT_Set_Var_Design): Updated.
    
  - Fix comment.
    
  - [truetype] Beautify tracing of VF axis records.
    
    * src/truetype/ttgxvar.c (TT_Get_MM_Var): Show axis records in a
    table-like manner.
    
  - [truetype] Fix multiple calls of `FT_Get_MM_Var' (#52955).
    
    * src/truetype/ttgxvar.c (TT_Get_MM_Var): Set
    `face->blend->num_axis' in case we have to initialize the
    `face->blend'.
    
  - [apinames] Anonymous version map for GNU linker.
    
    * src/tools/apinames.c (PROGRAM_VERSION): Set to 0.3.
    (OutputFormat): Add `OUTPUT_GNU_VERMAP'.
    (names_dump): Handle it.
    (usage): Updated.
    (main): Handle new command line flag `-wL'.
    
  - [unix] Call libtool to clean up.
    
    * builds/unix/install.mk (clean_project_unix, distclean_project_unix):
    Use libtool.
    * builds/freetype.mk: Minor.
    
  - * src/base/ftver.rc: Fix mingw-w64 compilation.
    
  - [build] Enable VERSIONINFO resource for Cygwin/MinGW.
    
    * builds/unix/configure.raw: Check for resource compiler.
    * builds/unix/unix-cc.in: Conditionally set up resource compiler.
    * builds/freetype.mk: Add conditional rule for `ftver.rc'.
    * src/base/ftver.rc: Copyright notice and year update.
    
  - [build] Move VERSIONINFO resource.
    
    * builds/windows/vc2010/freetype.vcxproj: Updated.
    * builds/windows/ftver.rc: Move file from here...
    * src/base/ftver.rc: ... to here.
    
  - [build] Expand dllexport/dllimport to Cygwin/MinGW.
    
    * include/freetype/config/ftconfig.h: Respect DLL_EXPORT,
    s/_MSC_VER/_WIN32/.
    * builds/unix/ftconfig.in: Replicate here.
    * builds/vms/ftconfig.h: Replicate here.
    
  - [build] Improve and document MSVC build.
    
    * include/freetype/config/ftconfig.h: Guard dllexport/dllimport
    attributes with _DLL and FT2_DLLIMPORT.
    * builds/windows/vc2010/index.html: Update documentation.
    
  - Merge changes Iad52187b,I42898c38,Id13a02c2
    
    * changes:
      [truetype] Fix HVAR and VVAR handling (#50678).
      * src/truetype/ttinterp.c (TT_RunIns): Adjust loop counter (#50573).
      [truetype] Another limitation for bytecode loop count maximum.
    
  - Merge "Update README.android to include how to sync to upstream"
  - [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.
    
  - * 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.
    
  - [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.
    
  - Update README.android to include how to sync to upstream
    
    Test: None
    
    Bug: 70356096
    Change-Id: I6aae23d5144928574e9bc3c9479601b19ab8eea1
    
  - * CMakeLists.txt [win32]: Suppress warnings for POSIX functions.
    
  - [psaux] Correctly handle Flex features (#52846).
    
    * src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdVMOVETO,
    cf2_cmdHMOVETO>: Do not move if doing Flex.
    
  - * builds/windows/vc2010/freetype.sln: Synchronize with the project.
    
  - * Version 2.9 released.
    =======================
    
    Tag sources with `VER-2-9'.
    
    * docs/VERSION.TXT: Add entry for version 2.9.
    
    * 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/windows/ftver.rc,
    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.8.1/2.9/, s/281/29/.
    
    * include/freetype/freetype.h (FREETYPE_MINOR): Set to 9.
    (FREETYPE_PATCH): Set to 0.
    
    * builds/unix/configure.raw (version_info): Set to 22:0:16.
    * CMakeLists.txt (VERSION_PATCH): Set to 1.
    
  - Next release will be 2.9.
    
  - Add check for librt, needed for `ftbench' (#52824).
    
    * builds/unix/configure.raw: Call AC_USE_SYSTEM_EXTENSIONS.
    (LIB_CLOCK_GETTIME): Define; this will hold `-lrt' if necessary.
    
    * builds/unix/unix-cc.in (LIB_CLOCK_GETTIME): New variable.
    
  - [psaux] Fix Type 1 glyphs with too many stem hints.
    
    According to the CFF specification, charstrings can have up to 96 stem
    hints. Due to hint replacement routines in Type 1 charstrings, some
    glyphs are rejected by the Adobe engine, which implements the above
    limit. This fix turns off hinting for such glyphs.
    
    * src/psaux/pshints.c (cf2_hintmap_build): Reset the error from calling
    `cf2_hintmask_setAll' on a problematic Type 1 charstring and turn off
    hinting.
    
  - Add `FT_Done_MM_Var'.
    
    This is necessary in case the application's memory routines differ
    from FreeType.  A typical example is a Python application on Windows
    that calls FreeType compiled as a DLL via the `ctypes' interface.
    
    * include/freetype/ftmm.h, src/base/ftmm.c (FT_Done_MM_Var): Declare
    and define.
    
    * docs/CHANGES: Updated.
    
  - Minor doc fixes.
    
  - [truetype] Round offsets of glyph components only if hinting is on.
    
    * src/truetype/ttgload.c (TT_Process_Composite_Component): Implement
    it.
    
  - * src/truetype/ttgxvar.c (ft_var_to_design): Remove dead code.
    
    This is a better fix than the previous commit, which is now
    reverted.
    
  - Move internal LCD-related declarations.
    
    * include/freetype/ftlcdfil.h (ft_lcd_padding, ft_lcd_filter_fir):
    Move from here...
    * include/freetype/internal/ftobjs.h: ... to here.
    
  - * include/freetype/config/ftconfig.h (FT_EXPORT, FT_EXPORT_DEF)
    [_MSC_VER]: Limit Visual C++ attributes.
    
  - [truetype] Make blend/design coordinate round-tripping work.
    
    Behdad reported that setting blend coordinates, then getting design
    coordinates did incorrectly return the default instance's
    coordinates.
    
    * src/truetype/ttgxvar.c (tt_set_mm_blend): Fix it.
    
  - Update copyright year.
    
  - Update `CHANGES' file with demo program news.
    
  - * src/sfnt/ttcmap.c (tt_cmap2_char_next): Fix endless loop.
    
    Reported as
    
      https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4838
    
  - Synchronize other Windows project files.
    
    * builds/windows/*: Add missing files.
    
  - Update Visual C 2010 project files.
    
    Problem reported by Hin-Tak.
    
    * builds/windows/vc2010/freetype.vcxproj: Add files `ftbdf.c' and
    `ftcid.c'.
    Sort entries.
    * builds/windows/vc2010/freetype.vcxproj.filter: Ditto.
    Fix members of `FT_MODULE' group.
    
  - Updated `CHANGES' file.
    
  - * builds/vms/ftconfig.h: Synchronize with unix `ftconfig.in' file.
    
  - * builds/unix/ftconfig.in: Synchronize with main `ftconfig.h' file.
    
    Reported by Nikolaus.
    
  - Fix compiler warnings.
    
    * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Make `pitch' and
    `new_pitch' unsigned.
    
    * src/base/ftpsprop.c: Include FT_INTERNAL_POSTSCRIPT_PROPS_H.
    
  - Fixes for `make multi'.
    
    * include/freetype/internal/ftpsprop.h: Use `FT_BASE_CALLBACK'.
    (ps_property_get): Harmonize declaration with corresponding
    function typedef.
    
    * include/freety[e/internal/fttrace.h: Add `trace_psprops'.
    
    * src/base/ftpsprop.c: Include necessary header files.
    (FT_COMPONENT): Define.
    (ps_property_set): Tag with `FT_BASE_CALLBACK_DEF'.
    (ps_property_get): Tag with `FT_BASE_CALLBACK_DEF'.
    Harmonize declaration with corresponding function typedef.
    
  - Provide support for intra-module callback functions.
    
    This is needed especially for `make multi' with C++.
    
    * include/freetype/config/ftconfig.h (FT_BASE_CALLBACK,
    FT_BASE_CALLBACK_DEF): New macros.
    
  - Add missing ChangeLog entry, copyright notices, whitespace, formatting.
    
  - Move PostScript drivers' property handlers to `base'
    
    This reduces the amount of duplicated code across PostScript drivers.
    
    * src/cff/cffdrivr.c, src/cid/cidriver.c, src/type1/t1driver.c
    ({cff,cid,t1}_property_{get,set}): Moved to...
    * include/freetype/internal/ftpsprop.h: ...this new file.
    (ps_property_{get,set}): New functions to replace moved ones.
    * src/base/ftpsprop.c: Implement above functions.
    
    * include/freetype/internal/internal.h (FT_INTERNAL_POSTSCRIPT_PROPS_H):
    New macro.
    * src/cff/cffdrivr.c, src/cid/cidriver.c, src/type1/t1driver.c: Updated.
    
    * src/base/Jamfile, src/base/rules.mk, src/base/ftbase.c: Updated.
    
  - Speed up FT_Set_Var_{Design,Blend}_Coordinates if curr == new.
    
    We exit early if the current design or blend coordinates are
    identical to the new ones.
    
    * src/truetype/ttgxvar.c (tt_set_mm_blend, TT_Set_Var_Design):
    Implement it, returning internal error code -1 if there will be no
    variation change.
    
    * src/type1/t1load.c (t1_set_mm_blend): Ditto.
    
    * src/base/ftmm.c (FT_Set_Var_Design_Coordinates,
    FT_Set_MM_Blend_Coordinates, FT_Set_Var_Blend_Coordinates): Updated.
    
  - Update incorrect ChangeLog entry.
    
  - [sfnt] Fix charmap type 2 iterator (#52646).
    
    The subsetted demo font of the report that exhibits the bug has a
    very unusual type 2 cmap for Unicode(!): It contains only two
    sub-headers, one for one-byte characters (covering the range 0x20 to
    0xFA), and a second one for higher byte 0x01 (just for character
    code U+0131).
    
    Before this commit, the iterator wasn't able to correctly handle a
    sub-header for higher byte 0x01.
    
    * src/sfnt/ttcmap.c (tt_cmap2_char_next): Fix character increment
    for outer loop.
    
  - [truetype] Minor code beautification.
    
    * src/truetype/ttgxvar.c (ft_var_to_normalized): Trace number of
    design coordinates.
    Simplify code.
    
  - * src/*/*: Only use `ft_' and `FT_' variants of stdc library stuff.
    
  - * src/truetype/ttgxvar.c (tt_face_vary_cvt): Add size guard (#52688).
    
  - [truetype] Fix previous commit.
    
    * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Correctly handle
    unhinted phantom points, which must be properly scaled.
    
  - [truetype] Don't apply HVAR and VVAR deltas twice (#52683).
    
    * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Always adjust
    `pp1' to `pp4', except if we have an HVAR and/or VVAR table.
    
    * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Handle
    alternative code branch identically w.r.t. presence of an HVAR
    and/or VVAR table.
    
  - [truetype] Correctly handle variation font phantom points (#52683).
    
    * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix phantom
    point indices.
    
  - Fix incorrect advance width scaling (#52683).
    
    * src/base/ftadvance.c (FT_Get_Advances): Always respect the
    FT_LOAD_NO_SCALE flag if present.
    
  - * builds/windows/vc2010/freetype.vcxproj: AfterBuild copy.
    * objs/.gitignore: Ignore almost everything.
    
  - Merge "Keep history after reset to freetype upstream"
  - Keep history after reset to freetype upstream
    
    Bug: 70390858
    
    Change-Id: I094ec172c78983e61acc7895b15608c74e0a0a32
    
  - Fix compiler warning (#52640).
    
    * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Remove unused
    variable.
    
  - * builds/windows/vc2010/freetype.vcxproj: Adjust output directory.
    
    This allows builds with different configurations in parallel.
    
  - Fix `make setup dos', second try (#52622).
    
    * builds/detect.mk (dos_setup): Don't use literal `>' character at
    all.  Mixing the different escaping rules from make, dos, and
    windows is too fragile.
    
  - Necessary changes to build FreeType on Android
    
    Based on upstream SHA 447a0b62634802d8acdb56008cff5ff4e50be244
    
    Bug: 70390858
    Change-Id: Iec27553c2f2e21d816086f4d700fcda9c5236354
    
  - Documentation fixes for the last few commits.
    
  - [docmaker] Fix code section parsing.
    
    Stuff like
    
      {
        <bla>
      }
    
    confused the parser, which incorrectly treated `<bla>' as a markup
    tag.
    
    * src/tools/docmaker/content.py (ContentProcessor::process_content):
    Apply `re_markup_tags' only outside of code sections.
    
  - New `ftdriver.h' file, covering all driver modules.
    
    This reduces redundancy and increases synergy; it also reduces the
    number of header files.
    
    * include/freetype/config/ftheader.h (FT_DRIVER_H): New macro.
    (FT_AUTOHINTER_H, FT_CFF_DRIVER_H, FT_TRUETYPE_DRIVER_H,
    FT_PCF_DRIVER_H, FT_TYPE1_DRIVER_H): Make them aliases to
    FT_DRIVER_H.
    
    * include/freetype/ftautoh.h, include/freetype/ftcffdrv.h,
    include/freetype/ftpcfdrv.h, include/freetype/ftt1drv.h,
    include/freetype/ftttdrv.h: Replaced with...
    * include/freetype/ftdriver.h: ...this new file.
    (FT_CFF_HINTING_ADOBE, FT_T1_HINTING_ADOBE): Renamed to...
    (FT_HINTING_ADOBE): ... this new macro.
    (FT_CFF_HINTING_FREETYPE, FT_T1_HINTING_FREETYPE): Renamed to...
    (FT_HINTING_FREETYPE): ... this new macro.
    
    * src/*/*: Updated accordingly.
    
  - Move `ftdriver.h' to `ftdrv.h'.
    
    * include/freetype/internal/ftdriver.h: Renamed to...
    * include/freetype/internal/ftdrv.h: ... this name.
    
    * include/freetype/internal/internal.h (FT_INTERNAL_DRIVER_H):
    Updated.
    
  - Fix access to uninitalized memory (#52613).
    
    Also reported as
    
      https://bugs.chromium.org/p/chromium/issues/detail?id=791317
    
    * src/base/ftbitmap.c (ft_bitmap_assure_buffer): If increasing the
    bitmap size needs a larger bitmap buffer, assure that the new memory
    areas are initialized also.
    
  - Fix `make setup dos' (#52622).
    
    * builds/detect.mk (dos_setup): Properly escape literal `>'
    character.
    
  - .mailmap: Add Ewald.
    
  - Use ASCII only in public header files (#50858).
    
  - Fix C++ compilation.
    
    * src/psaux/psauxmod.h: Use FT_CALLBACK_TABLE macro where necessary.
    
    * src/smooth/ftsmooth.c (ft_smooth_render_generic): Fix warning.
    
  - Fix `make multi'.
    
    * include/freetype/internal/fttrace.h: Remove unused tracing macros.
    s/pshalgo2/pshalgo/.
    Add `trace_cffdecode'.
    * src/pshinter/pshalgo.c (FT_COMPONENT): Updated.
    
    * src/cff/cffload.c: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
    * src/cff/cffobjs.c: Include FT_SERVICE_METRICS_VARIATIONS_H and
    FT_SERVICE_CFF_TABLE_LOAD_H.
    
    * src/cid/cidriver.c: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
    
    * src/psaux/cffdecode.c: Include FT_FREETYPE_H and
    FT_INTERNAL_DEBUG_H.
    (FT_COMPONENT): Define.
    * src/psaux/cffdecode.h: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
    * src/psaux/psauxmod.h: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
    Declare `cff_builder_funcs' and `ps_builder_funcs'.
    * src/psaux/psft.c: Include `psobjs.h' and `cffdecode.h'.
    * src/psaux/psobjs.c : Include `psauxmod.h'.
    
  - * include/freetype/config/ftheader.h: Some clean-up.
    
    This commit removes documentation of deprecated macros and does some
    minor streamlining.
    
  - * builds/symbian/bld.inf: Updated.
    
  - New header file `ftparams.h' that collects all parameter tags.
    
    * include/freetype/config/ftheader.h (FT_PARAMETER_TAGS_H): New
    macro.
    (FT_TRUETYPE_UNPATENTED_H, FT_UNPATENTED_HINTING_H): Define it to
    `ftparams.h'.
    
    * include/freetype/ftautoh.h, include/freetype/ftcffdrv.h,
    include/freetype/ftincrem.h, include/freetype/ftlcdfil.h,
    include/freetype/ftsnames.h, include/freetype/ftt1drv.h: Include
    FT_PARAMETER_TAGS_H.
    Move FT_PARAM_TAG_XXX definitions to...
    * include/freetype/ftparams.h: ...this new file.
    
    * include/freetype/ttunpat.h: Remove.  No longer needed.
    
  - Improve tracing messages by using singular and plural forms.
    
    * src/*/*.c: Implement it.
    
  - Update or fix links to use the https protocol instead of http.
    
  - [truetype] Allow shared points in `cvar' table (#52532).
    
    * src/truetype/ttgxvar.c (tt_face_vary_cvt): Implement it by copying
    and adjusting the corresponding code from
    `TT_Vary_Apply_Glyph_Deltas'.
    
  - Merge "Use -Werror in external/freetype"
    am: 51036df35f
    
    Change-Id: I30d856a5b3a27eee90bdec13657a03cf61b584f0
    
  - Merge "Use -Werror in external/freetype"
  - Use -Werror in external/freetype
    
    Bug: 66996870
    Test: build with WITH_TIDY=1
    Change-Id: I76315cfc263036f0c7fc7632484dac546405e7a7
    
  - Merge "libft2 is not directly available to vendors"
    am: 23f8c98f68
    
    Change-Id: I67d52d304d9376163a11bb1e16e0f4c6918134af
    
  - Merge "libft2 is not directly available to vendors"
  - libft2 is not directly available to vendors
    
    It is a member of VNDK just because libRS_internal.so, which is VNDK, is
    using it. This lib is not intended to be used by vendor libraries
    directly.
    
    Bug: 64730695
    Test: build 2017 pixel devices
    Merged-In: Ie8cd71cce6b2954dfa1002eac3c7296db800dc58
    Change-Id: Ie8cd71cce6b2954dfa1002eac3c7296db800dc58
    (cherry picked from commit f1ff95ffc4e5fad2c079129465d1b3f560b70c76)
    
  - [truetype] Improving tracing of composite glyphs.
    
    * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
    [FT_DEBUG_LEVEL_TRACE]: Show composite glyph information.
    
  - Allow (again) encoding vectors with more than 256 elements (#52464).
    
    In version 2.6.1, this has been disallowed to better reject
    malformed fonts; however, this restriction was too strong.  This
    time, we only take the first 256 elements into account, since
    encoding arrays are always accessed with a 8bit integer, according
    to the PostScript Language Reference.
    
    * src/type1/t1load.c (parse_encoding): Implement it.
    
  - Fix last commit (#52522).
    
    * builds/freetype.mk: Set `FT_OPTION_H' and `FTOPTION_FLAG'
    properly if we have `ftoption.h' in `BUILD_DIR'.
    
  - [unix] Install a massaged `ftoption.h' file (#51780).
    
    * builds/unix/configure.raw (ftoption_set, ftoption_unset): New
    auxiliary functions to construct...
    (FTOPTION_H_SED): ... this new variable.
    Apply it as a sed argument while copying `ftoption.h' to the
    `builds/unix' directory (using `AC_CONFIG_FILES').
    Simplify code of test that checks cpp's computation of bit length
    (the test previously created an empty `ftoption.h' file and deleted
    it immediately afterwards); without this change, it can happen on my
    GNU/Linux box that `configure's execution of `config.status' doesn't
    create `ftoption.h' (no idea why this happens).
    
    * builds/unix/install.mk (install): Install
    `builds/unix/ftoption.h'.
    
    * builds/unix/unix-def.in (DISTCLEAN): Updated.
    
    * builds/unix/.gitignore: Updated.
    
  - Minor.
    
  - Silence unused function warnings.
    
    Some static function declarations cause unused function warnings if
    certain config options are turned off via `ftoption.h'.
    
    * src/base/ftbase.h, src/base/ftrfork.c, src/sfnt/ttbdf.h,
    src/truetype/ttgxvar.h: Add #ifdef guards around these sections.
    
  - * src/psaux/psft.c (cf2_setGlyphWidth): Check format before setting.
    
    Reported as
    
      https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4377
    
  - [psaux] Fix CFF advance widths. (#52466)
    
    Glyph advance widths were being written to the new `PS_Decoder' but not
    saved to the underlying format specific decoder. This caused pure CFF
    fonts to have bad advance width.
    
    * include/freetype/internal/psaux.h (PS_Decoder): Change `glyph_width'
    field to pointer.
    Remove unused fields.
    * src/psaux/psobjs.c (ps_decoder_init): Change `glyph_width' from copy
    to reference.
    Remove unused.
    * src/psaux/psft.c (cf2_setGlyphWidth): Update code.
    
  - * include/freetype/ftrender.h: Fix `FT_Renderer_RenderFunc' type.
    
  - Use Adobe hinting engine for `light' hinting of both CFF and Type 1.
    
    Since Ewald Hew factored the Adobe hinting engine out of the CFF
    driver code, we can now use it on Type 1 (and CID) font formats, as
    both have the same hinting philosophy.
    
    This change activates the Adobe hinter when in LIGHT mode, and
    therefore always unless explicitly asking for the auto-hinter.  This
    makes LIGHT behavior consistent with CFF fonts.  As of this commit,
    the hinting engine table looks as follows.
    
                 LIGHT  NORMAL
      -------------------------
       TrueType  Auto   v40
       CFF       Adobe  Adobe
       Type 1    Adobe  Adobe
    
  - Merge commit '5d13f0672033cf3f4c71ac82adccf0fc29bb881a' into HEAD
    
    Change-Id: I2cb101b3c12e5a61201d3a5020f5e1a1f28cb8e4
    
  - * CMakeLists.txt: Add `DISABLE_FORCE_DEBUG_PREFIX' option.
    
  - * src/base/ftobjs.c (FT_Load_Glyph): Relocate condition.
    
  - * src/smooth/ftgrays.c (gray_set_cell): Fix uninitialized variables.
    
  - [psaux] Fix PostScript interpreter rewinding in Type 1 mode. (#52251)
    
    The interpreter in Type 1 mode rewinds the charstring after collecting
    all hints for building the initial hintmap (commit d52dd7f). However,
    some charstrings use `endchar' in a final subroutine call, rewinding to
    the start of that subroutine, and only a small section of the actual
    glyph is drawn.
    
    * src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdENDCHAR>:
    Ensure we are on the top level charstring before rewinding.
    
  - [truetype] Add more tricky fonts.
    
    See the report by Yang Yinsen.
    https://lists.gnu.org/archive/html/freetype-devel/2017-11/msg00000.html
    
    * src/truetype/ttobjs.c (trick_names): Add `DFGothic-EB',
    `DFGyoSho-Lt', `DFHSGothic-W5', `DFHSMincho-W3' and `DFHSMincho-W7'.
    (tt_check_trickyness_sfnt_ids): Add checksums for DFGothic-EB,
    DFGyoSho-Lt, DFHSGothic-W5, DFHSMincho-W3 and DFHSMincho-W7.  Also
    add checksums for DLCLiShu and DLCHayBold which their family names
    were already listed but their checksums were previously unknown.
    
  - [smooth] Fix complex rendering at high ppem.
    
    We used to split large glyphs into horizontal bands and continue
    bisecting them still horizontally if that was not enough.  This is
    guaranteed to fail when a single scanline cannot fit into the
    rendering memory pool.  Now we bisect the bands vertically so that
    the smallest unit is a column of the band height, which is guranteed
    to fit into memory.
    
    * src/smooth/ftgrays.c (gray_convert_glyph): Implement it.
    
  - Merge "Mark libft2 as LLNDK"
    am: cef6790d09
    
    Change-Id: I94bf256137399aa368685fc2dd24ba2fc5a99e7c
    
  - Merge "Mark libft2 as LLNDK"
  - [smooth] Improve complex rendering at high ppem.
    
    At large sizes almost but not exactly horizontal segments can quickly
    drain the rendering pool. This patch at least avoids filling the pool
    with trivial cells. Beyond this, we can only increase the pool size.
    
    Reported, analyzed, and tested by Colin Fahey.
    
    * src/smooth/ftgrays.c (gray_set_cell): Do not record trivial cells.
    
  - [base] Improve tracing in FT_Load_Glyph, FT_*_Size.
    
    * src/base/ftobjs.c (FT_Load_Glyph): Tag tracing messages with
    function name, glyph index, and load flags.
    (FT_Select_Metrics, FT_Request_Metrics): Remove all tracing.
    (FT_Select_Size, FT_Request_Size): Improve tracing.
    
  - [base] Improve tracing in FT_Render_Glyph.
    
    * src/base/ftobjs.c (FT_Render_Glyph_Internal): Add total coverage
    calculations and downgrade Netpbm dump to bitmap:7.
    
  - [cff] Fix segfault on missing `psaux' (#52218)
    
    * src/cff/cffload.c (cff_done_blend): Add a check for possible nullptr.
    
    * modules.cfg: Update dependency list.
    
  - Mark libft2 as LLNDK
    
    libft2 is used by libRS_internal.so which is a VNDK-SP library. Since
    VNDK-SP lib can only depend on other VNDK-SP or LL-NDK libraries, this
    has to be marked as either of them.
    
    Among the two choices, LLNDK is more appropriate since ...
    1) freetype lib should be updated along with the platform when the new
    font types are added or existing font types are modified.
    2) The ABI of this lib is pretty stable.
    
    Currently, only the small set of symbols that are actually needed by
    libRS_internal.so is exposed via the LLNDK stub, so that we can remove
    or alter symbols that are not exposed.
    
    Bug: 38432260
    Bug: 64425518
    Bug: 64395154
    Test: BOARD_VNDK_VERSION=current m -j libRS_internal.vendor
    
    Merged-In: I499b556e64ff2da9f6a86d5ebd8153bef6ad7090
    Change-Id: I499b556e64ff2da9f6a86d5ebd8153bef6ad7090
    (cherry picked from commit 858d96846f568ba59cb97d5d2b37d526d7296486)
    
  - [base, cff] Fix MSVC warnings.
    
    * src/base/ftobjs.c (FT_New_Library): C4702: unreachable code.
    (ft_glyphslot_preset_bitmap): C4244: possible loss of data.
    * src/cff/cffload.c (cff_blend_doBlend): C4244: possible loss of data.
    Turn `sum' into unsigned.
    
  - [base] Netpbm image tracing.
    
    * src/base/ftobjs.c (FT_Load_Glyph): Trace bitmap size.
    (FT_Render_Glyph_Internal): Trace bitmap in Netpbm format.
    
    * src/smooth/ftgrays.c (gray_sweep): Sweep remnants of span tracing.
    
  - * builds/windows/ftdebug.c (FT_Message): Print to stderr.
    
    * builds/wince/ftdebug.c (FT_Message): Ditto.
    
  - [afshaper] Delay creating `hb_set' objects until needed.
    
    In runs on Noto Naskh Arabic, this results in 89 sets created
    instead of 340 before.  Makes auto-hinter setup with HarfBuzz
    enabled 20% to 30% faster.
    
    * src/autofit/afshaper.c (af_shaper_get_coverage): Implement it.
    
  - * devel/ftoption.h: Enable T1_CONFIG_OPTION_OLD_ENGINE by default.
    
  - [type1, cid] Add hinting engine switch.
    
    Implement property service in `type1' and `cid' drivers to allow
    switching between FreeType or Adobe hinting engine when both are
    available.
    
    * src/cid/cidriver.c (cid_property_{set,get}, cid_services),
    src/type1/t1driver.c (t1_property_{set,get}, t1_services): Add
    Properties service.
    
    * src/cid/cidobjs.c (cid_driver_init), src/type1/t1objs.c
    (T1_Driver_Init): Add default property values.
    
  - Add T1_CONFIG_OPTION_OLD_ENGINE configuration option.
    
    This controls whether the old Type 1 engine gets compiled into FreeType.
    It is disabled by default.
    
    * devel/ftoption.h, include/freetype/config/ftoption.h
    (T1_CONFIG_OPTION_OLD_ENGINE): New macro.
    
    * include/freetype/internal/psaux.h (PS_Decoder): Remove unused field.
    * include/freetype/internal/psaux.h, src/cid/cidgload.c
    (cid_load_glyph), src/psaux/psauxmod.c, src/psaux/psobjs.c
    (ps_builder_add_point), src/psaux/t1decode.c
    (t1_lookup_glyph_by_stdcharcode, t1_decoder_parse_glyph,
    t1operator_seac, t1_decoder_parse_charstrings), src/psaux/t1decode.h,
    src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Surround
    relevant code with macro.
    Minor code changes.
    
  - Extract width parsing from Type 1 parser.
    
    Duplicate the fast advance width calculations from the old parser. This
    is to facilitate adding options for compiling out the old parser.
    
    * src/psaux/t1decode.{c,h} (t1_decoder_parse_metrics): New function.
    * include/freetype/internal/psaux.h (T1_Decoder_Funcs): New entry
    `parse_metrics'.
    * src/psaux/psauxmod.c: Set the new entry.
    
    * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String),
    src/cid/cidgload.c (cid_load_glyph): Separate
    conditional for selecting engine.
    
  - [autofit] Better visualize table tracing in source code.
    
  - * src/base/ftoutln.c (FT_Outline_Translate): Fix integer overflow.
    
    Reported as
    
      https://bugs.chromium.org/p/chromium/issues/detail?id=772775
    
  - * src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Integer overflows.
    
    Reported as
    
      https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3579
    
  - Document global size metrics needed for native bytecode hinting (#52165).
    
  - Prevent creation of an incorrect documentation entry.
    
  - [sfnt] Adjust behaviour of PS font names for variation fonts.
    
    * src/sfnt/sfdriver.c (sfnt_get_var_ps_name): Use a named instance's
    PS name only if no variation is applied.
    
  - [cff, truetype] Adjust behaviour of named instances.
    
    This commit completely separates the interaction between named
    instances and variation functions.  In particular, resetting the
    variation returns to the current named instance (if set) and not to
    the base font.
    
    As a side effect, variation functions no longer change the named
    instance index.
    
    * src/cff/cffobjs.c (cff_face_init): Use MM service's `set_instance'
    function.
    Also apply `MVAR' table to named instances.
    
    * src/truetype/ttgxvar.c (TT_Get_MM_Var): Add cast.
    (tt_set_mm_blend): No longer check whether requested variation
    coincides with a named instance.
    (TT_Set_Var_Design): Use current named instance for default
    coordinates.
    * src/truetype/ttobjs.c (tt_face_init): Use `TT_Set_Named_Instance'.
    
  - Make `FT_Set_Named_Instance' work.
    
    * src/cff/cffdrivr.c (cff_set_instance): New function.
    (cff_service_multi_masters): Register it.
    
    * src/truetype/ttgxvar.c (TT_Set_Named_Instance): New function.
    * src/truetype/ttgxvar.h: Updated.
    * src/truetype/ttdriver.c (tt_service_gx_multi_masters): Register
    it.
    
    * src/type1/t1load.c (T1_Reset_MM_Blend): New function.
    * src/type1/t1load.h: Updated.
    * src/type1/t1driver.c (t1_service_multi_masters): Register it.
    
  - Make `FT_FACE_FLAG_VARIATION' work.
    
    * include/freetype/internal/tttypes.h (TT_Face): Remove
    `is_default_instance'; this can be replaced with a combination of
    `FT_IS_VARIATION' and `FT_IS_INSTANCE'.
    
    * src/cff/cffdrivr.c (cff_get_advances): Updated.
    
    * src/sfnt/sfdriver.c (sfnt_get_ps_name), src/sfnt/sfobjs.c
    (sfnt_init_face): Updated.
    
    * src/truetype/ttdriver.c (tt_get_advances), src/truetype/ttgload.c
    (TT_Process_Simple_Glyph, load_truetype_glyph, IS_DEFAULT_INSTANCE),
    src/truetype/ttgxvar.c (tt_set_mm_blend): Updated.
    * src/truetype/ttgxvar.c (TT_Set_MM_Blend, TT_Set_Var_Design):
    Handle `FT_FACE_FLAG_VARIATION'.
    
    * src/type1/t1load.c (T1_Set_MM_Blend, T1_Set_MM_Design): Handle
    `FT_FACE_FLAG_VARIATION'.
    
  - New function `FT_Set_Named_Instance'.
    
    No effect yet.
    
    * src/base/ftmm.c (FT_Set_Named_Instance): New function.
    
    * include/freetype/ftmm.h: Updated.
    
  - Add macros for checking whether a font variation is active.
    
    * include/freetype/freetype.h (FT_FACE_FLAG_VARIATION,
    FT_IS_VARIATION): New macros.
    No effect yet.
    
  - Add framework for setting named instance in MM service.
    
    * include/freetype/internal/services/svmm.h (FT_Set_Instance_Func):
    New function typedef.
    (MultiMasters): Add `set_instance' member.
    (FT_DEFINE_SERVICE_MULTIMASTERSREC): Updated.
    
    * src/cff/cffdrivr.c (cff_service_multi_masters),
    src/truetype/ttdriver (tt_service_gx_multi_masters),
    src/type1/t1driver.c (t1_service_multi_masters): Updated.
    
  - [type1] Minor code shuffling.
    
    * src/type1/t1load.c (T1_Set_MM_Blend): Make it a wrapper of...
    (t1_set_mm_blend): ...this new function.
    (T1_Set_MM_Design): Use `t1_set_mm_blend'.
    
  - * src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Fix integer
    overflow.
    
    Reported as
    
      https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3539
    
  - Fix compiler warnings.
    
    * src/cff/cffdrivr.c (cff_ps_get_font_extra): Avoid code that relies
    on numeric overflow.
    Add cast.
    
    * src/smooth/ftsmooth.c (ft_smooth_render_generic): Fix variable
    types, add cast.
    
  - [cff] Add support for `FSType'.
    
    * include/freetype/internal/cfftypes.h (CFF_FontRec): Add
    `font_extra' entry.
    
    * src/cff/cffdrivr.c (cff_ps_get_font_extra): New function to
    retrieve FSType info from the embedded PostScript data.
    (cff_service_ps_info): Register function.
    
    * src/cff/cffload.c (cff_font_done): Free `font_extra'.
    
  - CHANGES: Formatting.
    
  - [smooth,type1] Formatting, whitespace.
    
  - [psaux] Formatting, minor fixes, whitespace, copyright notices.
    
  - [base,cff,cid] Whitespace, formatting.
    
  - [include] Whitespace.
    
  - Signedness fixes in bitmap presetting.
    
    Reported as
    
      https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3514.
    
    * src/raster/ftrend1.c (ft_raster1_render): Exlicitly signed height.
    * src/smooth/ftsmooth.c (ft_smooth_render_generic): Ditto.
    * src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Explicitly unsigned
    subtraction.
    
  - Bitmap metrics presetting [2/2].
    
    * src/base/ftobjs.c (FT_Load_Glyph): Preset the bitmap metrics when
    appropriate but `FT_Render_Glyph' is not called.
    * include/freetype/freetype.h (FT_GlyphSlotRec): Document the change.
    
  - [smooth, raster] Miscellaneous cleanups.
    
    * src/raster/ftrend1.c (ft_raster1_render): Clean up the exit.
    * src/smooth/ftsmooth.c (ft_smooth_render_generic): Reduce
    translations and clean up the exit.
    (ft_smooth_render_lcd, ft_smooth_render_lcd): Remove unused `error'..
    
  - [truetype] Really, really fix #52082.
    
    * src/truetype/ttinterp.c (Ins_MDRP): Correct conditional.
    
  - * src/psaux/psintrp.c (cf2_doStems): Fix integer overflow.
    
    Reported as
    
      https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3510
    
  - * src/cid/cidgload.c (cid_slot_load_glyph): Fix memory leak.
    
    Reported as
    
      https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3489
    
  - Bitmap metrics presetting [1/2].
    
    This mainly just extracts the code for presetting the bitmap metrics
    from the monochrome, grayscale, and LCD renderers into a separate
    function.
    
    * src/base/ftobjs.c (ft_glyphslot_preset_bitmap): New function that
    calculates prespective bitmap metrics for the given rendering mode.
    * include/freetype/internal/ftobjs.h (ft_glyphslot_preset_bitmap):
    Declare it.
    
    * src/base/ftlcdfil.c (ft_lcd_padding): New helper function that adds
    padding to CBox taking into account pecularities of LCD rendering.
    * include/freetype/ftlcdfil.h (ft_lcd_padding): Declare it.
    
    * src/raster/ftrend1.c (ft_raster1_render): Reworked to use
    `ft_glyphslot_preset_bitmap'.
    * src/smooth/ftsmooth.c (ft_smooth_render_generic): Ditto.
    (ft_smooth_render_lcd, ft_smooth_render_lcd): The pixel_mode setting
    is moved to `ft_glyphslot_preset_bitmap'.
    
  - Fix compiler warning.
    
    * src/psaux/pshints.c (cf2_hintmap_dump): Add switch for tracing code.
    
  - * src/sfnt/ttload.c (tt_face_load_font_dir): Fix compiler warning.
    
  - Copyright notices, formatting, whitespace, minor doc fixes.
    
  - Fix compiler warnings.
    
    * src/psaux/psft.c (cf2_initLocalRegionBuffer): Remove redundant
    test.
    
    * src/psaux/psintrp.c (cf2_interpT2CharString)
    <cf2_escCALLOTHERSUBR>: Add casts.
    
    * src/psaux/psobjs.c (ps_decoder_init): Add cast.
    
  - Minor fixes.
    
    * include/freetype/internal/psaux.h, src/psaux/psobjs.{c,h}:
    Rearrange `ps_builder_init' arguments to conventional order.
    
    * src/psaux/psft.c (cf2_decoder_parse_charstrings): Add a check and
    notice for `SubFont' in Type 1 mode.
    
  - Documentation fixes.
    
  - Move `psdecode' into `psobjs'.
    
    As the former only contains a single procedure, move it into
    `psobjs' for simplicity.  Also change the parameter order to the
    conventional one.
    
    * src/psaux/psdecode.c (ps_decoder_init): Moved to...
    * src/psaux/psobjs.c: ...Here.
    * src/psaux/psdecode.h, src/psaux/psobjs.h: Ditto.
    
    * include/freetype/internal/psaux.h (PSAux_ServiceRec): Update
    `ps_decoder_init' function signature.
    
    * src/cff/cffgload.c, src/cid/cidgload.c, src/type1/t1gload.c:
    Update calls.
    
    * src/psaux/psaux.c, src/psaux/psauxmod.c: Update includes.
    
    * src/psaux/Jamfile (_sources), src/psaux/rules.mk (PSAUX_DRV_SRC):
    Update file references.
    
  - Fix Type 1 hinting.
    
    Type 1 hinting breaks sometimes when mid-charstring hints should
    have been in the initial hintmap.  This fix adds a preprocessing
    pass that reads all hints and builds the correct initial hintmap
    first, before proceeding to build the glyph outline.
    
    * src/psaux/psintrp.c (cf2_interpT2CharString): New
    `initial_map_ready' boolean flag.
    Ignore outline commands and hint changes on first pass.
    <cf2_cmdENDCHAR>: Add section to build hintmap and rewind.
    
  - Add tracing for hints.
    
    * src/psaux/pshints.c (cf2_hintmap_dump): New function.
    (cf2_hintmap_insertHint): Trace incoming and inserted hints.
    (cf2_hintmap_build): Dump hintmap before and after hint adjustment.
    
  - Minor fixes.
    
    * src/psaux/psintrp.c (cf2_interpT2CharString): Fix check for pop
    results.
    s/font->decoder/decoder/ where necessary.
    <cf2_cmdHSTEM, cf2_cmdVSTEM, cf2_escHSTEM3, cf2_escVSTEM3>: Use
    offset parameter in `cf2_doStems' instead of doing correction for
    left-sidebearing.
    
  - Use the new engine.
    
    * src/cid/cidgload.c: Update includes.
    (cid_load_glyph, cid_slot_load_glyph): Implement changes to glyph
    loading code as with `type1' module.
    
  - Add Adobe engine configuration.
    
    This is similar to what was done in the `type1' module.
    
    * src/cid/cidriver.c (t1cid_driver_class): Update declaration.
    * src/cid/cidobjs.c: Include FT_TYPE1_DRIVER_H.
    (cid_driver_init): Update code.
    
  - Change subfont synthesis for CID fonts.
    
    Change `t1_make_subfont' to take in the Private dict record as an
    argument.  This is because Type 1 and CID font records in FreeType
    have this in different places.
    
    * src/psaux/psobjs.c (t1_make_subfont): Change `T1_Face' to
    `FT_Face' so that CID is also accepted.
    Take `PS_Private' as an argument and let caller figure out where the
    Private dict actually is.
    Update references.
    
    * include/freetype/internal/psaux.h, src/psaux/psobjs.h: Update
    declaration.
    
    * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Update
    call.
    
  - Switch to Adobe engine.
    
    * src/type1/t1objs.c (T1_Driver_Init): Set default to Adobe engine.
    
  - Extend Adobe interpreter (seac).
    
    This concludes the changes needed to add Type 1 support.
    
    * src/psaux/psintrp.c: Update includes.
    (cf2_interpT2CharString) <cf2_escSEAC>: Implement this similarly to
    implied seac for CFF.
    
    * src/psaux/t1decode.c (t1_lookup_glyph_by_stdcharcode_ps): New
    function to look up the glyph index.
    
    * src/psaux/psft.c (cf2_getT1SeacComponent,
    cf2_freeT1SeacComponent): New functions to get the charstrings for
    seac components.
    
    * src/psaux/t1decode.h, src/psaux/psft.h: Update declarations.
    
  - Extend Adobe interpreter (flex in callothersubr).
    
    * src/psaux/psintrp.c (cf2_interpT2CharString)
    <cf2_escCALLOTHERSUBR>: Fix Flex feature handling (OtherSubrs 0, 1,
    2).
    <cf2_cmdRMOVETO>: Do not actually move the `glyphPath' while doing
    flex.  This is to avoid closing the current contour.
    
  - Extend Adobe interpreter (callothersubr).
    
    * src/psaux/psintrp.c (cf2_interpT2CharString)
    <cf2_escCALLOTHERSUBR>: Copy code from
    `t1_decoder_parse_charstrings' (in `t1decode.c').
    OtherSubr 3 (change hints) should reset the hintmask, so that the
    new hints are applied.
    Fix function calls and stack access.
    
  - Extend Adobe interpreter (pop).
    
    * src/psaux/psintrp.c (cf2_interpT2CharString): Change how unhandled
    OtherSubr results are stored.  Implement the PostScript stack using
    an array.
    <cf2_escPOP>: Ensure that the stack is not cleared after getting
    `OtherSubr' results.
    Fix stack access.
    
  - Extend Adobe interpreter (callsubr).
    
    * src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdCALLSUBR>:
    Type 1 mode.
    
    * src/psaux/psft.c (cf2_initLocalRegionBuffer): Add Type 1 mode.
    
  - Extend Adobe interpreter (div, four-byte numbers).
    
    * src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_escDIV>: Add
    Type 1 mode.  Type 1 requires large integers to be followed by
    `div'; cf. `Adobe Type 1 Font Format', section 6.2.
    <op == 255>: Push Type 1 four-byte numbers as `Int' always.  This is
    to ensure `div' and `callsubr' get values they can use.
    
  - Extend Adobe interpreter (hstem, vstem, hstem3, vstem3).
    
    * src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdHSTEM,
    cf2_cmdVSTEM>: Add correction for left sidebearing in Type 1 mode.
    Allow adding hints mid-charstring.
    <cf2_escVSTEM3, cf2_escHSTEM3>: Translate into equivalent commands
    for three normal stem hints.  This requires some recalculation of
    stem positions.
    Correction for left sidebearing.
    
  - Extend Adobe interpreter (hsbw, sbw).
    
    * src/psaux/psintrp.c (cf2_doStems): `hsbw' or `sbw' must be the
    first operation in a Type 1 charstring.
    (cf2_interpT2CharString): Remove unused variables.
    <cf2_cmdHMOVETO, cf2_cmdVMOVETO, cf2_cmdRMOVETO>: `hsbw' or `sbw'
    must be the first operation in a Type 1 charstring.
    <cf2_cmdHSBW, cf2_escSBW>: Fix data access and add correction for
    left sidebearing.
    
  - Extend Adobe interpreter (setcurrentpoint).
    
    * src/psaux/psintrp.c (cf2_interpT2CharString)
    <cf2_escSETCURRENTPT>: Fix stack access.
    
  - Extend Adobe interpreter (closepath).
    
    * src/psaux/psintrp.c (cf2_interpT2CharString) <c2f_cmdCLOSEPATH>:
    Use the right builder function.  We can use the `haveWidth' boolean
    already present, instead of implementing `parse_state'.
    
  - Add Type 1 operations to Adobe CFF interpreter.
    
    The following Type 1 specific ops have been added (copied from
    `t1decode'):
    
      closepath
      vstem3
      hstem3
      seac
      sbw
      callothersubr
      pop
      setcurrentpoint
      hsbw
    
    The following require a Type 1 mode, because of differences in
    specification:
    
      hstem
      vstem
      vmoveto
      callsubr
      div
      rmoveto
      hmoveto
      Numbers
    
    The subsequent commits will implement these changes and adapt
    accesses of data and objects to the new interpreter.
    
    NOTE: Will not compile in the meantime!
    
    * src/psaux/psintrp.c: Add opcodes to enum.
    (cf2_interpT2CharString): Copy relevant code over from
    `t1_decoder_parse_charstrings' (in `t1decode.c').
    
  - Fixes for rendering.
    
    The Type 1 advance width calculation passes null for glyph slot,
    etc, which can cause null pointer access in the new interpreter.
    Fall back to the old one for now.
    
    Fix the large glyph retry code and ensure hinting and scaling flags
    are set properly.
    
    * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add a
    check for metrics_only.
    Set the `force_scaling' flag.
    (T1_Parse_Glyph): Updated.
    (T1_Load_Glyph): Add `hinting' and `scaled' flags.
    
  - Add missing objects (2/2).
    
    Synthesize a `SubFont' object for Type 1 fonts.  This is used in the
    interpreter to access Private dict data, which are stored in
    different places for Type 1 and CFF.  This allows the same data to
    be used in either mode.
    
    * src/psaux/psobjs.c (t1_make_subfont): New procedure to copy
    required values to a dummy `CFF_SubFont' object.  This is similar to
    `cff_make_private_dict'.
    * src/psaux/psobjs.h: Add the new declaration.
    
    * include/freetype/internal/psaux.h, src/psaux/psauxmod.c: Ditto.
    Add this to the PSAux Service for future use with CID fonts.
    
    * src/type1/t1gload.c: Include FT_INTERNAL_CFF_TYPES_H.
    (T1_Parse_Glyph_And_Get_Char_String): Add the call.
    
  - Add missing objects for Type 1 (1/2).
    
    Move `CF2_Font' instance to `PS_Decoder'.  This is the context for
    the interpreter and since it is currently stored in `CFF_Font', is
    unavailable in Type 1 mode.
    
    * include/freetype/internal/psaux.h (T1_Decoder, PS_Decoder): New
    `cf2_instance' field.
    
    * src/psaux/psdecode.c (ps_decoder_init): Copy `cf2_instance' to
    `PS_Decoder'.
    
    * src/psaux/t1decode.c (t1_decoder_done): Add finalization code.
    
    * src/psaux/psft.c (cf2_decoder_parse_charstrings): Update accesses.
    
  - Allow `type1' module to use the Adobe engine.
    
    Add the callback and some conditionals to switch between the two
    engines.
    
    * include/freetype/internal/psaux.h (T1_Decoder_FuncsRec): Change
    function declarations.
    * src/psaux/psauxmod.c (T1_Decoder_FuncsRec): Register the
    callbacks.
    
    * src/psaux/psobjs.c (ps_builder_add_point): Add conditionals for
    number conversion.
    
    * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add code
    to choose which renderer to use.
    
    * src/cid/cidgload.c (cid_load_glyph): Update call.
    * src/base/ftobjs.c, src/psaux/psobjs.c, src/type1/t1gload.c: Update
    includes.
    
  - Add Adobe engine configuration.
    
    Use the previously changed PS_Driver in type1 module to store
    hinting engine configuration.
    
    * include/freetype/ftt1drv.h: New file.
    Duplicate and rename config options from CFF.
    * include/freetype/config/ftheader.h (FT_TYPE1_DRIVER_H): New macro.
    
    * src/type1/t1driver.c (t1_driver_class): Update declaration.
    * src/type1/t1objs.c: Include FT_TYPE1_DRIVER_H.
    (T1_Driver_Init): Update code.
    
  - Move and rename `CFF_Driver'.
    
    This is so that we can use the same hinting engine parameters for
    Type 1.
    
    * include/freetype/internal/cffotypes.h (CFF_Driver): Rename and
    move to...
    * include/freetype/internal/psaux.h (PS_Driver): ...here.
    
    * src/cff/cffdrivr.c, src/cff/cffgload.c, src/cff/cffload.c,
    src/cff/cffobjs.c, src/cff/cffobjs.h, src/psaux/psft.c,
    src/psaux/psobjs.c: Update references.
    
  - Reorganize object fields.
    
    Make some fields more generic, so that we can access them the same
    way regardless of Type 1 or CFF.
    
    * include/freetype/internal/psaux.h (PS_Builder): Change `TT_Face'
    to `FT_Face'.
    Remove unused fields.
    
    * src/psaux/psft.c: Update all accesses of `PS_Builder.face'.
    Add some asserts to guard against casting `T1_Face' as `TT_Face'.
    
    * src/type1/t1objs.h (T1_GlyphSlot): Reorder fields to follow
    `CFF_GlyphSlot', so that we can pretend they are the same in the
    interpreter.
    
    * src/psaux/psobjs.c (ps_builder_init, ps_builder_add_point):
    Updated with above changes.
    
  - Prepare for Type 1 mode.
    
    Add some checks for Type 1 data passing through.
    
    * src/psaux/psfont.h (CF2_Font): Add `isT1' flag.
    * src/psaux/psfont.c (cf2_font_setup): Skip the variations and blend
    code which is not applicable for Type 1.
    
    * src/psaux/psft.c (cf2_decoder_parse_charstrings): Avoid accessing
    `decoder->cff' in Type 1 mode.
    Copy `is_t1' flag to `CF2_Font'.
    
  - Use the new objects.
    
    * include/freetype/internal/psaux.h, src/psaux/psauxmod.c: Fix
    switching between new and old engines.
    
    * src/cff/cffgload.c, src/cff/cffparse.c: Update calls.
    
    * src/psaux/psblues.c, src/psaux/psfont.c, src/psaux/psfont.h,
    src/psaux/psft.c, src/psaux/psft.h, src/psaux/psintrp.c: Update all
    to use new objects.
    
  - Objects for new interpreter (part 2).
    
    Make the new objects copy over values.  They are essentially wrapper
    types for the different decoders/builders.
    
    * include/freetype/internal/psaux.h: Update declarations.
    (PS_Builder): Add `is_t1' flag.
    (PS_Decoder_{Get,Free}_Glyph_Callback): Renamed to...
    (CFF_Decoder_{Get,Free}_Glyph_Callback: ... this.
    (PS_Decoder): Updated.
    Add `t1_parse_callback' member.
    (PSAux_ServiceRec): Add `ps_decoder_init' member.
    
    * src/psaux/psdecode.h, src/psaux/psobjs.h: Update declarations.
    
    * src/psaux/psdecode.c, src/psaux/psobjs.c: Implement copy with two
    modes.
    
    * src/psaux/psauxmod.c: Add builder and decoder functions to `PSAux'
    service.
    
  - Add objects for new interpreter.
    
    Introduce `PS_Decoder' and `PS_Builder' which include all fields
    from either Type 1 or CFF decoders/builders.
    
    * include/freetype/internal/psaux.h (PS_Builder, PS_Decoder): New
    structs.
    
    * src/psaux/psobjs.c, src/psaux/psobjs.h: Add `PS_Builder'
    functions.
    
    * src/psaux/psdecode.c, src/psaux/psdecode.h: New files to hold
    `PS_Decoder' initialization functions.
    
    * src/psaux/psaux.c, src/psaux/Jamfile (_sources),
    src/psaux/rules.mk (PSAUX_DRV_SRC): Updated.
    
  - Rename files.
    
    Replace the `cf2' file name prefix with `ps' as the Adobe engine
    will be used for both PostScript Types 1 and 2 (CFF) instead of just
    CFF.
    
    s/cf2/ps/ for all following.
    
    * src/psaux/cf2*: Rename files.
    * src/psaux/*: Update includes.
    
    * src/psaux/Jamfile (_sources), src/psaux/rules.mk (PSAUX_DRC_SRC,
    PSAUX_DRV_H): Update file references.
    
  - Minor fix.
    
    Use `MultiMasters' service in `psaux' instead of a call to `cff'.
    The project builds if CFF_CONFIG_OPTION_OLD_ENGINE is not defined.
    
    * src/psaux/cf2ft.c: Update includes.
    (cf2_getNormalizedVector): Use `mm->get_var_blend' instead of
    `cff_get_var_blend'.
    
  - Move `cff_random' into `psaux' service.
    
    NOTE: Does not compile!
    
    Minor fix to allow both `cff' and `psaux' to use `cff_random'.
    
    * src/cff/cffload.c (cff_random): Move to...
    * src/psaux/psobjs.c: Here.
    * src/cff/cffload.h: Move corresponding declaration to
    `src/psaux/psobjs.h'.
    
    * include/freetype/internal/psaux.h (PSAux_ServiceRec): Register the
    function here...
    * src/psaux/psauxmod.c: And here.
    
    * src…
  • Loading branch information
siyamed authored and Gerrit Code Review committed Jul 30, 2018
1 parent 7c45ba9 commit f0fa045
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion external/freetype
Submodule freetype updated from 613f72 to 2adc3a

0 comments on commit f0fa045

Please sign in to comment.