Commit graph

16057 commits

Author SHA1 Message Date
Behdad Esfahbod
2f05c32c36 [Coverage] Minor access arrayZ directly in a couple places 2023-05-08 14:29:07 -06:00
Behdad Esfahbod
c0e6a96af3 [bit-set] Minor access an array directly 2023-05-08 14:02:55 -06:00
Behdad Esfahbod
f4d3b49e5d [set] Micro-optimize iteration 2023-05-08 13:59:48 -06:00
Behdad Esfahbod
3416086de3 [set] Optimize is_subset() 2023-05-08 13:39:48 -06:00
Behdad Esfahbod
45afbdff2c [array] Add a const to a cast 2023-05-08 11:19:55 -06:00
Behdad Esfahbod
4ad443d5ea [Coverage/ClassDef] Don't call qsort if sorted already 2023-05-08 10:16:50 -06:00
Behdad Esfahbod
3c2a925b7f [graph] Micro-optimize 2023-05-08 10:16:50 -06:00
Behdad Esfahbod
62bc2841d9
Merge pull request #4221 from googlefonts/user_glyph_map
[subset] Add API method to allow a custom glyph map to be specified.
2023-05-08 09:12:34 -06:00
Khaled Hosny
b6516f3bbf [cff] Fix the case of HB_OT_TAG_cff(1|2) macros
Should be upper case like other HB_OT_TAG_* macros of upper case tables.
2023-05-08 08:53:51 -06:00
Behdad Esfahbod
8df5cdbcda [Coverage/ClassDef] Handle glyphID overflow in serialize 2023-05-07 15:49:50 -06:00
Behdad Esfahbod
6d7de2f8dd [array] Implement FNV-1a hash function 2023-05-07 15:23:05 -06:00
Behdad Esfahbod
ebdeab8baa [array] Improve hash function
Previously all arrays of 0 bytes were getting same hash.
2023-05-07 14:54:02 -06:00
Behdad Esfahbod
f772071f3e [subset-plan] Another error check 2023-05-07 13:42:00 -06:00
Behdad Esfahbod
5ec0ccad63 Undef a macro after use 2023-05-06 13:36:39 -06:00
denis rochette
4bb78e3530 Typo in the documentation of hb-ot-math 2023-05-06 18:28:15 +03:00
Behdad Esfahbod
86658df5d2 [ClassDef] Fix a fuzzer issue
Don't qsort an array that failed to allocate!

Fixes https://oss-fuzz.com/testcase-detail/6512559172485120
2023-05-05 16:10:46 -06:00
Behdad Esfahbod
cda646a598 [subset-plan] Check success of all object members 2023-05-05 15:57:13 -06:00
Behdad Esfahbod
5f5660fc5d [subset] In glyf-closure always add current glyph
Bad things can happen otherwise if one composite glyph depleted
the op count.
2023-05-05 15:52:17 -06:00
Behdad Esfahbod
5468b08c02 [subset-plan] Move all object members to a new file
To automatically check for their errors.
2023-05-05 15:49:38 -06:00
Behdad Esfahbod
71910fdf91 [Coverage] Remove unnecessary check 2023-05-05 15:37:07 -06:00
Behdad Esfahbod
ee9b631d19 [SingleSubst] Fix condition to upgrade to beyond-64k 2023-05-05 10:26:57 -06:00
Garret Rieger
8eb9f31263 [subset] s/Since/XSince/. 2023-05-05 15:56:50 +00:00
Behdad Esfahbod
5d4f3ff690 [TINY] Fix build 2023-05-05 07:10:02 -06:00
Behdad Esfahbod
7e676cb4cf [config] Add HB_NO_OT_FONT_ADVANCE_CACHE
Part of https://github.com/harfbuzz/harfbuzz/issues/4220
2023-05-05 07:07:00 -06:00
Behdad Esfahbod
8831ba7f55 [config] Add HB_NO_OT_FONT_CMAP_CACHE
Part of https://github.com/harfbuzz/harfbuzz/issues/4220
2023-05-05 07:03:25 -06:00
Behdad Esfahbod
0e9ebf1062 [config] Add HB_OPTIMIZE_SIZE_MORE and enable in HB_TINY
Part of https://github.com/harfbuzz/harfbuzz/issues/4220
2023-05-05 06:57:51 -06:00
Behdad Esfahbod
da175c6935 [config] Add HB_MINIMIZE_MEMORY_USAGE
Part of https://github.com/harfbuzz/harfbuzz/issues/4220
2023-05-05 06:51:59 -06:00
Behdad Esfahbod
bbf4cfa393 [config] Add missing HB_NO_BORING_EXPANSION options
Those others are only HB_EXPERIMENTAL_API anyway, but still.
2023-05-05 06:51:10 -06:00
Garret Rieger
d339298f37 [subset] fix hb_subset_input_old_to_new_gid_mapping method comment. 2023-05-05 06:00:30 +00:00
Garret Rieger
374a9a9f5e [subset] restore accidentally removed function doc. 2023-05-05 05:58:15 +00:00
Garret Rieger
3021b2dbe2 [subset] change glyph mapping api to return a mutable map.
Maintains consistency with our other set based api methods.
2023-05-05 05:57:05 +00:00
Garret Rieger
d4c1322547 [subset] Add new glyph map method to docs. 2023-05-04 23:04:35 +00:00
Garret Rieger
77a8155425 [subset] Add some basic tests for a provided glyph map. 2023-05-04 23:01:56 +00:00
Behdad Esfahbod
3194963657 Revert "[layout] Cache subtable coverages in hb_map_t"
This reverts commit 7a715d74e0.
2023-05-04 16:29:48 -06:00
Behdad Esfahbod
7a715d74e0 [layout] Cache subtable coverages in hb_map_t
Proof-of-concept. Going to revert. Memory consumption is more
than I like. It does speed up Roboto shaping another 15% though.
Perhaps if we could add logic to choose which subtables to
cache, this might be a useful approach.
2023-05-04 16:28:11 -06:00
Garret Rieger
98e73192f4 [subset] Add command line flag to provide a gid mapping. 2023-05-04 22:20:06 +00:00
Behdad Esfahbod
975980d368 [gsubgpos] Add apply_cached() as separate method
In prep for some other work.
2023-05-04 15:56:06 -06:00
Garret Rieger
779e8297fa [subset] fix requested_glyph_map presence check. 2023-05-04 19:55:32 +00:00
Garret Rieger
e14020b27a [subset] remove return value from mapping setting function. 2023-05-04 19:55:32 +00:00
Garret Rieger
6826634714 [subset] apply the user supplied glyph map. 2023-05-04 19:55:32 +00:00
Garret Rieger
e711e305c8 [subset] Add new subsetting API method to receive a user specified glyph mapping. 2023-05-04 19:55:32 +00:00
Behdad Esfahbod
1be3972914 [subset] Support unordered glyphlist in Coverage/ClassDef serialize 2023-05-04 13:18:34 -06:00
Behdad Esfahbod
a10fad7cc2 [config] Add HB_NO_GDEF_CACHE 2023-05-04 11:32:07 -06:00
Behdad Esfahbod
e138319fcc [config] Allow overriding HB_OPTIMIZE_SIZE 2023-05-04 11:28:50 -06:00
Behdad Esfahbod
319a488b39 [GDEF] Fix null check
Fixes https://oss-fuzz.com/testcase-detail/5920994267889664
2023-05-04 10:36:48 -06:00
Behdad Esfahbod
3f2401e2f1 [layout] Don't init iters successively multiple times 2023-05-03 17:03:12 -06:00
Behdad Esfahbod
959f16343b [gsubgpos] Minor reduce variable scope 2023-05-03 16:28:39 -06:00
Behdad Esfahbod
fb795dc3c5 [GPOS] Optimize iterator reset
Speeds up Gulzar shaping 5%.
2023-05-03 15:17:36 -06:00
Behdad Esfahbod
0c1637b606 [aat] Fix HB_NO_OT_LAYOUT build 2023-05-03 15:04:57 -06:00
Behdad Esfahbod
8a8fc37c42 [GDEF] Use a cache for glyph classes
Shows 5% speedup for Roboto shaping.
2023-05-03 15:00:19 -06:00