Commit graph

198 commits

Author SHA1 Message Date
wiz
a000ab38bf harfbuzz*: update to 8.1.1
Overview of changes leading to 8.1.1
Wednesday, August 2, 2023
====================================
- 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.


Overview of changes leading to 8.1.0
Tuesday, August 1, 2023
====================================
- 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()
2023-08-24 12:02:49 +00:00
schmonz
fb16a60c00 harfbuzz: fix update builds on macOS.
Set DYLD_LIBRARY_PATH to find newly built libraries even if an earlier
version is already installed.
2023-08-22 16:33:48 +00:00
wiz
0046911d31 *: recursive bump for Python 3.11 as new default 2023-08-14 05:23:45 +00:00
nia
0af8da11de harfbuzz: Needs is_trivially_copy_constructible to compile. 2023-07-22 12:21:32 +00:00
wiz
e22657e360 harfbuzz: update to 8.0.1.
Overview of changes leading to 8.0.1
Wednesday, July 12, 2023
====================================
- 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
Sunday, July 9, 2023
====================================
- 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()
2023-07-19 15:48:31 +00:00
nia
5bc3bdf431 fonts: Adapt packages to use USE_(CC|CXX)_FEATURES 2023-07-18 18:07:57 +00:00
adam
9045b24de5 harfbuzz: sincosf detection is broken in meson; sort PLIST 2023-05-17 20:08:56 +00:00
wiz
7898e9794a harfbuzz*: update to 7.3.0
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)
2023-05-16 21:40:05 +00:00
wiz
0053e66b4a harfbuzz*: update to 7.2.0
Overview of changes leading to 7.2.0
Thursday, April 27, 2023
====================================
- 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
2023-05-07 23:08:48 +00:00
ryoon
8dbd328899 harfbuzz{,-icu}: Update to 7.1.0
Changelog:
7.1.0
Friday, March 3, 2023
====================================
- 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()

Overview of changes leading to 7.0.1
Monday, February 20, 2023
====================================
- Various build and bug fixes.
2023-04-14 03:16:43 +00:00
wiz
686a669722 harfbuzz*: update to 7.0.0
Overview of changes leading to 7.0.0
Saturday, February 11, 2023
====================================
- 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)
2023-02-14 15:55:40 +00:00
ryoon
c0e05377ea harfbuzz, harfbuzz-icu: Update to 6.0.0
Changelog:
  * 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

    (Garret Rieger, Behdad Esfahbod)

  * 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

    (Behdad Esfahbod)

  * 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.

    (Garret Rieger, Qunxin Liu)

  * Miscellaneous fixes and improvements.

    (Behdad Esfahbod, Christoph Reiter, David Corbett, Eli Schwartz, Garret
    Rieger, Joel Auterson, Jordan Petridis, Khaled Hosny, Lorenz Wildberg,
    Marco Rebhan, Martin Storsj?, Matthias Clasen, Qunxin Liu, Satadru
    Pramanik)

  * New API
    +hb_subset_input_pin_axis_location()
    +hb_subset_input_pin_axis_to_default()
    +hb_subset_preprocess()
2023-02-10 14:41:50 +00:00
ryoon
cdab5aeed7 *: Recursive revbup from graphics/freetype2 2023-01-29 21:14:22 +00:00
adam
004b0b2177 harfbuzz: updated to 5.3.1
5.3.1

Subsetter repacker fixes. (Garret Rieger)
Adjust Grapheme clusters for Katakana voiced sound marks. (Behdad Esfahbod)
New hb-subset option --preprocess-face.


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()
2022-11-23 11:39:27 +00:00
wiz
2ee957d56d harfbuzz: update to 5.2.0.
Overview of changes leading to 5.2.0
Saturday, September 17, 2022
====================================
- 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
2022-09-26 17:33:52 +00:00
tnn
858cb39258 harfbuzz-icu: uncomment PATCHDIR to fix the build 2022-08-07 14:53:38 +00:00
tnn
f15741f55a harfbuzz: fix build on arm and ppc (char unsignedness) 2022-08-07 12:35:34 +00:00
wiz
e115ab0ea7 harfbuzz: update to 5.1.0.
Overview of changes leading to 5.1.0
Sunday, July 31, 2022
====================================
- 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
2022-08-07 08:08:23 +00:00
wiz
6c99c9fafb harfbuzz: update to 5.0.1.
Overview of changes leading to 5.0.1
Saturday, July 23, 2022
====================================
- Fix version 2 “avar” table with hb-ft. (Behdad Esfahbod)
2022-07-31 09:46:42 +00:00
wiz
e170ab348a harfbuzz: update to 5.0.0.
Overview of changes leading to 5.0.0
Saturday, July 23, 2022
====================================
- 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()
2022-07-26 15:46:48 +00:00
wiz
f5cb542b22 harfbuzz: update to 4.4.1.
Overview of changes leading to 4.4.1
Wednesday, June 29, 2022
====================================
- Fix test failure with some compilers.
- Fix Telugu and Kannada kerning regression.


Overview of changes leading to 4.4.0
Monday, June 27, 2022
====================================
- 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()
2022-07-14 13:13:32 +00:00
wiz
2e49302089 harfbuzz: remove introspection option
Addresses PR 56755.

Bump PKGREVISION.
2022-06-07 16:47:33 +00:00
wiz
84cf1519f5 harfbuzz: depend on latest gtk-doc and update PLIST.
Bump PKGREVISION.
2022-06-04 13:49:15 +00:00
wiz
e284349ff8 harfbuzz*: update to 4.3.0
Add PLIST_SUBST to reduce PLIST churn.

Overview of changes leading to 4.3.0
Friday, May 20, 2022
====================================
- 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)
2022-05-28 09:17:52 +00:00
adam
aad64a71eb harfbuzz harfbuzz-icu: updated to 4.2.1
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.
2022-04-24 17:23:44 +00:00
wiz
0568868991 harfbuzz: update to 4.2.0.
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)
2022-04-20 20:23:22 +00:00
wiz
cd3cbecc8c harfbuzz*: update to 4.1.0
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()
2022-03-30 08:28:59 +00:00
adam
28291798a3 harfbuzz harfbuzz-icu: updated to 4.0.1
4.0.1

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()
2022-03-14 11:08:13 +00:00
wiz
dc876b1433 harfbuzz*: update to 4.0.0
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)
2022-03-08 09:04:07 +00:00
wiz
f8ff6b2717 harfbuzz{,-icu}: update to 3.4.0
Overview of changes leading to 3.4.0
Sunday, February 13, 2022
====================================
- 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 typdef’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
2022-02-16 22:32:14 +00:00
adam
c9f0ebfa2a harfbuzz harfbuzz-icu: updated to 3.3.2
3.3.2:
Revert splitting of pair positioning values introduced in 3.3.0 as it proved problematic.
2022-02-06 17:13:17 +00:00
ryoon
176b88c4f4 harfbuzz{.-icu}: Update to 3.3.1
* Use GitHub release tarball as distfile.

Changelog:
Overview of changes leading to 3.3.1
Monday, January 31, 2022
====================================
- Fix heap-use-after-free in harfbuzz-subset introduced in previous release.
  (Garret Rieger)


Overview of changes leading to 3.3.0
Monday, January 31, 2022
====================================
- 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
Friday, November 26, 2021
====================================
"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)
2022-02-04 16:39:36 +00:00
adam
b6d9bd86bc revbump for icu and libffi 2021-12-08 16:01:42 +00:00
adam
f375a09143 harfbuzz harfbuzz-icu: updated to 3.1.2
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.
2021-11-29 20:24:56 +00:00
adam
f60e3c10a4 harfbuzz harfbuzz-icu: updated to 3.1.1
3.1.1:
Work around GCC cast-align error/warning on some platforms.
Documentation improvements.
2021-11-08 06:47:42 +00:00
adam
d95d267dba harfbuzz: updated to 3.1.0
3.1.0

Better offset-overflow handling in the subsetter library. (Garret Rieger)
Improved Unicode 14 properties in the USE shaper, and various other USE shaper fixes. (David Corbett)
MATH and COLR v1 tables subsetting support, and various other subsetter fixes. (Qunxin Liu)
Support for Pwo Karen / Ason Chin medial la. (Simon Cozens)
Apply GPOS positioning when substituting with morx table, if kerx is missing. (Behdad Esfahbod)
Apply calt and clig features across syllable boundaries in Indic shaper. (Behdad Esfahbod)
Meson option for enabling Graphite 2 has been renamed to graphite2.
Build and documentation fixes.
New API:
+hb_buffer_set_not_found_glyph()
+hb_buffer_get_not_found_glyph()
2021-11-07 14:25:23 +00:00
nia
d14eac75b3 fonts: Replace RMD160 checksums with BLAKE2s checksums
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
2021-10-26 10:26:59 +00:00
nia
9ef0a4d7a2 fonts: Remove SHA1 hashes for distfiles 2021-10-07 14:03:48 +00:00
wiz
e25a2ea21d harfbuzz: update to 3.0.0.
Overview of changes leading to 3.0.0
Friday, September 17, 2021
====================================
- Unicode 14.0 support (David Corbett).
- The hb-subset API and the harfbuzz-subset library's ABI are now declared
  stable. The harfbuzz-subset library would not have been possible without the
  work of Garret Rieger and Qunxin Liu from Google Fonts, and the earlier work
  of Michiharu Ariza from Adobe.
- The hb-style API is now stable and no longer experimental.

- New API:
+hb_style_tag_t
+hb_style_get_value()
+hb_subset_input_t
+hb_subset_flags_t
+hb_subset_sets_t
+hb_subset_input_create_or_fail()
+hb_subset_input_reference()
+hb_subset_input_destroy()
+hb_subset_input_set_user_data()
+hb_subset_input_get_user_data()
+hb_subset_input_unicode_set()
+hb_subset_input_glyph_set()
+hb_subset_input_set()
+hb_subset_input_get_flags()
+hb_subset_input_set_flags()
+hb_subset_or_fail()

- Removed old unstable harfbuzz-subset API:
-hb_subset_input_nameid_set()
-hb_subset_input_namelangid_set()
-hb_subset_input_layout_features_set()
-hb_subset_input_no_subset_tables_set()
-hb_subset_input_drop_tables_set()
-hb_subset_input_set_drop_hints()
-hb_subset_input_get_drop_hints()
-hb_subset_input_set_desubroutinize()
-hb_subset_input_get_desubroutinize()
-hb_subset_input_set_retain_gids()
-hb_subset_input_get_retain_gids()
-hb_subset_input_set_name_legacy()
-hb_subset_input_get_name_legacy()
-hb_subset_input_set_overlaps_flag()
-hb_subset_input_get_overlaps_flag()
-hb_subset_input_set_notdef_outline()
-hb_subset_input_get_notdef_outline()
-hb_subset_input_set_no_prune_unicode_ranges()
-hb_subset_input_get_no_prune_unicode_ranges()
-hb_subset()


Overview of changes leading to 2.9.1
Tuesday, September 7, 2021
====================================
- Final subset API is in place and if no issues are discovered, it will be the
  stable subset API of HarfBuzz 3.0.0. Old API is kept to ease transition, but
  will be removed in 3.0.0.
- 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:
  o --unicodes-before/after: takes a list of hex numbers that represent Unicode
    codepoints.
- Undeprecated API:
  hb_set_invert()


Overview of changes leading to 2.9.0
Wednesday, August 18, 2021
History Repeats Itself (Afghanistan)
====================================
- Subsetter API is being stabilized, with the first stable API to happen in
  3.0.0 release (https://github.com/harfbuzz/harfbuzz/issues/3078).
- 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.
2021-09-29 14:57:02 +00:00
markd
a1392459d6 harfbuzz{,-icu}: update to 2.8.1
Overview of changes leading to 2.8.1
Tuesday, May 4, 2021
====================================
- Subsetter now fully supports GSUB/GPOS/GDEF tables (including variations); as
  such, layout tables are retained by subsetter by default. (Garret Rieger, Qunxin Liu)
- Build scripts no longer check for FontConfig as HarfBuzz does not use it.
- hb-view supports iTerm2 and kitty inline image protocols (Khaled Hosny),
  it can also use Chafa for terminal graphics if available (Hans Petter Jansson).

Overview of changes leading to 2.8.0
Tuesday, March 16, 2021
====================================
- Shape joining scripts other than Arabic/Syriac using the Universal Shaping Engine.
  Previously these were shaped using the generalized Arabic shaper. (David Corbett)
- Fix regression in shaping of U+0B55 ORIYA SIGN OVERLINE. (David Corbett)
- Update language tags. (David Corbett)
- Variations: reduce error: do not round each interpolated delta. (Just van Rossum)
- Documentation improvements. (Khaled Hosny, Nathan Willis)
- Subsetter improvements: subsets most, if not all, lookup types now. (Garret Rieger,
  Qunxin Liu)
- Fuzzer-found fixes and other improvements when memory failures happen. (Behdad)
- Removed most atomic implementations now that we have C++11 atomic impl. (Behdad)
- General codebase upkeep; using more C++11 features: constexpr constructors, etc.
  (Behdad)
2021-07-09 23:14:12 +00:00
nros
2086701692 harbuzz and harfbuzz-icu use python3 when building 2021-04-17 18:42:08 +00:00
ryoon
5428de4702 harfbuzz: Update to 2.7.4
Changelog:
2.7.4
    Fix missing --enable-introspection configure option from previous release tarball.
    Documentation updates.

2.7.3
    Update USE shaper to 2020-08-13 specification, and other improvements.
    Don't disable liga feature in myanmar shaper, to match Uniscribe.
    Improvements to language and script tags handling.
    Update language system tag registry to OpenType 1.8.4
    Support for serializing and deserializing Unicode buffers. Serialized buffers
    are now delimited with <> or [] based on whether it is a Unicode or
    glyphs buffer.
    Increase buffer work limits to handle fonts with many complex lookups.
    Handle more shaping operations in trace output.
    Memory access fixes.
    More OOM fixes.
    Improved documentation.
    Build system improvements.
    New API:
    +hb_buffer_has_positions()
    +hb_buffer_serialize()
    +hb_buffer_serialize_unicode()
    +hb_buffer_deserialize_unicode()
2021-01-01 08:58:00 +00:00
dholland
a85fc3522c harfbuzz does not build with python27.
(it fails trying to do encoding stuff with files)
2020-11-30 18:38:52 +00:00
tsutsui
5a63387f75 harfbuzz: fix build errors on NetBSD 7.2 with gcc 4.9.
> In file included from ../test/api/test-aat-layout.c:25:0:
> ../test/api/hb-test.h: In function 'hb_test_assert_blobs_equal':
> ../test/api/hb-test.h:178:5: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
>      for (unsigned int i = 0; i < expected_length; i++)
>      ^
> ../test/api/hb-test.h:178:5: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code
2020-11-16 16:17:00 +00:00
nia
adb3368547 Split out ICU integration library from the harfbuzz package.
Only a few pieces of software are using the ICU integration library,
these aren't the big harfbuzz users (i.e. gtk). this is intended to lessen
the impact of icu's frequent ABI breaks.
2020-11-06 15:06:49 +00:00
ryoon
2831546220 *: Recursive revbump from textproc/icu-68.1 2020-11-05 09:07:25 +00:00
nia
ec9098acbf harfbuzz: Set INCDIRS
Somehow I've had this patch lying around for a while despite committing
packages that depend on it - oops
2020-10-05 15:38:45 +00:00
prlw1
f283a5d171 Update harfbuzz to 2.7.2
Add introspection option defaulting to ON as new pango needs this.

Overview of changes leading to 2.7.2
Saturday, August 29, 2020
====================================
- Fix a regression in the previous release that caused a crash with Kaithi.
- More OOM fixes.
2020-09-04 10:50:08 +00:00
leot
36e8d353f4 harfbuzz: Explicitly pass meson arguments to enable/disable documentation
The `doc' option still had the issue that gtk-doc - if already installed - will
be accidentally picked up also if the option was disabled.
Be explicit in enabling/disabling it.
2020-08-16 10:40:16 +00:00
szptvlfn
9e2a7f24e6 move gtk-doc into options.mk 2020-08-15 21:48:34 +00:00