Opened 13 months ago

Closed 13 months ago

Last modified 8 months ago

#22067 closed enhancement (fixed)

freetype freetype-doc-2.14.0

Reported by: Bruce Dubbs Owned by: Bruce Dubbs
Priority: normal Milestone: 13.0
Component: BOOK Version: git
Severity: medium Keywords:
Cc:

Description

New minor version.

Change History (4)

comment:1 by Bruce Dubbs, 13 months ago

Owner: changed from blfs-book to Bruce Dubbs
Status: new → assigned

comment:2 by Bruce Dubbs, 13 months ago

  1. IMPORTANT CHANGES
  • 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, and autotools support have been updated accordingly. Using this new feature makes it possible to avoid the circular dependency between HarfBuzz and FreeType.

A side effect of this change is that FreeType no longer uses HarfBuzz header files (if HarfBuzz support is activated).

  • The auto-hinter got new abilities.
  • It can now better separate diacritic glyphs from base glyphs at small sizes by artificially moving diacritics up (or down) if necessary.
  • Tilde accent glyphs get vertically stretched at small sizes so that they don't degenerate to horizontal lines.
  • Diacritics directly attached to a base glyph (like the ogonek in character 'ę') no longer distort the shape of the base glyph.

These features use a database (which currently has entries for Unicode characters up to U+FFFF, based on Unicode 17.0), handling scripts like Latin, Cyrillic, or Greek, but not Arabic or Indic scripts. FreeType needs to access a proper Unicode character map (or must be able to construct such a cmap) of a given font to make this work.

The central algorithm and the foundation of this feature was Craig White's GSoC 2023 project.

  • 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.
  1. IMPORTANT BUG FIXES
  • Users of the TT_CONFIG_OPTION_GPOS_KERNING configuration option should update; the 'GPOS' table wasn't correctly validated before access, which could lead to crashes with malformed font files.
  1. MISCELLANEOUS
  • 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 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 a 15% gain in the glyph loading speed.
  • Handling of Variation Fonts is now considerably faster.
  • TrueType and CFF glyph loading speed has been improved by 5-10% on modern 64-bit platforms as a result of better handling of fixed- point multiplication.
  • The BDF driver now loads fonts 75% faster.
  • 'GPOS' kern table handling (if the TT_CONFIG_OPTION_GPOS_KERNING 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.
  • The build file on OpenVMS now also creates a 32-bit version of the library.

comment:3 by Bruce Dubbs, 13 months ago

Resolution: → fixed
Status: assigned → closed

Fixed at commits

eb5beab7ab Update to poppler-25.09.1.
b51a3d368c Update to freetype-2.14.0.
bf91f501ee Update to libXScrnSaver-1.2.5 libXpresent-1.0.2 and libXres-1.2.3 (Xorg libs).
a11b4c5247 pdate to audacious and audacious-plugins 4.5.1.

comment:4 by Bruce Dubbs, 8 months ago

Milestone: 12.5 → 13.0

Milestone renamed

Note: See TracTickets for help on using tickets.