src/graph/pairpos-graph.hh


Log

Author Commit Date CI Message
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 9559d3c1 2022-10-11T19:49:01 [repacker] fix incorrect coverage table size estimation. During splitting of PairPosFormat2 the code was assuming the maximum size of the generated coverage table would be equal too the current size. This is incorrect size the new coverage table may not preserve the ranges found in the original coverage table (since we are splitting based on class, not coverage) and in the worst case may convert from format2 to format1. So use the size of a format1 table as the max size.
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 1acd2a8b 2022-08-11T20:22:31 [repacker] implement MarkBasePosFormat1::clone_range.
Garret Rieger fe15f255 2022-08-08T16:57:28 [repacker] use position instead of memory address as key in device_tables map.
Garret Rieger 163fbf0b 2022-08-05T23:37:11 [repacker] Check for nullptr's before sanitizing.
Garret Rieger 13253233 2022-08-05T23:15:10 [repacker] in PairPosFormat2 splitting use the max estimated coverage/classdef size for sizing serialization buffers.
Garret Rieger dde0a2b0 2022-08-05T22:30:37 [repacker] track estimated coverage size during PairPosFormat1 split point analysis.
Garret Rieger b37e8bef 2022-08-05T22:16:20 [repacker] count size of the current class at the split point in the next segment.
Garret Rieger 0e48a65d 2022-08-05T20:19:11 [repacker] estimate size of classDef1 and coverage during PairPos2 split point analysis.
Garret Rieger 5d824c09 2022-08-05T01:37:14 [repacker] during table splits don't mutate shared coverage/classdef in place. If other subtables are sharing coverage with a subtable being split we have to duplicate the coverage/classdef tables before they are modified during the shrink operation.
Garret Rieger 506547c9 2022-08-04T21:36:21 [repacker] Use hb_pair_t constructor instead of hb_pair (). hb_pair was causing corrupted gid values.
Garret Rieger fdd1952c 2022-08-04T19:21:16 [repacker] PairPosFormat2 splitting - fix coverage and classdef splitting. The old code was splitting based on coverage index, but should have been splitting on class value.
Garret Rieger b154b1e4 2022-08-04T01:37:21 [repacker] pull out PairPosFormat1,2::do_split() into a common helper method.
Garret Rieger 88e0dd02 2022-08-04T01:03:07 [repacker] add sanitization for PairPosFormat2.
Garret Rieger 54fab21c 2022-08-03T21:57:37 [repacker] get basic pair pos 2 split test working.
Garret Rieger 60d6ffb3 2022-08-03T21:01:23 [repacker] always duplicate classDef2 when splitting a PairPos2. Splits are done in a way that it shouldn't be possible to share the classDef2 between split PairPos2's so pre-emptively duplicate it.
Garret Rieger 6be15242 2022-08-03T19:02:20 [repacker] add basic test for PairPos2 splitting.
Garret Rieger 65ed82fd 2022-08-02T22:22:42 [repacker] PairPosFormat2::do_split.
Garret Rieger f43055f3 2022-08-02T22:16:29 [repacker] Implement PairPosFormat2::shrink.
Garret Rieger 9f2a4464 2022-08-02T21:47:53 [repack] implement device table transfer for PairPosFormat2.
Garret Rieger 22eae32b 2022-08-02T21:04:38 [repacker] add classDef1 clone_range to PairPosFormat2 split.
Garret Rieger 68b90153 2022-08-02T20:58:35 [repacker] Add class def sanitize and range cloning.
Garret Rieger ca0df565 2022-08-02T20:04:46 [repacker] extract coverage cloning into helper.
Garret Rieger 7f4b2037 2022-08-02T18:43:25 [repacker] include size of device tables when determining PairPos2 split points.
Garret Rieger 58fdbd8e 2022-07-30T02:05:15 [repacker] begin adding PairPosFormat2 splitting support.
Behdad Esfahbod a0111e4f 2022-07-30T12:09:45 [graph] Fix warning Fixes https://github.com/harfbuzz/harfbuzz/issues/3766
Garret Rieger 9578c44e 2022-07-29T21:58:24 [repacker] add HB_FALLTRHOUGH.
Garret Rieger 6a5e2cb2 2022-07-29T20:38:53 [repacker] add todo.
Garret Rieger 14f95ee0 2022-07-29T20:09:52 [repacker] re-count shared node sizes in split PairPos segments.
Garret Rieger a0b8893e 2022-07-29T19:58:51 [repacker] add Coverage sanitize.
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 f1bfb658 2022-07-28T21:01:41 [repacker] cleanup debug prints.
Garret Rieger a5c2c8c1 2022-07-28T01:27:55 [repack] fix incorrect shrink.
Garret Rieger 5024d4de 2022-07-28T00:55:36 [repack] more PairPos split implementation.
Garret Rieger 510b8ab1 2022-07-27T23:30:20 [repack] link new coverage in PairPosFormat1::clone_range.
Garret Rieger 29cb8818 2022-07-27T21:02:48 [repacker] new coverage serialization in PairPosFormat1.
Garret Rieger 8d63f60e 2022-07-27T20:36:20 [repack] add graph_t::move_child helper function.
Garret Rieger bf0986c7 2022-07-27T19:33:46 [repack] sketch splitting mechanism for PairPosFormat1.
Garret Rieger f6a242b6 2022-07-27T18:58:41 [repacker] begin adding PairPos splitting support.