test/subset/data/expected/layout.duplicate_features

Branch


Log

Author Commit Date CI Message
Qunxin Liu 0952bc0a 2025-09-26T09:10:28 [subset] de-duplicate features (#5494)
Qunxin Liu a5c9c826 2024-05-06T13:22:49 rename expected files from *.retain-all-codepoint.* to *.all.* This is to fix file name too long error tar: harfbuzz-8.4.0/test/subset/data/expected/sync_vmetrics/playwrite_mm.subset.default.retain-all-codepoint.SPED=25,YEXT=520,wght=100-400,slnt=18.iup_optimize.ttf: file name is too long (cannot be split); not dumped tar: Exiting with failure status due to previous errors
Qunxin Liu 413af0a9 2023-11-02T11:14:48 [instancer] When partial instancing, subset LigCaretList after VarStore instantiation
Garret Rieger 95329081 2021-11-26T16:18:42 [subset] further optimize cmap4 packing.
Garret Rieger d9660fd5 2021-11-25T18:15:35 [subset] Make cmap4 packing more optimal. The current CMAP4 implementation uses whatever the current codepoint ranges are and then encodes them as indivudal glyph ids or as a delta if possible. However, it's often possible to save bytes by splitting up existing ranges and encoding parts of them using deltas where the cost of splitting the range is less than encoding each glyph individual.
Garret Rieger 49c93924 2021-09-24T09:28:10 [subset] During LigatureSubstFormat1 subsetting always place Coverage last. In Windows 7 on Chrome if the coverage table comes before any of the LigatureSet or Ligature subtables the font won't load. This changes the packing order to always place the Coverage table last. Virtual links are used to ensure the repacker maintains the desired ordering. Coincidentally fontTools also does the same thing (https://github.com/fonttools/fonttools/blob/a3f988fbf621142d7d9b3e68a69725b88f358869/Lib/fontTools/ttLib/tables/otTables.py#L1137) to reduce overflows during packing.
Garret Rieger c2cc566c 2021-09-22T14:15:55 [subset] Fix subset_offset_array adding unused space to serializer. ArrayOf.serialize_append allocates space for the new item, but ArrayOf.pop() does not recover the allocated space. So in the case where the revert path was entered the extra space added by serialize_append gets left in the serialization buffer. This moves the snapshot to before ArrayOf.serialize_append is called so that revert cleans up the buffer extend.
Qunxin Liu 8c5c8174 2021-09-12T20:16:30 [subset] fix find_duplicate_features We should check each feature against all other features with the same tag for duplicates.