Garret Rieger
05204d7586
[subset] implement hb_subset_input_set (...).
...
Switch to storing the sets keyed by enum internally.
2021-08-27 10:36:36 -07:00
Garret Rieger
50193262f0
[subset] reorder set enums.
2021-08-27 10:34:59 -07:00
Garret Rieger
3282f540a9
[subset] restore legacy set api methods.
2021-08-27 10:34:58 -07:00
Garret Rieger
1457c1f080
[subset] set enum name changes.
2021-08-27 10:34:58 -07:00
Garret Rieger
1b5e159301
[subset] Remove HB_SUBSET_SETS_COUNT and flags comment.
2021-08-27 10:34:58 -07:00
Garret Rieger
4c389fd9e5
[subset] add unicode and glyph set enums.
2021-08-27 10:34:58 -07:00
Garret Rieger
e3e1ae8766
[subset] proposed update to subset set apis.
2021-08-27 10:34:58 -07:00
Garret Rieger
9db494f517
[subset] Update remaining subset input sets to use inversion for all. ( #3172 )
...
* [subset] Update remaining subset input sets to use inversion for all.
* [subset] Update flag help for remaining sets to mention -=.
2021-08-26 10:51:38 -06:00
Behdad Esfahbod
99356ea5f0
Merge pull request #3150 from harfbuzz/item-context-tests
...
[test] Add tests for item context
2021-08-25 17:19:06 -06:00
Behdad Esfahbod
1620698bd5
[subset-input] Minor format
2021-08-25 16:26:58 -06:00
Garret Rieger
cd07070e41
[subset] Move plan unicodes and gids population to end of _populate_unicodes...
2021-08-25 14:42:00 -07:00
Behdad Esfahbod
4b5a81f13c
[buffer] Fix hb_buffer_append() pre/post-context logic
...
Part of https://github.com/harfbuzz/harfbuzz/pull/3150
2021-08-25 15:20:54 -06:00
Garret Rieger
8f4f47df7c
[subset] use inverted set for all unicodes.
...
Modify the code that handles input->unicodes to be safe with possibly inverted sets. Also adds --unicodes-= and --unicodes+= flags.
2021-08-25 13:34:05 -07:00
Behdad Esfahbod
e9e6d66cd6
[subset] Minor internal parameter rename
2021-08-24 23:22:49 -06:00
Garret Rieger
59deb754b3
[subset] rename _collect_subset_layout to _collect_layout_indices.
...
Better describes what the function does.
2021-08-24 18:17:07 -06:00
Garret Rieger
f2441a4b65
[subset] Remove retain all layout features flag.
...
Instead use inverted sets to handle requesting all features. Modifies feature collection in subset plan to intersect the set of requested features against the features in the font. This prevents iterating a fully filled feature tag set.
2021-08-24 18:17:07 -06:00
Behdad Esfahbod
c90678cbc5
[set] One more try to fix things
...
That I don't let a "make check -j10" run finish before pushing things
out means either that we need to speed up our build / test process,
or I need a faster laptop...
2021-08-24 11:11:12 -06:00
Behdad Esfahbod
357976963e
[set] One more try at fixing clear() on empty set
2021-08-24 10:59:31 -06:00
Garret Rieger
fb07f8f876
During subset input creation check for set alloc failures and fail if encountered.
2021-08-24 10:59:14 -06:00
Behdad Esfahbod
b5177d2147
[set] Fix seam exposed by previous commit
2021-08-24 10:43:37 -06:00
Behdad Esfahbod
f0de40dd61
Whitespace
2021-08-24 10:35:33 -06:00
Behdad Esfahbod
8cdbea5580
[ot-shape-normalize] Move buffer out of hb_ot_shape_normalize_context_t
2021-08-24 10:35:33 -06:00
Behdad Esfahbod
10da9fd20d
[ot-map] Whitespace
2021-08-24 10:35:33 -06:00
Behdad Esfahbod
d3e09bf465
[set] Make all operators null-safe again
...
Changed my mind.
Also for hb_map_clear().
Part of https://github.com/harfbuzz/harfbuzz/pull/3162
2021-08-24 10:31:49 -06:00
Khaled Hosny
430224b1a0
[buffer] Handle pre/post-context in buffer_append
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1843
2021-08-24 02:11:17 +02:00
Behdad Esfahbod
33c82c7dad
[ot-shape] Fix unused-var error when building without AAT
...
Fixes https://github.com/harfbuzz/harfbuzzjs/issues/45
2021-08-22 22:31:39 -06:00
Qunxin Liu
34e0b28fae
[subset] make glyph-names option match fonttools behavior
...
Don't encode psNames that are contained in standard glyph names set
2021-08-20 01:30:23 -06:00
Behdad Esfahbod
829b0f3353
Merge pull request #3154 from harfbuzz/set-invert
...
Resurrect hb_set_invert()
2021-08-20 01:28:15 -06:00
Behdad Esfahbod
84c2a30214
[bit-set-invertible] Second try fixing previous()
2021-08-19 16:33:48 -06:00
Behdad Esfahbod
8f88747a5e
[bit-set-invertible] Fix previous() iteration
2021-08-19 16:31:01 -06:00
Behdad Esfahbod
1d832693e1
[set] Protect against immutible null set with invertible addition
2021-08-19 16:02:30 -06:00
Behdad Esfahbod
dc800ffd6c
[bit-set] Remove TODO items we don't intend to finish
2021-08-19 15:41:27 -06:00
Behdad Esfahbod
92908c122b
[bit-set-invertible] Remove extra check
...
We don't expect immutable / null set in this code.
2021-08-19 15:28:26 -06:00
Behdad Esfahbod
1babe80ed2
[bit-set-invertible] Fix last remaining corner-case
2021-08-19 15:18:32 -06:00
Behdad Esfahbod
e8911d137c
[bit-set-invertible] Implement a couple other missing corner cases
...
Also, in bit-set, don't compute population in is_equal/is_subset()
if we don't have it computed already.
2021-08-19 15:00:33 -06:00
Behdad Esfahbod
2579dc648f
[bit-set-invertible] Move code around
2021-08-19 14:48:27 -06:00
Behdad Esfahbod
2dfc104236
[bit-set-invertible] Implement is_empty() for inverted case as well
2021-08-19 14:47:33 -06:00
Behdad Esfahbod
ec4812a7d4
[bit-page] Remove unused inverted code
2021-08-19 13:32:44 -06:00
Behdad Esfahbod
87885e6f02
[bit-set-invertible] Fix next/previous() logic
2021-08-19 13:26:25 -06:00
Behdad Esfahbod
ee4e331a6e
[bit-set] Remove unused get_min(inverted)
2021-08-19 13:24:15 -06:00
Behdad Esfahbod
eec1a25e71
[bit-set-invertible] Rewrite get_min/max() in terms of next/previous()
2021-08-19 13:24:00 -06:00
Behdad Esfahbod
f09d5ed0f5
[algs] Remove hb_bitwise_non()
2021-08-19 13:06:10 -06:00
Behdad Esfahbod
f4fd7baf7e
[bit-set-invertible] Fix subtract() logic
2021-08-19 13:05:12 -06:00
Behdad Esfahbod
f317d8e426
[bit-set-invertible] Fix intersect() logic
2021-08-19 13:01:07 -06:00
Behdad Esfahbod
b21038d91d
[bit-set-invertible] Rewrite next/previous_range() in terms of s.next/previous()
2021-08-19 11:24:17 -06:00
Behdad Esfahbod
eb98bc1e32
[bit-set-invertible] Rewrite next/previous() using s.next/previous_range()
2021-08-19 11:19:24 -06:00
Behdad Esfahbod
248ad3bce5
[bit-set-invertible] Implement next/previous
...
This makes invertible set functionality complete.
2021-08-19 10:17:51 -06:00
Behdad Esfahbod
c27f5b1288
[bit-set-invertible] Plug in next_range()/previous_range()
2021-08-19 10:01:24 -06:00
Behdad Esfahbod
f6aa37159b
[bit-set-invertible] Fix process logic for inverted
...
[# On branch set-invert
2021-08-19 01:12:25 -06:00
Behdad Esfahbod
060de189ec
[bit-page] Fix sanitizer error
...
This essentially reverts 9449cfeefd
Problem was dereferencing pointer at end of array...
2021-08-19 00:58:34 -06:00