added hb_subset_input_set_desubroutinize API
hooked up with CFF1 subroutinizer
a renaming
diff --git a/src/hb-subset-cff-common.hh b/src/hb-subset-cff-common.hh
index 6debb85..944d5e9 100644
--- a/src/hb-subset-cff-common.hh
+++ b/src/hb-subset-cff-common.hh
@@ -419,7 +419,7 @@
SUPER::add_op (op, substr);
}
- inline void addCallOp (OpCode op, const SubByteStr& substr, unsigned int subr_num)
+ inline void add_call_op (OpCode op, const SubByteStr& substr, unsigned int subr_num)
{
if (!is_parsed ())
{
diff --git a/src/hb-subset-cff1.cc b/src/hb-subset-cff1.cc
index baac977..414642f 100644
--- a/src/hb-subset-cff1.cc
+++ b/src/hb-subset-cff1.cc
@@ -392,7 +392,7 @@
{
SubByteStr substr = env.substr;
env.callSubr (subrs, type);
- param.current_parsed_str->addCallOp (op, substr, env.context.subr_num);
+ param.current_parsed_str->add_call_op (op, substr, env.context.subr_num);
hb_set_add (closure, env.context.subr_num);
param.set_current_str (env);
}
@@ -592,7 +592,7 @@
num_glyphs = plan->glyphs.len;
orig_fdcount = acc.fdCount;
drop_hints = plan->drop_hints;
- desubroutinize = true; // plan->desubroutinize;
+ desubroutinize = plan->desubroutinize;
/* check whether the subset renumbers any glyph IDs */
gid_renum = false;
diff --git a/src/hb-subset-input.cc b/src/hb-subset-input.cc
index d59b5ba..01710f2 100644
--- a/src/hb-subset-input.cc
+++ b/src/hb-subset-input.cc
@@ -131,3 +131,16 @@
{
return subset_input->drop_layout;
}
+
+HB_EXTERN void
+hb_subset_input_set_desubroutinize (hb_subset_input_t *subset_input,
+ hb_bool_t desubroutinize)
+{
+ subset_input->desubroutinize = desubroutinize;
+}
+
+HB_EXTERN hb_bool_t
+hb_subset_input_get_desubroutinize (hb_subset_input_t *subset_input)
+{
+ return subset_input->desubroutinize;
+}
diff --git a/src/hb-subset.h b/src/hb-subset.h
index 8b07a45..ff4dccc 100644
--- a/src/hb-subset.h
+++ b/src/hb-subset.h
@@ -66,6 +66,11 @@
HB_EXTERN hb_bool_t
hb_subset_input_get_drop_layout (hb_subset_input_t *subset_input);
+HB_EXTERN void
+hb_subset_input_set_desubroutinize (hb_subset_input_t *subset_input,
+ hb_bool_t desubroutinize);
+HB_EXTERN hb_bool_t
+hb_subset_input_get_desubroutinize (hb_subset_input_t *subset_input);
/* hb_subset() */
HB_EXTERN hb_face_t *
diff --git a/util/hb-subset.cc b/util/hb-subset.cc
index 3f0963c..202d15a 100644
--- a/util/hb-subset.cc
+++ b/util/hb-subset.cc
@@ -90,6 +90,7 @@
void finish (const font_options_t *font_opts)
{
hb_subset_input_set_drop_hints (input, subset_options.drop_hints);
+ hb_subset_input_set_desubroutinize (input, subset_options.desubroutinize);
hb_face_t *face = hb_font_get_face (font);
diff --git a/util/options.cc b/util/options.cc
index e52d63b..e185e24 100644
--- a/util/options.cc
+++ b/util/options.cc
@@ -970,7 +970,7 @@
GOptionEntry entries[] =
{
{"no-hinting", 0, 0, G_OPTION_ARG_NONE, &this->drop_hints, "Whether to drop hints", nullptr},
- {"desubroutinize", 0, 0, G_OPTION_ARG_NONE, &this->desubroutinize, "Remove CFF/CFF2 use of subroutinizes", nullptr},
+ {"desubroutinize", 0, 0, G_OPTION_ARG_NONE, &this->desubroutinize, "Remove CFF/CFF2 use of subroutines", nullptr},
{nullptr}
};