Update `CHANGES` files, other minor whitespace and documentation issues.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296
diff --git a/docs/CHANGES b/docs/CHANGES
index 9588451..5eb8cdb 100644
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -8,6 +8,26 @@ CHANGES BETWEEN 2.11.0 and 2.11.1
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
diff --git a/docs/INSTALL b/docs/INSTALL
index d53b8ff..be56e02 100644
--- a/docs/INSTALL
+++ b/docs/INSTALL
@@ -9,19 +9,19 @@ I. Prerequisites and dependencies
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.
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 @@ II. Normal installation and upgrades
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 @@ II. Normal installation and upgrades
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,27 +57,27 @@ II. Normal installation and upgrades
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.
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 @@ III. Custom builds of the library
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 @@ III. Custom builds of the library
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`.
----------------------------------------------------------------------
diff --git a/include/freetype/config/ftstdlib.h b/include/freetype/config/ftstdlib.h
index a6812ae..6ee412a 100644
--- 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
diff --git a/include/freetype/internal/sfnt.h b/include/freetype/internal/sfnt.h
index e8d77e2..bf4c7e0 100644
--- a/include/freetype/internal/sfnt.h
+++ b/include/freetype/internal/sfnt.h
@@ -574,10 +574,10 @@ FT_BEGIN_HEADER
*
* @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
diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c
index ee51095..62475d4 100644
--- 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;
diff --git a/src/cid/cidload.c b/src/cid/cidload.c
index a1ac883..496219d 100644
--- 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;
diff --git a/src/gxvalid/gxvmod.c b/src/gxvalid/gxvmod.c
index e51fc89..1a11426 100644
--- 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 ) \
diff --git a/src/psaux/t1decode.c b/src/psaux/t1decode.c
index a6d668d..7e65bde 100644
--- a/src/psaux/t1decode.c
+++ b/src/psaux/t1decode.c
@@ -27,10 +27,12 @@
#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 ) )
+
/**************************************************************************
*
* The macro FT_COMPONENT is used in trace mode. It is an implicit
diff --git a/src/truetype/ttobjs.c b/src/truetype/ttobjs.c
index 95bb979..93fc548 100644
--- 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;
}