ref: 3cabd142ce42627a7e4410ce62616e5c4b91dc6e
parent: 81912a1385e8fc7694eda820221e15745cdcada4
author: Werner Lemberg <[email protected]>
date: Mon Nov 22 14:36:45 EST 2021
Update `CHANGES` files, other minor whitespace and documentation issues.
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -8,6 +8,26 @@
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
--- a/docs/INSTALL
+++ b/docs/INSTALL
@@ -9,7 +9,7 @@
FreeType is a low level C library that only depends on the standard
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,
and libpng, might be used to handle compressed fonts or decode
embedded PNG glyphs.
@@ -16,12 +16,12 @@
FreeType auto-configuration scripts should be able to detect the
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
need to change anything.
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
@@ -32,7 +32,7 @@
This also includes MacOS, Cygwin, MinGW + MSYS, Mingw-w64 + MSYS2,
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
compilation, since other make tools won't work (this includes BSD
Make).
@@ -48,7 +48,7 @@
Windows, OS/2, and BeOS, including MinGW* (without MSYS*), Visual
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.
@@ -57,20 +57,20 @@
the corresponding instruction files in the FreeType root folder
or the builds/ sub-folder.
- CMake :: see CMakeLists.txt for more information
- Meson :: see meson.build for more information
- MSBuild :: see builds/windows/vc2010/freetype.vcxproj
- MMS :: see vms_make.com and docs/INSTALL.VMS
+ CMake :: see `CMakeLists.txt` for more information
+ Meson :: see `meson.build` for more information
+ MSBuild :: see `builds/windows/vc2010/freetype.vcxproj`
+ MMS :: see `vms_make.com` and `docs/INSTALL.VMS`
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
are not actively supported by FreeType developers, they can break
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.
@@ -77,7 +77,7 @@
5. From you own IDE, or own Makefiles
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.
@@ -86,7 +86,7 @@
Customizing the compilation of FreeType is easy, and allows you to
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 @@
https://makepp.sourceforge.net
for more information; you need version 2.0 or newer, and you must
- pass option `--norc-substitution'.
+ pass option `--norc-substitution`.
----------------------------------------------------------------------
--- a/include/freetype/config/ftstdlib.h
+++ b/include/freetype/config/ftstdlib.h
@@ -44,7 +44,7 @@
* `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
* 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
* types that are _exactly_ 16 and 32~bits wide (e.g., some old Crays where
--- a/include/freetype/internal/sfnt.h
+++ b/include/freetype/internal/sfnt.h
@@ -574,10 +574,10 @@
*
* @output:
* clip_box ::
- * The clip box for the requested base_glyph if one is found. The clip
- * box is computed taking scale and transformations configured on the
- * @FT_Face into account. @FT_ClipBox contains @FT_Vector values in
- * 26.6 format.
+ * The clip box for the requested `base_glyph` if one is found. The
+ * clip box is computed taking scale and transformations configured on
+ * the @FT_Face into account. @FT_ClipBox contains @FT_Vector values
+ * in 26.6 format.
*
* @note:
* To retrieve the clip box in font units, reset scale to units-per-em
--- a/src/base/ftobjs.c
+++ b/src/base/ftobjs.c
@@ -4720,7 +4720,7 @@
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 ) &&
slot->format == FT_GLYPH_FORMAT_BITMAP )
error = FT_Err_Ok;
--- a/src/cid/cidload.c
+++ b/src/cid/cidload.c
@@ -559,8 +559,8 @@
}
/* read the subrmap's offsets */
- if ( FT_STREAM_SEEK( cid->data_offset + dict->subrmap_offset ) ||
- FT_FRAME_ENTER( ( num_subrs + 1 ) * dict->sd_bytes ) )
+ if ( FT_STREAM_SEEK( cid->data_offset + dict->subrmap_offset ) ||
+ FT_FRAME_ENTER( ( num_subrs + 1 ) * dict->sd_bytes ) )
goto Fail;
p = (FT_Byte*)stream->cursor;
--- a/src/gxvalid/gxvmod.c
+++ b/src/gxvalid/gxvmod.c
@@ -77,8 +77,7 @@
FT_ULong len_ ## _sfnt = 0
#define GXV_TABLE_LOAD( _sfnt ) \
- do \
- { \
+ FT_BEGIN_STMNT \
if ( ( FT_VALIDATE_ ## _sfnt ## _INDEX < table_count ) && \
( gx_flags & FT_VALIDATE_ ## _sfnt ) ) \
{ \
@@ -87,11 +86,10 @@
if ( error ) \
goto Exit; \
} \
- } while ( 0 )
+ FT_END_STMNT
#define GXV_TABLE_VALIDATE( _sfnt ) \
- do \
- { \
+ FT_BEGIN_STMNT \
if ( _sfnt ) \
{ \
ft_validator_init( &valid, _sfnt, _sfnt + len_ ## _sfnt, \
@@ -102,7 +100,7 @@
if ( error ) \
goto Exit; \
} \
- } while ( 0 )
+ FT_END_STMNT
#define GXV_TABLE_SET( _sfnt ) \
if ( FT_VALIDATE_ ## _sfnt ## _INDEX < table_count ) \
--- a/src/psaux/t1decode.c
+++ b/src/psaux/t1decode.c
@@ -27,9 +27,11 @@
#include "psauxerr.h"
+
/* 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 ) )
+
/**************************************************************************
*
--- a/src/truetype/ttobjs.c
+++ b/src/truetype/ttobjs.c
@@ -142,11 +142,11 @@
}
- /* The fonts embedded in PDF changes their family names
- * by the randomization tag. PDF Reference 5.5.3 "Font
- * Subsets" defines its format as 6 uppercase letters and
- * '+' sign. For safety, we do not skip the tag violating
- * this rule.
+ /*
+ * Fonts embedded in PDFs are made unique by prepending randomization
+ * prefixes to their names: as defined in Section 5.5.3, 'Font Subsets',
+ * of the PDF Reference, they consist of 6 uppercase letters followed by
+ * the `+` sign. For safety, we do not skip prefixes violating this rule.
*/
static const FT_String*
@@ -196,7 +196,7 @@
"DFGothic-EB", /* DynaLab Inc. 1992-1995 */
"DFGyoSho-Lt", /* DynaLab Inc. 1992-1995 */
"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 */
"DFHSMincho-W3", /* DynaLab Inc. 1992-1995 */
@@ -553,8 +553,8 @@
if ( face->family_name &&
tt_check_trickyness_family( face->family_name ) )
{
- FT_TRACE3(( "found as a tricky font by "
- "its family name: %s\n", face->family_name ));
+ FT_TRACE3(( "found as a tricky font"
+ " by its family name: %s\n", face->family_name ));
return TRUE;
}
@@ -563,8 +563,8 @@
/* sfnt tables (`cvt', `fpgm', and `prep'). */
if ( tt_check_trickyness_sfnt_ids( (TT_Face)face ) )
{
- FT_TRACE3(( "found as a tricky font by "
- "its cvt/fpgm/prep table checksum\n" ));
+ FT_TRACE3(( "found as a tricky font"
+ " by its cvt/fpgm/prep table checksum\n" ));
return TRUE;
}