Khaled Hosny
9fddbb3e24
[test] Rename test and split into smaller subtests
2021-09-03 18:24:40 +02:00
Khaled Hosny
c6bb719e65
[test] Add tests for Arabic decomposition
...
Test that both NFC and NFD input produces identical results for fonts
that used composed fonts internally (Amiri here) and fonts that
decompose internally (Noto Nastaliq Urdu here) and that for the former
composed forms are used.
See https://github.com/harfbuzz/harfbuzz/issues/3179
2021-09-03 08:58:35 -06:00
Khaled Hosny
a9dc4fbeac
[test] Make shape test names match file names
...
No idea why test names are underscorified but it it just makes calling
meson test testname harder than it should being not able to copy file
name directly.
2021-09-03 08:56:34 -06:00
Garret Rieger
2bd911b8b4
[subset] handle cmap4 overflows.
...
If a cmap4 subtable overflows during serialization drop it and the corresponding EncodingRecord. Don't drop the corresponding cmap12 table if it would have otherwise been removed.
2021-09-02 14:43:17 -06:00
Behdad Esfahbod
bf81bbfb35
Revert "[arabic] Do not re-compose Unicode sequences"
...
This reverts commit ff34c240b0
.
https://github.com/harfbuzz/harfbuzz/issues/3179#issuecomment-911242833
2021-09-02 00:16:22 -06:00
Behdad Esfahbod
ff34c240b0
[arabic] Do not re-compose Unicode sequences
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3179
2021-09-01 23:55:25 -06:00
Alba Mendez
5fadf4c85e
Small docs improvement
...
Mention that the returned strings are always nul terminated for convenience.
2021-09-01 10:04:04 -06:00
Behdad Esfahbod
04cf6212d7
[util/hb-subset] Fix --version and --help again
...
38ad093216
2021-08-30 18:35:26 -06:00
Behdad Esfahbod
5c4c173b06
Merge pull request #3146 from googlefonts/set_api
...
[subset] proposed update to subset set apis.
2021-08-30 16:44:28 -06:00
Garret Rieger
de85636581
[subset] s/REPLACE/REPLACEME/
2021-08-30 14:36:05 -07:00
Garret Rieger
3844e58e14
[subset] remove helper functions for accessing subset input sets.
2021-08-30 11:16:51 -07:00
Behdad Esfahbod
41b9f2abcd
[set] Add TODO item
2021-08-29 10:47:20 -06:00
Behdad Esfahbod
93ac700da6
[set] Add copy-constructor/assignment again
2021-08-29 10:47:20 -06:00
Garret Rieger
b9a176e268
[subset] speedup cmap4 subsetting for large codepoint counts. ( #3178 )
...
glyphIdArray generation implementation was O(n^2). Refactored to use a hashmap to reduce complexity. After the change subset time for a 22k codepoint subset went from 7s to 0.7s.
2021-08-29 10:33:12 -06:00
Behdad Esfahbod
fdce294120
[util/hb-subset] Print error and suggest filing github issue if operation fails
...
https://github.com/harfbuzz/harfbuzz/issues/3173#issuecomment-906715780
2021-08-29 09:46:42 -06:00
Behdad Esfahbod
38ad093216
[util/hb-subset] Don't ignore errors during face parsing
...
Was ignoring file-not-found errors.
2021-08-29 09:46:42 -06:00
Garret Rieger
57d6bf8251
[subset] in sets union correctly size the pointer array.
2021-08-27 10:59:28 -07:00
Garret Rieger
102666dab7
[subset] add test for hb_subset_input_set (...).
2021-08-27 10:36:42 -07:00
Garret Rieger
7194c2a2a3
[subset] use anonymous union to hold the input sets instead of a map.
2021-08-27 10:36:42 -07:00
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
1e1438c4fb
[subset] fix --*-file options in hb-subset. ( #3176 )
...
The previous change to add -/+ versions of each set type broke all of the --*-file input options since all of the parse functions now default to replacing the set if the + variant is not being used. This fixes the issue by changing parse_file_for to pass '+' as the name to the parsing function. This triggers the append mode.
2021-08-26 14:59:29 -06: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
Behdad Esfahbod
18b4aab652
Merge pull request #3171 from googlefonts/unicode_glyph_invert
...
[subset] use inverted set for all unicodes.
2021-08-25 16:21:07 -06:00
Garret Rieger
75efade7a4
[subset] format --gids and --unicodes help messages better.
2021-08-25 14:51:21 -07:00
Garret Rieger
cd07070e41
[subset] Move plan unicodes and gids population to end of _populate_unicodes...
2021-08-25 14:42:00 -07:00
Garret Rieger
fa4bf7cf58
[subset] use inverted sets for glyph id input.
...
Adds --gids-=, --glyphs-=, --text-=, --unicodes-= options. Use inverted sets to represent all glyphs and/or all unicodes.
2021-08-25 14:31:11 -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
Behdad Esfahbod
955f86a034
[test-set] Fix compiler warnings
2021-08-24 23:16:24 -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
Garret Rieger
f84daccb4f
[set] include null pool sets in the permutations tested by inverted_operations.
2021-08-24 16:51:11 -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
33bfe9edd6
[test] Add tests for item context
...
Test pre-context and post-context in Arabic shaper, as well as
interaction of pre-context with BOT flag.
2021-08-24 02:12:34 +02:00