From: Adolf Belka <adolf.belka@ipfire.org>
To: development@lists.ipfire.org
Subject: [PATCH] harfbuzz: Update to version 6.0.0
Date: Tue, 27 Dec 2022 12:59:53 +0100 [thread overview]
Message-ID: <20221227120002.12161-2-adolf.belka@ipfire.org> (raw)
In-Reply-To: <20221227120002.12161-1-adolf.belka@ipfire.org>
[-- Attachment #1: Type: text/plain, Size: 10063 bytes --]
- Update from version 4.4.1 to 6.0.0
- Update of rootfile
- Changelog
Overview of changes leading to 6.0.0
- A new API have been added to pre-process the face and speed up future
subsetting operations on that face. Provides up to a 95% reduction in
subsetting times when the same face is subset more than once.
For more details and benchmarks, see:
https://github.com/harfbuzz/harfbuzz/blob/main/docs/subset-preprocessing.md
- Shaping have been speedup by skipping entire lookups when the buffer contents
don't intersect with the lookup. Shows up to a 10% speedup in shaping some
fonts. (Behdad Esfahbod)
- A new experimental feature, “Variable Composites” (enabled by passing
-Dexperimental_api=true to meson), is also featured in this release.
This technology enables drastic compression of fonts in the Chinese,
Japanese, Korean, and other writing systems, by reusing the OpenType Font
Variations technology for encoding “smart components” into the font.
The specification for these extensions to the font format can be found in:
https://github.com/harfbuzz/boring-expansion-spec/blob/glyf1/glyf1.md
A test variable-font with ~7160 Hangul syllables derived from the
NotoSerifKR-VF font has been built, with existing OpenType technology, as
well as with the new Variable Composites (VarComposites) technology. The
VarComposites font is over 90% smaller than the OpenType version of the font!
Both fonts can be obtained from the “smarties” repository:
https://github.com/behdad/smarties/tree/3.0/fonts/hangul/serif
When building HarfBuzz with experimental features enabled, you can test
the “smarties” font with a sample character like this:
$ hb-view butchered-hangul-serif-smarties-variable.ttf -u AE01 --variations=wght=700
- The HarfBuzz subsetter can now drop axes by pinning them to specific values
(also referred to as instancing). There are a couple of restrictions
currently:
- Only works with TrueType (“glyf”) based fonts. “CFF2” fonts are not yet
supported.
- Only supports the case where all axes in a font are pinned.
- Miscellaneous fixes and improvements.
- New API
+hb_subset_input_pin_axis_location()
+hb_subset_input_pin_axis_to_default()
+hb_subset_preprocess()
Overview of changes leading to 5.3.1
- Subsetter repacker fixes. (Garret Rieger)
- Adjust Grapheme clusters for Katakana voiced sound marks. (Behdad Esfahbod)
- New “hb-subset” option “--preprocess-face”. (Garret Rieger)
Overview of changes leading to 5.3.0
- Don’t add glyphs from dropped MATH or COLR tables to the subset glyphs.
(Khaled Hosny)
- Map “rlig” to appropriate AAT feature selectors. (Jonathan Kew)
- Update USE data files to latest version. (David Corbett)
- Check “CBDT” extents first before outline tables, to help with fonts that
also include an empty “glyf” table. (Khaled Hosny)
- More work towards variable font instancing in the subsetter. (Qunxin Liu)
- Subsetter repacker improvements. (Garret Rieger)
- New API:
+hb_ot_layout_lookup_get_optical_bound()
+hb_face_builder_sort_tables()
Overview of changes leading to 5.2.0
- Fix regressions in hb-ft font functions for FT_Face’s with transformation
matrix. (Behdad Esfahbod)
- The experimental hb-repacker API now supports splitting several GPOS subtable
types when needed. (Garret Rieger)
- The HarfBuzz extensions to OpenType font format are now opt-in behind
build-time flags. (Behdad Esfahbod)
- The experimental hb-subset variable fonts instantiation API can now
instantiate more font tables and arbitrary axis locations. (Qunxin Liu)
- Unicode 15 support. (David Corbett)
- Various documentation improvements. (Behdad Esfahbod, Matthias Clasen)
- The hb-view command line tool now detects WezTerm inline images support.
(Wez Furlong)
- Fix FreeType and ICU dependency lookup with meson. (Xavier Claessens)
- New API:
+HB_SCRIPT_KAWI
+HB_SCRIPT_NAG_MUNDARI
Overview of changes leading to 5.1.0
- More extensive buffer tracing messages. (Behdad Esfahbod)
- Fix hb-ft regression in bitmap fonts rendering. (Behdad Esfahbod)
- Support extension promotion of lookups in hb-subset-repacker. (Garret Rieger)
- A new HB_GLYPH_FLAG_SAFE_TO_INSERT_TATWEEL for scripts that use elongation
(e.g. Arabic) to signify where it is safe to insert tatweel glyph without
interrupting shaping. (Behdad Esfahbod)
- Add “--safe-to-insert-tatweel” to “hb-shape” tool. (Behdad Esfahbod)
- New API
+HB_GLYPH_FLAG_SAFE_TO_INSERT_TATWEEL
+HB_BUFFER_FLAG_PRODUCE_SAFE_TO_INSERT_TATWEEL
Overview of changes leading to 5.0.1
- Fix version 2 “avar” table with hb-ft. (Behdad Esfahbod)
Overview of changes leading to 5.0.0
- Support fonts with more than 65535 glyphs in “GDEF”, “GSUB”, and “GPOS”
tables. This is part of https://github.com/be-fonts/boring-expansion-spec to
extend OpenType in a backward-compatible way.
(Behdad Esfahbod, Garret Rieger)
- Complete support for more than 65535 glyphs in “glyf” table that started in
4.0.0 release. Part of boring-expansion-spec. (Behdad Esfahbod)
- Support version 2 of “avar” table. Part of boring-expansion-spec.
(Behdad Esfahbod)
- Fix mark attachment on multiple substitutions in some cases.
(Behdad Esfahbod)
- Fix application of “calt”, “rclt”, and “ccmp” features to better match
Uniscribe behaviour with some Arabic fonts. (Behdad Esfahbod)
- Improvement to interaction between multiple cursive attachments.
(Behdad Esfahbod)
- Improve multiple mark interactions in Hebrew. (Behdad Esfahbod)
- Implement language-specific forms in AAT shaping. (Behdad Esfahbod)
- Fix variation of “VORG” table. (Behdad Esfahbod)
- Support for specific script tags to be retained in the subsetter, and add
“--layout-scripts” option to “hb-subset” tool. (Garret Rieger)
- Accept space as delimiter for --features/--variations in command line tools.
- Improve subsetting of “COLR” table. (Qunxin Liu)
- Improved fuzzing coverage for ot-math API. (Frédéric Wang)
- Fix “kern” table version 2 (AAT) sanitization on 32-bit systems.
(Behdad Esfahbod)
- Allow negative glyph advances from “graphite2” shaper. (Stephan Bergmann)
- Implement loading (color) bitmap fonts with hb-ft. (Behdad Esfahbod)
- Fix regression in hb-ft when changing font size. (Behdad Esfahbod)
- Fix build on GCC < 7. (Kleis Auke Wolthuizen)
- Dynamically load dwrite.dll on windows if “directwrite” shaper is enabled.
(Luca Bacci)
- Provide a single-file harfbuzz-subset.cc file for easier alternate building
of hb-subset library, similar to harfbuzz.cc. (Khaled Hosny)
- New API
+HB_SUBSET_SETS_LAYOUT_SCRIPT_TAG
+hb_language_matches()
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
---
config/rootfiles/common/harfbuzz | 8 +++++---
lfs/harfbuzz | 6 +++---
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/config/rootfiles/common/harfbuzz b/config/rootfiles/common/harfbuzz
index bb4bb2ee9..7da247be0 100644
--- a/config/rootfiles/common/harfbuzz
+++ b/config/rootfiles/common/harfbuzz
@@ -41,11 +41,11 @@
#usr/lib/libharfbuzz-subset.la
#usr/lib/libharfbuzz-subset.so
usr/lib/libharfbuzz-subset.so.0
-usr/lib/libharfbuzz-subset.so.0.40401.0
+usr/lib/libharfbuzz-subset.so.0.60000.0
#usr/lib/libharfbuzz.la
#usr/lib/libharfbuzz.so
usr/lib/libharfbuzz.so.0
-usr/lib/libharfbuzz.so.0.40401.0
+usr/lib/libharfbuzz.so.0.60000.0
#usr/lib/pkgconfig/harfbuzz-subset.pc
#usr/lib/pkgconfig/harfbuzz.pc
#usr/share/gtk-doc/html/harfbuzz
@@ -115,6 +115,9 @@ usr/lib/libharfbuzz.so.0.40401.0
#usr/share/gtk-doc/html/harfbuzz/api-index-4-2-0.html
#usr/share/gtk-doc/html/harfbuzz/api-index-4-3-0.html
#usr/share/gtk-doc/html/harfbuzz/api-index-4-4-0.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-5-0-0.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-5-3-0.html
+#usr/share/gtk-doc/html/harfbuzz/api-index-6-0-0.html
#usr/share/gtk-doc/html/harfbuzz/api-index-full.html
#usr/share/gtk-doc/html/harfbuzz/apple-advanced-typography-api.html
#usr/share/gtk-doc/html/harfbuzz/buffers-language-script-and-direction.html
@@ -213,4 +216,3 @@ usr/lib/libharfbuzz.so.0.40401.0
#usr/share/gtk-doc/html/harfbuzz/why-do-i-need-a-shaping-engine.html
#usr/share/gtk-doc/html/harfbuzz/why-is-it-called-harfbuzz.html
#usr/share/gtk-doc/html/harfbuzz/working-with-harfbuzz-clusters.html
-
diff --git a/lfs/harfbuzz b/lfs/harfbuzz
index 558c794de..c547b203c 100644
--- a/lfs/harfbuzz
+++ b/lfs/harfbuzz
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2018 IPFire Team <info(a)ipfire.org> #
+# Copyright (C) 2007-2022 IPFire Team <info(a)ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -24,7 +24,7 @@
include Config
-VER = 4.4.1
+VER = 6.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 = a1c87e48228312b24bfa41a323fb4a4f6e2cb125c4a86df2a536a8c09f9e76bbaf18cb9b8b46452b949a9c01e31756925187c8c619fb9fb11f8ae29f36a250f0
+$(DL_FILE)_BLAKE2 = bb08f90cf9540a076ec2fe5498658a0e5f963537ebd98fce271af9070d0fc7178346bf56c600720d433c9e3a403f67ec3ac898abeb1da12697ad22980ecf5204
install : $(TARGET)
--
2.39.0
next prev parent reply other threads:[~2022-12-27 11:59 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-27 11:59 [PATCH] curl: Update to version 7.87.0 Adolf Belka
2022-12-27 11:59 ` Adolf Belka [this message]
2022-12-29 11:21 ` [PATCH] harfbuzz: Update to version 6.0.0 Peter Müller
2022-12-27 11:59 ` [PATCH] libcap: Update to version 2.66 Adolf Belka
2022-12-29 11:20 ` Peter Müller
2022-12-27 11:59 ` [PATCH] libcdada: Update to version 0.4.0 Adolf Belka
2022-12-29 11:19 ` Peter Müller
2022-12-27 11:59 ` [PATCH] libconfig: Update to version 1.7.3 Adolf Belka
2022-12-27 11:59 ` [PATCH] libexif: Update to version 0.6.24 Adolf Belka
2022-12-27 16:15 ` Peter Müller
2022-12-27 11:59 ` [PATCH] libffi: Update to version 3.4.4 Adolf Belka
2022-12-27 16:13 ` Peter Müller
2022-12-27 11:59 ` [PATCH] libgpg-error: Update to version 1.46 Adolf Belka
2022-12-29 11:19 ` Peter Müller
2022-12-27 12:00 ` [PATCH] libidn: Update to version 1.41 Adolf Belka
2022-12-27 16:17 ` Peter Müller
2022-12-27 12:00 ` [PATCH] libinih: Update to version r56 Adolf Belka
2022-12-27 16:16 ` Peter Müller
2022-12-27 12:00 ` [PATCH] libjpeg: Update to version 2.1.4 Adolf Belka
2022-12-27 16:12 ` Peter Müller
2022-12-29 11:21 ` [PATCH] curl: Update to version 7.87.0 Peter Müller
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=20221227120002.12161-2-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