[hb-shape] Add --safe-to-insert-kashida flag

https://github.com/harfbuzz/harfbuzz/pull/3762
This commit is contained in:
Behdad Esfahbod 2022-07-30 10:12:24 -06:00
parent d277addb2f
commit 4f09ea5e6b
1 changed files with 3 additions and 0 deletions

View File

@ -53,6 +53,7 @@ struct shape_options_t
(eot ? HB_BUFFER_FLAG_EOT : 0) | (eot ? HB_BUFFER_FLAG_EOT : 0) |
(verify ? HB_BUFFER_FLAG_VERIFY : 0) | (verify ? HB_BUFFER_FLAG_VERIFY : 0) |
(unsafe_to_concat ? HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT : 0) | (unsafe_to_concat ? HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT : 0) |
(safe_to_insert_kashida ? HB_BUFFER_FLAG_PRODUCE_SAFE_TO_INSERT_KASHIDA : 0) |
(preserve_default_ignorables ? HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES : 0) | (preserve_default_ignorables ? HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES : 0) |
(remove_default_ignorables ? HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES : 0) | (remove_default_ignorables ? HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES : 0) |
0)); 0));
@ -139,6 +140,7 @@ struct shape_options_t
hb_bool_t normalize_glyphs = false; hb_bool_t normalize_glyphs = false;
hb_bool_t verify = false; hb_bool_t verify = false;
hb_bool_t unsafe_to_concat = false; hb_bool_t unsafe_to_concat = false;
hb_bool_t safe_to_insert_kashida = false;
unsigned int num_iterations = 1; unsigned int num_iterations = 1;
}; };
@ -263,6 +265,7 @@ shape_options_t::add_options (option_parser_t *parser)
{"cluster-level", 0, 0, G_OPTION_ARG_INT, &this->cluster_level, "Cluster merging level (default: 0)", "0/1/2"}, {"cluster-level", 0, 0, G_OPTION_ARG_INT, &this->cluster_level, "Cluster merging level (default: 0)", "0/1/2"},
{"normalize-glyphs",0, 0, G_OPTION_ARG_NONE, &this->normalize_glyphs, "Rearrange glyph clusters in nominal order", nullptr}, {"normalize-glyphs",0, 0, G_OPTION_ARG_NONE, &this->normalize_glyphs, "Rearrange glyph clusters in nominal order", nullptr},
{"unsafe-to-concat",0, 0, G_OPTION_ARG_NONE, &this->unsafe_to_concat, "Produce unsafe-to-concat glyph flag", nullptr}, {"unsafe-to-concat",0, 0, G_OPTION_ARG_NONE, &this->unsafe_to_concat, "Produce unsafe-to-concat glyph flag", nullptr},
{"safe-to-insert-kashida",0, 0, G_OPTION_ARG_NONE, &this->safe_to_insert_kashida, "Produce safe-to-insert-kashida glyph flag", nullptr},
{"verify", 0, 0, G_OPTION_ARG_NONE, &this->verify, "Perform sanity checks on shaping results", nullptr}, {"verify", 0, 0, G_OPTION_ARG_NONE, &this->verify, "Perform sanity checks on shaping results", nullptr},
{"num-iterations", 'n', G_OPTION_FLAG_IN_MAIN, {"num-iterations", 'n', G_OPTION_FLAG_IN_MAIN,
G_OPTION_ARG_INT, &this->num_iterations, "Run shaper N times (default: 1)", "N"}, G_OPTION_ARG_INT, &this->num_iterations, "Run shaper N times (default: 1)", "N"},