Opened 3 weeks ago

Closed 3 weeks ago

#24166 closed enhancement (fixed)

harfbuzz-15.0.0

Reported by: Bruce Dubbs Owned by: Joe Locash
Priority: normal Milestone: 13.2
Component: BOOK Version: git
Severity: normal Keywords:
Cc:

Description

New major version.

Change History (2)

comment:1 by Joe Locash, 3 weeks ago

Owner: changed from blfs-book to Joe Locash
Status: new → assigned

comment:2 by Joe Locash, 3 weeks ago

Resolution: → fixed
Status: assigned → closed
Overview of changes leading to 15.0.0
Thursday, October 22, 2026
=====================================
- Support for the new tables and formats in the ISO Open Font Format (OFF) 5th
  edition is now enabled by default:
  * New tables and formats for 24-bit glyph indices (a.k.a. beyond-64k): the
    `GLYF`, `LOCA`, `GVAR`, `MAXP`, `HHEA`, `HMTX`, `VHEA`, and `VMTX` tables,
    `cmap` format 15, `VORG` version 2, `COLR` `PaintGlyph2`, the 24-bit
    `GSUB`, `GPOS`, `GDEF`, `BASE`, and `JSTF` formats, and extended TrueType
    Collection directories.
    A test font, `NotoSans-beyond64k.ttf`, which merges the Noto Sans fonts
    into a single font, can be found at:
    https://drive.google.com/file/d/1vMQI9mZMzfKIMHD96Iie40Oyo9NnnweH/view
  * Cubic curves in `GLYF` outlines.
  * The `DMAP` table, supported since 14.6.0.
- Support instancing axes not referenced by retained `VARC` data. The latest
  `VARC` test fonts can be found at:
  https://github.com/notofonts/noto-cjk-varco/releases/tag/v0.005
- The raster (`libharfbuzz-raster`), vector (`libharfbuzz-vector`), and GPU
  (`libharfbuzz-gpu`) libraries are no longer considered experimental.
  This means that the HarfBuzz API and ABI stability guarantees now apply to
  these libraries as well.
- Fix possible use-after-free in `hb_font_set_face()`, which now resets the
  font functions to the defaults for the new face. The function is now 
  deprecated. Use `hb_font_create()` instead.
- Fix heap-buffer-overflow in `hb_font_set_variation()` after
  `hb_font_set_face()` switches to a face with more variation axes.
- Subsetting `CFF` and `CFF2` fonts whose subroutine calls are not preceded by
  an immediate subroutine number now fails instead of silently dropping the
  table, unless desubroutinizing.
- Overriding atomic operators at compile time is not supported anymore.
- Rewrite the number parser without Ragel, fixing various edge cases.
- Harden the experimental WebAssembly shaper against malicious fonts.
- Update the experimental Rust shaper (HarfRust) to 0.15, and the `fontations`
  font functions to read-fonts 0.46.
- Update the `kbts` shaping backend to `kb_text_shape` 2.28g, and support font
  variations in it.
- Various subsetting and instancing fixes, especially for `CFF2`, `COLR`, and
  variable layout tables.
- Various fixes to the raster and vector libraries.
- Various variable font fixes.
- Various fixes for malformed fonts.
- Various documentation fixes.
- Various build and CI fixes.

- Deprecated API:
  -hb_font_set_face()

Fixed at a53d43ad51.

Note: See TracTickets for help on using tickets.