[subset] Add drop_ot_layout setting to subset input.
This commit is contained in:
parent
57badadb76
commit
a5673da9be
|
@ -45,6 +45,7 @@ hb_subset_input_create_or_fail (void)
|
||||||
|
|
||||||
input->unicodes = hb_set_create ();
|
input->unicodes = hb_set_create ();
|
||||||
input->glyphs = hb_set_create ();
|
input->glyphs = hb_set_create ();
|
||||||
|
input->drop_ot_layout = true;
|
||||||
|
|
||||||
return input;
|
return input;
|
||||||
}
|
}
|
||||||
|
@ -117,3 +118,19 @@ hb_subset_input_drop_hints (hb_subset_input_t *subset_input)
|
||||||
{
|
{
|
||||||
return &subset_input->drop_hints;
|
return &subset_input->drop_hints;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* hb_subset_input_drop_ot_layout:
|
||||||
|
* @subset_input: a subset_input.
|
||||||
|
*
|
||||||
|
* If enabled ot layout tables will be dropped as part of
|
||||||
|
* the subsetting operation. Currently this defaults to
|
||||||
|
* true.
|
||||||
|
*
|
||||||
|
* Since: 1.8.0
|
||||||
|
**/
|
||||||
|
HB_EXTERN hb_bool_t *
|
||||||
|
hb_subset_input_drop_ot_layout (hb_subset_input_t *subset_input)
|
||||||
|
{
|
||||||
|
return &subset_input->drop_ot_layout;
|
||||||
|
}
|
||||||
|
|
|
@ -131,6 +131,7 @@ hb_subset_plan_create (hb_face_t *face,
|
||||||
hb_subset_plan_t *plan = hb_object_create<hb_subset_plan_t> ();
|
hb_subset_plan_t *plan = hb_object_create<hb_subset_plan_t> ();
|
||||||
|
|
||||||
plan->drop_hints = input->drop_hints;
|
plan->drop_hints = input->drop_hints;
|
||||||
|
plan->drop_ot_layout = input->drop_ot_layout;
|
||||||
plan->unicodes = hb_set_create();
|
plan->unicodes = hb_set_create();
|
||||||
plan->glyphs.init();
|
plan->glyphs.init();
|
||||||
plan->source = hb_face_reference (face);
|
plan->source = hb_face_reference (face);
|
||||||
|
|
|
@ -41,6 +41,7 @@ struct hb_subset_plan_t
|
||||||
ASSERT_POD ();
|
ASSERT_POD ();
|
||||||
|
|
||||||
hb_bool_t drop_hints;
|
hb_bool_t drop_hints;
|
||||||
|
hb_bool_t drop_ot_layout;
|
||||||
|
|
||||||
// For each cp that we'd like to retain maps to the corresponding gid.
|
// For each cp that we'd like to retain maps to the corresponding gid.
|
||||||
hb_set_t *unicodes;
|
hb_set_t *unicodes;
|
||||||
|
|
|
@ -44,6 +44,7 @@ struct hb_subset_input_t {
|
||||||
hb_set_t *glyphs;
|
hb_set_t *glyphs;
|
||||||
|
|
||||||
hb_bool_t drop_hints;
|
hb_bool_t drop_hints;
|
||||||
|
hb_bool_t drop_ot_layout;
|
||||||
/* TODO
|
/* TODO
|
||||||
*
|
*
|
||||||
* features
|
* features
|
||||||
|
|
|
@ -302,10 +302,11 @@ _should_drop_table(hb_subset_plan_t *plan, hb_tag_t tag)
|
||||||
case HB_TAG ('h', 'd', 'm', 'x'): /* hint table, fallthrough */
|
case HB_TAG ('h', 'd', 'm', 'x'): /* hint table, fallthrough */
|
||||||
case HB_TAG ('V', 'D', 'M', 'X'): /* hint table, fallthrough */
|
case HB_TAG ('V', 'D', 'M', 'X'): /* hint table, fallthrough */
|
||||||
return plan->drop_hints;
|
return plan->drop_hints;
|
||||||
// Drop Layout Tables until subsetting is supported.
|
// Drop Layout Tables if requested.
|
||||||
case HB_TAG ('G', 'D', 'E', 'F'): /* temporary */
|
case HB_TAG ('G', 'D', 'E', 'F'): /* temporary */
|
||||||
case HB_TAG ('G', 'P', 'O', 'S'): /* temporary */
|
case HB_TAG ('G', 'P', 'O', 'S'): /* temporary */
|
||||||
case HB_TAG ('G', 'S', 'U', 'B'): /* temporary */
|
case HB_TAG ('G', 'S', 'U', 'B'): /* temporary */
|
||||||
|
return plan->drop_ot_layout;
|
||||||
// Drop these tables below by default, list pulled
|
// Drop these tables below by default, list pulled
|
||||||
// from fontTools:
|
// from fontTools:
|
||||||
case HB_TAG ('B', 'A', 'S', 'E'):
|
case HB_TAG ('B', 'A', 'S', 'E'):
|
||||||
|
|
|
@ -71,6 +71,9 @@ hb_subset_input_glyph_set (hb_subset_input_t *subset_input);
|
||||||
HB_EXTERN hb_bool_t *
|
HB_EXTERN hb_bool_t *
|
||||||
hb_subset_input_drop_hints (hb_subset_input_t *subset_input);
|
hb_subset_input_drop_hints (hb_subset_input_t *subset_input);
|
||||||
|
|
||||||
|
HB_EXTERN hb_bool_t *
|
||||||
|
hb_subset_input_drop_ot_layout (hb_subset_input_t *subset_input);
|
||||||
|
|
||||||
/* hb_subset() */
|
/* hb_subset() */
|
||||||
HB_EXTERN hb_face_t *
|
HB_EXTERN hb_face_t *
|
||||||
hb_subset (hb_face_t *source,
|
hb_subset (hb_face_t *source,
|
||||||
|
|
Loading…
Reference in New Issue