Opened 8 weeks ago

Closed 7 weeks ago

#21126 closed enhancement (fixed)

harfbuzz-10.4.0

Reported by: Bruce Dubbs Owned by: blfs-book
Priority: normal Milestone: 12.3
Component: BOOK Version: git
Severity: normal Keywords:
Cc:

Description

New minor version.

Change History (6)

comment:1 by Douglas R. Reno, 7 weeks ago

Milestone: 12.412.3

comment:2 by Douglas R. Reno, 7 weeks ago

What's Changed

    Vastly improved “AAT” shaping performance. LucidaGrande benchmark-shape before: 
14.6ms after: 5.9ms.

    Improved OpenType shaping performance (kerning / ligature), at the expense of ~1kb 
per face allocated cache memory. Roboto-Regular benchmark-shape before: 10.3ms after: 
9.4ms.

    Improved “COLRv1” benchmark-font paint performance. Before: 7.85ms after 4.85ms.

    Don’t apply glyph substitutions in “morx” table of a font with known broken “morx” 
table (AALMAGHRIBI.ttf font).

    Update IANA and OT language registries.

    Various documentation updates.

    Various build improvements, and test speed-ups.

    The “hb_face_reference_blob()” API now works for faces created with 
“hb_face_create_for_tables()” if the face sets “get_table_tags” callback. This 
constructs a new face blob from individual table blobs.

    Various fixes to how “trak” table is handled to bring it closer to Core Text 
behaviour. Particularly, the tracking values for sizes not explicitly set in the table 
are now properly interpolated, and the tracking is applied to glyph advances when they 
are returned by ot-font functions, instead of applying them during shaping. The “trak” 
pseudo OpenType feature that could be used to disable “trak” table application have been 
dropped.

    Core Text font functions now support non-BMP code points.

    The drawing algorithm used by hb-draw for “glyf” table now match the algorithm used 
by FreeType and Core Text.

    The “hb_coretext_font_create()” API now copy font variations from Core Text font to 
the created HarfBuzz font.

    Add an API to get the feature tags enabled on a given shape-plan after executing it, 
which can be used to applications to show in the UI what features are applied by default 
(which can vary based on the font, the script, the language, and the direction set on 
the buffer).

    Add APIs to created HarfBuzz font from DirectWrite font, and copy the font 
variations.

    New API:
    +hb_directwrite_font_create()
    +hb_directwrite_font_get_dw_font()
    +hb_ot_shape_plan_get_feature_tags()

comment:3 by Douglas R. Reno, 7 weeks ago

Resolution: fixed
Status: newclosed

comment:4 by Bruce Dubbs, 7 weeks ago

Resolution: fixed
Status: closedreopened
Summary: harfbuzz-10.3.0harfbuzz-10.4.0

Sigh. New minor version.

Overview of changes leading to 10.4.0 - Saturday, March 1, 2025

  • Drawing glyphs using hb-draw API now avoids any “malloc” calls, which improves drawing performance by 10+%.
  • Add support new “GVAR” table fonts with more than 65535 glyphs. Support is currently behind a compilation flag and is disabled by default.
  • Some hb-directwrite and hb-ft APIs got renamed with more clear names and the old names are deprecated.
  • Various build and fuzzing fixes.
  • New API:
    +hb_directwrite_face_get_dw_font_face()
    +hb_ft_font_get_ft_face()
    
  • Deprecated API:
    +hb_directwrite_face_get_font_face()
    +hb_ft_font_get_face()
    

comment:5 by Bruce Dubbs, 7 weeks ago

62.3 Elapsed Time -  harfbuzz-10.4.0
 
md5sum : 9ff3796c1b8ae03540e466168c6a5bd1  /usr/src/harfbuzz/harfbuzz-10.4.0.tar.xz
17696 /usr/src/harfbuzz/harfbuzz-10.4.0.tar.xz SIZE (17.281 MB)
144488 kilobytes BUILD SIZE (141.101 MB)
SBU=.616
 
hostname: lfs123
BFLAGS=-j4
58.5 Elapsed Time -  harfbuzz-10.4.0
 
md5sum : 9ff3796c1b8ae03540e466168c6a5bd1  /usr/src/harfbuzz/harfbuzz-10.4.0.tar.xz
17696 /usr/src/harfbuzz/harfbuzz-10.4.0.tar.xz SIZE (17.281 MB)
150692 kilobytes BUILD SIZE (147.160 MB)
SBU=.672
 
hostname: samwise123
BFLAGS=-j4

comment:6 by Douglas R. Reno, 7 weeks ago

Resolution: fixed
Status: reopenedclosed
Note: See TracTickets for help on using tickets.