13 Commits

Author SHA1 Message Date
Adolf Belka
641f99fd62 harfbuzz: Update to version 8.2.2
- Update from version 8.1.1 to 8.2.2
- Update of rootfile
- Changelog
    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.
    8.2.1
	- Unicode 15.1 support.
    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

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
2023-11-21 19:12:54 +00:00
Adolf Belka
2bda77fdc2 harfbuzz: Update to version 8.1.1
- Update from version 8.0.1 to 8.1.1
- Update of rootfile
- Changelog
    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.
    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()

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-08-08 16:03:37 +00:00
Michael Tremer
a08a0521b9 harfbuzz: Trim extra newline at end of rootfile
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-07-26 16:08:59 +00:00
Adolf Belka
4bcda9e4da harfbuzz: Update to version 8.0.1
- Update from version 7.3.0 to 8.0.1
- Update of rootfile
- Changelog
    Overview of changes leading to 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.
    Overview of changes leading to 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. For details, see:
	    https://github.com/harfbuzz/harfbuzz/blob/main/docs/wasm-shaper.md
	  For example fonts making use of the WASM shaper, see:
	    https://github.com/simoncozens/wasm-examples
	- 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:
	  - Up to 89% speedup loading variable fonts for shaping.
	  - Up to 88% speedup in small subsets of large (eg. CJK) fonts (both TTF and
	    OTF), essential for Incremental Font Transfer (IFT).
	  - Over 50% speedup in loading Roboto font for shaping.
	  - Up to 40% speed up in loading (sanitizing) complex fonts.
	  - 30% speed up in shaping Gulzar font.
	  - Over 25% speedup in glyph loading Roboto font.
	  - 10% speed up loading glyph shapes in VarComposite Hangul font.
	  - hb-hashmap optimizations & hashing improvements.
	- New macro HB_ALWAYS_INLINE. HarfBuzz now inlines functions more aggressively,
	   which results in some speedup at the expense of bigger code size. To disable
	   this feature define the macro to just inline.
	- New API:
	  +HB_CODEPOINT_INVALID
	  +hb_ot_layout_get_baseline2()
	  +hb_ot_layout_get_baseline_with_fallback2()
	  +hb_ot_layout_get_font_extents()
	  +hb_ot_layout_get_font_extents2()
	  +hb_subset_input_set_axis_range()

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-07-26 16:08:59 +00:00
Adolf Belka
da63874c75 harfbuzz: Update to version 7.3.0
- Update from 7.2.0 to 7.3.0
- Update of rootfile
- Changelog
Overview of changes leading to 7.3.0
    Tuesday, May 9, 2023
	- Speedup applying glyph variation in VarComposites fonts (over 40% speedup).
	  (Behdad Esfahbod)
	- Speedup instancing some fonts (over 20% speedup in instancing RobotoFlex).
	  (Behdad Esfahbod)
	- Speedup shaping some fonts (over 30% speedup in shaping Roboto).
	  (Behdad Esfahbod)
	- Support subsetting VarComposites and beyond-64k fonts. (Behdad Esfahbod)
	- New configuration macro HB_MINIMIZE_MEMORY_USAGE to favor optimizing memory
	  usage over speed. (Behdad Esfahbod)
	- Supporting setting the mapping between old and new glyph indices during
	  subsetting. (Garret Rieger)
	- Various fixes and improvements.
	  (Behdad Esfahbod, Denis Rochette, Garret Rieger, Han Seung Min, Qunxin Liu)
	- New API:
		+hb_subset_input_old_to_new_glyph_mapping()

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-06-15 09:35:11 +00:00
Adolf Belka
9d0add9f82 harfbuzz: Update to version 7.2.0
- Update from version 7.0.1 to 7.2.0
- Update of rootfile
- Changelog
    Overview of changes leading to 7.2.0
	- Add Tifinagh to the list of scripts that can natively be either right-to-left
	  or left-to-right, to improve handling of its glyph positioning.
	  (Simon Cozens)
	- Return also single substitution from hb_ot_layout_lookup_get_glyph_alternates()
	  (Behdad Esfahbod)
	- Fix 4.2.0 regression in applying across syllables in syllabic scripts.
	  (Behdad Esfahbod)
	- Add flag to avoid glyph substitution closure during subsetting, and the
	  corresponding “--no-layout-closure” option to “hb-subset” command line tool.
	  (Garret Rieger)
	- Support instancing COLRv1 table. (Qunxin Liu)
	- Don’t drop used user-defined name table entries during subsetting.
	  (Qunxin Liu)
	- Optimize handling of “gvar” table. (Behdad Esfahbod)
	- Various subsetter bug fixes and improvements. (Garret Rieger, Qunxin Liu)
	- Various documentation improvements. (Behdad Esfahbod, Josef Friedrich)
	- New API:
	    +HB_SUBSET_FLAGS_NO_LAYOUT_CLOSURE
	    +HB_UNICODE_COMBINING_CLASS_CCC132
	- Deprecated API:
	    +HB_UNICODE_COMBINING_CLASS_CCC133
    Overview of changes leading to 7.1.0
	- New experimental hb_shape_justify() API that uses font variations to expand
	  or shrink the text to a given advance. (Behdad Esfahbod)
	- Various build and bug fixes. (Behdad Esfahbod, Garret Rieger, Qunxin Liu)
	- New API:
	    +hb_font_set_variation()

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2023-05-03 07:42:56 +00:00
Adolf Belka
d17852b25e harfbuzz: Update to version 7.0.1
- Update from version 6.0.0 to 7.0.1
- Update of rootfile
- Changelog
Overview of changes leading to 7.0.1
- Various build and bug fixes.
Overview of changes leading to 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).
  (Behdad Esfahbod, Matthias Clasen)
- New hb-cairo API for integrating with cairo graphics library. This is provided
  as a separate harfbuzz-cairo library. (Behdad Esfahbod, Matthias Clasen)
- Support for instancing “CFF2” table. (Behdad Esfahbod)
- Support font emboldening. (Behdad Esfahbod)
- Support feature ranges with AAT shaping. (Behdad Esfahbod)
- Experimental support to cubic curves in “glyf” table, see
  https://github.com/harfbuzz/boring-expansion-spec/blob/main/glyf1-cubicOutlines.md
  for spec. (Behdad Esfahbod)
- Various subsetter improvements. (Garret Rieger, Qunxin Liu, Behdad Esfahbod)
- Various documentation improvements.
  (Behdad Esfahbod, Matthias Clasen, Khaled Hosny)
- Significantly reduced memory use during shaping. (Behdad Esfahbod)
- Greatly reduced memory use during subsetting “CFF” table. (Behdad Esfahbod)
- New command line utility, hb-info, for querying various font information.
  (Behdad Esfahbod, Matthias Clasen)
- New hb-shape/hb-view options: --glyphs, --color-palette, --font-bold,
  --font-grade, and --named-instance. (Behdad Esfahbod)
- Miscellaneous fixes and improvements.
  (Amir Masoud Abdol, Andres Salomon, Behdad Esfahbod, Chun-wei Fan,
  Garret Rieger, Jens Kutilek, Khaled Hosny, Konstantin Käfer, Matthias Clasen,
  Nirbheek Chauhan, Pedro J. Estébanez, Qunxin Liu, Sergei Trofimovich)
- New API:
+HB_FONT_NO_VAR_NAMED_INSTANCE
+HB_PAINT_IMAGE_FORMAT_BGRA
+HB_PAINT_IMAGE_FORMAT_PNG
+HB_PAINT_IMAGE_FORMAT_SVG
+hb_cairo_font_face_create_for_face
+hb_cairo_font_face_create_for_font
+hb_cairo_font_face_get_face
+hb_cairo_font_face_get_font
+hb_cairo_font_face_get_scale_factor
+hb_cairo_font_face_set_font_init_func
+hb_cairo_font_face_set_scale_factor
+hb_cairo_font_init_func_t
+hb_cairo_glyphs_from_buffer
+hb_cairo_scaled_font_get_font
+hb_color_line_get_color_stops
+hb_color_line_get_color_stops_func_t
+hb_color_line_get_extend
+hb_color_line_get_extend_func_t
+hb_color_line_t
+hb_color_stop_t
+hb_draw_funcs_get_empty
+hb_draw_funcs_get_user_data
+hb_draw_funcs_set_user_data
+hb_face_collect_nominal_glyph_mapping
+hb_font_draw_glyph
+hb_font_draw_glyph_func_t
+hb_font_funcs_set_draw_glyph_func
+hb_font_funcs_set_paint_glyph_func
+hb_font_get_synthetic_bold
+hb_font_get_var_named_instance
+hb_font_paint_glyph
+hb_font_paint_glyph_func_t
+hb_font_set_synthetic_bold
+hb_map_keys
+hb_map_next
+hb_map_update
+hb_map_values
+hb_ot_color_glyph_has_paint
+hb_ot_color_has_paint
+hb_ot_layout_script_select_language2
+hb_ot_name_id_predefined_t
+hb_paint_color
+hb_paint_color_func_t
+hb_paint_composite_mode_t
+hb_paint_custom_palette_color
+hb_paint_custom_palette_color_func_t
+hb_paint_extend_t
+hb_paint_funcs_create
+hb_paint_funcs_destroy
+hb_paint_funcs_get_empty
+hb_paint_funcs_get_user_data
+hb_paint_funcs_is_immutable
+hb_paint_funcs_make_immutable
+hb_paint_funcs_reference
+hb_paint_funcs_set_color_func
+hb_paint_funcs_set_custom_palette_color_func
+hb_paint_funcs_set_image_func
+hb_paint_funcs_set_linear_gradient_func
+hb_paint_funcs_set_pop_clip_func
+hb_paint_funcs_set_pop_group_func
+hb_paint_funcs_set_pop_transform_func
+hb_paint_funcs_set_push_clip_glyph_func
+hb_paint_funcs_set_push_clip_rectangle_func
+hb_paint_funcs_set_push_group_func
+hb_paint_funcs_set_push_transform_func
+hb_paint_funcs_set_radial_gradient_func
+hb_paint_funcs_set_sweep_gradient_func
+hb_paint_funcs_set_user_data
+hb_paint_funcs_t
+hb_paint_image
+hb_paint_image_func_t
+hb_paint_linear_gradient
+hb_paint_linear_gradient_func_t
+hb_paint_pop_clip
+hb_paint_pop_clip_func_t
+hb_paint_pop_group
+hb_paint_pop_group_func_t
+hb_paint_pop_transform
+hb_paint_pop_transform_func_t
+hb_paint_push_clip_glyph
+hb_paint_push_clip_glyph_func_t
+hb_paint_push_clip_rectangle
+hb_paint_push_clip_rectangle_func_t
+hb_paint_push_group
+hb_paint_push_group_func_t
+hb_paint_push_transform
+hb_paint_push_transform_func_t
+hb_paint_radial_gradient
+hb_paint_radial_gradient_func_t
+hb_paint_sweep_gradient
+hb_paint_sweep_gradient_func_t
+hb_set_is_inverted
+hb_subset_input_keep_everything
- Deprecated API:
+hb_font_funcs_set_glyph_shape_func
+hb_font_get_glyph_shape_func_t
+hb_font_get_glyph_shape

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
2023-03-05 15:12:22 +00:00
Adolf Belka
2e65bba2a0 harfbuzz: Update to version 6.0.0
- 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@ipfire.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
2022-12-29 11:23:11 +00:00
Adolf Belka
592c507248 harfbuzz: Update to version 4.4.1
- Update from version 4.2.0 to 4.4.1
- Update of rootfile
- Changelog
   Overview of changes leading to 4.4.1
	- Fix test failure with some compilers.
	- Fix Telugu and Kannada kerning regression.
   Overview of changes leading to 4.4.0
	- Caching of variable fonts shaping, in particular when using HarfBuzz’s own
	  font loading functions (ot). Bringing performance of variable shaping in par
	  with non-variable fonts shaping. (Behdad Esfahbod)
	- Caching of format 2 “Contextual Substitution” and “Chained Contexts
	  Substitution” lookups. Resulting in up to 20% speedup of lookup-heavy fonts
	  like Gulzar or Noto Nastaliq Urdu. (Behdad Esfahbod)
	- Improved ANSI output from hb-view. (Behdad Esfahbod)
	- Support for shaping legacy, pre-OpenType Windows 3.1-era, Arabic fonts that
	  relied on a fixed PUA encoding. (Khaled Hosny, Behdad Esfahbod)
	- Sinhala script is now shaped by the USE shaper instead of “indic” one.
	  (Behdad Esfahbod, David Corbett)
	- Thai shaper improvements. (David Corbett)
	- 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.
	  (Behdad Esfahbod)
	- Optimized TrueType glyph shape loading. (Behdad Esfahbod)
	- Fix subsetting of HarfBuzz faces created via hb_face_create_for_tables().
	  (Garret Rieger)
	- Add 32 bit var store support to the subsetter. (Garret Rieger)
	- New API
	   +HB_BUFFER_FLAG_DEFINED
	   +HB_BUFFER_SERIALIZE_FLAG_DEFINED
	   +hb_font_changed()
	   +hb_font_get_serial()
	   +hb_ft_hb_font_changed()
	   +hb_set_hash()
	   +hb_map_copy()
	   +hb_map_hash()
   Overview of changes leading to 4.3.0
	- Major speed up in loading and subsetting fonts, especially in
	  handling CFF table. Subsetting some fonts is now 3 times faster.
	  (Behdad Esfahbod, Garret Rieger)
	- Speed up blending CFF2 table. (Behdad Esfahbod)
	- Speed up hb_ot_tags_from_language(). (Behdad Esfahbod, David Corbett)
	- Fix USE classification of U+10A38 to fix multiple marks on single Kharoshthi
	  base. (David Corbett)
	- Fix parsing of empty CFF Index. (Behdad Esfahbod)
	- Fix subsetting CPAL table with partial palette overlaps. (Garret Rieger)
	- New API
	   +hb_map_is_equal() (Behdad Esfahbod)
   Overview of changes leading to 4.2.1
	- Make sure hb_blob_create_from_file_or_fail() always returns nullptr in case
	  of failure and not empty blob sometimes. (Khaled Hosny)
	- Add --passthrough-tables option to hb-subset. (Cosimo Lupo)
	- Reinstate a pause after basic features in Khmer shaper, fixing a regression
	  introduced in previous release. (Behdad Esfahbod)
	- Better handling of Regional_Indicator when shaped with RTL-native scripts,
	  reverting earlier fix that caused regressions in AAT shaping. (Behdad Esfahbod)

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
2022-07-09 09:08:44 +00:00
Adolf Belka
f5ebb58ab4 harfbuzz: Update to version 4.2.0
- Update from 3.4.0 to 4.2.0
- Update of rootfile
- Changelog
   Overview of changes leading to 4.2.0
     Wednesday, March 30, 2022
	- Source code reorganization, splitting large hb-ot-layout files into smaller,
	  per-subtable ones under OT/Layout/*. Code for more tables will follow suit in
	  later releases. (Garret Rieger, Behdad Esfahbod)
	- 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. (Behdad Esfahbod)
	- Fix decoding of private in gvar table. (Behdad Esfahbod)
	- Fix handling of contextual lookups that delete too many glyphs. (Behdad Esfahbod)
	- Make “morx” deleted glyphs don’t block “GPOS” application. (Behdad Esfahbod)
	- Various build fixes. (Chun-wei Fan, Khaled Hosny)
	- New API
	   +hb_set_next_many() (Andrew John)
   Overview of changes leading to 4.1.0
     Wednesday, March 23, 2022
	- Various OSS-Fuzz fixes. (Behdad Esfahbod)
	- Make fallback vertical-origin match FreeType’s. (Behdad Esfahbod)
	- Treat visible viramas like dependent vowels in USE shaper. (David Corbett)
	- Apply presentation forms features and discretionary features in one go in
	  Indic shaper, which seems to match Uniscribe and CoreText behaviour.
	  (Behdad Esfahbod, David Corbett)
	- Various bug fixes.
	- New API
	   +hb_set_add_sorted_array() (Andrew John)
   Overview of changes leading to 4.0.1
     Friday, March 11, 2022
	- Update OpenType to AAT mappings for “hist” and “vrtr” features.
	  (Florian Pircher)
	- Update IANA Language Subtag Registry to 2022-03-02. (David Corbett)
	- Update USE shaper to allow any non-numeric tail in a symbol cluster, and
	  remove obsolete data overrides. (David Corbett)
	- Fix handling of baseline variations to return correctly scaled values.
	  (Matthias Clasen)
	- A new experimental hb_subset_repack_or_fail() to repack an array of objects,
	  eliminating offset overflows. The API is not available unless HarfBuzz is
	  built with experimental APIs enabled. (Qunxin Liu)
	- New experimental API
	   +hb_link_t
	   +hb_object_t
	   +hb_subset_repack_or_fail()
   Overview of changes leading to 4.0.0
     Tuesday, March 1, 2022
	- 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. (Garret Rieger)
	- 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. (Behdad Esfahbod)
	- 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. (Behdad Esfahbod)
	- 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. (Behdad Esfahbod)
	- HarfBuzz now supports more than 65535 (the OpenType limit) glyph shapes and
	  metrics. See https://github.com/be-fonts/boring-expansion-spec/issues/6 and
	  https://github.com/be-fonts/boring-expansion-spec/issues/7 for details.
	  (Behdad Esfahbod)
	- New API to get the dominant horizontal baseline tag for a given script.
	  (Behdad Esfahbod)
	- 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.
	  (Matthias Clasen)
	- Improvements to finding dependencies on Windows when building with Visual
	  Studio. (Chun-wei Fan)
	- 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. (Behdad Esfahbod)
	- Documentation improvements. (Matthias Clasen)
	- 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()

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
2022-04-24 14:15:19 +00:00
Adolf Belka
4e52721aa2 harfbuzz: Update to version 3.4.0
- Update from 3.1.2 to 3.4.0
- Update of rootfile
- Changelog
	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. (Behdad Esfahbod)
	    Arabic Mark Transient Reordering Algorithm have been updated to revision 6. (Khaled Hosny)
	    ISO 15924 code for mathematical notation, ‘Zmth’, now maps to the OpenType ‘math’ tag. (Alexis King)
	    It is now possible to get at once all math kerning values for a given glyph at a given corner. (Alexis King)
	    Fix locale_t portability issues on systems the typedef’s it to a void pointer. (Behdad Esfahbod)
	  New API:
	    +HB_BUFFER_FLAG_VERIFY
	    +HB_OT_TAG_MATH_SCRIPT
	    +HB_SCRIPT_MATH
	    +hb_ot_math_kern_entry_t
	    +hb_ot_math_get_glyph_kernings
	  Deprecated API
	    +HB_OT_MATH_SCRIPT
	3.3.2
	  Revert splitting of pair positioning values introduced in 3.3.0 as it proved problematic. (Behdad Esfahbod)
	3.3.1
	  Fix heap-use-after-free in harfbuzz-subset introduced in previous release. (Garret Rieger)
	3.3.0
	    Improved documentation. (Matthias Clasen)
	    Internal code cleanup, using C++ standard library more. (Behdad Esfahbod)
	    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. (Behdad Esfahbod)
	    Glyph positions and other font metrics now apply synthetic slant set by hb_font_set_synthetic_slant(), for improved positioning for synthetically slanted fonts. (Behdad Esfahbod)
	    Fixed unintentional locale dependency in hb_variation_to_string() for decimal point representation. (Matthias Clasen)
	    When applying pair positioning (kerning) the positioning value is split between the two sides of the pair for improved cursor positioning between such pairs. (Behdad Esfahbod)
	    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. (Behdad Esfahbod)
	    Improved handling of macrolanguages when mapping BCP 47 codes to OpenType tags. (David Corbett)
	    New API:
	    +HB_GLYPH_FLAG_UNSAFE_TO_CONCAT
	    +hb_segment_properties_overlay()
	    +hb_buffer_create_similar()
	    +hb_font_set_synthetic_slant()
	    +hb_font_get_synthetic_slant()
	    +hb_font_get_var_coords_design()
	3.2.0
	  harfbuzz library improvements:
	    Fixed shaping of Apple Color Emoji flags in right-to-left context. (Behdad Esfahbod)
	    Fixed positioning of CFF fonts in HB_TINY profile. (Behdad Esfahbod)
	    OpenType 1.9 language tags update. (David Corbett)
	    Add HB_NO_VERTICAL config option. (Behdad Esfahbod)
	    Add HB_CONFIG_OVERRIDE_H for easier configuration. (Behdad Esfahbod)
	  harfbuzz-subset library improvements:
	    Improved packing of cmap, loca, and Ligature tables. (Garret Rieger)
	    Significantly improved overflow-resolution strategy in the repacker. (Garret Rieger)

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-03-10 10:38:57 +00:00
Adolf Belka
d2eeab5189 harfbuzz: Update to version 3.3.2
- Update from 3.1.2 to 3.3.2
- Update of rootfile
- Changelog
	Overview of changes leading to 3.3.2
	  - Revert splitting of pair positioning values introduced in 3.3.0 as it proved
	    problematic. (Behdad Esfahbod)
	Overview of changes leading to 3.3.1
	  - Fix heap-use-after-free in harfbuzz-subset introduced in previous release.
	    (Garret Rieger)
	Overview of changes leading to 3.3.0
	  - Improved documentation. (Matthias Clasen)
	  - Internal code cleanup, using C++ standard library more. (Behdad Esfahbod)
	  - 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. (Behdad Esfahbod)
	  - Glyph positions and other font metrics now apply synthetic slant set by
	    hb_font_set_synthetic_slant(), for improved positioning for synthetically
	    slanted fonts. (Behdad Esfahbod)
	  - Fixed unintentional locale dependency in hb_variation_to_string() for decimal
	    point representation. (Matthias Clasen)
	  - When applying pair positioning (kerning) the positioning value is split
	    between the two sides of the pair for improved cursor positioning between
	    such pairs. (Behdad Esfahbod)
	  - 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. (Behdad Esfahbod)
	  - Improved handling of macrolanguages when mapping BCP 47 codes to OpenType
	    tags. (David Corbett)
	  - New API:
	    +HB_GLYPH_FLAG_UNSAFE_TO_CONCAT
	    +hb_segment_properties_overlay()
	    +hb_buffer_create_similar()
	    +hb_font_set_synthetic_slant()
	    +hb_font_get_synthetic_slant()
	    +hb_font_get_var_coords_design()
	Overview of changes leading to 3.2.0
	  “harfbuzz” library improvements:
	   - Fixed shaping of Apple Color Emoji flags in right-to-left context. (Behdad Esfahbod)
	   - Fixed positioning of CFF fonts in HB_TINY profile. (Behdad Esfahbod)
	   - OpenType 1.9 language tags update. (David Corbett)
	   - Add HB_NO_VERTICAL config option.
	   - Add HB_CONFIG_OVERRIDE_H for easier configuration. (Behdad Esfahbod)
	  “harfbuzz-subset” library improvements:
	   - Improved packing of cmap, loca, and Ligature tables. (Garret Rieger)
	   - Significantly improved overflow-resolution strategy in the repacker. (Garret Rieger)

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
2022-02-11 15:07:19 +00:00
Adolf Belka
295985c800 harfbuzz: New dependency for pango
- v3 version has newer harfbuzz version
- lfs file created
- rootfile created

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>
2021-12-09 21:08:06 +01:00