Commit graph

163 commits

Author SHA1 Message Date
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
tnn
a032f1d877 harfbuzz: update to 2.7.1
ot-funcs now handles variable empty glyphs better when hvar/vvar isn't present.
Reverted a GDEF processing regression.
A couple of fixes to handle OOM better.
2020-08-15 09:49:44 +00:00
joerg
c8f40312c9 Fix ICU option. Disable benchmarking as it requires git and external
downloads. Require gtk-doc for documentation to match PLIST.
2020-08-09 00:53:12 +00:00
nia
055582408d harfbuzz: Update to 2.7.0
Overview of changes leading to 2.7.0
Saturday, July 25, 2020
====================================
- Use an implementation for round that always rounds up, some minor fluctuations
  are expected on var font specially when hb-ot callback is used.
- Fix an AAT's `kerx` issue on broken rendering of Devanagari Sangam MN.
- Remove AAT's `lcar` table support from _get_ligature_carets API, not even much
  use on macOS installed fonts (only two files).  GDEF support is the recommended
  one and expected to work properly after issues fixed two releases ago.
- Minor memory fixes to handle OOM better specially in hb-ft.
- Minor .so files versioning scheme change and remove stable/unstable scheme
  differences, was never used in practice (always default to stable scheme).
- We are now suggesting careful packaging of the library using meson,
  https://github.com/harfbuzz/harfbuzz/wiki/Notes-on-migration-to-meson
  for more information.
- Distribution package URL is changed, either use GitHub generated tarballs,
  `https://github.com/harfbuzz/harfbuzz/archive/$pkgver.tar.gz`
  or, even more preferably use commit hash of the release and git checkouts like,
  `git+https://github.com/harfbuzz/harfbuzz#commit=$commit`
2020-08-08 19:11:13 +00:00
nia
52f8971697 harfbuzz: Update to 2.6.8
Overview of changes leading to 2.6.8
Monday, June 22, 2020
====================================
- New API to fetch glyph alternates from GSUB table.
- hb-coretext build fix for macOS < 10.10.
- Meson build fixes, cmake port removal is postponed but please prepare for
  it and give us feedback.
  Autotools is still our main build system however please consider
  experimenting with meson also for packaging the library.
- New API:
+hb_ot_layout_lookup_get_glyph_alternates()
2020-06-29 13:44:02 +00:00
nia
bb57e87e56 harfbuzz: Update to 2.6.7
Overview of changes leading to 2.6.7
Wednesday, June 3, 2020
====================================
- Update to Unicode 13.0.0.
- Fix hb_ot_layout_get_ligature_carets for fonts without lcar table, it was
  completely broken for all the other fonts since 2.1.2.
- As a part of our migration to meson, this release will be the last one
  to provide cmake port files but autotools still is our main build system.
  There is a possibility that the next version or the after be released
  using meson.
2020-06-09 11:27:04 +00:00
adam
6bd0c30da6 Revbump for icu 2020-06-02 08:22:31 +00:00
nia
b19e9b15a6 harfbuzz: Update to 2.6.6.
Overview of changes leading to 2.6.6
Tuesday, May 12, 2020
====================================
- A fix in AAT kerning for Geeza Pro.
- Better support for resource fork fonts on macOS.
2020-05-17 14:43:16 +00:00
nia
d9438d438f harfbuzz: Update to 2.6.5
Overview of changes leading to 2.6.5
Friday, April 17, 2020
====================================
- Add experimental meson build system.  Autotools is still the primary
  and supported build system.
- AAT is now always preferred for horizontal scripts when both AAT and OT
  layout tables exist at the same time.
- Subsetter improvements.
- New API:
+hb_ft_font_lock_face()
+hb_ft_font_unlock_face()
2020-04-18 14:32:02 +00:00
adam
24daafa112 Recursive revision bump after textproc/icu update 2020-04-12 08:27:48 +00:00
wiz
4e3b1b97c2 librsvg: update bl3.mk to remove libcroco in rust case
recursive bump for the dependency change
2020-03-10 22:08:37 +00:00
wiz
f669fda471 *: recursive bump for libffi 2020-03-08 16:47:24 +00:00
jperkin
6ecb3f9199 harfbuzz: Move GCC_REQD to before bsd.prefs.mk. 2019-11-09 19:31:14 +00:00
nia
e11769de71 harfbuzz: Update to 2.6.4
Overview of changes leading to 2.6.4
Monday, October 29, 2019
====================================
- Small bug fix.
- Build fixes.

Overview of changes leading to 2.6.3
Monday, October 28, 2019
====================================
- Misc small fixes, mostly to build-related issues.
- New API:
+hb_font_get_nominal_glyphs()
2019-10-31 16:30:09 +00:00
nia
d57cc523d5 harfbuzz: Update to 2.6.2
Overview of changes leading to 2.6.2
Monday, September 30, 2019
====================================
- Misc small fixes, mostly to build-related issues.
2019-10-01 14:35:14 +00:00
nia
7f80acc033 harfbuzz: Update to 2.6.1
Overview of changes leading to 2.6.1
Thursday, August 22, 2019

    Fix regression with hb_font_create_sub_font scaling introduced in 2.6.0.
    Change interpretation of font PTEM size / CoreText font size handling.
    See #1484
    hb-ot-font: Prefer symbol cmap subtable if present.
    Apply 'dist'/'abvm'/'blwm' features to all scripts.
    Drop experimental DirectWrite API.
2019-08-31 13:17:38 +00:00
wiz
74cb2b5eda harfbuzz: update to 2.6.0.
Overview of changes leading to 2.6.0
Tuesday, August 13, 2019
====================================
- New OpenType metrics, baseline, and metadata table access APIs.
- New API to set font variations to a named-instance.
- New hb-gdi.h header and API for creating hb_face_t from HFONT.
- Amalgam: Provide a single-file harfbuzz.cc file for easier alternate building.
- More size-reduction configurable options, enabled by HB_TINY.
- New API:
+hb_font_set_var_named_instance()
+hb_gdi_face_create()
+hb_ot_layout_baseline_tag_t
+hb_ot_layout_get_baseline()
+hb_ot_meta_tag_t
+hb_ot_meta_get_entry_tags()
+hb_ot_meta_reference_entry()
+hb_ot_metrics_tag_t
+hb_ot_metrics_get_position()
+hb_ot_metrics_get_variation()
+hb_ot_metrics_get_x_variation()
+hb_ot_metrics_get_y_variation()
2019-08-20 12:09:04 +00:00
ryoon
54a17e4b24 This version uses C++11. Set c++11 to USE_LANGUAGES
Noticed by leot@. Thank you.
2019-07-08 17:48:01 +00:00
ryoon
3a17723d76 Update to 2.5.3
Changelog:
Overview of changes leading to 2.5.3
Wednesday, June 26, 2019
====================================
- Fix UCD script data for Unicode 10+ scripts.  This was broken since 2.5.0.
- More optimizations for HB_TINY.


Overview of changes leading to 2.5.2
Thursday, June 20, 2019
====================================
- More hb-config.hh facilities to shrink library size, namely when built as
  HB_TINY.
- New documentation of custom configurations in CONFIG.md.
- Fix build on gcc 4.8.  That's supported again.
- Universal Shaping Engine improvements thanks to David Corbett.
- API Changes: Undeprecate some horizontal-kerning API and re-enable in hb-ft,
  such that Type1 fonts will continue kerning.


Overview of changes leading to 2.5.1
Friday, May 31, 2019
====================================
- Fix build with various versions of Visual Studio.
- Improved documentation, thanks to Nathan Willis.
- Bugfix in subsetting glyf table.
- Improved scripts for cross-compiling for Windows using mingw.
- Rename HB_MATH_GLYPH_PART_FLAG_EXTENDER to HB_OT_MATH_GLYPH_PART_FLAG_EXTENDER.
  A deprecated macro is added for backwards-compatibility.


Overview of changes leading to 2.5.0
Friday, May 24, 2019
====================================
- This release does not include much functional changes, but includes major internal
  code-base changes.  We now require C++11.  Support for gcc 4.8 and earlier has been
  dropped.
- New hb-config.hh facility for compiling smaller library for embedded and web usecases.
- New Unicode Character Databse implementation that is half the size of previously-used
  UCDN.
- Subsetter improvements.
- Improved documentation, thanks to Nathan Willis.
- Misc shaping fixes.
2019-07-02 12:58:23 +00:00
ryoon
3430bcd799 Update comment, replace librsvg with librsvg-c 2019-06-09 04:55:48 +00:00
leot
07a3522ccc *: use LIBRSVG_TYPE instead of PLATFORM_SUPPORTS_RUST 2019-06-08 19:53:26 +00:00
ryoon
d1b220a560 Include mk file earlier to enable rust conditional 2019-06-03 12:27:48 +00:00
ryoon
79fb39ddd3 Add graphite2 to librsvg via pango and harfbuzz
librsvg with pango and harfbuzz with graphite2 is required for libreoffice.
librsvg-c has the problem on NetBSD and libreoffice uses internal static
harfbuzz library. Rust-based librsvg has no problem and libreoffice use
dynamic harfbuzz from fonts/harfbuzz.

Bump PKGREVISIONs.
2019-06-02 03:11:30 +00:00
adam
e27cc312eb harfbuzz: distfile has changed; bump revision 2019-04-07 18:16:07 +00:00
ryoon
6fc378bce9 Recursive revbump from textproc/icu 2019-04-03 00:32:25 +00:00
wiz
2f5c2b8fb0 harfbuzz: update to 2.4.0.
Overview of changes leading to 2.4.0
Monday, March 25, 2019
====================================
- Unicode 12.
- Misc fixes.
- Subsetter improvements.
- New API:
HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE
hb_directwrite_face_create()
2019-04-02 08:58:47 +00:00
rin
b5cc8d6b77 Fix option -icu; include/harfbuzz/hb-ft.h is installed and required
actually by other packages no matter whether icu is supported or not.
2019-02-15 22:44:48 +00:00
abs
a07d6cabaa Do not play _POSIX_C_SOURCE games on NetBSD - Avoids issues with building under pkgsrc gcc versions 2019-02-14 17:43:32 +00:00
wiz
f90031dc62 harfbuzz: update to 2.3.1.
Overview of changes leading to 2.3.1
Wednesday, January 30, 2019
====================================
- AAT bug fixes.
- Misc internal housekeeping cleanup.
2019-02-13 20:12:10 +00:00
jperkin
2102f90d4c harfbuzz: Fix build on SunOS where int8_t is not explicitly "signed". 2019-01-30 19:21:22 +00:00
bsiegert
bbafcbfac6 Update harfbuzz to 2.3.0.
-   Fix regression on big-endian architectures. Ouch!
-   Misc bug and build fixes.
-   Fix subsetting of simple GSUB/GDEF.
-   Merge CFF / CFF2 support contributed by Adobe. This mostly involves
    the subsetter, but also get_glyph_extents on CFF fonts.
2019-01-29 18:54:03 +00:00
he
32d87cb3a6 Add GCC_REQD+=4.9, so that this builds on NetBSD/i386 7.1 again.
For newer OSes this would be a no-op, so no revision bump.
2019-01-24 12:46:10 +00:00
adam
16dd5de231 revbump after updating textproc/icu 2018-12-09 18:51:58 +00:00
wiz
6ca63e7dad harfbuzz: update to 2.2.0.
Overview of changes leading to 2.2.0
Thursday, November 29, 2018
====================================
- Misc shaping bug fixes.
- Add font variations named-instance API.
- Deprecate font variations axis enumeration API and add replacement.
- AAT shaping improvements:
  o Fixed 'kern' table Format 2 implementation.
  o Implement 'feat' table API for feature detection.
  o Blacklist 'GSUB' table of fonts from 'MUTF' foundry that also have 'morx'.

New API:
+hb_aat_layout_feature_type_t
+hb_aat_layout_feature_selector_t
+hb_aat_layout_get_feature_types()
+hb_aat_layout_feature_type_get_name_id
+hb_aat_layout_feature_selector_info_t
+HB_AAT_LAYOUT_NO_SELECTOR_INDEX
+hb_aat_layout_feature_type_get_selector_infos()
+hb_ot_var_axis_flags_t
+hb_ot_var_axis_info_t
+hb_ot_var_get_axis_infos()
+hb_ot_var_find_axis_info()
+hb_ot_var_get_named_instance_count()
+hb_ot_var_named_instance_get_subfamily_name_id()
+hb_ot_var_named_instance_get_postscript_name_id()
+hb_ot_var_named_instance_get_design_coords()

Deprecated API:
+HB_OT_VAR_NO_AXIS_INDEX
+hb_ot_var_axis_t
+hb_ot_var_get_axes()
+hb_ot_var_find_axis()
2018-12-03 11:43:25 +00:00
wiz
e1bc48b065 harfbuzz: update to 2.1.3.
Overview of changes leading to 2.1.3
Friday, November 16, 2018
====================================
- Fix AAT 'mort' shaping, which was broken in 2.1.2


Overview of changes leading to 2.1.2
Friday, November 16, 2018
====================================
- Various internal changes.
- AAT shaping improvements:
  o Implement kern table Format 1 state-machine-based kerning.
  o Implement cross-stream kerning (cursive positioning, etc).
  o Ignore emptyish GSUB tables (zero scripts) if morx present.
  o Don't apply GPOS if morx is being applied.  Matches Apple.
2018-11-30 15:26:51 +00:00
abs
920da30078 Do not play _POSIX_C_SOURCE games on NetBSD - causes issues with some pkgsrc gcc versions
Bump PKGREVISION
2018-11-23 09:50:55 +00:00