src/graph/gsubgpos-graph.hh

Branch


Log

Author Commit Date CI Message
Qunxin Liu fdb80534 2025-09-23T14:32:41 [subset-repacker] bug fix: copy markFilteringSet field if exists (#5579)
Garret Rieger 2dfaf2a2 2025-07-10T01:00:20 [repacker] fix imports.
Garret Rieger e50d16f6 2025-07-09T23:48:45 [repacker] During liga splitting re-use orphaned liga sets.
Garret Rieger cad41886 2025-07-09T17:09:05 [repacker] fix bug where nodes with incoming virtual links could get orphaned. When attempting to fix overflows nodes that have incoming edges from more than one parent can be duplicated. However, if all of these incoming links are virtual except for one duplicating it will effectively orphan it (one of the copies will be pointed to only by virtual links). Since parent book keeping is expensive we don't want to separately track virtual/real parents so instead just don't duplicate nodes that have at least one incoming virtual link.
Garret Rieger 5b47710f 2025-07-07T20:15:30 [repacker] Start implementing test for liga splitting.
Garret Rieger 38ab13c6 2025-07-04T22:31:04 [repacker] add support for splitting GSUB Ligature lookups.
Behdad Esfahbod 3a9262cc 2023-11-04T12:52:46 [sanitize] More hb_barrier() annotations
Garret Rieger 5587247d 2023-08-23T21:54:15 [repacker] create only one extension subtable per physical subtable. During extension promotion when multiple lookups refer to a shared subtable node create and reuse a single extension subtable for it. Fixes: https://github.com/fonttools/fonttools/issues/3260.
Behdad Esfahbod d3b997ee 2023-07-26T15:39:14 [graph] Use a hb_map_t to keep parents, instead of hb_vector_t In some fonts, for example Noto Duployan-Regular, nodes can have over a thousand parents... Speeds up 10% subsetting.
Garret Rieger ff326fbe 2023-05-29T21:31:01 [repacker] check the result of add_buffer() in other places where it's called.
Behdad Esfahbod 4afcdf67 2022-11-22T12:56:48 More hb_memcpy
Behdad Esfahbod 02b76393 2022-10-29T11:15:03 [config] Re-enable BORING_EXPANSION Only the non-experimental parts (currently avar2) are enabled by default.
Garret Rieger 99f4668e 2022-09-29T19:39:59 [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.
Garret Rieger 8c3db8bd 2022-08-17T00:36:23 [repacker] more progress on MarkBasePos tests.
Garret Rieger cf817f3d 2022-08-11T19:26:59 [repacker] Hook up MarkBasePos splitting.
Garret Rieger 163fbf0b 2022-08-05T23:37:11 [repacker] Check for nullptr's before sanitizing.
Garret Rieger e1ab3550 2022-08-05T01:25:16 [repacker] correct lookup link insertion.
Garret Rieger a733a9af 2022-08-05T00:32:47 [repacker] insert new subtables immediately after the subtable they split from in the lookup.
Garret Rieger 38846f41 2022-07-29T18:30:24 [repacker] more TODO cleanup.
Garret Rieger 46c1fa7d 2022-07-29T18:29:12 [repacker] sanitize PairPos during subtable extension.
Garret Rieger fb3f6ad7 2022-07-29T00:25:19 [repacker] ensure lookup map is updated when lookup memory location changes.
Garret Rieger 65afed04 2022-07-28T20:54:28 [repacker] more bug fixes.
Garret Rieger d589ce68 2022-07-28T01:04:37 [repacker] add extension subtable when needed while adding new PairPos table's.
Garret Rieger 5024d4de 2022-07-28T00:55:36 [repack] more PairPos split implementation.
Garret Rieger 8e5fffc4 2022-07-27T20:00:00 [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.
Garret Rieger f6a242b6 2022-07-27T18:58:41 [repacker] begin adding PairPos splitting support.
Garret Rieger 241ebc93 2022-07-26T00:04:20 [repacker] fix include paths.
Garret Rieger 9db3beb7 2022-07-25T19:42:58 [repacker] include LookupList size when calculating size of 16bit space for ext promotion decisions.
Garret Rieger 8d611a7f 2022-07-22T22:49:40 [repacker] remove temporary visibility overrides in gsubgpos.
Garret Rieger 7de136f8 2022-07-22T21:04:34 [repacker] add ext promotion test.
Garret Rieger 0b6ca424 2022-07-21T21:57:17 [repacker] fix GSTAR sanitize.
Garret Rieger 11709f0f 2022-07-21T21:54:42 [repacker] support extension promotion in 24bit GSUB/GPOS.
Garret Rieger b37374b0 2022-07-21T21:50:23 [repacker] save buffer reference (not copy).
Garret Rieger ae290ff4 2022-07-21T21:45:04 [repacker] add sanitization for GSUB/LookupList/Lookup during extension promotion.
Garret Rieger ce03c353 2022-07-21T19:07:55 [repacker] add make_extension_context_t.
Garret Rieger ebb64b50 2022-07-21T18:36:20 [repacker] size buffer correctly.
Garret Rieger 815bb82b 2022-07-20T18:17:29 [repack] fix incorrect extension object bounds.
Garret Rieger 7e6f6c3e 2022-07-20T03:26:29 [repack] fix new node bounds.
Garret Rieger b1d38a6d 2022-07-19T23:33:16 [repack] WIP implement extension promotion mechanism.