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.
* 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.
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.
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>.
Do not limit DLL builds to MinGW, since we already have
`__declspec(dllexport)' directives in `ftconfig.h'.
Also suppress more warnings for POSIX functions.
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.
* 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.
* 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'.
* 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.
=======================
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.
* 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.
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.
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.