Update `CHANGES` files, other minor whitespace and documentation issues.

This commit is contained in:
Werner Lemberg 2021-11-22 19:36:45 +01:00
parent 81912a1385
commit 3cabd142ce
9 changed files with 59 additions and 39 deletions

View File

@ -8,6 +8,26 @@ CHANGES BETWEEN 2.11.0 and 2.11.1
additional means to protect against malformed input. additional means to protect against malformed input.
II. MISCELLANEOUS
- Cmake support has been further improved. To do that various
backward-incompatible changes were necessary; please see file
`CMakeLists.txt` for more details.
- Since version 2.11.0, a C99 compiler is necessary to compile
FreeType.
- The experimental 'COLR' v1 API has been updated to the latest
OpenType standard 1.9.
- The `apinames` tool got a new option `-wV` to output an OpenVMS
Linker Option File.
- VMS support was updated.
- MS Visual Studio support was added to build the demo programs.
====================================================================== ======================================================================
CHANGES BETWEEN 2.10.4 and 2.11.0 CHANGES BETWEEN 2.10.4 and 2.11.0

View File

@ -9,19 +9,19 @@ I. Prerequisites and dependencies
FreeType is a low level C library that only depends on the standard FreeType is a low level C library that only depends on the standard
C library with very few platform-dependent optimizations utilized at C library with very few platform-dependent optimizations utilized at
build time. Any C89-compliant compiler should be able to compile build time. Any C99-compliant compiler should be able to compile
FreeType. System libraries, such as zlib, Gzip, bzip2, Brotli, FreeType. System libraries, such as zlib, Gzip, bzip2, Brotli,
and libpng, might be used to handle compressed fonts or decode and libpng, might be used to handle compressed fonts or decode
embedded PNG glyphs. embedded PNG glyphs.
FreeType auto-configuration scripts should be able to detect the FreeType auto-configuration scripts should be able to detect the
prerequisites if the necessary headers are available at the default prerequisites if the necessary headers are available at the default
locations. Otherwise, modify `include/freetype/config/ftoption.h' locations. Otherwise, modify `include/freetype/config/ftoption.h`
to control how the FreeType library gets built. Normally, you don't to control how the FreeType library gets built. Normally, you don't
need to change anything. need to change anything.
Applications have very limited control over FreeType's behaviour at Applications have very limited control over FreeType's behaviour at
run-time; look at the documentation of function `FT_Property_Set'. run-time; look at the documentation of function `FT_Property_Set`.
II. Normal installation and upgrades II. Normal installation and upgrades
@ -32,7 +32,7 @@ II. Normal installation and upgrades
This also includes MacOS, Cygwin, MinGW + MSYS, Mingw-w64 + MSYS2, This also includes MacOS, Cygwin, MinGW + MSYS, Mingw-w64 + MSYS2,
and possibly other, similar environments. and possibly other, similar environments.
Please read `INSTALL.UNIX' to install or upgrade FreeType 2 on a Please read `INSTALL.UNIX` to install or upgrade FreeType 2 on a
Unix system. Note that you *need* GNU Make for automatic Unix system. Note that you *need* GNU Make for automatic
compilation, since other make tools won't work (this includes BSD compilation, since other make tools won't work (this includes BSD
Make). Make).
@ -48,7 +48,7 @@ II. Normal installation and upgrades
Windows, OS/2, and BeOS, including MinGW* (without MSYS*), Visual Windows, OS/2, and BeOS, including MinGW* (without MSYS*), Visual
C++, Borland C++, and more. C++, Borland C++, and more.
Instructions are provided in the file `INSTALL.GNU'. Instructions are provided in the file `INSTALL.GNU`.
3. Other build tools and platforms. 3. Other build tools and platforms.
@ -57,27 +57,27 @@ II. Normal installation and upgrades
the corresponding instruction files in the FreeType root folder the corresponding instruction files in the FreeType root folder
or the builds/ sub-folder. or the builds/ sub-folder.
CMake :: see CMakeLists.txt for more information CMake :: see `CMakeLists.txt` for more information
Meson :: see meson.build for more information Meson :: see `meson.build` for more information
MSBuild :: see builds/windows/vc2010/freetype.vcxproj MSBuild :: see `builds/windows/vc2010/freetype.vcxproj`
MMS :: see vms_make.com and docs/INSTALL.VMS MMS :: see `vms_make.com` and `docs/INSTALL.VMS`
4. With an IDE Project File (e.g., for Visual Studio or CodeWarrior) 4. With an IDE Project File (e.g., for Visual Studio or CodeWarrior)
We provide a small number of `project files' for various IDEs to We provide a small number of 'project files' for various IDEs to
automatically build the library as well. Note that these files automatically build the library as well. Note that these files
are not actively supported by FreeType developers, they can break are not actively supported by FreeType developers, they can break
or become obsolete. or become obsolete.
To find them, have a look at the content of the `builds/<system>' To find them, have a look at the content of the `builds/<system>`
directory, where <system> stands for your OS or environment. directory, where <system> stands for your OS or environment.
5. From you own IDE, or own Makefiles 5. From you own IDE, or own Makefiles
If you want to create your own project file, follow the If you want to create your own project file, follow the
instructions given in the `INSTALL.ANY' document of this instructions given in the `INSTALL.ANY` document of this
directory. directory.
@ -86,7 +86,7 @@ III. Custom builds of the library
Customizing the compilation of FreeType is easy, and allows you to Customizing the compilation of FreeType is easy, and allows you to
select only the components of the font engine that you really need. select only the components of the font engine that you really need.
For more details read the file `CUSTOMIZE'. For more details read the file `CUSTOMIZE`.
---------------------------------------------------------------------- ----------------------------------------------------------------------
@ -97,7 +97,7 @@ III. Custom builds of the library
https://makepp.sourceforge.net https://makepp.sourceforge.net
for more information; you need version 2.0 or newer, and you must for more information; you need version 2.0 or newer, and you must
pass option `--norc-substitution'. pass option `--norc-substitution`.
---------------------------------------------------------------------- ----------------------------------------------------------------------

View File

@ -44,7 +44,7 @@
* `UINT_MAX` and `ULONG_MAX` are used to automatically compute the size of * `UINT_MAX` and `ULONG_MAX` are used to automatically compute the size of
* `int` and `long` in bytes at compile-time. So far, this works for all * `int` and `long` in bytes at compile-time. So far, this works for all
* platforms the library has been tested on. We also check `ULLONG_MAX` * platforms the library has been tested on. We also check `ULLONG_MAX`
* to see if we can use 64-bit `long long` later. * to see whether we can use 64-bit `long long` later on.
* *
* Note that on the extremely rare platforms that do not provide integer * Note that on the extremely rare platforms that do not provide integer
* types that are _exactly_ 16 and 32~bits wide (e.g., some old Crays where * types that are _exactly_ 16 and 32~bits wide (e.g., some old Crays where

View File

@ -574,10 +574,10 @@ FT_BEGIN_HEADER
* *
* @output: * @output:
* clip_box :: * clip_box ::
* The clip box for the requested base_glyph if one is found. The clip * The clip box for the requested `base_glyph` if one is found. The
* box is computed taking scale and transformations configured on the * clip box is computed taking scale and transformations configured on
* @FT_Face into account. @FT_ClipBox contains @FT_Vector values in * the @FT_Face into account. @FT_ClipBox contains @FT_Vector values
* 26.6 format. * in 26.6 format.
* *
* @note: * @note:
* To retrieve the clip box in font units, reset scale to units-per-em * To retrieve the clip box in font units, reset scale to units-per-em

View File

@ -4720,7 +4720,7 @@
renderer = FT_Lookup_Renderer( library, slot->format, &node ); renderer = FT_Lookup_Renderer( library, slot->format, &node );
} }
/* it is not an error if we cannot render a bitmat glyph */ /* it is not an error if we cannot render a bitmap glyph */
if ( FT_ERR_EQ( error, Cannot_Render_Glyph ) && if ( FT_ERR_EQ( error, Cannot_Render_Glyph ) &&
slot->format == FT_GLYPH_FORMAT_BITMAP ) slot->format == FT_GLYPH_FORMAT_BITMAP )
error = FT_Err_Ok; error = FT_Err_Ok;

View File

@ -559,8 +559,8 @@
} }
/* read the subrmap's offsets */ /* read the subrmap's offsets */
if ( FT_STREAM_SEEK( cid->data_offset + dict->subrmap_offset ) || if ( FT_STREAM_SEEK( cid->data_offset + dict->subrmap_offset ) ||
FT_FRAME_ENTER( ( num_subrs + 1 ) * dict->sd_bytes ) ) FT_FRAME_ENTER( ( num_subrs + 1 ) * dict->sd_bytes ) )
goto Fail; goto Fail;
p = (FT_Byte*)stream->cursor; p = (FT_Byte*)stream->cursor;

View File

@ -77,8 +77,7 @@
FT_ULong len_ ## _sfnt = 0 FT_ULong len_ ## _sfnt = 0
#define GXV_TABLE_LOAD( _sfnt ) \ #define GXV_TABLE_LOAD( _sfnt ) \
do \ FT_BEGIN_STMNT \
{ \
if ( ( FT_VALIDATE_ ## _sfnt ## _INDEX < table_count ) && \ if ( ( FT_VALIDATE_ ## _sfnt ## _INDEX < table_count ) && \
( gx_flags & FT_VALIDATE_ ## _sfnt ) ) \ ( gx_flags & FT_VALIDATE_ ## _sfnt ) ) \
{ \ { \
@ -87,11 +86,10 @@
if ( error ) \ if ( error ) \
goto Exit; \ goto Exit; \
} \ } \
} while ( 0 ) FT_END_STMNT
#define GXV_TABLE_VALIDATE( _sfnt ) \ #define GXV_TABLE_VALIDATE( _sfnt ) \
do \ FT_BEGIN_STMNT \
{ \
if ( _sfnt ) \ if ( _sfnt ) \
{ \ { \
ft_validator_init( &valid, _sfnt, _sfnt + len_ ## _sfnt, \ ft_validator_init( &valid, _sfnt, _sfnt + len_ ## _sfnt, \
@ -102,7 +100,7 @@
if ( error ) \ if ( error ) \
goto Exit; \ goto Exit; \
} \ } \
} while ( 0 ) FT_END_STMNT
#define GXV_TABLE_SET( _sfnt ) \ #define GXV_TABLE_SET( _sfnt ) \
if ( FT_VALIDATE_ ## _sfnt ## _INDEX < table_count ) \ if ( FT_VALIDATE_ ## _sfnt ## _INDEX < table_count ) \

View File

@ -27,10 +27,12 @@
#include "psauxerr.h" #include "psauxerr.h"
/* ensure proper sign extension */ /* ensure proper sign extension */
#define Fix2Int( f ) ( (FT_Int)(FT_Short)( (f) >> 16 ) ) #define Fix2Int( f ) ( (FT_Int) (FT_Short)( (f) >> 16 ) )
#define Fix2UInt( f ) ( (FT_UInt)(FT_Short)( (f) >> 16 ) ) #define Fix2UInt( f ) ( (FT_UInt)(FT_Short)( (f) >> 16 ) )
/************************************************************************** /**************************************************************************
* *
* The macro FT_COMPONENT is used in trace mode. It is an implicit * The macro FT_COMPONENT is used in trace mode. It is an implicit

View File

@ -142,11 +142,11 @@
} }
/* The fonts embedded in PDF changes their family names /*
* by the randomization tag. PDF Reference 5.5.3 "Font * Fonts embedded in PDFs are made unique by prepending randomization
* Subsets" defines its format as 6 uppercase letters and * prefixes to their names: as defined in Section 5.5.3, 'Font Subsets',
* '+' sign. For safety, we do not skip the tag violating * of the PDF Reference, they consist of 6 uppercase letters followed by
* this rule. * the `+` sign. For safety, we do not skip prefixes violating this rule.
*/ */
static const FT_String* static const FT_String*
@ -196,7 +196,7 @@
"DFGothic-EB", /* DynaLab Inc. 1992-1995 */ "DFGothic-EB", /* DynaLab Inc. 1992-1995 */
"DFGyoSho-Lt", /* DynaLab Inc. 1992-1995 */ "DFGyoSho-Lt", /* DynaLab Inc. 1992-1995 */
"DFHei", /* DynaLab Inc. 1992-1995 [DFHei-Bd-WIN-HK-BF] */ "DFHei", /* DynaLab Inc. 1992-1995 [DFHei-Bd-WIN-HK-BF] */
/* covers "DFHei-Md-HK-BF" maybe DynaLab Inc. */ /* covers "DFHei-Md-HK-BF", maybe DynaLab Inc. */
"DFHSGothic-W5", /* DynaLab Inc. 1992-1995 */ "DFHSGothic-W5", /* DynaLab Inc. 1992-1995 */
"DFHSMincho-W3", /* DynaLab Inc. 1992-1995 */ "DFHSMincho-W3", /* DynaLab Inc. 1992-1995 */
@ -553,8 +553,8 @@
if ( face->family_name && if ( face->family_name &&
tt_check_trickyness_family( face->family_name ) ) tt_check_trickyness_family( face->family_name ) )
{ {
FT_TRACE3(( "found as a tricky font by " FT_TRACE3(( "found as a tricky font"
"its family name: %s\n", face->family_name )); " by its family name: %s\n", face->family_name ));
return TRUE; return TRUE;
} }
@ -563,8 +563,8 @@
/* sfnt tables (`cvt', `fpgm', and `prep'). */ /* sfnt tables (`cvt', `fpgm', and `prep'). */
if ( tt_check_trickyness_sfnt_ids( (TT_Face)face ) ) if ( tt_check_trickyness_sfnt_ids( (TT_Face)face ) )
{ {
FT_TRACE3(( "found as a tricky font by " FT_TRACE3(( "found as a tricky font"
"its cvt/fpgm/prep table checksum\n" )); " by its cvt/fpgm/prep table checksum\n" ));
return TRUE; return TRUE;
} }