Behdad Esfahbod
a0111e4fab
[graph] Fix warning
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3766
2022-07-30 12:09:45 -06:00
Garret Rieger
9578c44ea2
[repacker] add HB_FALLTRHOUGH.
2022-07-29 22:21:32 +00:00
Garret Rieger
6a5e2cb2f8
[repacker] add todo.
2022-07-29 22:21:32 +00:00
Garret Rieger
14f95ee0cf
[repacker] re-count shared node sizes in split PairPos segments.
2022-07-29 22:21:32 +00:00
Garret Rieger
3b91fb2a9f
[repacker] cleanup todo.
2022-07-29 22:21:31 +00:00
Garret Rieger
a0b8893e46
[repacker] add Coverage sanitize.
2022-07-29 22:21:31 +00:00
Garret Rieger
38846f41d3
[repacker] more TODO cleanup.
2022-07-29 22:21:31 +00:00
Garret Rieger
46c1fa7d1b
[repacker] sanitize PairPos during subtable extension.
2022-07-29 22:21:31 +00:00
Garret Rieger
fb3f6ad7c0
[repacker] ensure lookup map is updated when lookup memory location changes.
2022-07-29 22:21:31 +00:00
Garret Rieger
f1bfb6585f
[repacker] cleanup debug prints.
2022-07-29 22:21:31 +00:00
Garret Rieger
65afed047d
[repacker] more bug fixes.
2022-07-29 22:21:31 +00:00
Garret Rieger
1002a3dcd3
[repacker] bug fixes.
2022-07-29 22:21:31 +00:00
Garret Rieger
a5c2c8c131
[repack] fix incorrect shrink.
2022-07-29 22:21:31 +00:00
Garret Rieger
d589ce68ea
[repacker] add extension subtable when needed while adding new PairPos table's.
2022-07-29 22:21:31 +00:00
Garret Rieger
5024d4de67
[repack] more PairPos split implementation.
2022-07-29 22:21:31 +00:00
Garret Rieger
510b8ab101
[repack] link new coverage in PairPosFormat1::clone_range.
2022-07-29 22:21:31 +00:00
Garret Rieger
29cb8818cd
[repacker] new coverage serialization in PairPosFormat1.
2022-07-29 22:21:31 +00:00
Garret Rieger
8d63f60e5b
[repack] add graph_t::move_child helper function.
2022-07-29 22:21:31 +00:00
Garret Rieger
8e5fffc44a
[repack] add helper to create new nodes.
...
Switch to malloc'ing each node individually rather than trying to guess up front the total buffer space needed.
2022-07-29 22:21:31 +00:00
Garret Rieger
bf0986c7d1
[repack] sketch splitting mechanism for PairPosFormat1.
2022-07-29 22:21:30 +00:00
Garret Rieger
f6a242b605
[repacker] begin adding PairPos splitting support.
2022-07-29 22:21:30 +00:00
Garret Rieger
241ebc9354
[repacker] fix include paths.
2022-07-26 12:22:17 -06:00
Garret Rieger
9d0b2da51b
[repacker] count subtable size in each group of consecutive layers for extension promotion decisions.
...
Enforce that the following groups are all <64k in size:
- LookupList + Lookups
- Lookups + SubTables
- SubTables + Descendants
2022-07-26 12:22:17 -06:00
Garret Rieger
9db3beb721
[repacker] include LookupList size when calculating size of 16bit space for ext promotion decisions.
2022-07-26 12:22:17 -06:00
Garret Rieger
8d611a7fd0
[repacker] remove temporary visibility overrides in gsubgpos.
2022-07-26 12:22:17 -06:00
Garret Rieger
7de136f8a8
[repacker] add ext promotion test.
2022-07-26 12:22:17 -06:00
Garret Rieger
ad0041f5f7
[repacker] Add basic version of the extension promotion selection algorithm.
2022-07-26 12:22:17 -06:00
Garret Rieger
0b6ca424fc
[repacker] fix GSTAR sanitize.
2022-07-26 12:22:17 -06:00
Garret Rieger
11709f0fbe
[repacker] support extension promotion in 24bit GSUB/GPOS.
2022-07-26 12:22:17 -06:00
Garret Rieger
b37374b04f
[repacker] save buffer reference (not copy).
2022-07-26 12:22:17 -06:00
Garret Rieger
ae290ff4fe
[repacker] add sanitization for GSUB/LookupList/Lookup during extension promotion.
2022-07-26 12:22:17 -06:00
Garret Rieger
ce03c3538a
[repacker] add make_extension_context_t.
2022-07-26 12:22:17 -06:00
Garret Rieger
ebb64b50da
[repacker] size buffer correctly.
2022-07-26 12:22:17 -06:00
Garret Rieger
815bb82b4d
[repack] fix incorrect extension object bounds.
2022-07-26 12:22:17 -06:00
Garret Rieger
7e6f6c3e88
[repack] fix new node bounds.
2022-07-26 12:22:17 -06:00
Garret Rieger
b1d38a6d0b
[repack] WIP implement extension promotion mechanism.
2022-07-26 12:22:17 -06:00
Garret Rieger
3f7a74ff40
[repacker] WIP extension promotion implementation.
2022-07-26 12:22:17 -06:00
Garret Rieger
b4f561dbbf
[subset] Add some comments to find_space_roots/find_32_bit_roots methods.
2022-07-06 18:49:23 +00:00
Garret Rieger
401066bf3d
[subset] Prepare the repacker for handling 24bit offsets in GSUB/GPOS.
...
The boring expansion (https://github.com/be-fonts/boring-expansion-spec ) plans to introduce 24bit offsets into GSUB/GPOS. This changes the repacker to treat 24 bit offsets similar to 32 bit offsets and assign the top level 24 bit offsets into spaces to improve packing.
2022-07-06 18:44:40 +00:00
Garret Rieger
2674962cf5
[repacker] Add comment to graph class.
2022-06-24 17:16:50 -06:00
Garret Rieger
7078560e33
[repacker] extract graph serialization code into a seperate file.
2022-06-24 17:16:50 -06:00
Garret Rieger
20b02a672d
[repacker] Begin splitting up the repacker implementation into several files.
2022-06-24 17:16:50 -06:00