From patchwork Tue Dec 27 11:59:53 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Adolf Belka X-Patchwork-Id: 6339 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4NhCrv6mHRz3wcv for ; Tue, 27 Dec 2022 12:00:15 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail02.haj.ipfire.org", Issuer "R3" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4NhCrq1dHpz14t; Tue, 27 Dec 2022 12:00:11 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4NhCrp5wtHz302g; Tue, 27 Dec 2022 12:00:10 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4NhCrp3JTrz2xGX for ; Tue, 27 Dec 2022 12:00:10 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4NhCrp0ftkzjk; Tue, 27 Dec 2022 12:00:10 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1672142410; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=1IS+i2qtkgOlVEG2l4GqaJlt+YGWj4L/I/BllL63Kok=; b=hzm7HgsSt9hzlHhz9RmUWp/tbFTr2DYqtAG49l1XLePuSsMwd728BkR2Wg+4A+xDC9A5Eb oU05GJaFBY+XEfDA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1672142410; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=1IS+i2qtkgOlVEG2l4GqaJlt+YGWj4L/I/BllL63Kok=; b=braHcFn9aoRIdepz8KtyYRCO8fMUXfX5weRREOdnYNqATm11dJdtDrwwWAhCsyJr8rZOxp OI57WMnIUmmXdjEz2mYQZS38J+d+WUkXB4CMDRzw7CsdEM5Rhp585K6ZjT0uiCRXHNC26e JcgmvexyYkbC7WGnfZq0DYw5TJeP2jose6zOb1sPIBHLpoQLtF/+90mlx39MP+Zf00p5WZ 536J+5qLnBzufWkeSAPii4kwhbgs82Ed/yOb1cL7YSkxU6RCwoia1d6u4gaeGv7njoY3So bAB9Hzk+srdubHJe7DC77PU3veZjCy0cJYtFU+QjDKxns7/iZuI+LITOTmBrGA== From: Adolf Belka To: development@lists.ipfire.org Subject: [PATCH] harfbuzz: Update to version 6.0.0 Date: Tue, 27 Dec 2022 12:59:53 +0100 Message-Id: <20221227120002.12161-2-adolf.belka@ipfire.org> In-Reply-To: <20221227120002.12161-1-adolf.belka@ipfire.org> References: <20221227120002.12161-1-adolf.belka@ipfire.org> MIME-Version: 1.0 X-BeenThere: development@lists.ipfire.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: IPFire development talk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: development-bounces@lists.ipfire.org Sender: "Development" - 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 Reviewed-by: Peter Müller --- 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 # +# Copyright (C) 2007-2022 IPFire Team # # # # 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)