Commit Graph

29 Commits

Author SHA1 Message Date
Behdad Esfahbod 4afcdf675b More hb_memcpy 2022-11-22 12:56:48 -07:00
Behdad Esfahbod 02b76393ef [config] Re-enable BORING_EXPANSION
Only the non-experimental parts (currently avar2) are
enabled by default.
2022-10-29 11:19:04 -06:00
Garret Rieger 99f4668e19 [repacker] use mutable copies of Coverage/ClassDef in MarkBasePos shrink operation.
Also make mutable copies (when needed) of the top level subtables during a split operation.
2022-09-30 10:58:50 -06:00
Garret Rieger 8c3db8bdfd [repacker] more progress on MarkBasePos tests. 2022-08-17 00:36:23 +00:00
Garret Rieger cf817f3d99 [repacker] Hook up MarkBasePos splitting. 2022-08-11 19:26:59 +00:00
Garret Rieger 163fbf0be1 [repacker] Check for nullptr's before sanitizing. 2022-08-05 23:37:11 +00:00
Garret Rieger e1ab355056 [repacker] correct lookup link insertion. 2022-08-05 01:25:16 +00:00
Garret Rieger a733a9afa5 [repacker] insert new subtables immediately after the subtable they split from in the lookup. 2022-08-05 00:32:47 +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 65afed047d [repacker] more bug fixes. 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 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 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 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 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