libharfbuzz/4.2.0

[full]

HarfBuzz text shaping engine C/C++ libraries

Linux CI Status CircleCI Build Status OSS-Fuzz Status Coverity Code Health Codacy Code Health Codecov Code Coverage Coverals Code Coverage Packaging status ABI Tracker

This is HarfBuzz, a text shaping library.

For bug reports, mailing list, and other information please visit:

http://harfbuzz.org/

For license information, see COPYING.

For build information, see BUILD.md.

For custom configurations, see CONFIG.md.

For test execution, see TESTING.md.

Documentation: https://harfbuzz.github.io

Packaging status

version 4.2.0
license MIT-Modern-Variant
license MIT
repository https://pkg.cppget.org/1/stable
download libharfbuzz-4.2.0.tar.gz
sha256 e19fdddb072d0ec2ceb73a094631a40b52475c4c3f56cda3a05bba55bcaf652b
project harfbuzz
url github.com/harfbuzz/harfbuzz/wiki
doc-url harfbuzz.github.io/
src-url github.com/harfbuzz/harfbuzz
package-url github.com/build2-packaging/harfbuzz
package-email packaging@build2.orgMailing list

Depends (2)

libfreetype ^2.11.1
libicuuc >= 65.1.0

Builds

toolchain public-0.16.0
target aarch64-linux-gnu
tgt config linux_debian_12-clang_16_libc++-O3
timestamp 2024-03-29 11:47:25 UTC (04:08:15 hours ago)
result error (update) | log | rebuild
toolchain public-0.16.0
target aarch64-linux-gnu
tgt config linux_debian_12-clang_16_libc++-static_O3
timestamp 2024-03-29 11:45:40 UTC (04:09:59 hours ago)
result error (update) | log | rebuild
toolchain public-0.16.0
target aarch64-linux-gnu
tgt config linux_debian_12-clang_16_libc++
timestamp 2024-03-29 11:43:58 UTC (04:11:42 hours ago)
result error (update) | log | rebuild
toolchain public-0.16.0
target aarch64-linux-gnu
tgt config linux_debian_12-clang_16-O3
timestamp 2024-03-29 11:42:58 UTC (04:12:41 hours ago)
result error (update) | log | rebuild
toolchain public-0.16.0
target aarch64-linux-gnu
tgt config linux_debian_12-clang_16
timestamp 2024-03-29 11:40:50 UTC (04:14:50 hours ago)
result error (update) | log | rebuild
toolchain public-0.16.0
target aarch64-linux-gnu
tgt config linux_debian_12-clang_16-static_O3
timestamp 2024-03-29 11:40:15 UTC (04:15:24 hours ago)
result error (update) | log | rebuild
toolchain public-0.16.0
target x86_64-apple-darwin22.5.0
tgt config macos_13-gcc_13_homebrew-static_O3
timestamp 2024-03-29 11:26:32 UTC (04:29:08 hours ago)
result warning (update) | log | rebuild
toolchain public-0.16.0
target x86_64-apple-darwin22.5.0
tgt config macos_13-gcc_13_homebrew-O3
timestamp 2024-03-29 11:25:51 UTC (04:29:49 hours ago)
result warning (update) | log | rebuild
toolchain public-0.16.0
target x86_64-apple-darwin22.5.0
tgt config macos_13-gcc_13_homebrew
timestamp 2024-03-29 11:25:15 UTC (04:30:25 hours ago)
result warning (update) | log | rebuild
toolchain public-0.16.0
target x86_64-linux-gnu
tgt config linux_fedora_38-gcc_13-bindist
timestamp 2024-03-29 11:16:24 UTC (04:39:16 hours ago)
result warning (update) | log | rebuild
toolchain public-0.16.0
target x86_64-linux-gnu
tgt config linux_debian_12-gcc_13.1-O3
timestamp 2024-03-29 11:12:58 UTC (04:42:42 hours ago)
result warning (update) | log | rebuild
toolchain public-0.16.0
target x86_64-linux-gnu
tgt config linux_debian_12-gcc_13.1-ndebug_O3
timestamp 2024-03-29 11:12:55 UTC (04:42:45 hours ago)
result warning (update) | log | rebuild
toolchain public-0.16.0
target x86_64-w64-mingw32
tgt config windows_10-gcc_12.2_mingw_w64
timestamp 2024-03-29 11:10:42 UTC (04:44:58 hours ago)
result warning (update) | log | rebuild
toolchain public-0.16.0
target x86_64-w64-mingw32
tgt config windows_10-gcc_12.2_mingw_w64-O2
timestamp 2024-03-29 11:09:18 UTC (04:46:22 hours ago)
result warning (update) | log | rebuild
toolchain public-0.16.0
target x86_64-linux-gnu
tgt config linux_debian_12-gcc_13.1-static_O3
timestamp 2024-03-29 11:08:35 UTC (04:47:05 hours ago)
result warning (update) | log | rebuild
toolchain public-0.16.0
target x86_64-linux-gnu
tgt config linux_debian_12-gcc_13.1
timestamp 2024-03-29 11:08:03 UTC (04:47:37 hours ago)
result warning (update) | log | rebuild
toolchain public-0.16.0
target x86_64-linux-gnu
tgt config linux_debian_12-gcc_12-bindist
timestamp 2024-03-29 11:07:19 UTC (04:48:21 hours ago)
result warning (update) | log | rebuild
toolchain public-0.16.0
target x86_64-w64-mingw32
tgt config windows_10-gcc_12.2_mingw_w64-static_O2
timestamp 2024-03-29 11:03:44 UTC (04:51:56 hours ago)
result warning (update) | log | rebuild
toolchain public-0.16.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-msvc_17.6-O2
timestamp 2024-03-29 10:59:25 UTC (04:56:15 hours ago)
result warning (update) | log | rebuild
toolchain public-0.16.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-clang_15.0_msvc_msvc_17.6
timestamp 2024-03-29 10:58:41 UTC (04:56:59 hours ago)
result warning (update) | log | rebuild
toolchain public-0.16.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-msvc_17.6
timestamp 2024-03-29 10:58:02 UTC (04:57:38 hours ago)
result warning (update) | log | rebuild
toolchain public-0.16.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-msvc_17.6-static_O2
timestamp 2024-03-29 10:53:59 UTC (05:01:41 hours ago)
result warning (update) | log | rebuild
toolchain public-0.16.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-msvc_17.5
timestamp 2024-03-29 10:53:35 UTC (05:02:05 hours ago)
result warning (update) | log | rebuild
toolchain public-0.16.0
target x86_64-linux-gnu
tgt config linux_debian_12-clang_16.0_libc++-O3
timestamp 2024-03-29 10:40:27 UTC (05:15:13 hours ago)
result error (update) | log | rebuild
toolchain public-0.16.0
target x86_64-linux-gnu
tgt config linux_debian_12-clang_16.0-O3
timestamp 2024-03-29 10:39:30 UTC (05:16:10 hours ago)
result error (update) | log | rebuild
toolchain public-0.16.0
target x86_64-linux-gnu
tgt config linux_debian_12-clang_16.0_libc++-static_O3
timestamp 2024-03-29 10:37:43 UTC (05:17:57 hours ago)
result error (update) | log | rebuild
toolchain public-0.16.0
target x86_64-linux-gnu
tgt config linux_debian_12-clang_16.0
timestamp 2024-03-29 10:37:11 UTC (05:18:29 hours ago)
result error (update) | log | rebuild
toolchain public-0.16.0
target x86_64-linux-gnu
tgt config linux_debian_12-clang_16.0_libc++
timestamp 2024-03-29 10:36:16 UTC (05:19:24 hours ago)
result error (update) | log | rebuild
toolchain public-0.16.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-clang_16.0_llvm_msvc_17.6-O2
timestamp 2024-03-29 10:35:49 UTC (05:19:51 hours ago)
result error (update) | log | rebuild
toolchain public-0.16.0
target x86_64-linux-gnu
tgt config linux_debian_12-clang_16.0-static_O3
timestamp 2024-03-29 10:34:31 UTC (05:21:08 hours ago)
result error (update) | log | rebuild
toolchain public-0.16.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-clang_16.0_llvm_msvc_17.6
timestamp 2024-03-29 10:34:22 UTC (05:21:18 hours ago)
result error (update) | log | rebuild
toolchain public-0.16.0
target x86_64-microsoft-win32-msvc14.3
tgt config windows_10-clang_16.0_llvm_msvc_17.6-static_O2
timestamp 2024-03-29 10:30:58 UTC (05:24:42 hours ago)
result error (update) | log | rebuild
toolchain public-0.16.0
target aarch64-linux-gnu
tgt config linux_debian_12-gcc_13-O3
timestamp 2024-03-28 10:37:45 UTC (01 05:17:55 days ago)
result warning (update) | log | rebuild
toolchain public-0.16.0
target aarch64-linux-gnu
tgt config linux_debian_12-gcc_13-ndebug_O3
timestamp 2024-03-28 10:37:43 UTC (01 05:17:57 days ago)
result warning (update) | log | rebuild
toolchain public-0.16.0
target aarch64-linux-gnu
tgt config linux_debian_12-gcc_13
timestamp 2024-03-28 10:36:00 UTC (01 05:19:40 days ago)
result warning (update) | log | rebuild
toolchain public-0.16.0
target aarch64-linux-gnu
tgt config linux_debian_12-gcc_13-static_O3
timestamp 2024-03-28 10:35:53 UTC (01 05:19:47 days ago)
result warning (update) | log | rebuild
toolchain public-0.16.0
target x86_64-apple-darwin22.5.0
tgt config macos_13-clang_15.0-static_O3
timestamp 2024-03-28 09:45:15 UTC (01 06:10:25 days ago)
result success | log | rebuild
toolchain public-0.16.0
target x86_64-apple-darwin22.5.0
tgt config macos_13-clang_15.0-O3
timestamp 2024-03-28 09:35:24 UTC (01 06:20:15 days ago)
result success | log | rebuild
toolchain public-0.16.0
target x86_64-apple-darwin22.5.0
tgt config macos_13-clang_15.0
timestamp 2024-03-28 09:11:53 UTC (01 06:43:47 days ago)
result success | log | rebuild
toolchain public-0.16.0
target x86_64-apple-darwin22.5.0
tgt config macos_13-clang_14.0-static_O3
timestamp 2024-03-28 05:53:53 UTC (01 10:01:47 days ago)
result success | log | rebuild
toolchain public-0.16.0
target x86_64-apple-darwin22.5.0
tgt config macos_13-clang_14.0-O3
timestamp 2024-03-28 05:51:10 UTC (01 10:04:30 days ago)
result success | log | rebuild
toolchain public-0.16.0
target x86_64-apple-darwin22.5.0
tgt config macos_13-clang_14.0
timestamp 2024-03-28 05:48:21 UTC (01 10:07:19 days ago)
result success | log | rebuild
toolchain public-0.16.0
target aarch64-linux-gnu
tgt config linux_debian_12-clang_15_libc++
timestamp 2024-03-27 13:52:14 UTC (02 02:03:26 days ago)
result success | log | rebuild
toolchain public-0.16.0
target aarch64-linux-gnu
tgt config linux_debian_12-clang_15
timestamp 2024-03-27 13:51:41 UTC (02 02:03:58 days ago)
result success | log | rebuild
toolchain public-0.16.0
target aarch64-linux-gnu
tgt config linux_debian_11-gcc_12
timestamp 2024-03-27 13:51:01 UTC (02 02:04:39 days ago)
result success | log | rebuild
toolchain public-0.16.0
target x86_64-freebsd13.2
tgt config freebsd_13-clang_14.0-O3
timestamp 2024-03-27 13:41:37 UTC (02 02:14:03 days ago)
result success | log | rebuild
toolchain public-0.16.0
target x86_64-freebsd13.2
tgt config freebsd_13-clang_14.0
timestamp 2024-03-27 13:40:54 UTC (02 02:14:46 days ago)
result success | log | rebuild
toolchain public-0.16.0
target x86_64-freebsd13.2
tgt config freebsd_13-clang_14.0-static_O3
timestamp 2024-03-27 13:40:21 UTC (02 02:15:19 days ago)
result success | log | rebuild
toolchain public-0.16.0
target x86_64-linux-gnu
tgt config linux_debian_12-clang_15.0_libc++
timestamp 2024-03-27 13:27:42 UTC (02 02:27:58 days ago)
result success | log | rebuild
toolchain public-0.16.0
target x86_64-linux-gnu
tgt config linux_debian_11-gcc_12.1
timestamp 2024-03-27 13:26:53 UTC (02 02:28:46 days ago)
result success | log | rebuild
toolchain public-0.16.0
target x86_64-linux-gnu
tgt config linux_debian_12-clang_15.0
timestamp 2024-03-27 13:26:38 UTC (02 02:29:01 days ago)
result success | log | rebuild
toolchain public-0.16.0
target x86_64-freebsd12.4
tgt config freebsd_12-clang_13.0
timestamp 2024-03-27 12:54:35 UTC (02 03:01:05 days ago)
result success | log | rebuild
toolchain public-0.16.0
target x86_64-linux-gnu
tgt config linux_fedora_37-gcc_12.2-bindist
timestamp 2024-03-27 11:14:14 UTC (02 04:41:26 days ago)
result warning (update) | log | rebuild

Changes

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()... More