./fonts/harfbuzz, OpenType text shaping engine

[ Image CVSweb ] [ Image Homepage ] [ Image RSS ] [ Image Required by ]


Branch: CURRENT, Version: 14.4.0nb1, Package name: harfbuzz-14.4.0nb1, Maintainer: pkgsrc-users

HarfBuzz is an OpenType text shaping engine.


Required to run:
[graphics/freetype2] [devel/glib2] [graphics/graphite2]

Required to build:
[textproc/gtk-doc] [devel/gobject-introspection]

Package options: introspection

Master sites:

Filesize: 19636.418 KB

Version history: (Expand)


CVS history: (Expand)


   2026-09-02 21:05:38 by Thomas Klausner | Files touched by this commit (3127)
Log message:
*: recursive bump for pcre2 10.48
   2026-08-27 07:00:49 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
harfbuzz: updated to 14.4.0

Overview of changes leading to 14.4.0

- Glyph positions and extents now saturate instead of overflowing.
- Arabic Windows-1256 fallback shaping is now enabled on all platforms.
- Fix cluster values and a dropped glyph advance in the Graphite shaper.
- Fix `avar` axis value mapping in fonts that repeat the boundary entries.
- Fix `avar` version 2 partial instancing.
- Fix `COLR` sweep gradient truncation and unbounded memory use.
- Faster subsetting, especially for large `GSUB`/`GPOS` and `CFF` tables.
- Faster extraction of the experimental glyph dependency graph.
- Various shaping speedups.
- Various fixes for crashes and hangs with malformed fonts.
- Various fixes to the experimental raster, vector, and GPU libraries.
- Various improvements to the HarfRust integration shaper.
- The DirectWrite backend no longer uses the C++ runtime.
- Various build, portability, and fuzzing fixes.

- New API:
  +hb_set_intersects()
   2026-08-13 08:12:13 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
harfbuzz: updated to 14.3.1

14.3.1
- Various fuzzing and build fixes.
- Various subsetting fixes.
- Fix AAT insertion at the end of the text.
- Fix various rendering bugs in the experimental GPU library.
- WASM shaper code can now read the user features.
   2026-08-03 19:20:06 by Thomas Klausner | Files touched by this commit (4) | Package updated
Log message:
harfbuzz: update to 14.3.0.

Overview of changes leading to 14.3.0
Friday, July 31, 2026
=====================================
- Changes affecting shaping output:
  * Lookup order is now respected for mark positioning in the cross-direction
    (y in horizontal text, x in vertical text): marks no longer follow a
    cross-direction shift that a later lookup applies to the base. This
    improves compatibility with DirectWrite and Core Text.
  * Fix mark attachment to ligatures formed from decomposed glyphs.
  * The `calt` feature in Hangul text is now disabled only for the Jamos,
    not the whole buffer.

- Support for partially instancing version of `avar` table, as well as `CFF2`
  table.

- New fill-glyph paint operation and APIs for the common case of filling a
  glyph with a solid color.

- New API to fetch assorted raw values from the `OS/2`, `head`, and `post`
  tables.

- New experimental API to extract a font’s glyph dependency graph, that
  applications can use to compute glyph closures themselves without running the
  subsetter.

- New subset flag to convert the charset of a subsetted CID-keyed `CFF` fonts
  into identity charset, and a matching `hb-subset` option. Useful for
  embedding fonts in PDF.

- Command-line utilities now handle non-ASCII arguments correctly on Windows.

- Various instancing and subsetting fixes.

- Various fixes to the experimental `harfbuzz-vector`, `harfbuzz-raster` and
  `harfbuzz-gpu` libraries.

- Various improvements to the HarfRust integration shaper.

- Various build, CI, portability, and fuzzing fixes.

- New API:
  * OpenType:
    +HB_OT_BITS_TAG_FS_TYPE
    +HB_OT_BITS_TAG_FS_SELECTION
    +HB_OT_BITS_TAG_MAC_STYLE
    +HB_OT_BITS_TAG_IS_FIXED_PITCH
    +HB_OT_BITS_TAG_UNICODE_RANGE_1
    +HB_OT_BITS_TAG_UNICODE_RANGE_2
    +HB_OT_BITS_TAG_UNICODE_RANGE_3
    +HB_OT_BITS_TAG_UNICODE_RANGE_4
    +HB_OT_BITS_TAG_CODE_PAGE_RANGE_1
    +HB_OT_BITS_TAG_CODE_PAGE_RANGE_2
    +HB_OT_NUMBER_TAG_FONT_X_MIN
    +HB_OT_NUMBER_TAG_FONT_Y_MIN
    +HB_OT_NUMBER_TAG_FONT_X_MAX
    +HB_OT_NUMBER_TAG_FONT_Y_MAX
    +hb_ot_bits_tag_t
    +hb_ot_fetch_bits()
    +hb_ot_number_tag_t
    +hb_ot_fetch_number()

  * Paint:
    +hb_paint_fill_glyph_func_t
    +hb_paint_fill_glyph()
    +hb_paint_funcs_set_fill_glyph_func()

  * Subset library:
    +HB_SUBSET_FLAGS_CFF_IDENTITY_CHARSET
   2026-06-03 07:15:29 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
harfbuzz: updated to 14.2.1

14.2.1

Various AAT shaping fixes: legacy mort contextual offsets (which could produce \ 
out-of-font glyph IDs), in-place deleted-glyph replacements, and overflow in \ 
obsolete offset math.
Fix Arabic PUA fallback shaping for the isolated lam-alef-maksura ligature.
Fix float-to-int overflow in avar2 mapping with malformed fonts.
Harden buffer verification after detecting non-monotone clusters.
Various COLR v1 fixes: fix handling of .notdef without paint, round alpha \ 
consistently, and report the root clip under the font transform.
Various Glyph-extents fixes: inclusive rounding, and floating-point scaling \ 
before rounding so the reported box always covers the glyph.
Various Subsetting fixes: keep the palt spacing feature by default, raise the \ 
repacker MAX_SPACES limit, fix a repacker crash on shared LigatureSet nodes, \ 
guard gvar size overflow on 32-bit, and fix the post glyph-name sort comparator \ 
on macOS.
Replace std::sort with an internal quicksort, removing leaked std:: symbols from \ 
the libharfbuzz ABI.
Harden size computations with saturating arithmetic against 32-bit overflow.
Various improvements to the experimental Rust shaper (HarfRust) and font \ 
functions (fontations): honor custom font funcs, key shape plans on features, \ 
faster buffer handling, and update to HarfRust 0.8.
Various fixes to the experimental harfbuzz-gpu and harfbuzz-vector libraries, \ 
including a harfbuzz-vector heap buffer overflow and Windows build fixes.
Map the Hrkt (Katakana or Hiragana) script tag to the kana OpenType tag.
Build configuration: new HB_CONFIG_OVERRIDE_LAST_H override header, decouple \ 
HB_NO_DRAW from HB_NO_CFF, and an optional hb-allocator Cargo feature.
Various build, CI, and fuzzing fixes.
   2026-05-15 19:01:08 by Thomas Klausner | Files touched by this commit (139)
Log message:
*: switch to glib2-introspection

The gobject-introspection package installed _some_ of the introspection
files needed for glib2, but not all - some of them are built from the glib2
sources. glib2-introspection now contains all glib2-related introspection
files.

Add a tool dependency on the new package where needed.

Remove gobject-introspection from buildlink3.mk files - this is usually
a tool and should not be forwarded via buildlink3.

Some cleanups/fixes for -current while here.
   2026-04-21 22:53:41 by Thomas Klausner | Files touched by this commit (4)
Log message:
harfbuzz: remove doc option

This is now a separate harfbuzz-doc package.
   2026-04-21 20:29:06 by Benny Siegert | Files touched by this commit (1)
Log message:
harfbuzz: fix PLIST with "doc" option.

Based on a report from Rob Whitlock in PR pkg/60190.