Updating harfbuzz to 8.3.0

[This thread](https://2dimensions.slack.com/archives/C067PQQL3EK/p1708104838351439) had me looking through the harfbuzz codebase to see if we could change the way some of the symbols were exported (our renames was getting clashing defines).

That made me take a closer look at all the changes since 6.0.0 (the version we were pegged at). There are a ton of performance and stability changes since 6.0.0 that we really want (take a look at the [release page](https://github.com/harfbuzz/harfbuzz/releases) for a list).

So I took this opportunity to update our renames script, pin us to a new harfbuzz and branch it with some changes to disable exporting certain symbols that are normally accessed via defines in C++ but are exported as a courtesy to wrapping language bindings. We don't need those so I added a way to compile them out for us.

Diffs=
9d605a1fe Updating harfbuzz to 8.3.0 (#6652)

Co-authored-by: Luigi Rosso <luigi-rosso@users.noreply.github.com>
diff --git a/.rive_head b/.rive_head
index 2804470..a6def14 100644
--- a/.rive_head
+++ b/.rive_head
@@ -1 +1 @@
-5cb42a9b0033a1b9d2360292b7ef14bf67e3d45e
+9d605a1feb39dcad526ac9dda6b53b547921c58d
diff --git a/dependencies/gen_harfbuzz_renames/gen_header.dart b/dependencies/gen_harfbuzz_renames/gen_header.dart
index e0c6b4d..1acb016 100644
--- a/dependencies/gen_harfbuzz_renames/gen_header.dart
+++ b/dependencies/gen_harfbuzz_renames/gen_header.dart
@@ -1,27 +1,79 @@
 import 'dart:collection';
 import 'dart:io';
 
-var skip = HashSet.from(
+final skip = HashSet.from(
   [
     'hb_color_get_alpha',
     'hb_color_get_green',
     'hb_color_get_blue',
     'hb_color_get_red',
     'hb_glyph_info_get_glyph_flags',
+    'hb_declval',
+  ],
+);
+
+final extras = HashSet.from(
+  [
+    'lookup_standard_encoding_for_code',
+    'lookup_expert_encoding_for_code',
+    'lookup_expert_charset_for_sid',
+    'lookup_expert_subset_charset_for_sid',
+    'lookup_standard_encoding_for_sid',
+    'accelerator_t',
+    'get_seac_components',
+    'data_destroy_arabic',
   ],
 );
 
 void main() {
+  final uniqueNames = HashSet<String>();
   var header = StringBuffer();
   header.writeln('// clang-format off');
+  header.writeln('// hb_*');
   var contents = File('harfbuzz_names.txt').readAsStringSync();
-  RegExp exp = RegExp(r'\s_(hb_([a-zA-Z0-9_]*))$', multiLine: true);
+  RegExp exp = RegExp(r'\s(hb_([a-zA-Z0-9_]*))', multiLine: true);
   Iterable<RegExpMatch> matches = exp.allMatches(contents);
   for (final m in matches) {
     var symbolName = m[1];
-    if (skip.contains(symbolName)) {
+    if (symbolName == null ||
+        skip.contains(symbolName) ||
+        uniqueNames.contains(symbolName)) {
       continue;
     }
+    uniqueNames.add(symbolName);
+    header.writeln('#define $symbolName rive_$symbolName');
+  }
+  header.writeln('// _hb_*');
+  {
+    RegExp exp = RegExp(r'\s_(hb_([a-zA-Z0-9_]*))', multiLine: true);
+    Iterable<RegExpMatch> matches = exp.allMatches(contents);
+    for (final m in matches) {
+      var symbolName = m[1];
+      if (symbolName == null ||
+          skip.contains(symbolName) ||
+          uniqueNames.contains(symbolName)) {
+        continue;
+      }
+      uniqueNames.add(symbolName);
+      header.writeln('#define $symbolName rive_$symbolName');
+    }
+  }
+  header.writeln('// __hb_*');
+  {
+    RegExp exp = RegExp(r'\s_(_hb_([a-zA-Z0-9_]*))', multiLine: true);
+    Iterable<RegExpMatch> matches = exp.allMatches(contents);
+    for (final m in matches) {
+      var symbolName = m[1];
+      if (symbolName == null ||
+          skip.contains(symbolName) ||
+          uniqueNames.contains(symbolName)) {
+        continue;
+      }
+      uniqueNames.add(symbolName);
+      header.writeln('#define $symbolName rive_$symbolName');
+    }
+  }
+  for (final symbolName in extras) {
     header.writeln('#define $symbolName rive_$symbolName');
   }
   File('../rive_harfbuzz_renames.h').writeAsStringSync(header.toString());
diff --git a/dependencies/premake5_harfbuzz.lua b/dependencies/premake5_harfbuzz.lua
index ed5cc1d..de31b78 100644
--- a/dependencies/premake5_harfbuzz.lua
+++ b/dependencies/premake5_harfbuzz.lua
@@ -1,6 +1,6 @@
 require('setup_compiler')
 local dependency = require('dependency')
-harfbuzz = dependency.github('harfbuzz/harfbuzz', '6.0.0')
+harfbuzz = dependency.github('rive-app/harfbuzz', 'rive_8.3.0')
 
 workspace('rive')
 configurations({ 'debug', 'release' })
@@ -218,11 +218,14 @@
         harfbuzz .. '/src/hb-vector.hh',
         harfbuzz .. '/src/hb.hh',
         harfbuzz .. '/src/graph/gsubgpos-context.cc',
+        harfbuzz .. '/src/hb-paint.cc',
+        harfbuzz .. '/src/hb-paint-extents.cc',
+        harfbuzz .. '/src/hb-outline.cc',
     })
 
     warnings('Off')
 
-    defines({ 'HAVE_OT', 'HB_NO_FALLBACK_SHAPE', 'HB_NO_WIN1256' })
+    defines({ 'HAVE_OT', 'HB_NO_FALLBACK_SHAPE', 'HB_NO_WIN1256', 'HB_NO_EXTERN_HELPERS' })
 
     filter('system:emscripten')
     do
@@ -238,6 +241,12 @@
             '-Werror=vla',
         })
     end
+    filter('toolset:msc')
+    do
+        buildoptions({
+            '/bigobj',
+        })
+    end
 
     filter('configurations:debug')
     do
diff --git a/dependencies/premake5_harfbuzz_v2.lua b/dependencies/premake5_harfbuzz_v2.lua
index 678f1a2..f344958 100644
--- a/dependencies/premake5_harfbuzz_v2.lua
+++ b/dependencies/premake5_harfbuzz_v2.lua
@@ -1,7 +1,7 @@
 dofile('rive_build_config.lua')
 
 local dependency = require('dependency')
-harfbuzz = dependency.github('harfbuzz/harfbuzz', '6.0.0')
+harfbuzz = dependency.github('rive-app/harfbuzz', 'rive_8.3.0')
 
 newoption({
     trigger = 'no-harfbuzz-renames',
@@ -217,11 +217,14 @@
         harfbuzz .. '/src/hb-vector.hh',
         harfbuzz .. '/src/hb.hh',
         harfbuzz .. '/src/graph/gsubgpos-context.cc',
+        harfbuzz .. '/src/hb-paint.cc',
+        harfbuzz .. '/src/hb-paint-extents.cc',
+        harfbuzz .. '/src/hb-outline.cc',
     })
 
     warnings('Off')
 
-    defines({ 'HAVE_OT', 'HB_NO_FALLBACK_SHAPE', 'HB_NO_WIN1256' })
+    defines({ 'HAVE_OT', 'HB_NO_FALLBACK_SHAPE', 'HB_NO_WIN1256', 'HB_NO_EXTERN_HELPERS' })
 
     filter('toolset:not msc')
     do
@@ -232,6 +235,12 @@
             '-Werror=vla',
         })
     end
+    filter('toolset:msc')
+    do
+        buildoptions({
+            '/bigobj',
+        })
+    end
 
     filter('options:config=release')
     do
diff --git a/dependencies/rive_harfbuzz_renames.h b/dependencies/rive_harfbuzz_renames.h
index 8e6e77a..80b66c8 100644
--- a/dependencies/rive_harfbuzz_renames.h
+++ b/dependencies/rive_harfbuzz_renames.h
@@ -1,4 +1,435 @@
 // clang-format off
+// hb_*
+#define hb_vector_t rive_hb_vector_t
+#define hb_hashmap_t rive_hb_hashmap_t
+#define hb_serialize_context_t rive_hb_serialize_context_t
+#define hb_array_t rive_hb_array_t
+#define hb_array rive_hb_array
+#define hb_barrier rive_hb_barrier
+#define hb_identity rive_hb_identity
+#define hb_ridentity rive_hb_ridentity
+#define hb_bit_storage rive_hb_bit_storage
+#define hb_object_fini rive_hb_object_fini
+#define hb_object_init rive_hb_object_init
+#define hb_unsigned_mul_overflows rive_hb_unsigned_mul_overflows
+#define hb_user_data_array_t rive_hb_user_data_array_t
+#define hb_get rive_hb_get
+#define hb_has rive_hb_has
+#define hb_map rive_hb_map
+#define hb_max rive_hb_max
+#define hb_hash rive_hb_hash
+#define hb_iter rive_hb_iter
+#define hb_swap rive_hb_swap
+#define hb_deref rive_hb_deref
+#define hb_concat rive_hb_concat
+#define hb_filter rive_hb_filter
+#define hb_invoke rive_hb_invoke
+#define hb_memset rive_hb_memset
+#define hb_mutex_t rive_hb_mutex_t
+#define hb_priority rive_hb_priority
+#define hb_map_iter_t rive_hb_map_iter_t
+#define hb_atomic_int_t rive_hb_atomic_int_t
+#define hb_atomic_ptr_t rive_hb_atomic_ptr_t
+#define hb_concat_iter_t rive_hb_concat_iter_t
+#define hb_filter_iter_t rive_hb_filter_iter_t
+#define hb_lockable_set_t rive_hb_lockable_set_t
+#define hb_object_header_t rive_hb_object_header_t
+#define hb_reference_count_t rive_hb_reference_count_t
+#define hb_reference_wrapper rive_hb_reference_wrapper
+#define hb_map_iter_factory_t rive_hb_map_iter_factory_t
+#define hb_filter_iter_factory_t rive_hb_filter_iter_factory_t
+#define hb_iter_t rive_hb_iter_t
+#define hb_iter_fallback_mixin_t rive_hb_iter_fallback_mixin_t
+#define hb_match_reference rive_hb_match_reference
+#define hb_sorted_array_t rive_hb_sorted_array_t
+#define hb_sorted_array rive_hb_sorted_array
+#define hb_aat_layout_track rive_hb_aat_layout_track
+#define hb_font_t rive_hb_font_t
+#define hb_buffer_t rive_hb_buffer_t
+#define hb_aat_layout_position rive_hb_aat_layout_position
+#define hb_aat_layout_substitute rive_hb_aat_layout_substitute
+#define hb_feature_t rive_hb_feature_t
+#define hb_aat_layout_compile_map rive_hb_aat_layout_compile_map
+#define hb_aat_map_t rive_hb_aat_map_t
+#define hb_aat_layout_find_feature_mapping rive_hb_aat_layout_find_feature_mapping
+#define hb_aat_layout_remove_deleted_glyphs rive_hb_aat_layout_remove_deleted_glyphs
+#define hb_aat_layout_zero_width_deleted_glyphs rive_hb_aat_layout_zero_width_deleted_glyphs
+#define hb_aat_map_builder_t rive_hb_aat_map_builder_t
+#define hb_aat_feature_mapping_t rive_hb_aat_feature_mapping_t
+#define hb_bsearch_impl rive_hb_bsearch_impl
+#define hb_aat_layout_feature_type_t rive_hb_aat_layout_feature_type_t
+#define hb_glyph_info_t rive_hb_glyph_info_t
+#define hb_set_digest_combiner_t rive_hb_set_digest_combiner_t
+#define hb_set_digest_bits_pattern_t rive_hb_set_digest_bits_pattern_t
+#define hb_aat_layout_feature_selector_info_t rive_hb_aat_layout_feature_selector_info_t
+#define hb_min rive_hb_min
+#define hb_none rive_hb_none
+#define hb_sink rive_hb_sink
+#define hb_clamp rive_hb_clamp
+#define hb_match rive_hb_match
+#define hb_memcpy rive_hb_memcpy
+#define hb_cache_t rive_hb_cache_t
+#define hb_blob_ptr_t rive_hb_blob_ptr_t
+#define hb_no_trace_t rive_hb_no_trace_t
+#define hb_lazy_loader_t rive_hb_lazy_loader_t
+#define hb_face_lazy_loader_t rive_hb_face_lazy_loader_t
+#define hb_face_t rive_hb_face_t
+#define hb_table_lazy_loader_t rive_hb_table_lazy_loader_t
+#define hb_blob_t rive_hb_blob_t
+#define hb_nonnull_ptr_t rive_hb_nonnull_ptr_t
+#define hb_atomic_short_t rive_hb_atomic_short_t
+#define hb_segment_properties_t rive_hb_segment_properties_t
+#define hb_dispatch_context_t rive_hb_dispatch_context_t
+#define hb_sanitize_context_t rive_hb_sanitize_context_t
+#define hb_sanitize_with_object_t rive_hb_sanitize_with_object_t
+#define hb_direction_t rive_hb_direction_t
+#define hb_sink_t rive_hb_sink_t
+#define hb_data_wrapper_t rive_hb_data_wrapper_t
+#define hb_not_found_t rive_hb_not_found_t
+#define hb_glyph_position_t rive_hb_glyph_position_t
+#define hb_buffer_flags_t rive_hb_buffer_flags_t
+#define hb_buffer_scratch_flags_t rive_hb_buffer_scratch_flags_t
+#define hb_glyph_flags_t rive_hb_glyph_flags_t
+#define hb_unicode_props_flags_t rive_hb_unicode_props_flags_t
+#define hb_equal rive_hb_equal
+#define hb_qsort rive_hb_qsort
+#define hb_object_trace rive_hb_object_trace
+#define hb_object_create rive_hb_object_create
+#define hb_object_destroy rive_hb_object_destroy
+#define hb_object_is_valid rive_hb_object_is_valid
+#define hb_object_reference rive_hb_object_reference
+#define hb_object_is_immutable rive_hb_object_is_immutable
+#define hb_object_get_user_data rive_hb_object_get_user_data
+#define hb_user_data_key_t rive_hb_user_data_key_t
+#define hb_object_set_user_data rive_hb_object_set_user_data
+#define hb_object_make_immutable rive_hb_object_make_immutable
+#define hb_parse_int rive_hb_parse_int
+#define hb_parse_uint rive_hb_parse_uint
+#define hb_buffer_serialize_format_t rive_hb_buffer_serialize_format_t
+#define hb_buffer_serialize_flags_t rive_hb_buffer_serialize_flags_t
+#define hb_in_range rive_hb_in_range
+#define hb_stable_sort rive_hb_stable_sort
+#define hb_buffer_add_utf rive_hb_buffer_add_utf
+#define hb_latin1_t rive_hb_latin1_t
+#define hb_utf16_xe_t rive_hb_utf16_xe_t
+#define hb_utf32_xe_t rive_hb_utf32_xe_t
+#define hb_utf8_t rive_hb_utf8_t
+#define hb_unicode_funcs_t rive_hb_unicode_funcs_t
+#define hb_buffer_diff_flags_t rive_hb_buffer_diff_flags_t
+#define hb_parse_double rive_hb_parse_double
+#define hb_variation_t rive_hb_variation_t
+#define hb_language_item_t rive_hb_language_item_t
+#define hb_language_impl_t rive_hb_language_impl_t
+#define hb_language_get_default rive_hb_language_get_default
+#define hb_draw_funcs_t rive_hb_draw_funcs_t
+#define hb_draw_line_to_nil rive_hb_draw_line_to_nil
+#define hb_draw_state_t rive_hb_draw_state_t
+#define hb_draw_move_to_nil rive_hb_draw_move_to_nil
+#define hb_draw_cubic_to_nil rive_hb_draw_cubic_to_nil
+#define hb_draw_close_path_nil rive_hb_draw_close_path_nil
+#define hb_draw_quadratic_to_nil rive_hb_draw_quadratic_to_nil
+#define hb_fill rive_hb_fill
+#define hb_bsearch rive_hb_bsearch
+#define hb_bit_set_t rive_hb_bit_set_t
+#define hb_bit_page_t rive_hb_bit_page_t
+#define hb_ot_face_t rive_hb_ot_face_t
+#define hb_sparseset_t rive_hb_sparseset_t
+#define hb_shaper_lazy_loader_t rive_hb_shaper_lazy_loader_t
+#define hb_ot_face_data_t rive_hb_ot_face_data_t
+#define hb_vector_size_t rive_hb_vector_size_t
+#define hb_bit_set_invertible_t rive_hb_bit_set_invertible_t
+#define hb_shaper_object_dataset_t rive_hb_shaper_object_dataset_t
+#define hb_set_t rive_hb_set_t
+#define hb_map_t rive_hb_map_t
+#define hb_font_funcs_t rive_hb_font_funcs_t
+#define hb_trampoline_t rive_hb_trampoline_t
+#define hb_codepoint_parse rive_hb_codepoint_parse
+#define hb_font_draw_glyph_nil rive_hb_font_draw_glyph_nil
+#define hb_draw_line_to_default rive_hb_draw_line_to_default
+#define hb_draw_move_to_default rive_hb_draw_move_to_default
+#define hb_font_paint_glyph_nil rive_hb_font_paint_glyph_nil
+#define hb_paint_funcs_t rive_hb_paint_funcs_t
+#define hb_draw_cubic_to_default rive_hb_draw_cubic_to_default
+#define hb_draw_close_path_default rive_hb_draw_close_path_default
+#define hb_font_draw_glyph_default rive_hb_font_draw_glyph_default
+#define hb_font_get_glyph_name_nil rive_hb_font_get_glyph_name_nil
+#define hb_font_paint_glyph_default rive_hb_font_paint_glyph_default
+#define hb_draw_quadratic_to_default rive_hb_draw_quadratic_to_default
+#define hb_font_get_glyph_extents_nil rive_hb_font_get_glyph_extents_nil
+#define hb_glyph_extents_t rive_hb_glyph_extents_t
+#define hb_font_get_nominal_glyph_nil rive_hb_font_get_nominal_glyph_nil
+#define hb_font_get_font_h_extents_nil rive_hb_font_get_font_h_extents_nil
+#define hb_font_extents_t rive_hb_font_extents_t
+#define hb_font_get_font_v_extents_nil rive_hb_font_get_font_v_extents_nil
+#define hb_font_get_glyph_h_origin_nil rive_hb_font_get_glyph_h_origin_nil
+#define hb_font_get_glyph_name_default rive_hb_font_get_glyph_name_default
+#define hb_font_get_glyph_v_origin_nil rive_hb_font_get_glyph_v_origin_nil
+#define hb_font_get_glyph_from_name_nil rive_hb_font_get_glyph_from_name_nil
+#define hb_font_get_glyph_h_advance_nil rive_hb_font_get_glyph_h_advance_nil
+#define hb_font_get_glyph_h_kerning_nil rive_hb_font_get_glyph_h_kerning_nil
+#define hb_font_get_glyph_v_advance_nil rive_hb_font_get_glyph_v_advance_nil
+#define hb_font_get_glyph_v_kerning_nil rive_hb_font_get_glyph_v_kerning_nil
+#define hb_font_get_variation_glyph_nil rive_hb_font_get_variation_glyph_nil
+#define hb_font_get_glyph_extents_default rive_hb_font_get_glyph_extents_default
+#define hb_font_get_nominal_glyph_default rive_hb_font_get_nominal_glyph_default
+#define hb_font_get_font_h_extents_default rive_hb_font_get_font_h_extents_default
+#define hb_font_get_font_v_extents_default rive_hb_font_get_font_v_extents_default
+#define hb_font_get_glyph_h_origin_default rive_hb_font_get_glyph_h_origin_default
+#define hb_font_get_glyph_v_origin_default rive_hb_font_get_glyph_v_origin_default
+#define hb_font_get_nominal_glyphs_default rive_hb_font_get_nominal_glyphs_default
+#define hb_font_get_glyph_contour_point_nil rive_hb_font_get_glyph_contour_point_nil
+#define hb_font_get_glyph_from_name_default rive_hb_font_get_glyph_from_name_default
+#define hb_font_get_glyph_h_advance_default rive_hb_font_get_glyph_h_advance_default
+#define hb_font_get_glyph_h_kerning_default rive_hb_font_get_glyph_h_kerning_default
+#define hb_font_get_glyph_v_advance_default rive_hb_font_get_glyph_v_advance_default
+#define hb_font_get_glyph_v_kerning_default rive_hb_font_get_glyph_v_kerning_default
+#define hb_font_get_variation_glyph_default rive_hb_font_get_variation_glyph_default
+#define hb_font_get_glyph_h_advances_default rive_hb_font_get_glyph_h_advances_default
+#define hb_font_get_glyph_v_advances_default rive_hb_font_get_glyph_v_advances_default
+#define hb_font_get_nominal_glyph_trampoline rive_hb_font_get_nominal_glyph_trampoline
+#define hb_font_get_variation_glyph_trampoline rive_hb_font_get_variation_glyph_trampoline
+#define hb_font_get_glyph_contour_point_default rive_hb_font_get_glyph_contour_point_default
+#define hb_ot_font_data_t rive_hb_ot_font_data_t
+#define hb_copy rive_hb_copy
+#define hb_reduce rive_hb_reduce
+#define hb_reduce_t rive_hb_reduce_t
+#define hb_pair_t rive_hb_pair_t
+#define hb_draw_session_t rive_hb_draw_session_t
+#define hb_ot_color_layer_t rive_hb_ot_color_layer_t
+#define hb_paint_extents_get_funcs rive_hb_paint_extents_get_funcs
+#define hb_ot_metrics_tag_t rive_hb_ot_metrics_tag_t
+#define hb_outline_recording_pen_get_funcs rive_hb_outline_recording_pen_get_funcs
+#define hb_ot_draw_glyph rive_hb_ot_draw_glyph
+#define hb_ot_paint_glyph rive_hb_ot_paint_glyph
+#define hb_ot_get_glyph_name rive_hb_ot_get_glyph_name
+#define hb_ot_get_glyph_extents rive_hb_ot_get_glyph_extents
+#define hb_ot_get_nominal_glyph rive_hb_ot_get_nominal_glyph
+#define hb_ot_get_font_h_extents rive_hb_ot_get_font_h_extents
+#define hb_ot_get_font_v_extents rive_hb_ot_get_font_v_extents
+#define hb_ot_get_glyph_v_origin rive_hb_ot_get_glyph_v_origin
+#define hb_ot_get_nominal_glyphs rive_hb_ot_get_nominal_glyphs
+#define hb_ot_get_glyph_from_name rive_hb_ot_get_glyph_from_name
+#define hb_ot_get_variation_glyph rive_hb_ot_get_variation_glyph
+#define hb_ot_get_glyph_h_advances rive_hb_ot_get_glyph_h_advances
+#define hb_ot_get_glyph_v_advances rive_hb_ot_get_glyph_v_advances
+#define hb_ot_font_cmap_cache_user_data_key rive_hb_ot_font_cmap_cache_user_data_key
+#define hb_bounds_t rive_hb_bounds_t
+#define hb_transform_t rive_hb_transform_t
+#define hb_memcmp rive_hb_memcmp
+#define hb_extents_t rive_hb_extents_t
+#define hb_outline_t rive_hb_outline_t
+#define hb_empty_t rive_hb_empty_t
+#define hb_ot_font_funcs_lazy_loader_t rive_hb_ot_font_funcs_lazy_loader_t
+#define hb_color_line_t rive_hb_color_line_t
+#define hb_paint_composite_mode_t rive_hb_paint_composite_mode_t
+#define hb_paint_extents_context_t rive_hb_paint_extents_context_t
+#define hb_font_funcs_lazy_loader_t rive_hb_font_funcs_lazy_loader_t
+#define hb_color_stop_t rive_hb_color_stop_t
+#define hb_partial rive_hb_partial
+#define hb_ot_layout_kern rive_hb_ot_layout_kern
+#define hb_ot_layout_has_kerning rive_hb_ot_layout_has_kerning
+#define hb_ot_layout_position_start rive_hb_ot_layout_position_start
+#define hb_ot_layout_substitute_start rive_hb_ot_layout_substitute_start
+#define hb_ot_layout_has_cross_kerning rive_hb_ot_layout_has_cross_kerning
+#define hb_ot_layout_substitute_lookup rive_hb_ot_layout_substitute_lookup
+#define hb_ot_layout_table_find_feature rive_hb_ot_layout_table_find_feature
+#define hb_ot_layout_has_machine_kerning rive_hb_ot_layout_has_machine_kerning
+#define hb_ot_layout_position_finish_offsets rive_hb_ot_layout_position_finish_offsets
+#define hb_ot_layout_position_finish_advances rive_hb_ot_layout_position_finish_advances
+#define hb_popcount rive_hb_popcount
+#define hb_enumerate rive_hb_enumerate
+#define hb_bitwise_gt rive_hb_bitwise_gt
+#define hb_bitwise_lt rive_hb_bitwise_lt
+#define hb_bitwise_or rive_hb_bitwise_or
+#define hb_bitwise_and rive_hb_bitwise_and
+#define hb_bitwise_neg rive_hb_bitwise_neg
+#define hb_unicode_general_category_t rive_hb_unicode_general_category_t
+#define hb_add rive_hb_add
+#define hb_all rive_hb_all
+#define hb_any rive_hb_any
+#define hb_ctz rive_hb_ctz
+#define hb_zip rive_hb_zip
+#define hb_iota rive_hb_iota
+#define hb_apply rive_hb_apply
+#define hb_first rive_hb_first
+#define hb_range rive_hb_range
+#define hb_second rive_hb_second
+#define hb_apply_t rive_hb_apply_t
+#define hb_partial_t rive_hb_partial_t
+#define hb_range_iter_t rive_hb_range_iter_t
+#define hb_zip_iter_t rive_hb_zip_iter_t
+#define hb_iota_iter_t rive_hb_iota_iter_t
+#define hb_collect_features_context_t rive_hb_collect_features_context_t
+#define hb_position_single_dispatch_t rive_hb_position_single_dispatch_t
+#define hb_get_glyph_alternates_dispatch_t rive_hb_get_glyph_alternates_dispatch_t
+#define hb_ot_map_t rive_hb_ot_map_t
+#define hb_ot_shape_plan_t rive_hb_ot_shape_plan_t
+#define hb_ot_map_builder_t rive_hb_ot_map_builder_t
+#define hb_ot_map_feature_flags_t rive_hb_ot_map_feature_flags_t
+#define hb_ot_shape_plan_key_t rive_hb_ot_shape_plan_key_t
+#define hb_ot_math_glyph_part_t rive_hb_ot_math_glyph_part_t
+#define hb_ot_math_glyph_variant_t rive_hb_ot_math_glyph_variant_t
+#define hb_ot_math_kern_t rive_hb_ot_math_kern_t
+#define hb_ot_math_kern_entry_t rive_hb_ot_math_kern_entry_t
+#define hb_ot_meta_tag_t rive_hb_ot_meta_tag_t
+#define hb_ot_name_entry_t rive_hb_ot_name_entry_t
+#define hb_ot_name_get_utf rive_hb_ot_name_get_utf
+#define hb_ascii_t rive_hb_ascii_t
+#define hb_ot_shape_fallback_kern_driver_t rive_hb_ot_shape_fallback_kern_driver_t
+#define hb_in_ranges rive_hb_in_ranges
+#define hb_ot_position rive_hb_ot_position
+#define hb_form_clusters rive_hb_form_clusters
+#define hb_vert_char_for rive_hb_vert_char_for
+#define hb_ot_rotate_chars rive_hb_ot_rotate_chars
+#define hb_propagate_flags rive_hb_propagate_flags
+#define hb_ot_position_plan rive_hb_ot_position_plan
+#define hb_ot_shape_internal rive_hb_ot_shape_internal
+#define hb_ot_substitute_pre rive_hb_ot_substitute_pre
+#define hb_set_unicode_props rive_hb_set_unicode_props
+#define hb_ot_map_glyphs_fast rive_hb_ot_map_glyphs_fast
+#define hb_ot_substitute_plan rive_hb_ot_substitute_plan
+#define hb_ot_substitute_post rive_hb_ot_substitute_post
+#define hb_ot_position_default rive_hb_ot_position_default
+#define hb_insert_dotted_circle rive_hb_insert_dotted_circle
+#define hb_ot_shape_setup_masks rive_hb_ot_shape_setup_masks
+#define hb_ot_shaper_categorize rive_hb_ot_shaper_categorize
+#define hb_ot_substitute_default rive_hb_ot_substitute_default
+#define hb_ensure_native_direction rive_hb_ensure_native_direction
+#define hb_synthesize_glyph_classes rive_hb_synthesize_glyph_classes
+#define hb_ot_shape_collect_features rive_hb_ot_shape_collect_features
+#define hb_ot_shape_initialize_masks rive_hb_ot_shape_initialize_masks
+#define hb_ot_hide_default_ignorables rive_hb_ot_hide_default_ignorables
+#define hb_ot_shape_setup_masks_fraction rive_hb_ot_shape_setup_masks_fraction
+#define hb_ot_zero_width_default_ignorables rive_hb_ot_zero_width_default_ignorables
+#define hb_shape_plan_key_t rive_hb_shape_plan_key_t
+#define hb_ot_shape_planner_t rive_hb_ot_shape_planner_t
+#define hb_script_t rive_hb_script_t
+#define hb_map_retains_sorting rive_hb_map_retains_sorting
+#define hb_pool_t rive_hb_pool_t
+#define hb_len rive_hb_len
+#define hb_serialize_error_t rive_hb_serialize_error_t
+#define hb_indic_get_categories rive_hb_indic_get_categories
+#define hb_syllabic_clear_var rive_hb_syllabic_clear_var
+#define hb_syllabic_insert_dotted_circles rive_hb_syllabic_insert_dotted_circles
+#define hb_options rive_hb_options
+#define hb_indic_would_substitute_feature_t rive_hb_indic_would_substitute_feature_t
+#define hb_ot_layout_glyph_props_flags_t rive_hb_ot_layout_glyph_props_flags_t
+#define hb_use_u16 rive_hb_use_u16
+#define hb_use_get_category rive_hb_use_get_category
+#define hb_use_b4 rive_hb_use_b4
+#define hb_use_u8 rive_hb_use_u8
+#define hb_ot_new_tag_to_script rive_hb_ot_new_tag_to_script
+#define hb_ot_old_tag_to_script rive_hb_ot_old_tag_to_script
+#define hb_ot_tags_from_language rive_hb_ot_tags_from_language
+#define hb_ot_new_tag_from_script rive_hb_ot_new_tag_from_script
+#define hb_ot_old_tag_from_script rive_hb_ot_old_tag_from_script
+#define hb_ot_all_tags_from_script rive_hb_ot_all_tags_from_script
+#define hb_ot_ambiguous_tag_to_language rive_hb_ot_ambiguous_tag_to_language
+#define hb_ot_tags_from_complex_language rive_hb_ot_tags_from_complex_language
+#define hb_ot_var_axis_info_t rive_hb_ot_var_axis_info_t
+#define hb_ot_var_axis_t rive_hb_ot_var_axis_t
+#define hb_outline_recording_pen_line_to rive_hb_outline_recording_pen_line_to
+#define hb_outline_recording_pen_move_to rive_hb_outline_recording_pen_move_to
+#define hb_outline_recording_pen_cubic_to rive_hb_outline_recording_pen_cubic_to
+#define hb_outline_recording_pen_close_path rive_hb_outline_recording_pen_close_path
+#define hb_outline_recording_pen_quadratic_to rive_hb_outline_recording_pen_quadratic_to
+#define hb_outline_point_t rive_hb_outline_point_t
+#define hb_outline_recording_pen_funcs_lazy_loader_t rive_hb_outline_recording_pen_funcs_lazy_loader_t
+#define hb_outline_vector_t rive_hb_outline_vector_t
+#define hb_draw_funcs_lazy_loader_t rive_hb_draw_funcs_lazy_loader_t
+#define hb_draw_extents_line_to rive_hb_draw_extents_line_to
+#define hb_draw_extents_move_to rive_hb_draw_extents_move_to
+#define hb_draw_extents_cubic_to rive_hb_draw_extents_cubic_to
+#define hb_draw_extents_get_funcs rive_hb_draw_extents_get_funcs
+#define hb_paint_extents_pop_clip rive_hb_paint_extents_pop_clip
+#define hb_paint_extents_pop_group rive_hb_paint_extents_pop_group
+#define hb_paint_extents_push_group rive_hb_paint_extents_push_group
+#define hb_draw_extents_quadratic_to rive_hb_draw_extents_quadratic_to
+#define hb_paint_extents_paint_color rive_hb_paint_extents_paint_color
+#define hb_paint_extents_paint_image rive_hb_paint_extents_paint_image
+#define hb_paint_extents_pop_transform rive_hb_paint_extents_pop_transform
+#define hb_paint_extents_push_transform rive_hb_paint_extents_push_transform
+#define hb_paint_extents_push_clip_glyph rive_hb_paint_extents_push_clip_glyph
+#define hb_paint_extents_push_clip_rectangle rive_hb_paint_extents_push_clip_rectangle
+#define hb_paint_extents_paint_sweep_gradient rive_hb_paint_extents_paint_sweep_gradient
+#define hb_paint_extents_paint_linear_gradient rive_hb_paint_extents_paint_linear_gradient
+#define hb_paint_extents_paint_radial_gradient rive_hb_paint_extents_paint_radial_gradient
+#define hb_draw_extents_funcs_lazy_loader_t rive_hb_draw_extents_funcs_lazy_loader_t
+#define hb_paint_extents_funcs_lazy_loader_t rive_hb_paint_extents_funcs_lazy_loader_t
+#define hb_paint_funcs_lazy_loader_t rive_hb_paint_funcs_lazy_loader_t
+#define hb_paint_color_nil rive_hb_paint_color_nil
+#define hb_paint_image_nil rive_hb_paint_image_nil
+#define hb_paint_pop_clip_nil rive_hb_paint_pop_clip_nil
+#define hb_paint_pop_group_nil rive_hb_paint_pop_group_nil
+#define hb_paint_push_group_nil rive_hb_paint_push_group_nil
+#define hb_paint_color_glyph_nil rive_hb_paint_color_glyph_nil
+#define hb_paint_pop_transform_nil rive_hb_paint_pop_transform_nil
+#define hb_paint_push_transform_nil rive_hb_paint_push_transform_nil
+#define hb_paint_sweep_gradient_nil rive_hb_paint_sweep_gradient_nil
+#define hb_paint_linear_gradient_nil rive_hb_paint_linear_gradient_nil
+#define hb_paint_push_clip_glyph_nil rive_hb_paint_push_clip_glyph_nil
+#define hb_paint_radial_gradient_nil rive_hb_paint_radial_gradient_nil
+#define hb_paint_push_clip_rectangle_nil rive_hb_paint_push_clip_rectangle_nil
+#define hb_paint_custom_palette_color_nil rive_hb_paint_custom_palette_color_nil
+#define hb_bitwise_xor rive_hb_bitwise_xor
+#define hb_shape_plan_t rive_hb_shape_plan_t
+#define hb_shaper_list_lazy_loader_t rive_hb_shaper_list_lazy_loader_t
+#define hb_shapers_lazy_loader_t rive_hb_shapers_lazy_loader_t
+#define hb_shaper_entry_t rive_hb_shaper_entry_t
+#define hb_ot_language_map_t rive_hb_ot_language_map_t
+#define hb_serialize_cff_fdselect rive_hb_serialize_cff_fdselect
+#define hb_plan_subset_cff_fdselect rive_hb_plan_subset_cff_fdselect
+#define hb_inc_bimap_t rive_hb_inc_bimap_t
+#define hb_subset_plan_t rive_hb_subset_plan_t
+#define hb_subset_input_t rive_hb_subset_input_t
+#define hb_subset_flags_t rive_hb_subset_flags_t
+#define hb_bool rive_hb_bool
+#define hb_pair rive_hb_pair
+#define hb_multimap_t rive_hb_multimap_t
+#define hb_subset_accelerator_t rive_hb_subset_accelerator_t
+#define hb_lock_t rive_hb_lock_t
+#define hb_repeat_iter_t rive_hb_repeat_iter_t
+#define hb_resolve_overflows rive_hb_resolve_overflows
+#define hb_resolve_graph_overflows rive_hb_resolve_graph_overflows
+#define hb_subset_context_t rive_hb_subset_context_t
+#define hb_ceil_to_4 rive_hb_ceil_to_4
+#define hb_take rive_hb_take
+#define hb_drain rive_hb_drain
+#define hb_repeat rive_hb_repeat
+#define hb_priority_queue_t rive_hb_priority_queue_t
+#define hb_ucd_script rive_hb_ucd_script
+#define hb_ucd_compose rive_hb_ucd_compose
+#define hb_ucd_decompose rive_hb_ucd_decompose
+#define hb_ucd_mirroring rive_hb_ucd_mirroring
+#define hb_ucd_combining_class rive_hb_ucd_combining_class
+#define hb_ucd_general_category rive_hb_ucd_general_category
+#define hb_ucd_unicode_funcs_lazy_loader_t rive_hb_ucd_unicode_funcs_lazy_loader_t
+#define hb_unicode_funcs_lazy_loader_t rive_hb_unicode_funcs_lazy_loader_t
+#define hb_unicode_script_nil rive_hb_unicode_script_nil
+#define hb_unicode_compose_nil rive_hb_unicode_compose_nil
+#define hb_unicode_decompose_nil rive_hb_unicode_decompose_nil
+#define hb_unicode_mirroring_nil rive_hb_unicode_mirroring_nil
+#define hb_unicode_combining_class_nil rive_hb_unicode_combining_class_nil
+#define hb_unicode_eastasian_width_nil rive_hb_unicode_eastasian_width_nil
+#define hb_unicode_general_category_nil rive_hb_unicode_general_category_nil
+#define hb_unicode_decompose_compatibility_nil rive_hb_unicode_decompose_compatibility_nil
+// _hb_*
+#define hb_compiler_memory_r_barrier rive_hb_compiler_memory_r_barrier
+#define hb_head_t rive_hb_head_t
+#define hb_roundf rive_hb_roundf
+#define hb_debug_msg rive_hb_debug_msg
+#define hb_cmp_method rive_hb_cmp_method
+#define hb_glyph_info_is_zwj rive_hb_glyph_info_is_zwj
+#define hb_glyph_info_is_zwnj rive_hb_glyph_info_is_zwnj
+#define hb_grapheme_group_func rive_hb_grapheme_group_func
+#define hb_glyph_info_substituted rive_hb_glyph_info_substituted
+#define hb_atomic_ptr_impl_cmplexch rive_hb_atomic_ptr_impl_cmplexch
+#define hb_glyph_info_get_glyph_props rive_hb_glyph_info_get_glyph_props
+#define hb_glyph_info_is_continuation rive_hb_glyph_info_is_continuation
+#define hb_glyph_info_set_glyph_props rive_hb_glyph_info_set_glyph_props
+#define hb_glyph_info_is_unicode_format rive_hb_glyph_info_is_unicode_format
+#define hb_glyph_info_get_general_category rive_hb_glyph_info_get_general_category
+#define hb_glyph_info_is_default_ignorable_and_not_hidden rive_hb_glyph_info_is_default_ignorable_and_not_hidden
 #define hb_aat_layout_feature_type_get_name_id rive_hb_aat_layout_feature_type_get_name_id
 #define hb_aat_layout_feature_type_get_selector_infos rive_hb_aat_layout_feature_type_get_selector_infos
 #define hb_aat_layout_get_feature_types rive_hb_aat_layout_get_feature_types
@@ -14,30 +445,26 @@
 #define hb_face_reference_table rive_hb_face_reference_table
 #define hb_language_from_string rive_hb_language_from_string
 #define hb_language_matches rive_hb_language_matches
-#define hb_blob_destroy rive_hb_blob_destroy
-#define hb_blob_get_data_writable rive_hb_blob_get_data_writable
-#define hb_blob_get_empty rive_hb_blob_get_empty
-#define hb_blob_make_immutable rive_hb_blob_make_immutable
-#define hb_blob_reference rive_hb_blob_reference
-#define hb_face_get_glyph_count rive_hb_face_get_glyph_count
-#define hb_face_reference_table rive_hb_face_reference_table
 #define hb_blob_copy_writable_or_fail rive_hb_blob_copy_writable_or_fail
 #define hb_blob_create rive_hb_blob_create
 #define hb_blob_create_from_file rive_hb_blob_create_from_file
 #define hb_blob_create_from_file_or_fail rive_hb_blob_create_from_file_or_fail
 #define hb_blob_create_or_fail rive_hb_blob_create_or_fail
 #define hb_blob_create_sub_blob rive_hb_blob_create_sub_blob
-#define hb_blob_destroy rive_hb_blob_destroy
 #define hb_blob_get_data rive_hb_blob_get_data
-#define hb_blob_get_data_writable rive_hb_blob_get_data_writable
-#define hb_blob_get_empty rive_hb_blob_get_empty
 #define hb_blob_get_length rive_hb_blob_get_length
 #define hb_blob_get_user_data rive_hb_blob_get_user_data
 #define hb_blob_is_immutable rive_hb_blob_is_immutable
-#define hb_blob_make_immutable rive_hb_blob_make_immutable
-#define hb_blob_reference rive_hb_blob_reference
 #define hb_blob_set_user_data rive_hb_blob_set_user_data
+#define hb_buffer_deserialize_json rive_hb_buffer_deserialize_json
 #define hb_buffer_serialize_formats rive_hb_buffer_serialize_formats
+#define hb_buffer_serialize_invalid rive_hb_buffer_serialize_invalid
+#define hb_buffer_serialize_glyphs_json rive_hb_buffer_serialize_glyphs_json
+#define hb_buffer_serialize_glyphs_text rive_hb_buffer_serialize_glyphs_text
+#define hb_buffer_serialize_unicode_json rive_hb_buffer_serialize_unicode_json
+#define hb_buffer_serialize_unicode_text rive_hb_buffer_serialize_unicode_text
+#define hb_buffer_deserialize_text_glyphs rive_hb_buffer_deserialize_text_glyphs
+#define hb_buffer_deserialize_text_unicode rive_hb_buffer_deserialize_text_unicode
 #define hb_buffer_deserialize_glyphs rive_hb_buffer_deserialize_glyphs
 #define hb_buffer_deserialize_unicode rive_hb_buffer_deserialize_unicode
 #define hb_buffer_get_glyph_infos rive_hb_buffer_get_glyph_infos
@@ -61,10 +488,8 @@
 #define hb_buffer_diff rive_hb_buffer_diff
 #define hb_buffer_get_direction rive_hb_buffer_get_direction
 #define hb_buffer_get_flags rive_hb_buffer_get_flags
-#define hb_buffer_get_glyph_infos rive_hb_buffer_get_glyph_infos
 #define hb_buffer_get_segment_properties rive_hb_buffer_get_segment_properties
 #define hb_buffer_reverse rive_hb_buffer_reverse
-#define hb_buffer_serialize_unicode rive_hb_buffer_serialize_unicode
 #define hb_buffer_set_flags rive_hb_buffer_set_flags
 #define hb_buffer_set_length rive_hb_buffer_set_length
 #define hb_buffer_set_segment_properties rive_hb_buffer_set_segment_properties
@@ -76,26 +501,16 @@
 #define hb_buffer_add_utf32 rive_hb_buffer_add_utf32
 #define hb_buffer_add_utf8 rive_hb_buffer_add_utf8
 #define hb_buffer_allocation_successful rive_hb_buffer_allocation_successful
-#define hb_buffer_append rive_hb_buffer_append
-#define hb_buffer_clear_contents rive_hb_buffer_clear_contents
 #define hb_buffer_create rive_hb_buffer_create
-#define hb_buffer_create_similar rive_hb_buffer_create_similar
-#define hb_buffer_destroy rive_hb_buffer_destroy
-#define hb_buffer_diff rive_hb_buffer_diff
 #define hb_buffer_get_cluster_level rive_hb_buffer_get_cluster_level
 #define hb_buffer_get_content_type rive_hb_buffer_get_content_type
-#define hb_buffer_get_direction rive_hb_buffer_get_direction
 #define hb_buffer_get_empty rive_hb_buffer_get_empty
-#define hb_buffer_get_flags rive_hb_buffer_get_flags
-#define hb_buffer_get_glyph_infos rive_hb_buffer_get_glyph_infos
-#define hb_buffer_get_glyph_positions rive_hb_buffer_get_glyph_positions
 #define hb_buffer_get_invisible_glyph rive_hb_buffer_get_invisible_glyph
 #define hb_buffer_get_language rive_hb_buffer_get_language
 #define hb_buffer_get_length rive_hb_buffer_get_length
 #define hb_buffer_get_not_found_glyph rive_hb_buffer_get_not_found_glyph
 #define hb_buffer_get_replacement_codepoint rive_hb_buffer_get_replacement_codepoint
 #define hb_buffer_get_script rive_hb_buffer_get_script
-#define hb_buffer_get_segment_properties rive_hb_buffer_get_segment_properties
 #define hb_buffer_get_unicode_funcs rive_hb_buffer_get_unicode_funcs
 #define hb_buffer_get_user_data rive_hb_buffer_get_user_data
 #define hb_buffer_guess_segment_properties rive_hb_buffer_guess_segment_properties
@@ -104,24 +519,18 @@
 #define hb_buffer_pre_allocate rive_hb_buffer_pre_allocate
 #define hb_buffer_reference rive_hb_buffer_reference
 #define hb_buffer_reset rive_hb_buffer_reset
-#define hb_buffer_reverse rive_hb_buffer_reverse
 #define hb_buffer_reverse_clusters rive_hb_buffer_reverse_clusters
 #define hb_buffer_reverse_range rive_hb_buffer_reverse_range
 #define hb_buffer_set_cluster_level rive_hb_buffer_set_cluster_level
-#define hb_buffer_set_content_type rive_hb_buffer_set_content_type
 #define hb_buffer_set_direction rive_hb_buffer_set_direction
-#define hb_buffer_set_flags rive_hb_buffer_set_flags
 #define hb_buffer_set_invisible_glyph rive_hb_buffer_set_invisible_glyph
 #define hb_buffer_set_language rive_hb_buffer_set_language
-#define hb_buffer_set_length rive_hb_buffer_set_length
 #define hb_buffer_set_message_func rive_hb_buffer_set_message_func
 #define hb_buffer_set_not_found_glyph rive_hb_buffer_set_not_found_glyph
 #define hb_buffer_set_replacement_codepoint rive_hb_buffer_set_replacement_codepoint
 #define hb_buffer_set_script rive_hb_buffer_set_script
-#define hb_buffer_set_segment_properties rive_hb_buffer_set_segment_properties
 #define hb_buffer_set_unicode_funcs rive_hb_buffer_set_unicode_funcs
 #define hb_buffer_set_user_data rive_hb_buffer_set_user_data
-#define hb_language_get_default rive_hb_language_get_default
 #define hb_script_get_horizontal_direction rive_hb_script_get_horizontal_direction
 #define hb_segment_properties_equal rive_hb_segment_properties_equal
 #define hb_segment_properties_hash rive_hb_segment_properties_hash
@@ -129,29 +538,29 @@
 #define hb_unicode_funcs_destroy rive_hb_unicode_funcs_destroy
 #define hb_unicode_funcs_get_default rive_hb_unicode_funcs_get_default
 #define hb_unicode_funcs_reference rive_hb_unicode_funcs_reference
+#define hb_options_init rive_hb_options_init
 #define hb_direction_from_string rive_hb_direction_from_string
 #define hb_direction_to_string rive_hb_direction_to_string
 #define hb_feature_from_string rive_hb_feature_from_string
 #define hb_feature_to_string rive_hb_feature_to_string
-#define hb_language_from_string rive_hb_language_from_string
-#define hb_language_get_default rive_hb_language_get_default
-#define hb_language_matches rive_hb_language_matches
 #define hb_language_to_string rive_hb_language_to_string
 #define hb_script_from_iso15924_tag rive_hb_script_from_iso15924_tag
 #define hb_script_from_string rive_hb_script_from_string
-#define hb_script_get_horizontal_direction rive_hb_script_get_horizontal_direction
 #define hb_script_to_iso15924_tag rive_hb_script_to_iso15924_tag
-#define hb_tag_from_string rive_hb_tag_from_string
 #define hb_tag_to_string rive_hb_tag_to_string
 #define hb_variation_from_string rive_hb_variation_from_string
 #define hb_variation_to_string rive_hb_variation_to_string
 #define hb_version rive_hb_version
 #define hb_version_atleast rive_hb_version_atleast
 #define hb_version_string rive_hb_version_string
+#define hb_draw_funcs_set_middle rive_hb_draw_funcs_set_middle
+#define hb_draw_funcs_set_preamble rive_hb_draw_funcs_set_preamble
 #define hb_draw_close_path rive_hb_draw_close_path
 #define hb_draw_cubic_to rive_hb_draw_cubic_to
 #define hb_draw_funcs_create rive_hb_draw_funcs_create
 #define hb_draw_funcs_destroy rive_hb_draw_funcs_destroy
+#define hb_draw_funcs_get_empty rive_hb_draw_funcs_get_empty
+#define hb_draw_funcs_get_user_data rive_hb_draw_funcs_get_user_data
 #define hb_draw_funcs_is_immutable rive_hb_draw_funcs_is_immutable
 #define hb_draw_funcs_make_immutable rive_hb_draw_funcs_make_immutable
 #define hb_draw_funcs_reference rive_hb_draw_funcs_reference
@@ -160,22 +569,20 @@
 #define hb_draw_funcs_set_line_to_func rive_hb_draw_funcs_set_line_to_func
 #define hb_draw_funcs_set_move_to_func rive_hb_draw_funcs_set_move_to_func
 #define hb_draw_funcs_set_quadratic_to_func rive_hb_draw_funcs_set_quadratic_to_func
+#define hb_draw_funcs_set_user_data rive_hb_draw_funcs_set_user_data
 #define hb_draw_line_to rive_hb_draw_line_to
 #define hb_draw_move_to rive_hb_draw_move_to
 #define hb_draw_quadratic_to rive_hb_draw_quadratic_to
+#define hb_arabic_b2 rive_hb_arabic_b2
+#define hb_arabic_b4 rive_hb_arabic_b4
 #define hb_arabic_u8 rive_hb_arabic_u8
 #define hb_arabic_u16 rive_hb_arabic_u16
-#define hb_blob_create rive_hb_blob_create
-#define hb_blob_create_sub_blob rive_hb_blob_create_sub_blob
-#define hb_blob_destroy rive_hb_blob_destroy
-#define hb_blob_get_data_writable rive_hb_blob_get_data_writable
-#define hb_blob_get_empty rive_hb_blob_get_empty
-#define hb_blob_get_length rive_hb_blob_get_length
-#define hb_blob_make_immutable rive_hb_blob_make_immutable
-#define hb_blob_reference rive_hb_blob_reference
-#define hb_face_builder_add_table rive_hb_face_builder_add_table
-#define hb_face_builder_create rive_hb_face_builder_create
-#define hb_face_builder_sort_tables rive_hb_face_builder_sort_tables
+#define hb_arabic_pua_simp_map rive_hb_arabic_pua_simp_map
+#define hb_arabic_pua_trad_map rive_hb_arabic_pua_trad_map
+#define hb_face_for_data_closure_create rive_hb_face_for_data_closure_create
+#define hb_face_for_data_closure_destroy rive_hb_face_for_data_closure_destroy
+#define hb_face_for_data_reference_table rive_hb_face_for_data_reference_table
+#define hb_face_collect_nominal_glyph_mapping rive_hb_face_collect_nominal_glyph_mapping
 #define hb_face_collect_unicodes rive_hb_face_collect_unicodes
 #define hb_face_collect_variation_selectors rive_hb_face_collect_variation_selectors
 #define hb_face_collect_variation_unicodes rive_hb_face_collect_variation_unicodes
@@ -184,7 +591,6 @@
 #define hb_face_create_for_tables rive_hb_face_create_for_tables
 #define hb_face_destroy rive_hb_face_destroy
 #define hb_face_get_empty rive_hb_face_get_empty
-#define hb_face_get_glyph_count rive_hb_face_get_glyph_count
 #define hb_face_get_index rive_hb_face_get_index
 #define hb_face_get_table_tags rive_hb_face_get_table_tags
 #define hb_face_get_upem rive_hb_face_get_upem
@@ -193,30 +599,22 @@
 #define hb_face_make_immutable rive_hb_face_make_immutable
 #define hb_face_reference rive_hb_face_reference
 #define hb_face_reference_blob rive_hb_face_reference_blob
-#define hb_face_reference_table rive_hb_face_reference_table
 #define hb_face_set_glyph_count rive_hb_face_set_glyph_count
 #define hb_face_set_index rive_hb_face_set_index
 #define hb_face_set_upem rive_hb_face_set_upem
 #define hb_face_set_user_data rive_hb_face_set_user_data
 #define hb_shape_plan_destroy rive_hb_shape_plan_destroy
+#define hb_font_create rive_hb_font_create
 #define hb_draw_funcs_default rive_hb_draw_funcs_default
 #define hb_font_funcs_default rive_hb_font_funcs_default
-#define hb_blob_destroy rive_hb_blob_destroy
-#define hb_blob_get_data_writable rive_hb_blob_get_data_writable
-#define hb_blob_get_empty rive_hb_blob_get_empty
-#define hb_blob_make_immutable rive_hb_blob_make_immutable
-#define hb_blob_reference rive_hb_blob_reference
-#define hb_face_destroy rive_hb_face_destroy
-#define hb_face_get_empty rive_hb_face_get_empty
-#define hb_face_get_glyph_count rive_hb_face_get_glyph_count
-#define hb_face_make_immutable rive_hb_face_make_immutable
-#define hb_face_reference rive_hb_face_reference
-#define hb_face_reference_table rive_hb_face_reference_table
+#define hb_font_adopt_var_coords rive_hb_font_adopt_var_coords
+#define hb_font_funcs_set_middle rive_hb_font_funcs_set_middle
+#define hb_font_funcs_set_preamble rive_hb_font_funcs_set_preamble
 #define hb_font_add_glyph_origin_for_direction rive_hb_font_add_glyph_origin_for_direction
 #define hb_font_changed rive_hb_font_changed
-#define hb_font_create rive_hb_font_create
 #define hb_font_create_sub_font rive_hb_font_create_sub_font
 #define hb_font_destroy rive_hb_font_destroy
+#define hb_font_draw_glyph rive_hb_font_draw_glyph
 #define hb_font_funcs_create rive_hb_font_funcs_create
 #define hb_font_funcs_destroy rive_hb_font_funcs_destroy
 #define hb_font_funcs_get_empty rive_hb_font_funcs_get_empty
@@ -224,6 +622,7 @@
 #define hb_font_funcs_is_immutable rive_hb_font_funcs_is_immutable
 #define hb_font_funcs_make_immutable rive_hb_font_funcs_make_immutable
 #define hb_font_funcs_reference rive_hb_font_funcs_reference
+#define hb_font_funcs_set_draw_glyph_func rive_hb_font_funcs_set_draw_glyph_func
 #define hb_font_funcs_set_font_h_extents_func rive_hb_font_funcs_set_font_h_extents_func
 #define hb_font_funcs_set_font_v_extents_func rive_hb_font_funcs_set_font_v_extents_func
 #define hb_font_funcs_set_glyph_contour_point_func rive_hb_font_funcs_set_glyph_contour_point_func
@@ -242,9 +641,9 @@
 #define hb_font_funcs_set_glyph_v_origin_func rive_hb_font_funcs_set_glyph_v_origin_func
 #define hb_font_funcs_set_nominal_glyph_func rive_hb_font_funcs_set_nominal_glyph_func
 #define hb_font_funcs_set_nominal_glyphs_func rive_hb_font_funcs_set_nominal_glyphs_func
+#define hb_font_funcs_set_paint_glyph_func rive_hb_font_funcs_set_paint_glyph_func
 #define hb_font_funcs_set_user_data rive_hb_font_funcs_set_user_data
 #define hb_font_funcs_set_variation_glyph_func rive_hb_font_funcs_set_variation_glyph_func
-#define hb_font_get_empty rive_hb_font_get_empty
 #define hb_font_get_extents_for_direction rive_hb_font_get_extents_for_direction
 #define hb_font_get_face rive_hb_font_get_face
 #define hb_font_get_glyph rive_hb_font_get_glyph
@@ -252,7 +651,6 @@
 #define hb_font_get_glyph_advances_for_direction rive_hb_font_get_glyph_advances_for_direction
 #define hb_font_get_glyph_contour_point rive_hb_font_get_glyph_contour_point
 #define hb_font_get_glyph_contour_point_for_origin rive_hb_font_get_glyph_contour_point_for_origin
-#define hb_font_get_glyph_extents rive_hb_font_get_glyph_extents
 #define hb_font_get_glyph_extents_for_origin rive_hb_font_get_glyph_extents_for_origin
 #define hb_font_get_glyph_from_name rive_hb_font_get_glyph_from_name
 #define hb_font_get_glyph_h_advance rive_hb_font_get_glyph_h_advance
@@ -275,16 +673,17 @@
 #define hb_font_get_ptem rive_hb_font_get_ptem
 #define hb_font_get_scale rive_hb_font_get_scale
 #define hb_font_get_serial rive_hb_font_get_serial
+#define hb_font_get_synthetic_bold rive_hb_font_get_synthetic_bold
 #define hb_font_get_synthetic_slant rive_hb_font_get_synthetic_slant
 #define hb_font_get_user_data rive_hb_font_get_user_data
 #define hb_font_get_v_extents rive_hb_font_get_v_extents
 #define hb_font_get_var_coords_design rive_hb_font_get_var_coords_design
 #define hb_font_get_var_coords_normalized rive_hb_font_get_var_coords_normalized
+#define hb_font_get_var_named_instance rive_hb_font_get_var_named_instance
 #define hb_font_get_variation_glyph rive_hb_font_get_variation_glyph
-#define hb_font_glyph_from_string rive_hb_font_glyph_from_string
-#define hb_font_glyph_to_string rive_hb_font_glyph_to_string
 #define hb_font_is_immutable rive_hb_font_is_immutable
 #define hb_font_make_immutable rive_hb_font_make_immutable
+#define hb_font_paint_glyph rive_hb_font_paint_glyph
 #define hb_font_reference rive_hb_font_reference
 #define hb_font_set_face rive_hb_font_set_face
 #define hb_font_set_funcs rive_hb_font_set_funcs
@@ -293,11 +692,13 @@
 #define hb_font_set_ppem rive_hb_font_set_ppem
 #define hb_font_set_ptem rive_hb_font_set_ptem
 #define hb_font_set_scale rive_hb_font_set_scale
+#define hb_font_set_synthetic_bold rive_hb_font_set_synthetic_bold
 #define hb_font_set_synthetic_slant rive_hb_font_set_synthetic_slant
 #define hb_font_set_user_data rive_hb_font_set_user_data
 #define hb_font_set_var_coords_design rive_hb_font_set_var_coords_design
 #define hb_font_set_var_coords_normalized rive_hb_font_set_var_coords_normalized
 #define hb_font_set_var_named_instance rive_hb_font_set_var_named_instance
+#define hb_font_set_variation rive_hb_font_set_variation
 #define hb_font_set_variations rive_hb_font_set_variations
 #define hb_font_subtract_glyph_origin_for_direction rive_hb_font_subtract_glyph_origin_for_direction
 #define hb_ot_font_set_funcs rive_hb_ot_font_set_funcs
@@ -317,22 +718,19 @@
 #define hb_map_hash rive_hb_map_hash
 #define hb_map_is_empty rive_hb_map_is_empty
 #define hb_map_is_equal rive_hb_map_is_equal
+#define hb_map_keys rive_hb_map_keys
+#define hb_map_next rive_hb_map_next
 #define hb_map_reference rive_hb_map_reference
 #define hb_map_set rive_hb_map_set
 #define hb_map_set_user_data rive_hb_map_set_user_data
-#define hb_blob_create_sub_blob rive_hb_blob_create_sub_blob
-#define hb_blob_destroy rive_hb_blob_destroy
-#define hb_blob_get_data_writable rive_hb_blob_get_data_writable
-#define hb_blob_get_empty rive_hb_blob_get_empty
-#define hb_blob_make_immutable rive_hb_blob_make_immutable
-#define hb_blob_reference rive_hb_blob_reference
-#define hb_face_get_glyph_count rive_hb_face_get_glyph_count
-#define hb_face_get_upem rive_hb_face_get_upem
-#define hb_face_reference_table rive_hb_face_reference_table
+#define hb_map_update rive_hb_map_update
+#define hb_map_values rive_hb_map_values
 #define hb_ot_color_glyph_get_layers rive_hb_ot_color_glyph_get_layers
+#define hb_ot_color_glyph_has_paint rive_hb_ot_color_glyph_has_paint
 #define hb_ot_color_glyph_reference_png rive_hb_ot_color_glyph_reference_png
 #define hb_ot_color_glyph_reference_svg rive_hb_ot_color_glyph_reference_svg
 #define hb_ot_color_has_layers rive_hb_ot_color_has_layers
+#define hb_ot_color_has_paint rive_hb_ot_color_has_paint
 #define hb_ot_color_has_palettes rive_hb_ot_color_has_palettes
 #define hb_ot_color_has_png rive_hb_ot_color_has_png
 #define hb_ot_color_has_svg rive_hb_ot_color_has_svg
@@ -341,49 +739,28 @@
 #define hb_ot_color_palette_get_count rive_hb_ot_color_palette_get_count
 #define hb_ot_color_palette_get_flags rive_hb_ot_color_palette_get_flags
 #define hb_ot_color_palette_get_name_id rive_hb_ot_color_palette_get_name_id
-#define hb_blob_destroy rive_hb_blob_destroy
-#define hb_blob_get_empty rive_hb_blob_get_empty
-#define hb_arabic_u8 rive_hb_arabic_u8
-#define hb_arabic_u16 rive_hb_arabic_u16
-#define hb_blob_create_sub_blob rive_hb_blob_create_sub_blob
-#define hb_blob_destroy rive_hb_blob_destroy
-#define hb_blob_get_data_writable rive_hb_blob_get_data_writable
-#define hb_blob_get_empty rive_hb_blob_get_empty
-#define hb_blob_make_immutable rive_hb_blob_make_immutable
-#define hb_blob_reference rive_hb_blob_reference
-#define hb_face_get_glyph_count rive_hb_face_get_glyph_count
-#define hb_face_get_upem rive_hb_face_get_upem
-#define hb_face_reference_table rive_hb_face_reference_table
-#define hb_font_funcs_create rive_hb_font_funcs_create
-#define hb_font_funcs_destroy rive_hb_font_funcs_destroy
-#define hb_font_funcs_get_empty rive_hb_font_funcs_get_empty
-#define hb_font_funcs_make_immutable rive_hb_font_funcs_make_immutable
-#define hb_font_funcs_set_font_h_extents_func rive_hb_font_funcs_set_font_h_extents_func
-#define hb_font_funcs_set_font_v_extents_func rive_hb_font_funcs_set_font_v_extents_func
-#define hb_font_funcs_set_glyph_extents_func rive_hb_font_funcs_set_glyph_extents_func
-#define hb_font_funcs_set_glyph_from_name_func rive_hb_font_funcs_set_glyph_from_name_func
-#define hb_font_funcs_set_glyph_h_advances_func rive_hb_font_funcs_set_glyph_h_advances_func
-#define hb_font_funcs_set_glyph_name_func rive_hb_font_funcs_set_glyph_name_func
-#define hb_font_funcs_set_glyph_shape_func rive_hb_font_funcs_set_glyph_shape_func
-#define hb_font_funcs_set_glyph_v_advances_func rive_hb_font_funcs_set_glyph_v_advances_func
-#define hb_font_funcs_set_glyph_v_origin_func rive_hb_font_funcs_set_glyph_v_origin_func
-#define hb_font_funcs_set_nominal_glyph_func rive_hb_font_funcs_set_nominal_glyph_func
-#define hb_font_funcs_set_nominal_glyphs_func rive_hb_font_funcs_set_nominal_glyphs_func
-#define hb_font_funcs_set_variation_glyph_func rive_hb_font_funcs_set_variation_glyph_func
-#define hb_font_set_funcs rive_hb_font_set_funcs
-#define hb_ot_font_set_funcs rive_hb_ot_font_set_funcs
-#define hb_blob_destroy rive_hb_blob_destroy
-#define hb_blob_get_data_writable rive_hb_blob_get_data_writable
-#define hb_blob_get_empty rive_hb_blob_get_empty
-#define hb_blob_make_immutable rive_hb_blob_make_immutable
-#define hb_blob_reference rive_hb_blob_reference
-#define hb_buffer_get_glyph_positions rive_hb_buffer_get_glyph_positions
-#define hb_face_get_glyph_count rive_hb_face_get_glyph_count
-#define hb_face_reference_table rive_hb_face_reference_table
-#define hb_font_get_extents_for_direction rive_hb_font_get_extents_for_direction
-#define hb_font_get_glyph_extents rive_hb_font_get_glyph_extents
-#define hb_font_get_nominal_glyph rive_hb_font_get_nominal_glyph
+#define hb_ot_metrics_get_position_common rive_hb_ot_metrics_get_position_common
+#define hb_ot_font_create rive_hb_ot_font_create
+#define hb_ot_font_destroy rive_hb_ot_font_destroy
+#define hb_ot_get_font_funcs rive_hb_ot_get_font_funcs
+#define hb_allocate_lig_id rive_hb_allocate_lig_id
+#define hb_glyph_info_is_mark rive_hb_glyph_info_is_mark
+#define hb_glyph_info_get_lig_id rive_hb_glyph_info_get_lig_id
+#define hb_glyph_info_multiplied rive_hb_glyph_info_multiplied
+#define hb_glyph_info_is_ligature rive_hb_glyph_info_is_ligature
+#define hb_glyph_info_get_lig_comp rive_hb_glyph_info_get_lig_comp
+#define hb_glyph_info_is_base_glyph rive_hb_glyph_info_is_base_glyph
+#define hb_ot_layout_set_glyph_props rive_hb_ot_layout_set_glyph_props
+#define hb_glyph_info_clear_lig_props rive_hb_glyph_info_clear_lig_props
+#define hb_buffer_assert_gsubgpos_vars rive_hb_buffer_assert_gsubgpos_vars
+#define hb_glyph_info_ligated_internal rive_hb_glyph_info_ligated_internal
+#define hb_glyph_info_get_lig_num_comps rive_hb_glyph_info_get_lig_num_comps
+#define hb_glyph_info_set_general_category rive_hb_glyph_info_set_general_category
+#define hb_glyph_info_set_lig_props_for_mark rive_hb_glyph_info_set_lig_props_for_mark
+#define hb_glyph_info_set_lig_props_for_ligature rive_hb_glyph_info_set_lig_props_for_ligature
+#define hb_glyph_info_set_lig_props_for_component rive_hb_glyph_info_set_lig_props_for_component
 #define hb_ot_layout_collect_features rive_hb_ot_layout_collect_features
+#define hb_ot_layout_collect_features_map rive_hb_ot_layout_collect_features_map
 #define hb_ot_layout_collect_lookups rive_hb_ot_layout_collect_lookups
 #define hb_ot_layout_feature_get_characters rive_hb_ot_layout_feature_get_characters
 #define hb_ot_layout_feature_get_lookups rive_hb_ot_layout_feature_get_lookups
@@ -391,7 +768,11 @@
 #define hb_ot_layout_feature_with_variations_get_lookups rive_hb_ot_layout_feature_with_variations_get_lookups
 #define hb_ot_layout_get_attach_points rive_hb_ot_layout_get_attach_points
 #define hb_ot_layout_get_baseline rive_hb_ot_layout_get_baseline
+#define hb_ot_layout_get_baseline2 rive_hb_ot_layout_get_baseline2
 #define hb_ot_layout_get_baseline_with_fallback rive_hb_ot_layout_get_baseline_with_fallback
+#define hb_ot_layout_get_baseline_with_fallback2 rive_hb_ot_layout_get_baseline_with_fallback2
+#define hb_ot_layout_get_font_extents rive_hb_ot_layout_get_font_extents
+#define hb_ot_layout_get_font_extents2 rive_hb_ot_layout_get_font_extents2
 #define hb_ot_layout_get_glyph_class rive_hb_ot_layout_get_glyph_class
 #define hb_ot_layout_get_glyphs_in_class rive_hb_ot_layout_get_glyphs_in_class
 #define hb_ot_layout_get_horizontal_baseline_tag_for_script rive_hb_ot_layout_get_horizontal_baseline_tag_for_script
@@ -414,6 +795,7 @@
 #define hb_ot_layout_script_find_language rive_hb_ot_layout_script_find_language
 #define hb_ot_layout_script_get_language_tags rive_hb_ot_layout_script_get_language_tags
 #define hb_ot_layout_script_select_language rive_hb_ot_layout_script_select_language
+#define hb_ot_layout_script_select_language2 rive_hb_ot_layout_script_select_language2
 #define hb_ot_layout_table_choose_script rive_hb_ot_layout_table_choose_script
 #define hb_ot_layout_table_find_feature_variations rive_hb_ot_layout_table_find_feature_variations
 #define hb_ot_layout_table_find_script rive_hb_ot_layout_table_find_script
@@ -422,30 +804,14 @@
 #define hb_ot_layout_table_get_script_tags rive_hb_ot_layout_table_get_script_tags
 #define hb_ot_layout_table_select_script rive_hb_ot_layout_table_select_script
 #define hb_ot_metrics_get_position_with_fallback rive_hb_ot_metrics_get_position_with_fallback
+#define hb_ot_tags_from_script_and_language rive_hb_ot_tags_from_script_and_language
 #define hb_set_add_range rive_hb_set_add_range
-#define hb_set_clear rive_hb_set_clear
 #define hb_set_create rive_hb_set_create
 #define hb_set_destroy rive_hb_set_destroy
 #define hb_set_get_empty rive_hb_set_get_empty
 #define hb_set_get_user_data rive_hb_set_get_user_data
-#define hb_set_has rive_hb_set_has
-#define hb_set_next rive_hb_set_next
 #define hb_set_reference rive_hb_set_reference
 #define hb_set_set_user_data rive_hb_set_set_user_data
-#define hb_ot_layout_feature_with_variations_get_lookups rive_hb_ot_layout_feature_with_variations_get_lookups
-#define hb_ot_layout_language_find_feature rive_hb_ot_layout_language_find_feature
-#define hb_ot_layout_language_get_required_feature rive_hb_ot_layout_language_get_required_feature
-#define hb_ot_layout_script_select_language rive_hb_ot_layout_script_select_language
-#define hb_ot_layout_table_get_lookup_count rive_hb_ot_layout_table_get_lookup_count
-#define hb_ot_layout_table_select_script rive_hb_ot_layout_table_select_script
-#define hb_ot_tags_from_script_and_language rive_hb_ot_tags_from_script_and_language
-#define hb_blob_destroy rive_hb_blob_destroy
-#define hb_blob_get_data_writable rive_hb_blob_get_data_writable
-#define hb_blob_get_empty rive_hb_blob_get_empty
-#define hb_blob_make_immutable rive_hb_blob_make_immutable
-#define hb_blob_reference rive_hb_blob_reference
-#define hb_face_get_glyph_count rive_hb_face_get_glyph_count
-#define hb_face_reference_table rive_hb_face_reference_table
 #define hb_ot_math_get_constant rive_hb_ot_math_get_constant
 #define hb_ot_math_get_glyph_assembly rive_hb_ot_math_get_glyph_assembly
 #define hb_ot_math_get_glyph_italics_correction rive_hb_ot_math_get_glyph_italics_correction
@@ -456,97 +822,58 @@
 #define hb_ot_math_get_min_connector_overlap rive_hb_ot_math_get_min_connector_overlap
 #define hb_ot_math_has_data rive_hb_ot_math_has_data
 #define hb_ot_math_is_glyph_extended_shape rive_hb_ot_math_is_glyph_extended_shape
-#define hb_blob_create_sub_blob rive_hb_blob_create_sub_blob
-#define hb_blob_destroy rive_hb_blob_destroy
-#define hb_blob_get_data_writable rive_hb_blob_get_data_writable
-#define hb_blob_get_empty rive_hb_blob_get_empty
-#define hb_blob_make_immutable rive_hb_blob_make_immutable
-#define hb_blob_reference rive_hb_blob_reference
-#define hb_face_get_glyph_count rive_hb_face_get_glyph_count
-#define hb_face_reference_table rive_hb_face_reference_table
 #define hb_ot_meta_get_entry_tags rive_hb_ot_meta_get_entry_tags
 #define hb_ot_meta_reference_entry rive_hb_ot_meta_reference_entry
-#define hb_blob_destroy rive_hb_blob_destroy
-#define hb_blob_get_data_writable rive_hb_blob_get_data_writable
-#define hb_blob_get_empty rive_hb_blob_get_empty
-#define hb_blob_make_immutable rive_hb_blob_make_immutable
-#define hb_blob_reference rive_hb_blob_reference
-#define hb_face_get_glyph_count rive_hb_face_get_glyph_count
-#define hb_face_reference_table rive_hb_face_reference_table
-#define hb_font_get_extents_for_direction rive_hb_font_get_extents_for_direction
-#define hb_font_get_glyph_extents rive_hb_font_get_glyph_extents
-#define hb_font_get_nominal_glyph rive_hb_font_get_nominal_glyph
 #define hb_ot_metrics_get_position rive_hb_ot_metrics_get_position
-#define hb_ot_metrics_get_position_with_fallback rive_hb_ot_metrics_get_position_with_fallback
 #define hb_ot_metrics_get_variation rive_hb_ot_metrics_get_variation
 #define hb_ot_metrics_get_x_variation rive_hb_ot_metrics_get_x_variation
 #define hb_ot_metrics_get_y_variation rive_hb_ot_metrics_get_y_variation
-#define hb_blob_destroy rive_hb_blob_destroy
-#define hb_blob_get_data_writable rive_hb_blob_get_data_writable
-#define hb_blob_get_empty rive_hb_blob_get_empty
-#define hb_blob_make_immutable rive_hb_blob_make_immutable
-#define hb_blob_reference rive_hb_blob_reference
-#define hb_face_get_glyph_count rive_hb_face_get_glyph_count
-#define hb_face_reference_table rive_hb_face_reference_table
-#define hb_language_from_string rive_hb_language_from_string
-#define hb_language_matches rive_hb_language_matches
-#define hb_language_to_string rive_hb_language_to_string
+#define hb_ot_name_language_for_ms_code rive_hb_ot_name_language_for_ms_code
+#define hb_ot_name_language_for_mac_code rive_hb_ot_name_language_for_mac_code
 #define hb_ot_name_get_utf16 rive_hb_ot_name_get_utf16
 #define hb_ot_name_get_utf32 rive_hb_ot_name_get_utf32
 #define hb_ot_name_get_utf8 rive_hb_ot_name_get_utf8
 #define hb_ot_name_list_names rive_hb_ot_name_list_names
-#define hb_blob_destroy rive_hb_blob_destroy
-#define hb_blob_get_data_writable rive_hb_blob_get_data_writable
-#define hb_blob_get_empty rive_hb_blob_get_empty
-#define hb_blob_make_immutable rive_hb_blob_make_immutable
-#define hb_blob_reference rive_hb_blob_reference
-#define hb_face_get_glyph_count rive_hb_face_get_glyph_count
-#define hb_face_reference_table rive_hb_face_reference_table
-#define hb_script_get_horizontal_direction rive_hb_script_get_horizontal_direction
-#define hb_aat_layout_has_positioning rive_hb_aat_layout_has_positioning
-#define hb_aat_layout_has_substitution rive_hb_aat_layout_has_substitution
-#define hb_aat_layout_has_tracking rive_hb_aat_layout_has_tracking
-#define hb_buffer_reverse rive_hb_buffer_reverse
-#define hb_ot_layout_has_glyph_classes rive_hb_ot_layout_has_glyph_classes
-#define hb_ot_layout_has_positioning rive_hb_ot_layout_has_positioning
-#define hb_ot_layout_has_substitution rive_hb_ot_layout_has_substitution
-#define hb_ot_layout_lookups_substitute_closure rive_hb_ot_layout_lookups_substitute_closure
+#define hb_ot_shape_fallback_kern rive_hb_ot_shape_fallback_kern
+#define hb_ot_shape_fallback_spaces rive_hb_ot_shape_fallback_spaces
+#define hb_ot_shape_fallback_mark_position rive_hb_ot_shape_fallback_mark_position
+#define hb_ot_shape_fallback_mark_position_recategorize_marks rive_hb_ot_shape_fallback_mark_position_recategorize_marks
+#define hb_glyph_info_ligated rive_hb_glyph_info_ligated
+#define hb_glyph_info_is_unicode_mark rive_hb_glyph_info_is_unicode_mark
+#define hb_glyph_info_is_unicode_space rive_hb_glyph_info_is_unicode_space
+#define hb_glyph_info_get_modified_combining_class rive_hb_glyph_info_get_modified_combining_class
+#define hb_glyph_info_set_modified_combining_class rive_hb_glyph_info_set_modified_combining_class
+#define hb_glyph_info_get_unicode_space_fallback_type rive_hb_glyph_info_get_unicode_space_fallback_type
+#define hb_ot_shape_normalize rive_hb_ot_shape_normalize
+#define hb_glyph_info_unhide rive_hb_glyph_info_unhide
+#define hb_buffer_assert_unicode_vars rive_hb_buffer_assert_unicode_vars
+#define hb_glyph_info_set_unicode_props rive_hb_glyph_info_set_unicode_props
+#define hb_glyph_info_set_unicode_space_fallback_type rive_hb_glyph_info_set_unicode_space_fallback_type
+#define hb_unicode_is_emoji_Extended_Pictographic rive_hb_unicode_is_emoji_Extended_Pictographic
+#define hb_apply_morx rive_hb_apply_morx
+#define hb_glyph_info_set_continuation rive_hb_glyph_info_set_continuation
+#define hb_ot_layout_reverse_graphemes rive_hb_ot_layout_reverse_graphemes
+#define hb_buffer_allocate_unicode_vars rive_hb_buffer_allocate_unicode_vars
+#define hb_buffer_allocate_gsubgpos_vars rive_hb_buffer_allocate_gsubgpos_vars
+#define hb_buffer_deallocate_unicode_vars rive_hb_buffer_deallocate_unicode_vars
+#define hb_buffer_deallocate_gsubgpos_vars rive_hb_buffer_deallocate_gsubgpos_vars
+#define hb_codepoint_is_regional_indicator rive_hb_codepoint_is_regional_indicator
+#define hb_glyph_info_is_default_ignorable rive_hb_glyph_info_is_default_ignorable
 #define hb_ot_shape_glyphs_closure rive_hb_ot_shape_glyphs_closure
 #define hb_ot_shape_plan_collect_lookups rive_hb_ot_shape_plan_collect_lookups
-#define hb_script_get_horizontal_direction rive_hb_script_get_horizontal_direction
-#define hb_set_create rive_hb_set_create
-#define hb_set_destroy rive_hb_set_destroy
 #define hb_shape_plan_create_cached rive_hb_shape_plan_create_cached
-#define hb_shape_plan_destroy rive_hb_shape_plan_destroy
-#define hb_blob_destroy rive_hb_blob_destroy
-#define hb_blob_get_data_writable rive_hb_blob_get_data_writable
-#define hb_blob_get_empty rive_hb_blob_get_empty
-#define hb_blob_make_immutable rive_hb_blob_make_immutable
-#define hb_blob_reference rive_hb_blob_reference
-#define hb_face_get_glyph_count rive_hb_face_get_glyph_count
-#define hb_face_reference_table rive_hb_face_reference_table
-#define hb_font_get_glyph rive_hb_font_get_glyph
-#define hb_font_get_glyph rive_hb_font_get_glyph
-#define hb_font_get_glyph_h_advance rive_hb_font_get_glyph_h_advance
-#define hb_ot_layout_lookup_would_substitute rive_hb_ot_layout_lookup_would_substitute
-#define hb_font_get_glyph rive_hb_font_get_glyph
-#define hb_language_from_string rive_hb_language_from_string
-#define hb_language_to_string rive_hb_language_to_string
+#define hb_preprocess_text_vowel_constraints rive_hb_preprocess_text_vowel_constraints
+#define hb_next_syllable rive_hb_next_syllable
+#define hb_glyph_info_ligated_and_didnt_multiply rive_hb_glyph_info_ligated_and_didnt_multiply
+#define hb_glyph_info_clear_ligated_and_multiplied rive_hb_glyph_info_clear_ligated_and_multiplied
+#define hb_clear_substitution_flags rive_hb_clear_substitution_flags
+#define hb_glyph_info_clear_substituted rive_hb_glyph_info_clear_substituted
+#define hb_glyph_info_reset_continuation rive_hb_glyph_info_reset_continuation
 #define hb_ot_tag_from_language rive_hb_ot_tag_from_language
 #define hb_ot_tag_to_language rive_hb_ot_tag_to_language
 #define hb_ot_tag_to_script rive_hb_ot_tag_to_script
 #define hb_ot_tags_from_script rive_hb_ot_tags_from_script
-#define hb_ot_tags_from_script_and_language rive_hb_ot_tags_from_script_and_language
 #define hb_ot_tags_to_script_and_language rive_hb_ot_tags_to_script_and_language
-#define hb_tag_from_string rive_hb_tag_from_string
-#define hb_tag_to_string rive_hb_tag_to_string
-#define hb_blob_destroy rive_hb_blob_destroy
-#define hb_blob_get_data_writable rive_hb_blob_get_data_writable
-#define hb_blob_get_empty rive_hb_blob_get_empty
-#define hb_blob_make_immutable rive_hb_blob_make_immutable
-#define hb_blob_reference rive_hb_blob_reference
-#define hb_face_get_glyph_count rive_hb_face_get_glyph_count
-#define hb_face_reference_table rive_hb_face_reference_table
 #define hb_ot_var_find_axis rive_hb_ot_var_find_axis
 #define hb_ot_var_find_axis_info rive_hb_ot_var_find_axis_info
 #define hb_ot_var_get_axes rive_hb_ot_var_get_axes
@@ -554,110 +881,100 @@
 #define hb_ot_var_get_axis_infos rive_hb_ot_var_get_axis_infos
 #define hb_ot_var_get_named_instance_count rive_hb_ot_var_get_named_instance_count
 #define hb_ot_var_has_data rive_hb_ot_var_has_data
-#define hb_ot_var_named_instance_get_design_coords rive_hb_ot_var_named_instance_get_design_coords
 #define hb_ot_var_named_instance_get_postscript_name_id rive_hb_ot_var_named_instance_get_postscript_name_id
 #define hb_ot_var_named_instance_get_subfamily_name_id rive_hb_ot_var_named_instance_get_subfamily_name_id
-#define hb_ot_var_normalize_coords rive_hb_ot_var_normalize_coords
 #define hb_ot_var_normalize_variations rive_hb_ot_var_normalize_variations
+#define hb_paint_funcs_create rive_hb_paint_funcs_create
+#define hb_paint_funcs_destroy rive_hb_paint_funcs_destroy
+#define hb_paint_funcs_get_empty rive_hb_paint_funcs_get_empty
+#define hb_paint_funcs_make_immutable rive_hb_paint_funcs_make_immutable
+#define hb_paint_funcs_set_color_func rive_hb_paint_funcs_set_color_func
+#define hb_paint_funcs_set_image_func rive_hb_paint_funcs_set_image_func
+#define hb_paint_funcs_set_linear_gradient_func rive_hb_paint_funcs_set_linear_gradient_func
+#define hb_paint_funcs_set_pop_clip_func rive_hb_paint_funcs_set_pop_clip_func
+#define hb_paint_funcs_set_pop_group_func rive_hb_paint_funcs_set_pop_group_func
+#define hb_paint_funcs_set_pop_transform_func rive_hb_paint_funcs_set_pop_transform_func
+#define hb_paint_funcs_set_push_clip_glyph_func rive_hb_paint_funcs_set_push_clip_glyph_func
+#define hb_paint_funcs_set_push_clip_rectangle_func rive_hb_paint_funcs_set_push_clip_rectangle_func
+#define hb_paint_funcs_set_push_group_func rive_hb_paint_funcs_set_push_group_func
+#define hb_paint_funcs_set_push_transform_func rive_hb_paint_funcs_set_push_transform_func
+#define hb_paint_funcs_set_radial_gradient_func rive_hb_paint_funcs_set_radial_gradient_func
+#define hb_paint_funcs_set_sweep_gradient_func rive_hb_paint_funcs_set_sweep_gradient_func
+#define hb_paint_funcs_set_middle rive_hb_paint_funcs_set_middle
+#define hb_paint_funcs_set_preamble rive_hb_paint_funcs_set_preamble
+#define hb_color_line_get_color_stops rive_hb_color_line_get_color_stops
+#define hb_color_line_get_extend rive_hb_color_line_get_extend
+#define hb_paint_color rive_hb_paint_color
+#define hb_paint_color_glyph rive_hb_paint_color_glyph
+#define hb_paint_custom_palette_color rive_hb_paint_custom_palette_color
+#define hb_paint_funcs_get_user_data rive_hb_paint_funcs_get_user_data
+#define hb_paint_funcs_is_immutable rive_hb_paint_funcs_is_immutable
+#define hb_paint_funcs_reference rive_hb_paint_funcs_reference
+#define hb_paint_funcs_set_color_glyph_func rive_hb_paint_funcs_set_color_glyph_func
+#define hb_paint_funcs_set_custom_palette_color_func rive_hb_paint_funcs_set_custom_palette_color_func
+#define hb_paint_funcs_set_user_data rive_hb_paint_funcs_set_user_data
+#define hb_paint_image rive_hb_paint_image
+#define hb_paint_linear_gradient rive_hb_paint_linear_gradient
+#define hb_paint_pop_clip rive_hb_paint_pop_clip
+#define hb_paint_pop_group rive_hb_paint_pop_group
+#define hb_paint_pop_transform rive_hb_paint_pop_transform
+#define hb_paint_push_clip_glyph rive_hb_paint_push_clip_glyph
+#define hb_paint_push_clip_rectangle rive_hb_paint_push_clip_rectangle
+#define hb_paint_push_group rive_hb_paint_push_group
+#define hb_paint_push_transform rive_hb_paint_push_transform
+#define hb_paint_radial_gradient rive_hb_paint_radial_gradient
+#define hb_paint_sweep_gradient rive_hb_paint_sweep_gradient
 #define hb_set_add rive_hb_set_add
-#define hb_set_add_range rive_hb_set_add_range
 #define hb_set_add_sorted_array rive_hb_set_add_sorted_array
 #define hb_set_allocation_successful rive_hb_set_allocation_successful
 #define hb_set_clear rive_hb_set_clear
 #define hb_set_copy rive_hb_set_copy
-#define hb_set_create rive_hb_set_create
 #define hb_set_del rive_hb_set_del
 #define hb_set_del_range rive_hb_set_del_range
-#define hb_set_destroy rive_hb_set_destroy
-#define hb_set_get_empty rive_hb_set_get_empty
 #define hb_set_get_max rive_hb_set_get_max
 #define hb_set_get_min rive_hb_set_get_min
 #define hb_set_get_population rive_hb_set_get_population
-#define hb_set_get_user_data rive_hb_set_get_user_data
 #define hb_set_has rive_hb_set_has
 #define hb_set_hash rive_hb_set_hash
 #define hb_set_intersect rive_hb_set_intersect
 #define hb_set_invert rive_hb_set_invert
 #define hb_set_is_empty rive_hb_set_is_empty
 #define hb_set_is_equal rive_hb_set_is_equal
+#define hb_set_is_inverted rive_hb_set_is_inverted
 #define hb_set_is_subset rive_hb_set_is_subset
 #define hb_set_next rive_hb_set_next
 #define hb_set_next_many rive_hb_set_next_many
 #define hb_set_next_range rive_hb_set_next_range
 #define hb_set_previous rive_hb_set_previous
 #define hb_set_previous_range rive_hb_set_previous_range
-#define hb_set_reference rive_hb_set_reference
 #define hb_set_set rive_hb_set_set
-#define hb_set_set_user_data rive_hb_set_set_user_data
 #define hb_set_subtract rive_hb_set_subtract
 #define hb_set_symmetric_difference rive_hb_set_symmetric_difference
 #define hb_set_union rive_hb_set_union
-#define hb_face_get_empty rive_hb_face_get_empty
-#define hb_face_make_immutable rive_hb_face_make_immutable
-#define hb_ot_layout_table_find_feature_variations rive_hb_ot_layout_table_find_feature_variations
-#define hb_segment_properties_equal rive_hb_segment_properties_equal
+#define hb_shapers_get rive_hb_shapers_get
+#define hb_shape_plan_execute_internal rive_hb_shape_plan_execute_internal
 #define hb_shape_plan_create rive_hb_shape_plan_create
 #define hb_shape_plan_create2 rive_hb_shape_plan_create2
-#define hb_shape_plan_create_cached rive_hb_shape_plan_create_cached
 #define hb_shape_plan_create_cached2 rive_hb_shape_plan_create_cached2
-#define hb_shape_plan_destroy rive_hb_shape_plan_destroy
 #define hb_shape_plan_execute rive_hb_shape_plan_execute
 #define hb_shape_plan_get_empty rive_hb_shape_plan_get_empty
 #define hb_shape_plan_get_shaper rive_hb_shape_plan_get_shaper
 #define hb_shape_plan_get_user_data rive_hb_shape_plan_get_user_data
 #define hb_shape_plan_reference rive_hb_shape_plan_reference
 #define hb_shape_plan_set_user_data rive_hb_shape_plan_set_user_data
-#define hb_buffer_append rive_hb_buffer_append
-#define hb_buffer_create rive_hb_buffer_create
-#define hb_buffer_destroy rive_hb_buffer_destroy
 #define hb_shape rive_hb_shape
-#define hb_shape_full rive_hb_shape_full
 #define hb_shape_list_shapers rive_hb_shape_list_shapers
-#define hb_shape_plan_create_cached2 rive_hb_shape_plan_create_cached2
-#define hb_shape_plan_destroy rive_hb_shape_plan_destroy
-#define hb_shape_plan_execute rive_hb_shape_plan_execute
 #define hb_all_shapers rive_hb_all_shapers
 #define hb_ms_language_map rive_hb_ms_language_map
 #define hb_mac_language_map rive_hb_mac_language_map
-#define hb_blob_destroy rive_hb_blob_destroy
-#define hb_blob_get_data_writable rive_hb_blob_get_data_writable
-#define hb_blob_get_empty rive_hb_blob_get_empty
-#define hb_blob_make_immutable rive_hb_blob_make_immutable
-#define hb_blob_reference rive_hb_blob_reference
-#define hb_face_get_glyph_count rive_hb_face_get_glyph_count
-#define hb_face_reference_table rive_hb_face_reference_table
-#define hb_language_from_string rive_hb_language_from_string
-#define hb_blob_destroy rive_hb_blob_destroy
-#define hb_blob_get_data_writable rive_hb_blob_get_data_writable
-#define hb_blob_get_empty rive_hb_blob_get_empty
-#define hb_blob_make_immutable rive_hb_blob_make_immutable
-#define hb_blob_reference rive_hb_blob_reference
-#define hb_face_get_glyph_count rive_hb_face_get_glyph_count
-#define hb_face_reference_table rive_hb_face_reference_table
-#define hb_map_create rive_hb_map_create
-#define hb_map_destroy rive_hb_map_destroy
-#define hb_set_next rive_hb_set_next
-#define hb_blob_destroy rive_hb_blob_destroy
-#define hb_blob_get_data_writable rive_hb_blob_get_data_writable
-#define hb_blob_get_empty rive_hb_blob_get_empty
-#define hb_blob_make_immutable rive_hb_blob_make_immutable
-#define hb_blob_reference rive_hb_blob_reference
-#define hb_face_get_glyph_count rive_hb_face_get_glyph_count
-#define hb_face_reference_table rive_hb_face_reference_table
-#define hb_map_destroy rive_hb_map_destroy
-#define hb_set_next rive_hb_set_next
-#define hb_ot_var_find_axis_info rive_hb_ot_var_find_axis_info
-#define hb_set_add rive_hb_set_add
-#define hb_set_add_range rive_hb_set_add_range
-#define hb_set_clear rive_hb_set_clear
-#define hb_set_create rive_hb_set_create
-#define hb_set_destroy rive_hb_set_destroy
-#define hb_set_invert rive_hb_set_invert
+#define hb_ot_name_language_for rive_hb_ot_name_language_for
 #define hb_subset_input_create_or_fail rive_hb_subset_input_create_or_fail
 #define hb_subset_input_destroy rive_hb_subset_input_destroy
 #define hb_subset_input_get_flags rive_hb_subset_input_get_flags
 #define hb_subset_input_get_user_data rive_hb_subset_input_get_user_data
 #define hb_subset_input_glyph_set rive_hb_subset_input_glyph_set
+#define hb_subset_input_keep_everything rive_hb_subset_input_keep_everything
+#define hb_subset_input_old_to_new_glyph_mapping rive_hb_subset_input_old_to_new_glyph_mapping
 #define hb_subset_input_pin_axis_location rive_hb_subset_input_pin_axis_location
 #define hb_subset_input_pin_axis_to_default rive_hb_subset_input_pin_axis_to_default
 #define hb_subset_input_reference rive_hb_subset_input_reference
@@ -667,45 +984,7 @@
 #define hb_subset_input_unicode_set rive_hb_subset_input_unicode_set
 #define hb_subset_or_fail rive_hb_subset_or_fail
 #define hb_subset_preprocess rive_hb_subset_preprocess
-#define hb_arabic_u8 rive_hb_arabic_u8
-#define hb_arabic_u16 rive_hb_arabic_u16
-#define hb_blob_destroy rive_hb_blob_destroy
-#define hb_blob_get_data_writable rive_hb_blob_get_data_writable
-#define hb_blob_get_empty rive_hb_blob_get_empty
-#define hb_blob_get_user_data rive_hb_blob_get_user_data
-#define hb_blob_make_immutable rive_hb_blob_make_immutable
-#define hb_blob_reference rive_hb_blob_reference
-#define hb_blob_set_user_data rive_hb_blob_set_user_data
 #define hb_face_builder_create rive_hb_face_builder_create
-#define hb_face_destroy rive_hb_face_destroy
-#define hb_face_get_glyph_count rive_hb_face_get_glyph_count
-#define hb_face_get_upem rive_hb_face_get_upem
-#define hb_face_get_user_data rive_hb_face_get_user_data
-#define hb_face_reference rive_hb_face_reference
-#define hb_face_reference_table rive_hb_face_reference_table
-#define hb_font_create rive_hb_font_create
-#define hb_font_destroy rive_hb_font_destroy
-#define hb_font_set_variations rive_hb_font_set_variations
-#define hb_map_create rive_hb_map_create
-#define hb_map_destroy rive_hb_map_destroy
-#define hb_map_get_empty rive_hb_map_get_empty
-#define hb_map_get_user_data rive_hb_map_get_user_data
-#define hb_map_reference rive_hb_map_reference
-#define hb_map_set_user_data rive_hb_map_set_user_data
-#define hb_ot_layout_collect_features rive_hb_ot_layout_collect_features
-#define hb_ot_layout_has_positioning rive_hb_ot_layout_has_positioning
-#define hb_ot_layout_lookups_substitute_closure rive_hb_ot_layout_lookups_substitute_closure
-#define hb_set_copy rive_hb_set_copy
-#define hb_set_create rive_hb_set_create
-#define hb_set_destroy rive_hb_set_destroy
-#define hb_set_get_empty rive_hb_set_get_empty
-#define hb_set_get_user_data rive_hb_set_get_user_data
-#define hb_set_previous rive_hb_set_previous
-#define hb_set_reference rive_hb_set_reference
-#define hb_set_set rive_hb_set_set
-#define hb_set_set_user_data rive_hb_set_set_user_data
-#define hb_set_subtract rive_hb_set_subtract
-#define hb_set_union rive_hb_set_union
 #define hb_subset_plan_create_or_fail rive_hb_subset_plan_create_or_fail
 #define hb_subset_plan_destroy rive_hb_subset_plan_destroy
 #define hb_subset_plan_get_user_data rive_hb_subset_plan_get_user_data
@@ -714,42 +993,16 @@
 #define hb_subset_plan_reference rive_hb_subset_plan_reference
 #define hb_subset_plan_set_user_data rive_hb_subset_plan_set_user_data
 #define hb_subset_plan_unicode_to_old_glyph_mapping rive_hb_subset_plan_unicode_to_old_glyph_mapping
-#define hb_blob_copy_writable_or_fail rive_hb_blob_copy_writable_or_fail
-#define hb_blob_create rive_hb_blob_create
-#define hb_blob_destroy rive_hb_blob_destroy
-#define hb_blob_get_data rive_hb_blob_get_data
-#define hb_blob_get_data_writable rive_hb_blob_get_data_writable
-#define hb_blob_get_empty rive_hb_blob_get_empty
-#define hb_blob_get_user_data rive_hb_blob_get_user_data
-#define hb_blob_make_immutable rive_hb_blob_make_immutable
-#define hb_blob_reference rive_hb_blob_reference
-#define hb_blob_set_user_data rive_hb_blob_set_user_data
+#define hb_debug rive_hb_debug
 #define hb_face_builder_add_table rive_hb_face_builder_add_table
-#define hb_face_get_empty rive_hb_face_get_empty
-#define hb_face_get_glyph_count rive_hb_face_get_glyph_count
-#define hb_face_get_table_tags rive_hb_face_get_table_tags
-#define hb_face_get_upem rive_hb_face_get_upem
-#define hb_face_reference rive_hb_face_reference
-#define hb_face_reference_table rive_hb_face_reference_table
-#define hb_face_set_user_data rive_hb_face_set_user_data
-#define hb_font_create rive_hb_font_create
-#define hb_font_destroy rive_hb_font_destroy
-#define hb_font_get_empty rive_hb_font_get_empty
-#define hb_font_set_variations rive_hb_font_set_variations
-#define hb_set_create rive_hb_set_create
-#define hb_set_destroy rive_hb_set_destroy
-#define hb_set_get_empty rive_hb_set_get_empty
-#define hb_set_get_user_data rive_hb_set_get_user_data
-#define hb_set_next rive_hb_set_next
-#define hb_set_reference rive_hb_set_reference
-#define hb_set_set_user_data rive_hb_set_set_user_data
-#define hb_set_subtract rive_hb_set_subtract
-#define hb_set_union rive_hb_set_union
-#define hb_subset_or_fail rive_hb_subset_or_fail
-#define hb_subset_plan_create_or_fail rive_hb_subset_plan_create_or_fail
-#define hb_subset_plan_destroy rive_hb_subset_plan_destroy
 #define hb_subset_plan_execute_or_fail rive_hb_subset_plan_execute_or_fail
+#define hb_ucd_b4 rive_hb_ucd_b4
+#define hb_ucd_dm rive_hb_ucd_dm
+#define hb_ucd_gc rive_hb_ucd_gc
+#define hb_ucd_sc rive_hb_ucd_sc
 #define hb_ucd_u8 rive_hb_ucd_u8
+#define hb_ucd_bmg rive_hb_ucd_bmg
+#define hb_ucd_ccc rive_hb_ucd_ccc
 #define hb_ucd_i16 rive_hb_ucd_i16
 #define hb_ucd_u16 rive_hb_ucd_u16
 #define hb_ucd_sc_map rive_hb_ucd_sc_map
@@ -757,9 +1010,10 @@
 #define hb_ucd_dm1_p2_map rive_hb_ucd_dm1_p2_map
 #define hb_ucd_dm2_u32_map rive_hb_ucd_dm2_u32_map
 #define hb_ucd_dm2_u64_map rive_hb_ucd_dm2_u64_map
+#define hb_ucd_compose_hangul rive_hb_ucd_compose_hangul
+#define hb_ucd_decompose_hangul rive_hb_ucd_decompose_hangul
 #define hb_ucd_get_unicode_funcs rive_hb_ucd_get_unicode_funcs
 #define hb_unicode_funcs_create rive_hb_unicode_funcs_create
-#define hb_unicode_funcs_destroy rive_hb_unicode_funcs_destroy
 #define hb_unicode_funcs_get_empty rive_hb_unicode_funcs_get_empty
 #define hb_unicode_funcs_make_immutable rive_hb_unicode_funcs_make_immutable
 #define hb_unicode_funcs_set_combining_class_func rive_hb_unicode_funcs_set_combining_class_func
@@ -768,31 +1022,66 @@
 #define hb_unicode_funcs_set_general_category_func rive_hb_unicode_funcs_set_general_category_func
 #define hb_unicode_funcs_set_mirroring_func rive_hb_unicode_funcs_set_mirroring_func
 #define hb_unicode_funcs_set_script_func rive_hb_unicode_funcs_set_script_func
+#define hb_emoji_b1 rive_hb_emoji_b1
+#define hb_emoji_b4 rive_hb_emoji_b4
 #define hb_emoji_u8 rive_hb_emoji_u8
-#define hb_ucd_get_unicode_funcs rive_hb_ucd_get_unicode_funcs
+#define hb_emoji_is_Extended_Pictographic rive_hb_emoji_is_Extended_Pictographic
 #define hb_unicode_combining_class rive_hb_unicode_combining_class
 #define hb_unicode_compose rive_hb_unicode_compose
 #define hb_unicode_decompose rive_hb_unicode_decompose
 #define hb_unicode_decompose_compatibility rive_hb_unicode_decompose_compatibility
 #define hb_unicode_eastasian_width rive_hb_unicode_eastasian_width
-#define hb_unicode_funcs_create rive_hb_unicode_funcs_create
-#define hb_unicode_funcs_destroy rive_hb_unicode_funcs_destroy
-#define hb_unicode_funcs_get_default rive_hb_unicode_funcs_get_default
-#define hb_unicode_funcs_get_empty rive_hb_unicode_funcs_get_empty
 #define hb_unicode_funcs_get_parent rive_hb_unicode_funcs_get_parent
 #define hb_unicode_funcs_get_user_data rive_hb_unicode_funcs_get_user_data
 #define hb_unicode_funcs_is_immutable rive_hb_unicode_funcs_is_immutable
-#define hb_unicode_funcs_make_immutable rive_hb_unicode_funcs_make_immutable
-#define hb_unicode_funcs_reference rive_hb_unicode_funcs_reference
-#define hb_unicode_funcs_set_combining_class_func rive_hb_unicode_funcs_set_combining_class_func
-#define hb_unicode_funcs_set_compose_func rive_hb_unicode_funcs_set_compose_func
 #define hb_unicode_funcs_set_decompose_compatibility_func rive_hb_unicode_funcs_set_decompose_compatibility_func
-#define hb_unicode_funcs_set_decompose_func rive_hb_unicode_funcs_set_decompose_func
 #define hb_unicode_funcs_set_eastasian_width_func rive_hb_unicode_funcs_set_eastasian_width_func
-#define hb_unicode_funcs_set_general_category_func rive_hb_unicode_funcs_set_general_category_func
-#define hb_unicode_funcs_set_mirroring_func rive_hb_unicode_funcs_set_mirroring_func
-#define hb_unicode_funcs_set_script_func rive_hb_unicode_funcs_set_script_func
 #define hb_unicode_funcs_set_user_data rive_hb_unicode_funcs_set_user_data
 #define hb_unicode_general_category rive_hb_unicode_general_category
 #define hb_unicode_mirroring rive_hb_unicode_mirroring
 #define hb_unicode_script rive_hb_unicode_script
+// __hb_*
+#define _hb_CrapPool rive__hb_CrapPool
+#define _hb_NullPool rive__hb_NullPool
+#define _hb_Null_AAT_Lookup rive__hb_Null_AAT_Lookup
+#define _hb_Null_AAT_SettingName rive__hb_Null_AAT_SettingName
+#define _hb_Null_OT_RangeRecord rive__hb_Null_OT_RangeRecord
+#define _hb_Null_hb_buffer_t rive__hb_Null_hb_buffer_t
+#define _hb_Null_hb_unicode_funcs_t rive__hb_Null_hb_unicode_funcs_t
+#define _hb_options rive__hb_options
+#define _hb_Null_hb_draw_funcs_t rive__hb_Null_hb_draw_funcs_t
+#define _hb_Null_OT_CmapSubtableLongGroup rive__hb_Null_OT_CmapSubtableLongGroup
+#define _hb_Null_hb_face_t rive__hb_Null_hb_face_t
+#define _hb_ot_shaper_face_data_destroy rive__hb_ot_shaper_face_data_destroy
+#define _hb_Null_hb_font_funcs_t rive__hb_Null_hb_font_funcs_t
+#define _hb_Null_hb_font_t rive__hb_Null_hb_font_t
+#define _hb_ot_shaper_font_data_destroy rive__hb_ot_shaper_font_data_destroy
+#define _hb_Null_OT_Index rive__hb_Null_OT_Index
+#define _hb_Null_OT_LangSys rive__hb_Null_OT_LangSys
+#define _hb_modified_combining_class rive__hb_modified_combining_class
+#define _hb_ot_shape rive__hb_ot_shape
+#define _hb_ot_shaper_arabic rive__hb_ot_shaper_arabic
+#define _hb_ot_shaper_default rive__hb_ot_shaper_default
+#define _hb_ot_shaper_dumber rive__hb_ot_shaper_dumber
+#define _hb_ot_shaper_face_data_create rive__hb_ot_shaper_face_data_create
+#define _hb_ot_shaper_font_data_create rive__hb_ot_shaper_font_data_create
+#define _hb_ot_shaper_hangul rive__hb_ot_shaper_hangul
+#define _hb_ot_shaper_hebrew rive__hb_ot_shaper_hebrew
+#define _hb_ot_shaper_indic rive__hb_ot_shaper_indic
+#define _hb_ot_shaper_khmer rive__hb_ot_shaper_khmer
+#define _hb_ot_shaper_myanmar rive__hb_ot_shaper_myanmar
+#define _hb_ot_shaper_myanmar_zawgyi rive__hb_ot_shaper_myanmar_zawgyi
+#define _hb_ot_shaper_thai rive__hb_ot_shaper_thai
+#define _hb_ot_shaper_use rive__hb_ot_shaper_use
+#define _hb_Null_hb_paint_funcs_t rive__hb_Null_hb_paint_funcs_t
+#define _hb_Null_OT_ClipRecord rive__hb_Null_OT_ClipRecord
+#define _hb_Null_OT_VarIdx rive__hb_Null_OT_VarIdx
+#define _hb_subset_accelerator_user_data_key rive__hb_subset_accelerator_user_data_key
+#define lookup_expert_subset_charset_for_sid rive_lookup_expert_subset_charset_for_sid
+#define lookup_standard_encoding_for_sid rive_lookup_standard_encoding_for_sid
+#define data_destroy_arabic rive_data_destroy_arabic
+#define lookup_expert_charset_for_sid rive_lookup_expert_charset_for_sid
+#define lookup_standard_encoding_for_code rive_lookup_standard_encoding_for_code
+#define accelerator_t rive_accelerator_t
+#define lookup_expert_encoding_for_code rive_lookup_expert_encoding_for_code
+#define get_seac_components rive_get_seac_components
diff --git a/src/text/font_hb.cpp b/src/text/font_hb.cpp
index a1af534..2bb77e6 100644
--- a/src/text/font_hb.cpp
+++ b/src/text/font_hb.cpp
@@ -310,7 +310,7 @@
 rive::RawPath HBFont::getPath(rive::GlyphID glyph) const
 {
     rive::RawPath rpath;
-    hb_font_get_glyph_shape(m_font, glyph, m_drawFuncs, &rpath);
+    hb_font_draw_glyph(m_font, glyph, m_drawFuncs, &rpath);
     return rpath;
 }