[repacker] Promote repacking API to stable.

For #227.
pull/4988/head
Garret Rieger 1 month ago committed by Behdad Esfahbod
parent 1abc8d2f37
commit 5a6f5922dd
  1. 2
      docs/harfbuzz-sections.txt
  2. 1
      src/gen-def.py
  3. 6
      src/hb-serialize.hh
  4. 6
      src/hb-subset-repacker.cc
  5. 2
      src/hb-subset-repacker.h
  6. 31
      test/fuzzing/meson.build

@ -917,10 +917,10 @@ hb_subset_flags_t
hb_subset_input_t
hb_subset_sets_t
hb_subset_plan_t
<SUBSECTION Private>
hb_link_t
hb_object_t
hb_subset_repack_or_fail
<SUBSECTION Private>
hb_subset_input_override_name_table
</SECTION>

@ -20,7 +20,6 @@ if '--experimental-api' not in sys.argv:
# Move these to harfbuzz-sections.txt when got stable
experimental_symbols = \
"""hb_shape_justify
hb_subset_repack_or_fail
hb_subset_input_override_name_table
""".splitlines ()
symbols = [x for x in symbols if x not in experimental_symbols]

@ -36,9 +36,7 @@
#include "hb-map.hh"
#include "hb-pool.hh"
#ifdef HB_EXPERIMENTAL_API
#include "hb-subset-repacker.h"
#endif
/*
* Serialize
@ -75,7 +73,6 @@ struct hb_serialize_context_t
object_t () = default;
#ifdef HB_EXPERIMENTAL_API
object_t (const hb_object_t &o)
{
head = o.head;
@ -89,7 +86,6 @@ struct hb_serialize_context_t
for (unsigned i = 0; i < o.num_virtual_links; i++)
virtual_links.push (o.virtual_links[i]);
}
#endif
bool add_virtual_link (objidx_t objidx)
{
@ -148,7 +144,6 @@ struct hb_serialize_context_t
link_t () = default;
#ifdef HB_EXPERIMENTAL_API
link_t (const hb_link_t &o)
{
width = o.width;
@ -158,7 +153,6 @@ struct hb_serialize_context_t
bias = 0;
objidx = o.objidx;
}
#endif
HB_INTERNAL static int cmp (const void* a, const void* b)
{

@ -22,10 +22,9 @@
* PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
*
*/
#include "hb-subset-repacker.h"
#include "hb-repacker.hh"
#ifdef HB_EXPERIMENTAL_API
/**
* hb_subset_repack_or_fail:
* @table_tag: tag of the table being packed, needed to allow table specific optimizations.
@ -38,7 +37,7 @@
* Table specific optimizations (eg. extension promotion in GSUB/GPOS) may be performed.
* Passing HB_TAG_NONE will disable table specific optimizations.
*
* XSince: EXPERIMENTAL
* XSince: REPLACEME
**/
hb_blob_t* hb_subset_repack_or_fail (hb_tag_t table_tag,
hb_object_t* hb_objects,
@ -55,4 +54,3 @@ hb_blob_t* hb_subset_repack_or_fail (hb_tag_t table_tag,
20,
true);
}
#endif

@ -30,7 +30,6 @@
HB_BEGIN_DECLS
#ifdef HB_EXPERIMENTAL_API
/*
* struct hb_link_t
* width: offsetSize in bytes
@ -74,7 +73,6 @@ hb_subset_repack_or_fail (hb_tag_t table_tag,
hb_object_t* hb_objects,
unsigned num_hb_objs);
#endif
HB_END_DECLS

@ -3,12 +3,9 @@ tests = [
'hb-subset-fuzzer.cc',
'hb-set-fuzzer.cc',
'hb-draw-fuzzer.cc',
'hb-repacker-fuzzer.cc',
]
if get_option('experimental_api')
tests += 'hb-repacker-fuzzer.cc'
endif
foreach file_name : tests
test_name = file_name.split('.')[0]
@ -63,19 +60,19 @@ test('subset_fuzzer', find_program('run-subset-fuzzer-tests.py'),
suite: ['fuzzing', 'slow'],
)
if get_option('experimental_api')
test('repacker_fuzzer', find_program('run-repacker-fuzzer-tests.py'),
args: [
hb_repacker_fuzzer_exe,
],
# as the tests are ran concurrently let's raise acceptable time here
# ideally better to break and let meson handles them in parallel
timeout: 300,
workdir: meson.current_build_dir() / '..' / '..',
env: env,
suite: ['fuzzing', 'slow'],
)
endif
test('repacker_fuzzer', find_program('run-repacker-fuzzer-tests.py'),
args: [
hb_repacker_fuzzer_exe,
],
# as the tests are ran concurrently let's raise acceptable time here
# ideally better to break and let meson handles them in parallel
timeout: 300,
workdir: meson.current_build_dir() / '..' / '..',
env: env,
suite: ['fuzzing', 'slow'],
)
test('draw_fuzzer', find_program('run-draw-fuzzer-tests.py'),
args: [

Loading…
Cancel
Save