public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
From: Adolf Belka <adolf.belka@ipfire.org>
To: development@lists.ipfire.org
Cc: Adolf Belka <adolf.belka@ipfire.org>
Subject: [PATCH] harfbuzz: Update to version 14.0.0
Date: Sun,  5 Apr 2026 14:03:42 +0200	[thread overview]
Message-ID: <20260405120354.137211-25-adolf.belka@ipfire.org> (raw)
In-Reply-To: <20260405120354.137211-1-adolf.belka@ipfire.org>

- Update from version 12.3.2 to 14.0.0
- Update of rootfile
- Changelog
    14.0.0
	- New `libharfbuzz-gpu` library: GPU text rasterization based on the
	  Slug algorithm by Eric Lengyel.  Encodes glyph outlines on the CPU
	  into compact blobs that the GPU decodes and rasterizes directly in
	  the fragment shader, with no intermediate bitmap atlas.
	  Shader sources provided in GLSL, WGSL, MSL, and HLSL.
	  New `hb-gpu` installed utility for interactive GPU text rendering.
	  Live web demo: https://harfbuzz.github.io/hb-gpu-demo/
	- New `harfbuzz-world.cc` amalgamated source for building a subset of
	  all HarfBuzz libraries into one compilation unit, driven by a custom
	  `hb-features.h`.
	- Updated README with libraries overview and project description.
	- Various bug fixes.
	- New API:
	  + hb_gpu_draw_t
	  + hb_gpu_draw_create_or_fail()
	  + hb_gpu_draw_reference()
	  + hb_gpu_draw_destroy()
	  + hb_gpu_draw_set_user_data()
	  + hb_gpu_draw_get_user_data()
	  + hb_gpu_draw_get_funcs()
	  + hb_gpu_draw_glyph()
	  + hb_gpu_draw_encode()
	  + hb_gpu_draw_get_extents()
	  + hb_gpu_draw_reset()
	  + hb_gpu_draw_recycle_blob()
	  + hb_gpu_shader_lang_t
	  + hb_gpu_shader_fragment_source()
	  + hb_gpu_shader_vertex_source()
    13.2.1
	- Fix regression in tracing messages from previous release.
    13.2.0
	- Fix `hb-view` glyph positioning with `--glyphs` input from `hb-shape --ned`.
	- Various fuzzing fixes for `harfbuzz-subset`, `harfbuzz-raster` and
	  `harfbuzz-vector` libraries.
	- Various improvements to tracing messages.
	- Various documentation improvements.
	- New API:
	  + HB_OT_SHAPE_BUFFER_FORMAT_SERIAL
	  + hb_ot_shape_get_buffer_format_serial()
    13.1.1
	- Support gzip-compressed `SVG` glyphs in `harfbuzz-raster` and
	  `harfbuzz-vector` libraries. This new functionality requires `zlib`, and will
	   not be available if HarfBuzz is built without `zlib`.
	- Improve handling of `SVG` glyphs in `harfbuzz-raster` and
	  `harfbuzz-vector` libraries.
	- Further harden application of `stch` feature against malicious fonts.
	- Various fuzzing fixes.
	- Various build fixes:
	  * Add missing `chafa` dependency to `hb-raster` utility, and remove
	    accidental `cairo` dependency.
	  * Don’t build raster and vector fuzzers if the library is disabled.
	  * Add meson options for enabling / disabling `libpng` and `zlib`.
	  * Support building `harfbuzz-raster` and `harfbuzz-vector` libraries with
	    CMake.
    13.1.0
	- The `harfbuzz-raster` library can now render bitmap color glyph formats
	  (`CBDT` and `sbix`). It now also has an API to serialize / deserialize images
	  to and from PNGs. This new functionality requires `libpng`, and will not be
	  available if HarfBuzz is built without `libpng`.
	- Install `hb-raster` command line utility.
	- Fix overflow when applying `stch` feature with malicious fonts.
	- Fix memory leaks in `harfbuzz-raster` and `harfbuzz-vector` in error
	  conditions, as well as more robust handling of allocation failures.
	- Various documentation improvements and build fixes.
	- New API:
	  +hb_raster_image_serialize_to_png_or_fail()
	  +hb_raster_image_deserialize_from_png_or_fail()
    13.0.1
	- Bug fixes in rendering `COLR` v1 fonts.
	- Various build fixes.
    13.0.0
	- New experimental drawing and rendering libraries:
	  * New public `hb-vector` API for vector output of glyph outlines. The only
	    supported output format currently is SVG.
	    The new API is available in a separate `harfbuzz-vector` library.
	  * New public `hb-raster` API for rasterizing glyphs to A8 / BGRA32 images.
	    The new API is available in a separate `harfbuzz-raster` library.
	  * Both APIs are still experimental and subject to change.
	  * Both libraries support monochrome as well as vector color glyph formats
	    (`COLR` v0, v1, and `SVG`).
	  * Additionally, `hb-vector` supports also bitmap color glyph formats (`CBDT`
	    and `sbix`).
	  * New command line utilities to accompany the new APIs: `hb-vector` and
	    `hb-raster`. They share many of the same options as `hb-view`.
	- New subset flag `HB_SUBSET_FLAGS_DOWNGRADE_CFF2` to convert instantiated
	  `CFF2` table to `CFF `. This options will desubroutinize `CFF2` table and
	  convert it to CID-keyed `CFF` table. This is useful for compatibility with
	  older renderers that do not support `CFF2` table, including embedding
	  instantiated fonts in PDF documents.
	- The `hb-view` command-line utility got a few bells and whistles as well,
	  including support for logical / ink extents (with the default being the union
	  of both), stroke, and an option to rotate glyph foreground colors
	  (rainbow coloring).
	- New API to inspect color-glyph documents in `SVG` table.
	- New API to signal that the buffer content was changed by the client in
	  message callbacks.
	- Improve `VARC` drawing accuracy with multiple transform / rounding fixes.
	- Don’t reject malformed `cmap` subtables, a regression from 12.3.0 when we
	  stopped sanitizing malformed tables.
	- Disallow calling `hb_buffer_set_message_func()` from within the message
	  callback.
	- Various performance optimizations, fuzzing fixes, and documentation
	  improvements.
	- New API:
	  * harfbuzz:
	    +hb_buffer_changed()
	    +hb_ot_color_get_svg_document_count()
	    +hb_ot_color_get_svg_document_glyph_range()
	    +hb_ot_color_glyph_get_svg_document_index()
	  * harfbuzz-subset:
	    +HB_SUBSET_FLAGS_DOWNGRADE_CFF2
	  * harfbuzz-raster:
	    +hb_raster_draw_t
	    +hb_raster_extents_t
	    +hb_raster_format_t
	    +hb_raster_image_t
	    +hb_raster_paint_t
	    +hb_raster_draw_create_or_fail()
	    +hb_raster_draw_destroy()
	    +hb_raster_draw_get_extents()
	    +hb_raster_draw_get_funcs()
	    +hb_raster_draw_get_scale_factor()
	    +hb_raster_draw_get_transform()
	    +hb_raster_draw_get_user_data()
	    +hb_raster_draw_glyph()
	    +hb_raster_draw_recycle_image()
	    +hb_raster_draw_reference()
	    +hb_raster_draw_render()
	    +hb_raster_draw_reset()
	    +hb_raster_draw_set_extents()
	    +hb_raster_draw_set_glyph_extents()
	    +hb_raster_draw_set_scale_factor()
	    +hb_raster_draw_set_transform()
	    +hb_raster_draw_set_user_data()
	    +hb_raster_image_clear()
	    +hb_raster_image_configure()
	    +hb_raster_image_create_or_fail()
	    +hb_raster_image_destroy()
	    +hb_raster_image_get_buffer()
	    +hb_raster_image_get_extents()
	    +hb_raster_image_get_format()
	    +hb_raster_image_get_user_data()
	    +hb_raster_image_reference()
	    +hb_raster_image_set_user_data()
	    +hb_raster_paint_clear_custom_palette_colors()
	    +hb_raster_paint_create_or_fail()
	    +hb_raster_paint_destroy()
	    +hb_raster_paint_get_extents()
	    +hb_raster_paint_get_funcs()
	    +hb_raster_paint_get_scale_factor()
	    +hb_raster_paint_get_transform()
	    +hb_raster_paint_get_user_data()
	    +hb_raster_paint_glyph()
	    +hb_raster_paint_recycle_image()
	    +hb_raster_paint_reference()
	    +hb_raster_paint_render()
	    +hb_raster_paint_reset()
	    +hb_raster_paint_set_custom_palette_color()
	    +hb_raster_paint_set_extents()
	    +hb_raster_paint_set_foreground()
	    +hb_raster_paint_set_glyph_extents()
	    +hb_raster_paint_set_scale_factor()
	    +hb_raster_paint_set_transform()
	    +hb_raster_paint_set_user_data()
	  * harfbuzz-vector:
	    +hb_vector_draw_t
	    +hb_vector_extents_mode_t
	    +hb_vector_extents_t
	    +hb_vector_format_t
	    +hb_vector_paint_t
	    +hb_vector_draw_create_or_fail()
	    +hb_vector_draw_destroy()
	    +hb_vector_draw_get_extents()
	    +hb_vector_draw_get_funcs()
	    +hb_vector_draw_get_scale_factor()
	    +hb_vector_draw_get_transform()
	    +hb_vector_draw_get_user_data()
	    +hb_vector_draw_glyph()
	    +hb_vector_draw_recycle_blob()
	    +hb_vector_draw_reference()
	    +hb_vector_draw_render()
	    +hb_vector_draw_reset()
	    +hb_vector_draw_set_extents()
	    +hb_vector_draw_set_glyph_extents()
	    +hb_vector_draw_set_scale_factor()
	    +hb_vector_draw_set_transform()
	    +hb_vector_draw_set_user_data()
	    +hb_vector_paint_clear_custom_palette_colors()
	    +hb_vector_paint_create_or_fail()
	    +hb_vector_paint_destroy()
	    +hb_vector_paint_get_extents()
	    +hb_vector_paint_get_funcs()
	    +hb_vector_paint_get_scale_factor()
	    +hb_vector_paint_get_transform()
	    +hb_vector_paint_get_user_data()
	    +hb_vector_paint_glyph()
	    +hb_vector_paint_recycle_blob()
	    +hb_vector_paint_reference()
	    +hb_vector_paint_render()
	    +hb_vector_paint_reset()
	    +hb_vector_paint_set_custom_palette_color()
	    +hb_vector_paint_set_extents()
	    +hb_vector_paint_set_foreground()
	    +hb_vector_paint_set_glyph_extents()
	    +hb_vector_paint_set_palette()
	    +hb_vector_paint_set_scale_factor()
	    +hb_vector_paint_set_transform()
	    +hb_vector_paint_set_user_data()
	    +hb_vector_svg_paint_set_flat()
	    +hb_vector_svg_paint_set_precision()
	    +hb_vector_svg_set_flat()
	    +hb_vector_svg_set_precision()

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/common/harfbuzz | 27 +++++++++++++++++++++++----
 lfs/harfbuzz                     |  4 ++--
 2 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/config/rootfiles/common/harfbuzz b/config/rootfiles/common/harfbuzz
index 58aba0bdb..799c2ddc1 100644
--- a/config/rootfiles/common/harfbuzz
+++ b/config/rootfiles/common/harfbuzz
@@ -1,6 +1,8 @@
 #usr/bin/hb-info
+#usr/bin/hb-raster
 #usr/bin/hb-shape
 #usr/bin/hb-subset
+#usr/bin/hb-vector
 #usr/bin/hb-view
 #usr/include/harfbuzz
 #usr/include/harfbuzz/hb-aat-layout.h
@@ -20,6 +22,7 @@
 #usr/include/harfbuzz/hb-gobject-enums.h
 #usr/include/harfbuzz/hb-gobject-structs.h
 #usr/include/harfbuzz/hb-gobject.h
+#usr/include/harfbuzz/hb-gpu.h
 #usr/include/harfbuzz/hb-map.h
 #usr/include/harfbuzz/hb-ot-color.h
 #usr/include/harfbuzz/hb-ot-deprecated.h
@@ -33,6 +36,7 @@
 #usr/include/harfbuzz/hb-ot-var.h
 #usr/include/harfbuzz/hb-ot.h
 #usr/include/harfbuzz/hb-paint.h
+#usr/include/harfbuzz/hb-raster.h
 usr/include/harfbuzz/hb-script-list.h
 #usr/include/harfbuzz/hb-set.h
 #usr/include/harfbuzz/hb-shape-plan.h
@@ -41,27 +45,42 @@ usr/include/harfbuzz/hb-script-list.h
 #usr/include/harfbuzz/hb-subset-serialize.h
 #usr/include/harfbuzz/hb-subset.h
 #usr/include/harfbuzz/hb-unicode.h
+#usr/include/harfbuzz/hb-vector.h
 #usr/include/harfbuzz/hb-version.h
 #usr/include/harfbuzz/hb.h
 #usr/lib/cmake/harfbuzz
 #usr/lib/cmake/harfbuzz/harfbuzz-config.cmake
 #usr/lib/libharfbuzz-cairo.so
 usr/lib/libharfbuzz-cairo.so.0
-usr/lib/libharfbuzz-cairo.so.0.61232.0
+usr/lib/libharfbuzz-cairo.so.0.61400.0
 #usr/lib/libharfbuzz-gobject.so
 usr/lib/libharfbuzz-gobject.so.0
-usr/lib/libharfbuzz-gobject.so.0.61232.0
+usr/lib/libharfbuzz-gobject.so.0.61400.0
+#usr/lib/libharfbuzz-gpu.so
+usr/lib/libharfbuzz-gpu.so.0
+usr/lib/libharfbuzz-gpu.so.0.61400.0
+#usr/lib/libharfbuzz-raster.so
+usr/lib/libharfbuzz-raster.so.0
+usr/lib/libharfbuzz-raster.so.0.61400.0
 #usr/lib/libharfbuzz-subset.so
 usr/lib/libharfbuzz-subset.so.0
-usr/lib/libharfbuzz-subset.so.0.61232.0
+usr/lib/libharfbuzz-subset.so.0.61400.0
+#usr/lib/libharfbuzz-vector.so
+usr/lib/libharfbuzz-vector.so.0
+usr/lib/libharfbuzz-vector.so.0.61400.0
 #usr/lib/libharfbuzz.so
 usr/lib/libharfbuzz.so.0
-usr/lib/libharfbuzz.so.0.61232.0
+usr/lib/libharfbuzz.so.0.61400.0
 #usr/lib/pkgconfig/harfbuzz-cairo.pc
 #usr/lib/pkgconfig/harfbuzz-gobject.pc
+#usr/lib/pkgconfig/harfbuzz-gpu.pc
+#usr/lib/pkgconfig/harfbuzz-raster.pc
 #usr/lib/pkgconfig/harfbuzz-subset.pc
+#usr/lib/pkgconfig/harfbuzz-vector.pc
 #usr/lib/pkgconfig/harfbuzz.pc
 #usr/share/man/man1/hb-info.1
+#usr/share/man/man1/hb-raster.1
 #usr/share/man/man1/hb-shape.1
 #usr/share/man/man1/hb-subset.1
+#usr/share/man/man1/hb-vector.1
 #usr/share/man/man1/hb-view.1
diff --git a/lfs/harfbuzz b/lfs/harfbuzz
index 04f9750d4..508944200 100644
--- a/lfs/harfbuzz
+++ b/lfs/harfbuzz
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 12.3.2
+VER        = 14.0.0
 
 THISAPP    = harfbuzz-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 13371f7717eb33c6c1abee376a98c1b25d1205a51c8f7fab05f84fac9a2fd26d7d1f3480fe017760dbec45c0a6707c3b22673f0382835644461f2dc1ed04387e
+$(DL_FILE)_BLAKE2 = a4fe29775ba4844c197a0d46a9d8db197301ea74ad21475ebe799a23d7a3ccd1ac642d15913067d2d7f4714381658b078827be2d0aec86dea91bcabfba66ab43
 
 install : $(TARGET)
 
-- 
2.53.0



  parent reply	other threads:[~2026-04-05 12:04 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-05 12:03 [PATCH] abseil-cpp: Update to version 20260107.1 Adolf Belka
2026-04-05 12:03 ` [PATCH] autoconf: Update to version 2.73 Adolf Belka
2026-04-05 12:03 ` [PATCH] btrfs-progs: Update to version 6.19.1 Adolf Belka
2026-04-05 12:03 ` [PATCH] core202: Ship abseil-cpp Adolf Belka
2026-04-05 12:03 ` [PATCH] core202: Ship autoconf Adolf Belka
2026-04-05 12:03 ` [PATCH] core202: Ship btrfs-progs Adolf Belka
2026-04-05 12:03 ` [PATCH] core202: Ship curl Adolf Belka
2026-04-05 12:03 ` [PATCH] core202: Ship e2fsprogs Adolf Belka
2026-04-05 12:03 ` [PATCH] core202: Ship freetype Adolf Belka
2026-04-05 12:03 ` [PATCH] core202: Ship groff Adolf Belka
2026-04-05 12:03 ` [PATCH] core202: Ship harfbuzz Adolf Belka
2026-04-05 12:03 ` [PATCH] core202: Ship iana-etc Adolf Belka
2026-04-05 12:03 ` [PATCH] core202: Ship intel-microcode Adolf Belka
2026-04-05 12:03 ` [PATCH] core202: Ship libarchive Adolf Belka
2026-04-05 12:03 ` [PATCH] core202: Ship libcap-ng Adolf Belka
2026-04-05 12:03 ` [PATCH] core202: Ship libedit Adolf Belka
2026-04-05 12:03 ` [PATCH] core202: Ship libinih Adolf Belka
2026-04-05 12:03 ` [PATCH] core202: Ship libmpc Adolf Belka
2026-04-05 12:03 ` [PATCH] curl: Update to version 8.19.0 Adolf Belka
2026-04-05 12:03 ` [PATCH] e2fsprogs: Update to version 1.47.4 Adolf Belka
2026-04-05 12:03 ` [PATCH] ffmpeg: Update to version 8.1 Adolf Belka
2026-04-05 12:03 ` [PATCH] freetype: Update to version 2.14.3 Adolf Belka
2026-04-05 12:03 ` [PATCH] frr: Update to version 10.6.0 Adolf Belka
2026-04-05 12:03 ` [PATCH] groff: Update to version 1.24.1 Adolf Belka
2026-04-05 12:03 ` Adolf Belka [this message]
2026-04-05 12:03 ` [PATCH] iana-etc: Update to version 20260327 Adolf Belka
2026-04-05 12:03 ` [PATCH] intel-microcode: Update to version 20260227 Adolf Belka
2026-04-05 12:03 ` [PATCH] keepalived: Update to version 2.3.4 Adolf Belka
2026-04-05 12:03 ` [PATCH] libarchive: Update to version 3.8.6 Adolf Belka
2026-04-05 12:03 ` [PATCH] libcap-ng: Update to version 0.9.2 Adolf Belka
2026-04-05 12:03 ` [PATCH] libedit: Update to version 20251016-3.1 Adolf Belka
2026-04-05 12:03 ` [PATCH] libid3tag: Remove patch that is no longer required Adolf Belka
2026-04-05 12:03 ` [PATCH] libid3tag: Update to version 0.16.4 Adolf Belka
2026-04-05 12:03 ` [PATCH] libinih: Update to version 62 Adolf Belka
2026-04-05 12:03 ` [PATCH] libmicrohttpd: Update to version 1.0.3 Adolf Belka
2026-04-05 12:03 ` [PATCH] libmpc: Update to version 1.4.0 Adolf Belka
2026-04-05 12:03 ` [PATCH] libpciaccess: Update to version 0.19 Adolf Belka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260405120354.137211-25-adolf.belka@ipfire.org \
    --to=adolf.belka@ipfire.org \
    --cc=development@lists.ipfire.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox