|
|
|
|
Changelog for libharfbuzz0-10.0.1-4.4.x86_64.rpm :
* Mon Sep 23 2024 Bjørn Lie - Update to version 10.0.0: + Unicode 16.0.0 support. + Various documentation fixes. + Various build fixes. + Add API to allow HarfBuzz client to set what glyph to use when a Unicode Variation Selector is not supported by the font, which would allow the client to customize what happens in this case, by using a different font for example. + Add a callback to for “hb_face_t” for getting the list of table tags. This is now used to make calling “hb_face_get_table_tags()” work on a faces created by “hb_face_create_for_tables()” (e.g. faces returned by “hb_subset_or_fail()”). + CGJ and Mongolian Variation Selectors are now ignored during glyph positioning, previously they would block both glyph substitution and positioning across them. + Support cairo script as an output format for “hb-view” command line tool. + Drop an optimization that would cause HarfBuzz not apply pair positioning lookup subtables under certain circumstances, for compatibility with other implementations that do apply these subtables. + Subsetting will now fail if source font has no glyphs, so feeding the subsetter invalid data will not silently return an empty face. + If after partially instancing a font no variation data is left (the instance is fully static), don’t consider this a failure. + Workaround a Firefox bug in displaying SVGs generated be “hb-view” command line tool under certain circumstances. + Fix bug in macroman mapping for “cmap” table. + Fix difference shaping output when HarfBuzz is built with with “HB_NO_OT_RULESETS_FAST_PATH” enabled. + Various subsetting and instancing fixes. + Various fuzzing fixes. + Add “with_libstdcxx” meson build option. * Sun Jul 07 2024 Andreas Stieger - update to version 9.0.0: + Speed up “AAT” shaping for short words by up to 4% + Ignore unknown “CFF” operators + “hb_subset_input_keep_everything()” now keeps also non-unicode “name” table records. + Update the IANA and OpenType language tag registries + Support composite glyphs with very large number of points in hb-draw API + Various build fixes * Thu May 16 2024 Andreas Stieger - update to version 8.5.0: + API for partial instancing is now stable and have been promoted out of experimental APIs. + Support instancing “BASE” table + Speedup AAT shaping by 13–30% + Various subsetter and instancer fixes * Fri May 03 2024 Jan Engelhardt - Force higher C++ standard version for building with ICU 75. * Fri Mar 29 2024 Andreas Stieger - update to version 8.4.0: + When subsetting, place variation store at the end of “GDEF” table to fix shaping issues with some versions of Adobe InDesign. + Various build fixes- update to version 8.3.1: + Fix hb_style_get_value() in fonts with “STAT” table + Properly handle negative offsets in CFF table + Update IANA Language Subtag Registry to 2024-03-07 + Subsetter now supports subsetting “BASE” table + Subsetter will update “hhea” font metrics in sync with “OS/2” ones. + “--variations” option of “hb-subset” now supports leaving out values that should be unchanged, e.g. “wght=:500:” will change the default and keep max and min unchanged. It also supports “ *=drop” to to pin all axes to default location. + Fix hb_ot_math_get_glyph_kerning() to match updated “MATH” table spec. + Support legacy MacRoman encoding in “cmap” table. + Various build fixes. + Various subsetting and instancing fixes. * Sat Nov 11 2023 Andreas Stieger - Update to version 8.3.0: + Improve memory barrier to fix potential segfaults + Various subsetting and instancing fixes. + Rename “hb-subset” option “--instance” to “--variations” to match the other tools, old option kept as an alias- -devel: fix no-library-dependency-on libharbuzz-cairo0 * Wed Oct 18 2023 Bjørn Lie - Update to version 8.2.2: + Fix regression from 8.1.0 in shaping fonts with duplicate feature tags. + Fix regression from 8.2.0 in parsing CSS-style feature strings. + Variable fonts instanciation now handles more tables. + Various CMake build improvements. + Various fixes to build without errors with gcc 4.9.2. * Mon Sep 18 2023 Bjørn Lie - Update to version 8.2.1: + Unicode 15.1 support. * Fri Sep 08 2023 Bjørn Lie - Update to version 8.2.0: + Various build and fuzzing fixes + Improvements to COLRv1 painting. + New API: - hb_paint_color_glyph_func_t - hb_paint_funcs_set_color_glyph_func - hb_paint_color_glyph * Thu Aug 03 2023 Bjørn Lie - Update to version 8.1.1: + Fix shaping of contextual rules at the end of string, introduced in 8.1.0. + Fix stack-overflow in repacker with malicious fonts. + 30% speed up loading Noto Duployan font. * Tue Aug 01 2023 Bjørn Lie - Update to version 8.1.0: + Fix long-standing build issue with the AIX compiler and older Apple clang. + Revert optimization that could cause timeout during subsetting with malicious fonts. + More optimization work: - 45% speed up in shaping Noto Duployan font. - 10% speed up in subsetting Noto Duployan font. - Another 8% speed up in shaping Gulzar. - 5% speed up in loading Roboto. + New API: +hb_ot_layout_collect_features_map(). * Thu Jul 13 2023 Bjørn Lie - Update to version 8.0.1: + Build fix on 32-bit arm. + More speed optimizations: - 60% speedup in retaingids subsetting SourceHanSans-VF. - 38% speed up in subsetting (beyond-64k) mega-merged Noto. - 16% speed up in retain-gid (used for IFT) subsetting of NotoSansCJKkr.- Changes from version 8.0.0: + New, experimental, WebAssembly (WASM) shaper, that provides greater flexibility over OpenType/AAT/Graphite shaping, using WebAssembly embedded inside the font file. Currently WASM shaper is disabled by default and needs to be enabled at build time. + Improvements to Experimental features introduced in earlier releases: - Support for subsetting beyond-64k and VarComposites fonts. - Support for instancing variable fonts with cubic “glyf” table. - Many big speed optimizations. * Thu May 11 2023 Andreas Stieger - update to version 7.3.0: + Speedup applying glyph variation in VarComposites fonts (over 40% speedup) + Speedup instancing some fonts (over 20% speedup in instancing RobotoFlex) + Speedup shaping some fonts (over 30% speedup in shaping Roboto + Support subsetting VarComposites and beyond-64k fonts + New configuration macro HB_MINIMIZE_MEMORY_USAGE to favor optimizing memory usage over speed + Supporting setting the mapping between old and new glyph indices during subsetting + Various fixes and improvements * Sun May 07 2023 Andreas Stieger - update to version 7.2.0: + Improve Tifinagh glyph positioning + Fix 4.2.0 regression in applying across syllables in syllabic scripts. + Add flag to avoid glyph substitution closure during subsetting, and the corresponding “--no-layout-closure” option to “hb-subset” command line tool. + Support instancing COLRv1 table + Optimize handling of “gvar” table + Various subsetter bug fixes and improvements, documentation * Fri Mar 03 2023 Andreas Stieger - Update to version 7.1.0: + New experimental API that uses font variations to expand or shrink the text to a given advance + Various build and bug fixes. + New API: hb_font_set_variation(). * Tue Feb 21 2023 Andreas Stieger - Update to version 7.0.1: + Various build and bug fixes * Sun Feb 12 2023 Andreas Stieger - Update to version 7.0.0: + New hb-paint API that is designed mainly to paint COLRv1 glyphs, but can be also used as a unified API to paint any of the glyph representations supported by HarfBuzz (B/W outlines, color layers, or color bitmaps). + New hb-cairo API for integrating with cairo graphics library. This is provided as a separate harfbuzz-cairo library. + Support for instancing CFF2 table + Support font emboldening + Support feature ranges with AAT shaping + Experimental support to cubic curves in glyf table + Various subsetter improvements + Various documentation improvements + Significantly reduced memory use during shaping + Greatly reduced memory use during subsetting CFF table + New command line utility, hb-info, for querying various font information + New hb-shape/hb-view options: --glyphs, --color-palette, - -font-bold, --font-grade, and --named-instance + Miscellaneous fixes and improvements- harfbuzz-CVE-2023-25193.patch dropped in favor of upstream consensus fix * Mon Feb 06 2023 Michael Gorse - Add harfbuzz-CVE-2023-25193.patch: limit how far we skip when looking back (boo#1207922 CVE-2023-25193). * Sat Dec 17 2022 Andreas Stieger - Update to version 6.0.0: + Add API 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. + 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 + The HarfBuzz subsetter can now drop axes by pinning them to specific values (also referred to as instancing)- Drop harfbuzz-5.3.1-Fix_check-symbols_failure.patch: Fixed upstream. * Fri Oct 21 2022 Andreas Stieger - Update to version 5.3.1: + Subsetter repacker fixes + Adjust Grapheme clusters for Katakana voiced sound marks + New hb-subset option --preprocess-face- Add harfbuzz-5.3.1-Fix_check-symbols_failure.patch: Fix failing tests. * Sun Oct 09 2022 Andreas Stieger - Update to version 5.3.0: + Don’t add glyphs from dropped MATH or COLR tables to the subset glyphs + Map rlig to appropriate AAT feature selectors + Update USE data files to latest version + Check CBDT extents first before outline tables, to help with fonts that also include an empty glyf table + More work towards variable font instancing in the subsetter + Subsetter repacker improvements * Tue Sep 20 2022 Bjørn Lie - Update to version 5.2.0: + Fix regressions in hb-ft font functions for FT_Faces with transformation matrix. + The experimental hb-repacker API now supports splitting several GPOS subtable types when needed. + The HarfBuzz extensions to OpenType font format are now opt-in behind build-time flags. + The experimental hb-subset variable fonts instantiation API can now instantiate more font tables and arbitrary axis locations. + Unicode 15 support. + Various documentation improvements. + The hb-view command line tool now detects WezTerm inline images support. + Fix FreeType and ICU dependency lookup with meson. + New API: - +HB_SCRIPT_KAWI - +HB_SCRIPT_NAG_MUNDARI- Drop patch fixed upstream: + harfbuzz-5.1.0-repacker-fix-signedness-of-char-in-tests.patch * Wed Aug 03 2022 Andreas Stieger - harfbuzz 5.1.0: + More extensive buffer tracing messages + Fix hb-ft regression in bitmap fonts rendering + Support extension promotion of lookups in hb-subset-repacker + 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 + Add --safe-to-insert-tatweel to hb-shape tool- add harfbuzz-5.1.0-repacker-fix-signedness-of-char-in-tests.patch from upstream to fix ARM and PPC builds * Sun Jul 24 2022 Andreas Stieger - harfbuzz 5.0.1, including changes from 5.0.0: + Improve for fonts with more than 65535 glyphs + Support version 2 of “avar” table + Improve support for some Arabic, Hebrew fonts + Support for specific script tags to be retained in the subsetter, and add “--layout-scripts” option to “hb-subset” tool + Improved handling of command line options + Improve support for multiple tables and font features, and font feature specific bug fixes * Sun Jul 03 2022 Andreas Stieger - harfbuzz 4.4.1: + Fix test failure with some compilers + Fix Telugu and Kannada kerning regression- includes changes from 4.4.0: + Caching of variable fonts shaping + Caching of format 2 “Contextual Substitution” and “Chained Contexts Substitution” lookups + Improved ANSI output from hb-view + Support for shaping legacy, pre-OpenType, Windows 3.1-era, Arabic fonts that relied on a fixed PUA encoding + Sinhala script is now shaped by the USE shaper instead of “indic” one + Thai shaper improvements + hb-ot-name API supports approximate BCP-47 language matching, for example asking for “en_US” in a font that has only “en” names will return them + Optimized TrueType glyph shape loading + Fix subsetting of HarfBuzz faces created via hb_face_create_for_tables() + Add 32 bit var store support to the subsetter + CVE-2022-33068: overflow in hb-ot-shape-fallback boo#1200900 + Drop harfbuzz-CVE-2022-33068.patch * Sat May 21 2022 Michael Gorse - Add harfbuzz-CVE-2022-33068.patch: sbix: limit glyph extents (boo#1200900 CVE-2022-33068). * Sat May 21 2022 Andreas Stieger - Update to version 4.3.0: + Major speed up in loading and subsetting fonts, especially in handling CFF table. Subsetting some fonts is now 3 times faster + Speed up blending CFF2 table + Speed up hb_ot_tags_from_language() + Fix USE classification of U+10A38 to fix multiple marks on single Kharoshthi base + Fix parsing of empty CFF Index + Fix subsetting CPAL table with partial palette overlaps * Sun Apr 24 2022 Andreas Stieger - Update to version 4.2.1: + Make sure hb_blob_create_from_file_or_fail() always returns nullptr in case of failure and not empty blob sometimes + Add --passthrough-tables option to hb-subset + Reinstate a pause after basic features in Khmer shaper, fixing a regression introduced in previous release + Better handling of Regional_Indicator when shaped with RTL- native scripts, reverting earlier fix that caused regressions in AAT shaping * Wed Mar 30 2022 Andreas Stieger - Update to version 4.2.0: + Revert Indic shaper change in previous release that broke some fonts and instead make per-syllable restriction of “GSUB” application limited to script-specific Indic features, while applying them and discretionary features in one go + Fix decoding of private in gvar table + Fix handling of contextual lookups that delete too many glyphs + Make “morx” deleted glyphs don’t block “GPOS” application * Wed Mar 23 2022 Andreas Stieger - Update to version 4.1.0: + Various OSS-Fuzz fixes + Make fallback vertical-origin match FreeType’s + Treat visible viramas like dependent vowels in USE shaper + Apply presentation forms features and discretionary features in one go in Indic shaper, which seems to match Uniscribe and CoreText behaviour + Various bug fixes * Sat Mar 12 2022 Andreas Stieger - Update to version 4.0.1: + Update OpenType to AAT mappings for “hist” and “vrtr” features + Update IANA Language Subtag Registry to 2022-03-02 + Update USE shaper to allow any non-numeric tail in a symbol cluster, and remove obsolete data overrides + Fix handling of baseline variations to return correctly scaled values * Wed Mar 02 2022 Bjørn Lie - Update to version 4.0.0: + New public API to create subset plan and gather information on things like glyph mappings in the final subset. The plan can then be passed on to perform the subsetting operation. + Draw API for extracting glyph shapes have been extended and finalized and is no longer an experimental API. The draw API supports glyf, CFF and CFF2 glyph outlines tables, and applies variation settings set on the font as well as synthetic slant. The new public API is not backward compatible with the previous, non-public, experimental API. + The hb-view tool will use HarfBuzz draw API to render the glyphs instead of cairo-ft when compiled with Cairo 1.17.5 or newer, setting HB_DRAW environment variable to 1 or 0 will force using or not use the draw API, respectively. + The hb-shape and hb-view tools now default to using HarfBuzz’s own font loading functions (ot) instead of FreeType ones (ft). They also have a new option, --font-slant, to apply synthetic slant to the font. + HarfBuzz now supports more than 65535 (the OpenType limit) glyph shapes and metrics. See be-fonts/boring-expansion-spec#6 and be-fonts/boring-expansion-spec#7 for details. + New API to get the dominant horizontal baseline tag for a given script. + New API to get the baseline positions from the font, and synthesize missing ones. As well as new API to get font metrics and synthesize missing ones. + Improvements to finding dependencies on Windows when building with Visual Studio. + New buffer flag, HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT, that must be set during shaping for HB_GLYPH_FLAG_UNSAFE_TO_CONCAT flag to be reliably produced. This is to limit the performance hit of producing this flag to when it is actually needed. + Documentation improvements. + New API: - General: . HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT . hb_var_num_t - Draw: . hb_draw_funcs_t . hb_draw_funcs_create() . hb_draw_funcs_reference() . hb_draw_funcs_destroy() . hb_draw_funcs_is_immutable() . hb_draw_funcs_make_immutable() . hb_draw_move_to_func_t . hb_draw_funcs_set_move_to_func() . hb_draw_line_to_func_t . hb_draw_funcs_set_line_to_func() . hb_draw_quadratic_to_func_t . hb_draw_funcs_set_quadratic_to_func() . hb_draw_cubic_to_func_t . hb_draw_funcs_set_cubic_to_func() . hb_draw_close_path_func_t . hb_draw_funcs_set_close_path_func() . hb_draw_state_t . HB_DRAW_STATE_DEFAULT . hb_draw_move_to() . hb_draw_line_to() . hb_draw_quadratic_to() . hb_draw_cubic_to() . hb_draw_close_path() . hb_font_get_glyph_shape_func_t . hb_font_funcs_set_glyph_shape_func() . hb_font_get_glyph_shape() - OpenType layout: . HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_CENTRAL . HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_CENTRAL . hb_ot_layout_get_horizontal_baseline_tag_for_script() . hb_ot_layout_get_baseline_with_fallback() - Metrics: hb_ot_metrics_get_position_with_fallback() - Subset: . hb_subset_plan_t . hb_subset_plan_create_or_fail() . hb_subset_plan_reference() . hb_subset_plan_destroy() . hb_subset_plan_set_user_data() . hb_subset_plan_get_user_data() . hb_subset_plan_execute_or_fail() . hb_subset_plan_unicode_to_old_glyph_mapping() . hb_subset_plan_new_to_old_glyph_mapping() . hb_subset_plan_old_to_new_glyph_mapping() * Sun Feb 13 2022 Andreas Stieger - update to 3.4.0: + Perform sanity checks on shaping results is now part of “harfbuzz” library and can be enabled by setting the buffer flag HB_BUFFER_FLAG_VERIFY + Arabic Mark Transient Reordering Algorithm have been updated to revision 6 + ISO 15924 code for mathematical notation, ‘Zmth’, now maps to the OpenType ‘math’ tag + It is now possible to get at once all math kerning values for a given glyph at a given corner + Fix locale_t portability issues on systems the typedef’s it to a void pointer * Mon Feb 07 2022 Andreas Stieger - update to 3.3.2: + Revert splitting of pair positioning values introduced in 3.3.0 as it proved problematic- includes changes from 3.3.1: + Fix heap-use-after-free in harfbuzz-subset introduced in previous release- includes changes from 3.3.0: + Improved documentation, code cleanup + The low 16-bits of face index will be used by hb_face_create() to select a face inside a font collection file format, while the high 16-bits will be used by hb_font_create() to load the named instance + Glyph positions and other font metrics now apply synthetic slant set by hb_font_set_synthetic_slant(), for improved positioning for synthetically slanted fonts + Fixed unintentional locale dependency in hb_variation_to_string() for decimal point representation + When applying pair positioning (kerning) the positioning value is split between the two sides of the pair for improved cursor positioning between such pairs + Introduced new HB_GLYPH_FLAG_UNSAFE_TO_CONCAT, to be used in conjunction with HB_GLYPH_FLAG_UNSAFE_TO_BREAK for optimizing re-shaping during line breaking. Check the documentation for further details + Improved handling of macrolanguages when mapping BCP 47 codes to OpenType tags * Fri Dec 17 2021 Bjørn Lie - Use ldconfig_scriptlets macro for post(un) handling.- Add generic c_compiler BuildRequires for completeness. * Fri Dec 17 2021 Andreas Stieger - Update to 3.2.0: + Fixed shaping of Apple Color Emoji flags in right-to-left context + Fixed positioning of CFF fonts in HB_TINY profile + OpenType 1.9 language tags update + Add HB_NO_VERTICAL config option + Add HB_CONFIG_OVERRIDE_H for easier configuration + Improved packing of cmap, loca, and Ligature tables + Significantly improved overflow-resolution strategy in the repacker * Fri Dec 17 2021 Andreas Stieger - Update to 3.1.2: + hb-shape / hb-view: revert treating text on the commandline as single paragraph (was introduced in 3.0.0); add new - -single-par to do that + Subsetter bug fixes * Tue Nov 09 2021 Bjørn Lie - Update to version 3.1.1: + Work around GCC cast-align error/warning on some platforms. + Documentation improvements.- Drop patch fixed upstream: + harfbuzz-3.1.0-work-around-GCC-cast-align-error-warning.patch * Sat Nov 06 2021 Andreas Stieger - harfbuzz 3.1.0: * Better offset-overflow handling in the subsetter library * Improved Unicode 14 properties in the USE shaper, and various other USE shaper fixes * MATH and COLR v1 tables subsetting support, and various other subsetter fixes * Support for Pwo Karen / Ason Chin medial la. (Simon Cozens) * Apply GPOS positioning when substituting with morx table, if kerx is missing * Apply calt and clig features across syllable boundaries in Indic shaper * Meson option for enabling Graphite 2 has been renamed to graphite2 * Build and documentation fixes- add harfbuzz-3.1.0-work-around-GCC-cast-align-error-warning.patch * Sat Sep 18 2021 Andreas Stieger - harfbuzz 3.0.0: + Unicode 14.0 support + hb-subset API and harfbuzz-subset ABI now declared stable + hb-style API is now stable * Sun Sep 12 2021 Andreas Stieger - harfbuzz 2.9.1: + Subsetter API close to stable + Various fuzzer-found bug fixes + hb_buffer_append() now handles the pre- and post-context which previously were left unchanged in the destination buffer + hb-view / hb-shape now accept following new arguments: - -unicodes: takes a list of hex numbers that represent Unicode codepoints. + Undeprecated API: hb_set_invert()- includes changes from 2.9.0: + Support multiple variation axes with same tag, aka HOI + The coretext testing shaper now passes font variations to CoreText + hb-shape/hb-view does not break line at new lines unless text is read from file + hb-view and hb-subset has a --batch now, similar to hb-shape + The --batch mode now uses ; as argument separator instead of : used previously + The --batch in hb-shape does not expect 0th argument anymore. That is, the lines read are interpreted as argv[1:], instead of argv[0:]. + The --batch option has been undocumented. We are ready to document it; send feedback if you find it useful + hb-subset got arguments revamps. Added much-requested - -gids-file, --glyphs, --glyphs-file, --unicodes-file, supporting ranges in --unicodes. + Various bug fixes * Sat Jul 17 2021 Dominique Leuenberger - Drop pkgconfig(chafa) BuildRequires for now: causes a cycle between chafa and harfbuzz, and disable it in meson * Wed Jul 14 2021 Andreas Stieger - Update to version 2.8.2: + Shaping LTR digits for RTL scripts now makes the native direction of the digits LTR, applying shaping and positioning rules on the same glyph order as Uniscribe + Subsetting COLR v1 and CPAL tables is now supported + Various fixes and improvements to the subsetter + When applying morx table, mark glyph widths should not be zeroed + GPOS is preferred over kerx, if GSUB was applied + Regional_Indicator pairs are grouped together when clustering * Thu May 06 2021 Andreas Stieger - Update to version 2.8.1: + Subsetter now fully supports GSUB/GPOS/GDEF tables (including variations); as such, layout tables are retained by subsetter by default + hb-view supports iTerm2 and kitty inline image protocols it can also use Chafa for terminal graphics if available- Add pkgconfig(chafa): new, optional depdency. * Tue Apr 13 2021 Christophe Giboudeaux - Update to version 2.8.0: + Shape joining scripts other than Arabic/Syriac using the Universal Shaping Engine. Previously these were shaped using the generalized Arabic shaper. + Fix regression in shaping of U+0B55 ORIYA SIGN OVERLINE. + Update language tags. + Variations: reduce error: do not round each interpolated delta. + Documentation improvements. + Subsetter improvements: subsets most, if not all, lookup types now. + Fuzzer-found fixes and other improvements when memory failures happen. + Removed most atomic implementations now that we have C++11 atomic impl. + General codebase upkeep; using more C++11 features: constexpr constructors, etc. * Wed Jan 13 2021 Dominique Leuenberger - Re-enable graphite2 support: TexLive relies on this to be present: + Pass -Dgraphite=enabled to meson. + Add pkgconfig(graphite2) BuildRequires. * Fri Jan 08 2021 Bjørn Lie - Switch to meson buildsystem: + Add meson BuildRequires and macros. + Replace gcc-c++ for generic c++_compiler BuildRequires. + Add meson_test macro in check section, run tests during build. + Drop pkgconfig(graphite2) BuildRequires: No longer build graphite2 support, following upstream that disables this by default. + Stop packaging gtk-docs, pass -Ddocs=disabled to meson, this way we might avoid a build-cycle and since we did not have a explicit docs subpackage, just silently drop them.
|
|
|