Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#15559 closed enhancement (fixed)

harfbuzz-3.0.0

Reported by: Bruce Dubbs Owned by: Bruce Dubbs
Priority: normal Milestone: 11.1
Component: BOOK Version: git
Severity: normal Keywords:
Cc:

Description

New major version.

Change History (7)

comment:1 by Xi Ruoyao, 3 years ago

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_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()

If something links to libharfbuzz-subset.so, it may need some code change and to be rebuilt.

comment:2 by pierre, 3 years ago

On a system with all what is in the book for kde and gnome, only libQt5WebEngineCore.so.5.15.2 seems to need libharfbuzz-subset.so.0. I've tested with objdump -x | grep NEEDED.

Last edited 3 years ago by pierre (previous) (diff)

comment:3 by Bruce Dubbs, 3 years ago

I looked at qtwebengine and all the references to hb_subset_input* are in the directory src/3rdparty/chromium/third_party/harfbuzz-ng/ and those files seem to be using the newer stable API.

comment:4 by Bruce Dubbs, 3 years ago

Owner: changed from blfs-book to Bruce Dubbs
Status: newassigned

comment:5 by Bruce Dubbs, 3 years ago

Resolution: fixed
Status: assignedclosed

Fixed at commit eebcdb5738744e60b38e08f60696762c397221da

Package updates.
    Update to xf86-input-libinput-1.2.0.
    Update to asciidoc-9.1.1.
    Update to thunar-4.16.10.
    Update to vala-0.54.1.
    Update to harfbuzz-3.0.0.
    Update to libuninameslist-20210917.
    Update to gobject-introspection-1.70.0.

in reply to:  3 comment:6 by ken@…, 3 years ago

Replying to Bruce Dubbs:

I looked at qtwebengine and all the references to hb_subset_input* are in the directory src/3rdparty/chromium/third_party/harfbuzz-ng/ and those files seem to be using the newer stable API.

Breaks the build:

 -c ../../../../src/3rdparty/chromium/components/paint_preview/common/subset_font.cc -o obj/components/paint_preview/common/common/subset_font.o
../../../../src/3rdparty/chromium/components/paint_preview/common/subset_font.cc: In function 'sk_sp<SkData> paint_preview::SubsetFont(SkTypeface*, const paint_preview::GlyphUsage&)':
../../../../src/3rdparty/chromium/components/paint_preview/common/subset_font.cc:74:3: error: 'hb_subset_input_set_retain_gids' was not declared in this scope; did you mean 'hb_subset_input_set_flags'

At qtwebengine this is still open https://bugreports.qt.io/browse/QTBUG-96911 but Arch have a patch from upstream chromium. Needs to be reformatted to apply to toplevel qtwebengine directory, will give it a try.

comment:7 by ken@…, 3 years ago

Incomplete. It's part of a very large chromium commit for hb3, 167 changed files, mostly pngs, at least one other source file has changes.

Note: See TracTickets for help on using tickets.