Commit Graph

12292 Commits

Author SHA1 Message Date
Behdad Esfahbod 7620da0f2b
Merge pull request #3142 from harfbuzz/subset-preload-face
[util/hb-subset] preload face
2021-08-12 14:55:33 -06:00
Garret Rieger c0f3af91b8 [subset] speed up add_gid_and_children and adjust op limit.
Fix for fuzzer timeout: https://oss-fuzz.com/testcase-detail/5001604901240832.

- Operation limit is per glyph, so 100,000 should still be far more than needed.
- Switches from for(...) to while(...) loop for iteration. for(...) calls it.end() which in this case triggers a complete iteration.
- Cache CompositeGlyph size in the iterator to avoid needing to recalculate it.
2021-08-12 14:50:42 -06:00
Behdad Esfahbod ccc2a1921a [util/hb-subset] Whitespace 2021-08-12 13:00:28 -06:00
Behdad Esfahbod 4dfc668e0a [util/hb-subset] Move glyph name parsing inline instead of post_parse
Now that we have face around we can just do it as it happens.
2021-08-12 13:00:28 -06:00
Behdad Esfahbod 08d43d1ba1 [util/hb-subset] Move add_all_unicodes inline, instead of post_parse
Now that we have the font loaded, we can do it as it happens.
2021-08-12 13:00:28 -06:00
Behdad Esfahbod 11b0b68853 [util/hb-subset] Pre-parse font-face so we can use it during main parsing 2021-08-12 13:00:28 -06:00
Behdad Esfahbod c45d2a9c9d [util] Allow setting cli summary / description 2021-08-12 11:19:59 -06:00
Behdad Esfahbod 4f3b7b7035 [util] Remove unused usage 2021-08-12 11:05:31 -06:00
Behdad Esfahbod 1cb621d35d [util/hb-subset] Minor move parsing 2021-08-12 10:58:19 -06:00
Behdad Esfahbod 3f94177ee8 [util] Use g_set_error() in one more place 2021-08-12 10:43:31 -06:00
Behdad Esfahbod 4d73b3d9b1 [util] Add --batch to hb-view / hb-ot-shape-closure 2021-08-12 10:39:46 -06:00
Behdad Esfahbod 302bde0bfb
Merge pull request #3135 from harfbuzz/post-parse
[util] Clean up option parsing some more and implement missing featuress
2021-08-11 23:05:11 -06:00
Behdad Esfahbod 23282c9c9d [util/hb-subset] Support ranges in --unicodes / --unicodes-file
Fixes https://github.com/harfbuzz/harfbuzz/issues/3109
2021-08-11 22:49:47 -06:00
Behdad Esfahbod f60f005b1f [util/hb-subset] Remove wrong hb_set_destroy() in error paths 2021-08-11 22:36:00 -06:00
Behdad Esfahbod 49cf36027c [util/hb-subset] Parse --gids-file, --glyphs-file, --text-file, --unicodes-file
Fixes https://github.com/harfbuzz/harfbuzz/issues/2455
Fixes https://github.com/harfbuzz/harfbuzz/issues/3002
2021-08-11 22:34:14 -06:00
Behdad Esfahbod bf80b7ea45 [util/hb-subset] Add --glyphs for passing glyph names
Part of https://github.com/harfbuzz/harfbuzz/issues/2455
2021-08-11 22:07:45 -06:00
Behdad Esfahbod 5b07c3c7d0 [util/hb-subset] Parse --text & --unicodes 2021-08-11 21:32:28 -06:00
Behdad Esfahbod 4ec727e55f [util] Minor edit of failure messages 2021-08-11 20:46:16 -06:00
Behdad Esfahbod b83f25c749 [util/hb-subset] Revamp option groups 2021-08-11 20:42:20 -06:00
Behdad Esfahbod 9a6055caa8 [util/hb-ot-shape-closure] Remove unnecessary include 2021-08-11 20:30:25 -06:00
Behdad Esfahbod c98773ebb0 [util/hb-subset] Move output-file validation code into post_parse 2021-08-11 20:22:03 -06:00
Behdad Esfahbod 58bfe40794 [util] Move hb-subset away from main-font-text 2021-08-11 20:12:36 -06:00
Behdad Esfahbod 3147e081da Merge branch 'main' into post-parse 2021-08-11 19:33:00 -06:00
Khaled Hosny 43722cc9f4 [test] Add some real reverse sub tests 2021-08-11 19:30:16 -06:00
Behdad Esfahbod ba418cfc52 [util] Use automatic casts 2021-08-11 19:29:07 -06:00
Behdad Esfahbod 97a9e4e41e [util] Separate shape_text_options_t from text_options_t 2021-08-11 19:28:16 -06:00
Behdad Esfahbod 6ba7ddafed [util] Move text-file opening to post_parse 2021-08-11 19:06:57 -06:00
Behdad Esfahbod 23298bc846 [util] Remove unnecessary check 2021-08-11 18:58:25 -06:00
Behdad Esfahbod fd0778aa2a [util] Use post_parse in output_options_t 2021-08-11 18:54:46 -06:00
Behdad Esfahbod 24a9d8c78d [util] Use post_parse in font_options_t 2021-08-11 18:49:59 -06:00
Behdad Esfahbod e0d7060f80 [test] Rename shaping/ to shape/ 2021-08-11 18:49:59 -06:00
Behdad Esfahbod e4b33d9d36 [util] Use post_parse in face_options_t 2021-08-11 18:49:58 -06:00
Behdad Esfahbod c0ea4e2d33 [util] Use post_parse to validate 2021-08-11 18:30:08 -06:00
Khaled Hosny f122698810 [test] Improve generate-expected-outputs.py diff output 2021-08-12 02:02:10 +02:00
Behdad Esfahbod 9468e46998 [util] Rename main_font_text back to main_font_text_t 2021-08-11 16:46:04 -06:00
Khaled Hosny 6ac6a2b27b [test] hb_ot_layout_language_get_feature_tags() 2021-08-11 16:33:37 -06:00
Khaled Hosny e9b743b26d [test] hb_ot_layout_script_get_language_tags() 2021-08-11 16:33:37 -06:00
Khaled Hosny bf438b815f [test] hb_ot_layout_table_get_feature_tags() 2021-08-11 16:33:37 -06:00
Khaled Hosny 2f88ea5a20 [test] hb_ot_layout_table_find_script() 2021-08-11 16:33:37 -06:00
Khaled Hosny f60caad7ff [test] hb_ot_layout_table_get_script_tags() 2021-08-11 16:33:37 -06:00
Behdad Esfahbod 7e4fcf1be8 [util] Rename add_main_options 2021-08-11 12:12:49 -06:00
Behdad Esfahbod 62fb102184 [util] Move add_main_options() invocation 2021-08-11 12:03:07 -06:00
Behdad Esfahbod 9d8bbe3e53 [util] Make main_font_text a struct again
Going to move to G_OPTION_REMAINING.
2021-08-11 11:53:32 -06:00
Behdad Esfahbod 5bd463f130 [util/hb-subset] Access input directly 2021-08-10 14:26:48 -06:00
Behdad Esfahbod 6905f6fa60 [util/hb-subset] Use templated function to parse flags directly 2021-08-10 14:24:42 -06:00
Behdad Esfahbod 3e3e1801a5 [util] Small tweaks in --help output 2021-08-10 14:24:42 -06:00
Garret Rieger c08f1b8903 [map] fix incorrect population count in hash map.
If the same key was set twice the population was being incorrectly incremented.
2021-08-10 14:00:55 -06:00
Garret Rieger e39c3bde7b [subset] fix bug in parsing glyf flags.
the bytes of the flag stream were being treated as signed integers instead of unsigned as specified in the spec.
2021-08-10 12:57:07 -06:00
Behdad Esfahbod f5a8f747ff
Merge pull request #3132 from harfbuzz/semicolon
Use semicolon in shaping test suite
2021-08-10 11:21:08 -06:00
Behdad Esfahbod f3acb977ec [test/shaping;util] Use ';' instead of ':' to separate test fields
Accept that in --batch mode. Also in batch mode don't send the 0th arg.

Related discussion: https://github.com/harfbuzz/harfbuzz/pull/3102
2021-08-10 11:08:36 -06:00