Behdad Esfahbod
9db0fd4821
[util] Don't show --output-format if no supported formats provided
2021-08-07 12:22:17 -06:00
Behdad Esfahbod
5545eea7e5
[util] Remove main_font_text_t class, use bare function
2021-08-07 11:04:46 -06:00
Behdad Esfahbod
58c223357b
[util] Move face/font options into face/font-options.hh
2021-08-06 23:47:48 -06:00
Behdad Esfahbod
6edd50ae7f
[util] Move option_parser_t code into options.hh
2021-08-06 23:36:45 -06:00
Behdad Esfahbod
798bb89c96
[util] Move shape format options into shape-format.hh
2021-08-06 23:30:55 -06:00
Behdad Esfahbod
c3599fded7
[util] Move shape options into shape-options.hh
2021-08-06 23:24:28 -06:00
Behdad Esfahbod
cfb2d6ad9e
[util] Move view options into view-options.hh
2021-08-06 23:14:30 -06:00
Behdad Esfahbod
167f58a2ca
[util] Move subset options into subset-options.hh
2021-08-06 23:10:49 -06:00
Behdad Esfahbod
370e961faf
[util/hb-subset] Use hb-subset.h public API instead of poking inside
...
Oops.
2021-08-06 22:59:50 -06:00
Behdad Esfahbod
4e97678ebb
[util] Use inheritence to embed inherent options of objects
2021-08-06 22:53:44 -06:00
Behdad Esfahbod
06d661803c
[util] Fix compiler error
...
../util/options.cc:588:3: error: narrowing conversion of ‘font_size_flags’ from ‘unsigned int’ to ‘gint {aka int}’ inside { } [-Werror=narrowing]
2021-08-06 19:20:47 -06:00
Behdad Esfahbod
c5337c43e9
[util] Fold helper-cairo.cc into helper-cairo.hh
2021-08-06 19:19:50 -06:00
Behdad Esfahbod
c329ce1000
[util] Also hide ppem settings in hb-ot-shape-closure
...
Leaving ptem, as that can in theory change shape closure if we apply it
to optical-size axis (we currently don't).
2021-08-06 19:17:12 -06:00
Behdad Esfahbod
c40e00796c
[util] Fold helper-cairo-ansi.cc into helper-cairo-ansi.hh
2021-08-06 19:17:12 -06:00
Behdad Esfahbod
4fe43ccbf1
[util] Fold ansi-print.cc into ansi-print.hh
2021-08-06 19:17:12 -06:00
Behdad Esfahbod
b1db0e4a0f
[util] Fold view-cairo.cc into view-cairo.hh
2021-08-06 19:17:12 -06:00
Behdad Esfahbod
6500f68f1f
[util] Change hb-subset to use face_options_t instead of font_options_t
2021-08-06 19:17:12 -06:00
Behdad Esfahbod
869e20e09f
[util] separate face options from font options
2021-08-06 19:17:12 -06:00
Behdad Esfahbod
b3a2f2bfcf
[util/main-font-text] Simplify
2021-08-06 19:17:12 -06:00
Behdad Esfahbod
71440dbd90
[util] Move font-size and upem to be extern variables
2021-08-06 19:17:12 -06:00
Behdad Esfahbod
fc0339eef0
[util] Simplify shape-consumer by removing buffer arg
2021-08-06 19:17:12 -06:00
Behdad Esfahbod
e014c6fa2d
[util/main-font-text] Move eol from template arg to main() arg
2021-08-06 19:17:12 -06:00
Behdad Esfahbod
463411a1de
[util] Remove unused option_group_t
2021-08-06 19:17:12 -06:00
Behdad Esfahbod
8588173ee6
[util] Rework post_parse() handling
2021-08-06 19:17:12 -06:00
Behdad Esfahbod
3362b48f5a
[util] Templatize add_group logic
2021-08-06 19:17:12 -06:00
Behdad Esfahbod
fe90fbeba3
[util] Remove unused pre_parse callback logic
2021-08-06 19:17:12 -06:00
Behdad Esfahbod
09e4d7dd30
[util] Simplify output_options_t
2021-08-06 19:17:12 -06:00
Behdad Esfahbod
e109f9a6f9
[util] Collect cmdline arg options outside of constructor
2021-08-06 19:17:12 -06:00
Behdad Esfahbod
e57dd66889
[util] Initialize struct members inline
2021-08-06 19:17:12 -06:00
Behdad Esfahbod
21f1054d47
[util/hb-subset] Keep face around instead of font
2021-08-06 19:17:12 -06:00
Garret Rieger
8c0c217b5a
[subset] fail reference blob in face builder if allocation for table sorting fails.
...
Fixes https://oss-fuzz.com/testcase-detail/5041767803125760
2021-08-06 15:54:41 -06:00
Garret Rieger
e5bfd49ae5
[subset] don't allow table adds for tag == -1.
2021-08-05 17:49:37 -06:00
Garret Rieger
222b74f08f
[subset] don't leak memory for duplicate tables.
2021-08-05 17:49:37 -06:00
Behdad Esfahbod
f7a9c3ea93
[open-file] Use hb_is_source_of instead of hb_is_iterator
2021-08-05 13:05:07 -06:00
Behdad Esfahbod
fa90cb8a31
Whitespace again
2021-08-05 12:31:06 -06:00
Behdad Esfahbod
a110a47eb5
Whitespace
2021-08-05 12:28:39 -06:00
Behdad Esfahbod
2cb8c928d7
[face] Let hashmap derive invalid key/value types
...
Works now with the previous two fixes.
2021-08-05 12:27:22 -06:00
Behdad Esfahbod
95c888e192
[meta] Define hb_int_min for pointer types as nullptr
2021-08-05 12:27:02 -06:00
Behdad Esfahbod
407a112e7b
[meta] Make hb_is_signed/hb_is_unsigned work on all types
...
They were failing if type was non-scalar, eg. pointer.
2021-08-05 12:23:53 -06:00
Behdad Esfahbod
baf2166a24
[meta] Use hb_true_type/hb_false_type more
2021-08-05 12:08:47 -06:00
Behdad Esfahbod
74ad5ddcd7
[face] Minor cleaning of previous commit
2021-08-05 11:51:54 -06:00
Garret Rieger
c2ee1fdd40
[subset] remove unsed table_entry struct.
2021-08-05 11:47:07 -06:00
Garret Rieger
dea0fe5717
[subset] discard extra copies of a table in face builder.
...
Fixes #2361 . Stores tables in the builder in a hashmap so you end up with at most one copy of each table. Table serialization order is now based on tag sort order instead of order of insertion into the builder.
2021-08-05 11:47:07 -06:00
Behdad Esfahbod
368e957887
[ot-shape] Add comment re `vert` feature
2021-08-05 10:41:18 -06:00
Garret Rieger
2c024dc3cb
[subset] prune redundant cmap12 subtables.
...
If the post subset cmap12 table is equivalent to another cmap subtable don't include the 12 table in the final subset. Matches change https://github.com/fonttools/fonttools/pull/2146 from fontTools.
2021-08-04 17:36:24 -06:00
Khaled Hosny
84946e4d2c
[test] Suggest updating the expectation if ttx matches
...
https://github.com/harfbuzz/harfbuzz/issues/3089#issuecomment-892208892
2021-08-04 17:35:19 -06:00
Behdad Esfahbod
09c3b82f5e
[buffer] When shifting forward, leave no gap
...
Trying to see if this fixes the fuzzer issue:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36236
2021-08-04 11:55:53 -06:00
Behdad Esfahbod
5086e10538
[test] Add failing fuzzer test case
...
From https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36236
https://oss-fuzz.com/testcase-detail/5061207689134080
2021-08-04 11:55:53 -06:00
Behdad Esfahbod
a150baf32c
[ot-map] Allocate top mask bit as global bit
...
Avoids undefined-shift of 32 in the following line:
map->mask = (1u << (next_bit + bits_needed)) - (1u << next_bit)
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=1219263
2021-08-04 11:53:27 -06:00
Khaled Hosny
f698fe5aee
[test] Always fail subset tests if hashes don’t match
...
Regardless of the pre sentience or absence of fonttools.
2021-08-04 10:26:14 -06:00