Skip to content

Update fontations packages - #316

Merged
latin-1 merged 1 commit into
mainfrom
renovate/fontations
Oct 22, 2026
Merged

latin-1 merged 1 commit into
mainfrom
renovate/fontations

Conversation

@renovate

@renovate renovate Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
harfrust dependencies minor 0.14.0 → 0.15.0
read-fonts dependencies minor 0.45.1 → 0.46.0
skrifa dependencies minor 0.48.0 → 0.49.0

Release Notes

harfbuzz/harfrust (harfrust)

v0.15.0

Compare Source

This release matches HarfBuzz v15.0.0,
and has an MSRV (minimum supported Rust version) of 1.85.

Breaking changes
  • Update read-fonts to 0.46. Font and the rest of the font model that
    HarfRust re-exports come from that release.
  • ShapePlanKey::new borrows the font for the lifetime of the key. A plan
    built for a font with lookup variations matches only keys at the same
    location.
Added
  • Shape fonts with more than 65,535 glyphs, as specified by ISO/IEC
    14496-22:2026: GSUB and GPOS 1.2, GDEF 1.4, the 24-bit coverage and class
    definition formats, and the extended format of every lookup subtable.
  • Apply FeatureVariations 1.1 lookup variations.
  • Select feature variations at the default location, whose zero coordinates
    can satisfy a condition.
  • Add opt-in tracing support with Buffer::set_message_function callbacks
    and hr-shape --trace output, including intermediate Unicode and glyph
    contents. Tracing also works without std and compiles out when disabled.
  • Extend the C API with subsetting backed by Skera (the subset feature),
    glyph drawing and painting backed by Skrifa (draw and paint), HarfBuzz
    C++ ownership helpers, MATH and baseline queries, the set and map APIs,
    OpenType tag conversion, glyph collection for sets and lookups, face
    metadata and table enumeration, UTF-16 and Latin-1 buffer input, and batched
    nominal glyph callbacks.
Changed
  • Parse each lookup once per font and keep it, with the font's GSUB, GPOS,
    GDEF and AAT tables, alongside the font data. Creating a ShaperFont reads
    no tables.
  • Keep parsed morx, mort, kern and kerx subtables with the font's
    tables, and build each AAT table's cache when it is first applied. AAT
    shaping is 5 to 13% faster.
  • Bound the preprocessing of a font's lookups by work and memory budgets that
    scale with the size of its layout tables and are shared by GSUB, GPOS and
    GDEF. Long contextual coverage arrays are read on demand.
  • Reduce code size by replacing the standard library sorts with small heap
    and insertion sorts, sharing AAT class-set collection, and returning Option
    from buffer lookups instead of panicking.
Fixed
  • Reject GSUB/GPOS lookups with an out-of-range lookupType instead of
    truncating it to u8. A malformed font could have e.g. type 3586 dispatched
    as MultipleSubst, expanding a single character into thousands of glyphs and
    costing up to a second per shape call. HarfBuzz rejects such tables.
  • When a variation selector is replaced by the not-found variation selector glyph, reset that selector's Unicode properties instead of the first glyph's, matching HarfBuzz.
  • Document that glyph IDs are not limited to u16: glyphs supplied by the caller, such as the not-found variation selector glyph, are passed through unchanged. Shaping tests now cover values above u16::MAX.
  • Clamp built-in advances that variations take below zero, as HarfBuzz does.
    Custom font callbacks keep signed results.
  • At the character cluster level, scan the whole range for its minimum cluster
    when setting unsafe flags.
  • Process singleton clusters when producing safe-to-insert-tatweel flags.
  • Merge monotone clusters before moving a Hangul tone mark ahead of its
    syllable.
  • Round synthesized vertical origins down when a glyph is taller than the line
    by an odd number of units.
  • Reorder Telugu length marks before virama and include USE symbol clusters
    in syllable reordering, matching HarfBuzz.
  • Reject U+11A7 as a trailing Jamo when composing Hangul.
  • Keep every above-base mark when moving a Thai Nikhahit.
  • Skip single positioning format 2 for a coverage index past the value
    records, instead of reading past them.
googlefonts/fontations (read-fonts)

v0.46.0

Compare Source


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot force-pushed the renovate/fontations branch from d59bb1b to b1eb00c Compare October 22, 2026 15:41
@latin-1
latin-1 force-pushed the renovate/fontations branch from b1eb00c to a3c6124 Compare October 22, 2026 15:50
@renovate
renovate Bot force-pushed the renovate/fontations branch from a3c6124 to 114d3f5 Compare October 22, 2026 15:52
@latin-1
latin-1 merged commit 64440c4 into main Oct 22, 2026
3 checks passed
@latin-1
latin-1 deleted the renovate/fontations branch October 22, 2026 15:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant