[subset] use the accelerator in the subsetting benchmark.
This commit is contained in:
parent
01481db582
commit
f4903defc4
|
@ -97,6 +97,40 @@ void AddGlyphs(unsigned num_glyphs_in_font,
|
|||
}
|
||||
}
|
||||
|
||||
// Preprocess face and populate the subset accelerator on it to speed up
|
||||
// the subsetting operations.
|
||||
static hb_face_t* preprocess_face(hb_face_t* face)
|
||||
{
|
||||
hb_subset_input_t* input = hb_subset_input_create_or_fail ();
|
||||
|
||||
hb_set_clear (hb_subset_input_set(input, HB_SUBSET_SETS_UNICODE));
|
||||
hb_set_invert (hb_subset_input_set(input, HB_SUBSET_SETS_UNICODE));
|
||||
|
||||
hb_set_clear (hb_subset_input_set(input,
|
||||
HB_SUBSET_SETS_LAYOUT_FEATURE_TAG));
|
||||
hb_set_invert (hb_subset_input_set(input,
|
||||
HB_SUBSET_SETS_LAYOUT_FEATURE_TAG));
|
||||
|
||||
hb_set_clear (hb_subset_input_set(input,
|
||||
HB_SUBSET_SETS_LAYOUT_SCRIPT_TAG));
|
||||
hb_set_invert (hb_subset_input_set(input,
|
||||
HB_SUBSET_SETS_LAYOUT_SCRIPT_TAG));
|
||||
|
||||
hb_set_clear (hb_subset_input_set(input,
|
||||
HB_SUBSET_SETS_NAME_ID));
|
||||
hb_set_invert (hb_subset_input_set(input,
|
||||
HB_SUBSET_SETS_NAME_ID));
|
||||
|
||||
hb_subset_input_set_flags(input,
|
||||
HB_SUBSET_FLAGS_ADD_ACCELERATOR_DATA);
|
||||
|
||||
hb_face_t* subset = hb_subset_or_fail (face, input);
|
||||
hb_face_destroy (face);
|
||||
hb_subset_input_destroy (input);
|
||||
|
||||
return subset;
|
||||
}
|
||||
|
||||
/* benchmark for subsetting a font */
|
||||
static void BM_subset (benchmark::State &state,
|
||||
operation_t operation,
|
||||
|
@ -110,6 +144,8 @@ static void BM_subset (benchmark::State &state,
|
|||
assert (blob);
|
||||
face = hb_face_create (blob, 0);
|
||||
hb_blob_destroy (blob);
|
||||
|
||||
face = preprocess_face (face);
|
||||
}
|
||||
|
||||
hb_subset_input_t* input = hb_subset_input_create_or_fail ();
|
||||
|
|
|
@ -98,8 +98,8 @@ typedef enum { /*< flags >*/
|
|||
HB_SUBSET_FLAGS_GLYPH_NAMES = 0x00000080u,
|
||||
HB_SUBSET_FLAGS_NO_PRUNE_UNICODE_RANGES = 0x00000100u,
|
||||
HB_SUBSET_FLAGS_ADD_ACCELERATOR_DATA = 0x00000200u,
|
||||
HB_SUBSET_FLAGS_PATCH_MODE = 0x00000400u,
|
||||
HB_SUBSET_FLAGS_OMIT_GLYF = 0x00000800u,
|
||||
// Not supported yet: HB_SUBSET_FLAGS_PATCH_MODE = 0x00000400u,
|
||||
// Not supported yet: HB_SUBSET_FLAGS_OMIT_GLYF = 0x00000800u,
|
||||
} hb_subset_flags_t;
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue