mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-09 18:45:54 +02:00
366bae41ff322b42e58e920cadb3b406b000fe4b
6 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
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> |
||
|
|
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>
|
||
|
|
9a7e4d8506 |
Switch checksums from MD5 to BLAKE2
Historically, the MD5 checksums in our LFS files serve as a protection against broken downloads, or accidentally corrupted source files. While the sources are nowadays downloaded via HTTPS, it make sense to beef up integrity protection for them, since transparently intercepting TLS is believed to be feasible for more powerful actors, and the state of the public PKI ecosystem is clearly not helping. Therefore, this patch switches from MD5 to BLAKE2, updating all LFS files as well as make.sh to deal with this checksum algorithm. BLAKE2 is notably faster (and more secure) than SHA2, so the performance penalty introduced by this patch is negligible, if noticeable at all. In preparation of this patch, the toolchain files currently used have been supplied with BLAKE2 checksums as well on https://source.ipfire.org/. Cc: Michael Tremer <michael.tremer@ipfire.org> Signed-off-by: Peter Müller <peter.mueller@ipfire.org> Acked-by: Michael Tremer <michael.tremeripfire.org> |
||
|
|
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> |
||
|
|
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> |
||
|
|
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> |