- Update from version 14.0.0 to 14.2.0
- Update of rootfile
- Changelog
    14.2.0
        - GPU library:
          * New color-glyph paint renderer, based on design by Lê Duy Quang.
            `hb_gpu_paint_t` walks a font's paint tree (COLRv0 or COLRv1) and 
encodes
            its layers (solid fills, linear / radial / sweep gradients, 
transforms,
            composite groups) into a compact blob.
            A new fragment-shader function `hb_gpu_paint()` renders the blob in
            premultiplied RGBA; monochrome glyphs are handled transparently via 
a
            synthesized foreground-colored layer.
            Shader sources provided in GLSL, WGSL, MSL, and HLSL.
          * Paint encoder limitations: the encoder sets `unsupported` and 
returns
            `NULL` when `num_ops` would exceed 32767, `push_group` nests deeper 
than 4,
            or the paint tree calls back through the image callback 
(PaintImage).
            Nested glyph clips are intersected up to 3 levels; a few composite 
modes
            use approximate fallbacks; `push_clip_rectangle` is silently 
ignored.
          * Encode entry point now returns extents and auto-clears the encoder; 
the
            standalone `get_extents()` is gone.
          * Gradient color stop interpolation now happens in premultiplied 
space per
            the OpenType COLR specification.
          * The foreground color sentinel (`is_foreground`) now correctly 
preserves the
            paint-tree alpha from the encoded color data instead of discarding 
it.
          * The hb-gpu utility gains `--draw` / `--paint` flags with per-font
            auto-detect, and `--output-file` / `-o` for headless single-frame 
rendering
            to a PPM image.
        - Vector library:
          * New PDF output backend. Vector paint glyphs now render to PDF page 
content,
            producing scalable COLRv0 / COLRv1 color-glyph artwork (solid 
fills, linear
            / radial / sweep gradients, blend modes, PNG images with 
transparency) that
            can be embedded directly in PDF documents. Useful for PDF producers 
such as
            LibreOffice that want crisp, resolution-independent color emoji.
          * New SVG id prefix API on paint allows prefixing document 
references, which
            allows for embedding multiple SVGs in the same page without name 
clashes
            (`hb_vector_paint_set_svg_prefix`).
          * Removed glyph path dedup from vector draw and paint. Each glyph is 
emitted
            inline; no `<defs>` / `<use>` caching.
          * `_glyph()` functions are now thin convenience wrappers documented as
            equivalent expansions of the underlying font draw/paint API.
          * Drop glyph-source rendering of SVG-in-OT fonts.
        - Raster library:
          * Drop glyph-source rendering of SVG-in-OT fonts.
        - Across Draw / Paint subsystems:
          * `_reset()` methods gain matching`_clear()` companions that drop 
accumulated
            data while preserving user configuration. Getter companions added 
for
            setters across raster, vector, and gpu types.
        - Various fuzzer fixes for raster, vector, and GPU libraries.
        - Paint API:
          * New arbitrary-path clip: `hb_paint_push_clip_path_start` / `_end` 
let
            callers clip to a caller-supplied outline, not just a font glyph.
            `push_clip_path_start()` returns the draw-funcs (and matching draw 
data)
            for the backend’s path accumulator; the caller drives `hb_draw_*()` 
into
            it, then calls `push_clip_path_end()`, followed by painted ops, then
            `hb_paint_pop_clip()` to release the clip. Implemented for all paint
            backends: vector (SVG defs + clipPath + url ref), vector PDF (q / 
path / W
            n), raster (path rendered to an alpha mask, intersected with the 
current
            clip), and GPU (the path is encoded into a Slug sub-blob so the 
fragment
            shader clips against it the same way it clips against glyph 
outlines).
        - Shaping:
          * Indic: categorize U+1CF5 and U+1CF6 as CS.
        - Changed API
          * GPU library:
            - `hb_gpu_draw_glyph()` now returns `void` (was `hb_bool_t`). Use
              `hb_gpu_draw_glyph_or_fail()` if you need the success status.
            - `hb_gpu_paint_glyph()` now returns `void` (was `hb_bool_t`) and
              internally synthesizes a foreground-colored layer for non-color 
glyphs
              via `hb_font_paint_glyph()`, so every glyph with an outline 
produces
              output. Use `hb_gpu_paint_glyph_or_fail()` (which delegates to
              `hb_font_paint_glyph_or_fail()`) if you need to distinguish color 
vs
              synthesized paint. Encoder-level limits (unsupported ops, 
group-stack
              overflow) no longer fail paint_glyph; they surface from
              `hb_gpu_paint_encode()` returning `NULL`.
            - `hb_gpu_draw_encode()` now takes an `extents` out-parameter and
              auto-clears the encoder on return.
            - `hb_gpu_draw_darken()` renamed to `hb_gpu_stem_darken()`.
          * Vector library:
            - `hb_vector_svg_set_precision()` and its paint counterpart renamed 
to
              `hb_vector_draw_set_precision()` / 
`hb_vector_paint_set_precision()`
              (SVG-specific naming is inaccurate with the PDF backend added).
            - `hb_vector_draw_glyph()` / `hb_vector_paint_glyph()` now return 
`void`
              (were `hb_bool_t`). Paint additionally gains a draw fallback for
              non-color glyphs. Use the matching `_or_fail()` variants for the
              `hb_bool_t` return.
          * Raster library:
            - `hb_raster_draw_glyph()` / `hb_raster_paint_glyph()` now return 
`void`
              (were `hb_bool_t`). Paint additionally gains a draw fallback for
              non-color glyphs. Use the matching `_or_fail()` variants for the
              `hb_bool_t` return.
          * General:
            - Many read-only getters gained const on their object argument.
            - Six public draw / paint funcs getters across raster, vector, and 
gpu now
              take a const-pointer to the relevant context instance instead of 
being
              singletons:
                hb_raster_draw_get_funcs (const hb_raster_draw_t *)`
                hb_raster_paint_get_funcs (const hb_raster_paint_t *)
                hb_vector_draw_get_funcs (const hb_vector_draw_t *)
                hb_vector_paint_get_funcs (const hb_vector_paint_t *)
                hb_gpu_draw_get_funcs (const hb_gpu_draw_t *)
                hb_gpu_paint_get_funcs (const hb_gpu_paint_t *)
              This is what lets vector_paint dispatch to SVG- vs PDF- flavored
              callbacks transparently when called from outside code; the others
              currently use the instance for symmetry only.
        - New API
          * Draw:
            +HB_DRAW_LINE_CAP_BUTT
            +HB_DRAW_LINE_CAP_ROUND
            +HB_DRAW_LINE_CAP_SQUARE
            +hb_draw_line_cap_t
            +hb_draw_line()
            +hb_draw_rectangle()
            +hb_draw_circle()
          * Paint:
            +hb_paint_push_clip_path_start_func_t
            +hb_paint_push_clip_path_end_func_t
            +hb_paint_sweep_gradient_tile_func_t
            +hb_paint_push_group_for_func_t
            +hb_paint_push_group_for()
            +hb_paint_funcs_set_push_group_for_func()
            +hb_paint_reduce_linear_anchors()
            +hb_paint_normalize_color_line()
            +hb_paint_sweep_gradient_tiles()
            +hb_paint_push_clip_path_start()
            +hb_paint_push_clip_path_end()
            +hb_paint_funcs_set_push_clip_path_start_func()
            +hb_paint_funcs_set_push_clip_path_end_func()
          * GPU library:
            +HB_GPU_SHADER_STAGE_VERTEX
            +HB_GPU_SHADER_STAGE_FRAGMENT
            +HB_GPU_SHADER_LANG_INVALID
            +hb_gpu_shader_stage_t
            +hb_gpu_paint_t
            +hb_gpu_paint_create_or_fail()
            +hb_gpu_paint_reference()
            +hb_gpu_paint_destroy()
            +hb_gpu_paint_set_user_data()
            +hb_gpu_paint_get_user_data()
            +hb_gpu_paint_get_funcs()
            +hb_gpu_paint_set_palette()
            +hb_gpu_paint_get_palette()
            +hb_gpu_paint_set_custom_palette_color()
            +hb_gpu_paint_clear_custom_palette_colors()
            +hb_gpu_paint_set_scale()
            +hb_gpu_paint_get_scale()
            +hb_gpu_paint_glyph()
            +hb_gpu_paint_encode()
            +hb_gpu_paint_clear()
            +hb_gpu_paint_reset()
            +hb_gpu_paint_recycle_blob()
            +hb_gpu_paint_shader_source()
            +hb_gpu_paint_glyph_or_fail()
            +hb_gpu_shader_source()
            +hb_gpu_draw_shader_source()
            +hb_gpu_draw_clear()
            +hb_gpu_draw_get_scale()
            +hb_gpu_draw_glyph_or_fail()
          * Raster library:
            +hb_raster_draw_clear()
            +hb_raster_draw_glyph_or_fail()
            +hb_raster_paint_clear()
            +hb_raster_paint_glyph_or_fail()
            +hb_raster_paint_set_palette()
            +hb_raster_paint_get_palette()
            +hb_raster_paint_get_foreground()
            +hb_raster_paint_set_background()
            +hb_raster_paint_get_background()
          * Vector library:
            +HB_VECTOR_FORMAT_PDF
            +hb_vector_draw_clear()
            +hb_vector_draw_get_precision()
            +hb_vector_draw_get_format()
            +hb_vector_draw_glyph_or_fail()
            +hb_vector_draw_new_path()
            +hb_vector_draw_set_foreground()
            +hb_vector_draw_get_foreground()
            +hb_vector_draw_set_background()
            +hb_vector_draw_get_background()
            +hb_vector_paint_clear()
            +hb_vector_paint_get_precision()
            +hb_vector_paint_get_format()
            +hb_vector_paint_get_foreground()
            +hb_vector_paint_set_background()
            +hb_vector_paint_get_background()
            +hb_vector_paint_get_palette()
            +hb_vector_paint_glyph_or_fail()
            +hb_vector_paint_set_svg_prefix()
            +hb_vector_paint_get_svg_prefix()
        - Removed API
          * GPU library:
            -hb_gpu_shader_fragment_source()   (replaced by 
hb_gpu_shader_source(stage))
            -hb_gpu_shader_vertex_source()     (replaced by 
hb_gpu_shader_source(stage))
            -hb_gpu_draw_get_extents()         (extents are now an 
out-parameter of hb_gpu_draw_encode())
          * Vector library:
            -hb_vector_draw_set_flat()
            -hb_vector_draw_get_flat()
            -hb_vector_paint_set_flat()
            -hb_vector_paint_get_flat()
    14.1.0
        - GPU library improvements:
          * Add anti-aliased rendering for small sizes.
          * Store font scale in blob header.
          * Port scale/ppem support to MSL, WGSL, and HLSL shaders.
          * Fix contour breaks and bounds quantization in encode.
          * Fix garbled rendering after font change in web demo.
          * Various robustness fixes.
        - Various fuzzing fixes for `harfbuzz-raster`, `harfbuzz-gpu` and
          `harfbuzz-vector` libraries.
        - Move `HB_NO_CFF` from `HB_LEAN` to `HB_NO_DRAW` closure, and fix
          `HB_TINY` build.
        - New API:
          +hb_gpu_draw_set_scale()

Signed-off-by: Adolf Belka <[email protected]>
---
 config/rootfiles/common/harfbuzz | 14 +++++++-------
 lfs/harfbuzz                     |  4 ++--
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/config/rootfiles/common/harfbuzz b/config/rootfiles/common/harfbuzz
index 799c2ddc1..63fe01c89 100644
--- a/config/rootfiles/common/harfbuzz
+++ b/config/rootfiles/common/harfbuzz
@@ -52,25 +52,25 @@ usr/include/harfbuzz/hb-script-list.h
 #usr/lib/cmake/harfbuzz/harfbuzz-config.cmake
 #usr/lib/libharfbuzz-cairo.so
 usr/lib/libharfbuzz-cairo.so.0
-usr/lib/libharfbuzz-cairo.so.0.61400.0
+usr/lib/libharfbuzz-cairo.so.0.61420.0
 #usr/lib/libharfbuzz-gobject.so
 usr/lib/libharfbuzz-gobject.so.0
-usr/lib/libharfbuzz-gobject.so.0.61400.0
+usr/lib/libharfbuzz-gobject.so.0.61420.0
 #usr/lib/libharfbuzz-gpu.so
 usr/lib/libharfbuzz-gpu.so.0
-usr/lib/libharfbuzz-gpu.so.0.61400.0
+usr/lib/libharfbuzz-gpu.so.0.61420.0
 #usr/lib/libharfbuzz-raster.so
 usr/lib/libharfbuzz-raster.so.0
-usr/lib/libharfbuzz-raster.so.0.61400.0
+usr/lib/libharfbuzz-raster.so.0.61420.0
 #usr/lib/libharfbuzz-subset.so
 usr/lib/libharfbuzz-subset.so.0
-usr/lib/libharfbuzz-subset.so.0.61400.0
+usr/lib/libharfbuzz-subset.so.0.61420.0
 #usr/lib/libharfbuzz-vector.so
 usr/lib/libharfbuzz-vector.so.0
-usr/lib/libharfbuzz-vector.so.0.61400.0
+usr/lib/libharfbuzz-vector.so.0.61420.0
 #usr/lib/libharfbuzz.so
 usr/lib/libharfbuzz.so.0
-usr/lib/libharfbuzz.so.0.61400.0
+usr/lib/libharfbuzz.so.0.61420.0
 #usr/lib/pkgconfig/harfbuzz-cairo.pc
 #usr/lib/pkgconfig/harfbuzz-gobject.pc
 #usr/lib/pkgconfig/harfbuzz-gpu.pc
diff --git a/lfs/harfbuzz b/lfs/harfbuzz
index 508944200..f6f83f22a 100644
--- a/lfs/harfbuzz
+++ b/lfs/harfbuzz
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 14.0.0
+VER        = 14.2.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 = 
a4fe29775ba4844c197a0d46a9d8db197301ea74ad21475ebe799a23d7a3ccd1ac642d15913067d2d7f4714381658b078827be2d0aec86dea91bcabfba66ab43
+$(DL_FILE)_BLAKE2 = 
bc0df1fad40bbd2f7348d16e1d17927285a1e64eae02bf27f5921691cb77cbe8646a5f51e14c97953416b9e08f326c824646d2f114b59e37579657727cf706f4
 
 install : $(TARGET)
 
-- 
2.54.0


Reply via email to