[subset] Add retain-gids option to hb-subset executable.
authorGarret Rieger <grieger@google.com>
Tue, 29 Jan 2019 01:43:42 +0000 (17:43 -0800)
committerGarret Rieger <grieger@google.com>
Tue, 29 Jan 2019 21:19:21 +0000 (13:19 -0800)
util/hb-subset.cc
util/options.cc
util/options.hh

index b7d9eb9..33e584b 100644 (file)
@@ -91,6 +91,7 @@ struct subset_consumer_t
   {
     hb_subset_input_set_drop_layout (input, !subset_options.keep_layout);
     hb_subset_input_set_drop_hints (input, subset_options.drop_hints);
+    hb_subset_input_set_retain_gids (input, subset_options.retain_gids);
     hb_subset_input_set_desubroutinize (input, subset_options.desubroutinize);
 
     hb_face_t *face = hb_font_get_face (font);
index 04ddcf6..b315c6a 100644 (file)
@@ -977,6 +977,7 @@ subset_options_t::add_options (option_parser_t *parser)
   {
     {"layout", 0, 0, G_OPTION_ARG_NONE,  &this->keep_layout,   "Keep OpenType Layout tables",   nullptr},
     {"no-hinting", 0, 0, G_OPTION_ARG_NONE,  &this->drop_hints,   "Whether to drop hints",   nullptr},
+    {"retain-gids", 0, 0, G_OPTION_ARG_NONE,  &this->retain_gids,   "If set don't renumber glyph ids in the subset.",   nullptr},
     {"desubroutinize", 0, 0, G_OPTION_ARG_NONE,  &this->desubroutinize,   "Remove CFF/CFF2 use of subroutines",   nullptr},
 
     {nullptr}
index e846258..84139f5 100644 (file)
@@ -675,6 +675,7 @@ struct subset_options_t : option_group_t
   {
     keep_layout = false;
     drop_hints = false;
+    retain_gids = false;
     desubroutinize = false;
 
     add_options (parser);
@@ -684,6 +685,7 @@ struct subset_options_t : option_group_t
 
   hb_bool_t keep_layout;
   hb_bool_t drop_hints;
+  hb_bool_t retain_gids;
   hb_bool_t desubroutinize;
 };