Updating CHANGES file; minor fixes elsewhere (mostly formatting).

This commit is contained in:
Werner Lemberg 2025-08-21 07:09:15 +02:00
parent ca0247af92
commit 23fa1e3550
7 changed files with 33 additions and 29 deletions

View file

@ -4,7 +4,7 @@ CHANGES BETWEEN 2.13.3 and 2.14.0 (2025-Mmm-DD)
- A new configuration macro `FT_CONFIG_OPTION_USE_HARFBUZZ_DYNAMIC`
is available to load the HarfBuzz library dynamically (in addition
to the standard static and dynamic linking modes); cmake, meson
to the standard static and dynamic linking modes); cmake, meson,
and autotools support have been updated accordingly. Using this
new feature makes it possible to avoid the circular dependency
between HarfBuzz and FreeType.
@ -36,11 +36,11 @@ CHANGES BETWEEN 2.13.3 and 2.14.0 (2025-Mmm-DD)
The central algorithm and the foundation of this feature was Craig
White's GSoC 2023 project.
- Bitmap-only TrueType fonts now ignore FT_LOAD_NO_BITMAP flag and
proceed loading bitmaps instead of giving an error. This behavior
is documented and implemented for other bitmap-only fonts. The
flag was always meant to suppress the bitmap strikes in favor of
outlines, not to ban them completely.
- Bitmap-only TrueType fonts now ignore the `FT_LOAD_NO_BITMAP` flag
and proceed loading bitmaps instead of giving an error. This
behavior is documented and implemented for other bitmap-only
fonts. The flag was always meant to suppress the bitmap strikes
in favor of outlines, not to ban them completely.
II. IMPORTANT BUG FIXES
@ -54,15 +54,15 @@ CHANGES BETWEEN 2.13.3 and 2.14.0 (2025-Mmm-DD)
- `FT_Set_Var_Design_Coordinates` and `FT_Set_MM_Blend_Coordinates`
now set the `FT_FACE_FLAG_VARIATION` bit in the `face_flag` field
of `FT_Face` (i.e., the macro `FT_IS_VARIATION` will return true)
also if any of the provided coordinates is different from the
face's default value for the corresponding axis, that is, the set
up face is not at its default position.
of `FT_Face` (i.e., the macro `FT_IS_VARIATION` returns true) also
if any of the provided coordinates is different from the face's
default value for the corresponding axis, that is, the set up face
is not at its default position.
- `FT_Load_Sfnt_Table` can now also load a font's table directory.
- The TrueType instruction interpreter was optimized to produce 15%
gain in the glyph loading speed.
- The TrueType instruction interpreter was optimized to produce a
15% gain in the glyph loading speed.
- Handling of Variation Fonts is now considerably faster, thanks to
contributions by Behdad Esfahbod.
@ -77,6 +77,10 @@ CHANGES BETWEEN 2.13.3 and 2.14.0 (2025-Mmm-DD)
configuration option is active) is now about 3.5 times faster than
before.
- Support for the (currently undocumented) 'flip' graphic type in
the 'sbix' SFNT table as used in the `Apple Color Emoji.ttc` font
(code provided by Andrew Murray).
- `ftmulti` can now scroll through named instances and gracefully
show static fonts.

View file

@ -439,8 +439,8 @@ FT_BEGIN_HEADER
*
* [Since 2.9] If `num_coords` is larger than zero, this function sets
* the @FT_FACE_FLAG_VARIATION bit in @FT_Face's `face_flags` field
* (i.e., @FT_IS_VARIATION will return true). If `num_coords` is zero,
* this bit flag gets unset.
* (i.e., @FT_IS_VARIATION returns true). If `num_coords` is zero, this
* bit flag gets unset.
*/
FT_EXPORT( FT_Error )
FT_Set_MM_Design_Coordinates( FT_Face face,
@ -486,11 +486,11 @@ FT_BEGIN_HEADER
*
* [Since 2.9] If `num_coords` is larger than zero, this function sets
* the @FT_FACE_FLAG_VARIATION bit in @FT_Face's `face_flags` field
* (i.e., @FT_IS_VARIATION will return true). If `num_coords` is zero,
* this bit flag gets unset.
* (i.e., @FT_IS_VARIATION returns true). If `num_coords` is zero, this
* bit flag gets unset.
*
* [Since 2.14] This function also sets the @FT_FACE_FLAG_VARIATION bit
* in @FT_Face's `face_flags` field (i.e., @FT_IS_VARIATION will return
* in @FT_Face's `face_flags` field (i.e., @FT_IS_VARIATION returns
* true) if any of the provided coordinates is different from the face's
* default value for the corresponding axis, that is, the set up face is
* not at its default position.
@ -578,11 +578,11 @@ FT_BEGIN_HEADER
*
* [Since 2.9] If `num_coords` is larger than zero, this function sets
* the @FT_FACE_FLAG_VARIATION bit in @FT_Face's `face_flags` field
* (i.e., @FT_IS_VARIATION will return true). If `num_coords` is zero,
* this bit flag gets unset.
* (i.e., @FT_IS_VARIATION returns true). If `num_coords` is zero, this
* bit flag gets unset.
*
* [Since 2.14] This function also sets the @FT_FACE_FLAG_VARIATION bit
* in @FT_Face's `face_flags` field (i.e., @FT_IS_VARIATION will return
* in @FT_Face's `face_flags` field (i.e., @FT_IS_VARIATION returns
* true) if any of the provided coordinates is different from the face's
* default value for the corresponding axis, that is, the set up face is
* not at its default position.
@ -695,8 +695,8 @@ FT_BEGIN_HEADER
*
* If `len` is larger than zero, this function sets the
* @FT_FACE_FLAG_VARIATION bit in @FT_Face's `face_flags` field (i.e.,
* @FT_IS_VARIATION will return true). If `len` is zero, this bit flag
* is unset and the weight vector array is reset to the default values.
* @FT_IS_VARIATION returns true). If `len` is zero, this bit flag is
* unset and the weight vector array is reset to the default values.
*
* The Adobe documentation also states that the values in the
* `WeightVector` array must total 1.0 +/-~0.001. In practice this does

View file

@ -189,7 +189,7 @@ FT_BEGIN_HEADER
: "a"(a), "d"(b)
: "%ecx", "cc" );
#elif defined( _MSC_VER)
#elif defined( _MSC_VER )
__asm
{

View file

@ -930,8 +930,8 @@ FT_BEGIN_HEADER
* resolution and scaling independent parts of a TrueType font resource.
*
* @note:
* The TT_Face structure is also used as a 'parent class' for the
* OpenType-CFF class (T2_Face).
* The TT_Face structure is also used for CFF support; see file
* `cffotypes.h`.
*/
typedef struct TT_FaceRec_* TT_Face;

View file

@ -1198,7 +1198,7 @@
be contradictory entries for glyphs not in the cmap. A possible
solution might be to specially mark pairs of related lowercase and
uppercase characters in the adjustment database that have diacritics
on different vertical sides (for example, U+0122 'Ģ' and U+0123 'ģ').
on different vertical sides (for example, U+0122 'Ģ' and U+0123 'ģ').
The auto-hinter could then perform a topological analysis to do the
right thing.
*/

View file

@ -849,9 +849,9 @@
FT_Int width )
{
#if USE_SQUARED_DISTANCES
FT_16D16 edge_threshold = ONE / 4;
FT_16D16 edge_threshold = ONE / 4;
#else
FT_16D16 edge_threshold = ONE / 2;
FT_16D16 edge_threshold = ONE / 2;
#endif
ED* to_check;
FT_16D16 dist;

View file

@ -3169,7 +3169,7 @@
FT_UInt num_coords,
FT_Fixed* coords )
{
FT_Error error = FT_Err_Ok;
FT_Error error;
error = tt_set_mm_blend( (TT_Face)face, num_coords, coords, 1 );