added hb_subset_input_set_desubroutinize API
hooked up with CFF1 subroutinizer a renaming
This commit is contained in:
parent
b1d0c58915
commit
6186dbf1be
|
@ -419,7 +419,7 @@ struct ParsedCStr : ParsedValues<ParsedCSOp>
|
||||||
SUPER::add_op (op, substr);
|
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 ())
|
if (!is_parsed ())
|
||||||
{
|
{
|
||||||
|
|
|
@ -392,7 +392,7 @@ struct CFF1CSOpSet_SubrSubset : CFF1CSOpSet<CFF1CSOpSet_SubrSubset, SubrSubsetPa
|
||||||
{
|
{
|
||||||
SubByteStr substr = env.substr;
|
SubByteStr substr = env.substr;
|
||||||
env.callSubr (subrs, type);
|
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);
|
hb_set_add (closure, env.context.subr_num);
|
||||||
param.set_current_str (env);
|
param.set_current_str (env);
|
||||||
}
|
}
|
||||||
|
@ -592,7 +592,7 @@ struct cff_subset_plan {
|
||||||
num_glyphs = plan->glyphs.len;
|
num_glyphs = plan->glyphs.len;
|
||||||
orig_fdcount = acc.fdCount;
|
orig_fdcount = acc.fdCount;
|
||||||
drop_hints = plan->drop_hints;
|
drop_hints = plan->drop_hints;
|
||||||
desubroutinize = true; // plan->desubroutinize;
|
desubroutinize = plan->desubroutinize;
|
||||||
|
|
||||||
/* check whether the subset renumbers any glyph IDs */
|
/* check whether the subset renumbers any glyph IDs */
|
||||||
gid_renum = false;
|
gid_renum = false;
|
||||||
|
|
|
@ -131,3 +131,16 @@ hb_subset_input_get_drop_layout (hb_subset_input_t *subset_input)
|
||||||
{
|
{
|
||||||
return subset_input->drop_layout;
|
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;
|
||||||
|
}
|
||||||
|
|
|
@ -66,6 +66,11 @@ hb_subset_input_set_drop_layout (hb_subset_input_t *subset_input,
|
||||||
HB_EXTERN hb_bool_t
|
HB_EXTERN hb_bool_t
|
||||||
hb_subset_input_get_drop_layout (hb_subset_input_t *subset_input);
|
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_subset() */
|
||||||
HB_EXTERN hb_face_t *
|
HB_EXTERN hb_face_t *
|
||||||
|
|
|
@ -90,6 +90,7 @@ struct subset_consumer_t
|
||||||
void finish (const font_options_t *font_opts)
|
void finish (const font_options_t *font_opts)
|
||||||
{
|
{
|
||||||
hb_subset_input_set_drop_hints (input, subset_options.drop_hints);
|
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);
|
hb_face_t *face = hb_font_get_face (font);
|
||||||
|
|
||||||
|
|
|
@ -970,7 +970,7 @@ subset_options_t::add_options (option_parser_t *parser)
|
||||||
GOptionEntry entries[] =
|
GOptionEntry entries[] =
|
||||||
{
|
{
|
||||||
{"no-hinting", 0, 0, G_OPTION_ARG_NONE, &this->drop_hints, "Whether to drop hints", nullptr},
|
{"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}
|
{nullptr}
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue