Garret Rieger
f51b48c8e7
[subset] Fix fuzzer found memory leak.
...
Happens because an insert into a map with an invalid key reports successful, but this causes the set being inserted to be lost.
3 years ago
Behdad Esfahbod
b1cd0dce8e
[map] Add INVALID_KEY and INVALID_VALUE
3 years ago
Qunxin Liu
540f19b6fe
[subset] fix bug in (Chain)ContextFormat2
...
Only keep rulesets for glyphs class numbers that survived in coverage
3 years ago
Garret Rieger
e260eeb9be
[subset] Update test goldens for gdef.glyphset.
3 years ago
Qunxin Liu
60e203644b
[subset] use glyphset_gsub instead of glyphset for GDEF
3 years ago
Garret Rieger
e39647c0f1
[subset] update subset goldens to fix tests.
3 years ago
Qunxin Liu
0a7563a53f
[subset] fuzzer fix: https://oss-fuzz.com/testcase?key=6254792024915968
...
Make sure input is valid, each gid has a corresponding offset value in
the map
3 years ago
Qunxin Liu
364b6b3989
[subset] Don't assume FeatureList is sorted
...
Though the spec said FeatureRecords are sorted alphabetically by feature
tag, there're font files with unsorted FeatureList. And harfbuzz is not
able to subset these files correctly because we use binary search in
finding featureRecords when collecting lookups. Also
find_duplicate_features needs to be updated to handle this.
3 years ago
Garret Rieger
49c9392412
[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 (a3f988fbf6/Lib/fontTools/ttLib/tables/otTables.py (L1137)
) to reduce overflows during packing.
3 years ago
Garret Rieger
9643d77086
[repacker] add more detailed comment about virtual links.
3 years ago
Garret Rieger
5bfc7d1015
[repacker] remove VirtualOffset struct.
...
Make and add_virtual_link () specialization of add_link() instead.
3 years ago
Garret Rieger
bc4c5341d6
[repacker] Add test for virtual links in the repacker.
3 years ago
Garret Rieger
7615b94ecf
[repacker] add 'virtual links' to the serializer.
...
These aren't associated with an offset field, but instead exist solely to add an ordering constraint to the object graph.
3 years ago
Behdad Esfahbod
59d8f6c817
[map] Fix copy assignment operator
3 years ago
Behdad Esfahbod
bbda020cbc
Merge pull request #3278 from harfbuzz/more-std
...
More standard idioms
3 years ago
Behdad Esfahbod
459e485bab
[meta] Remove otherwise-empty test-meta
3 years ago
Behdad Esfahbod
b8724c6023
[meta] Add in-house impl of hb_is_convertible()
3 years ago
Behdad Esfahbod
7a078c395a
[meta] Use std::conditional instead of hb_conditional()
3 years ago
Behdad Esfahbod
943921cf0c
[meta] Use more std type_traits
3 years ago
Behdad Esfahbod
6d555ce82e
[meta] Use std::forward instead of hb_forward()
3 years ago
Behdad Esfahbod
811f80a701
[algs] Use std::move instead of hb_move()
3 years ago
Behdad Esfahbod
896e0c74a8
[meta] Remove unused traits
3 years ago
Behdad Esfahbod
be42800fc6
[meta] Use std::is_trivially_... instead of internal copies
3 years ago
Behdad Esfahbod
30c05e8b55
[algs] include <new>
3 years ago
Behdad Esfahbod
4c6fd7cdb2
[map] Try moving items when resizing
3 years ago
Behdad Esfahbod
a28ea8d7f3
Simplify swap()
3 years ago
Behdad Esfahbod
94158316d9
[map] Add iterable constructor
3 years ago
Behdad Esfahbod
a03b9b14c9
[map] Add initializer_list and swap()
3 years ago
Behdad Esfahbod
3604f5f248
[algs] Include <initializer_list>
3 years ago
Behdad Esfahbod
c30f6834d0
[map] Add 5 methods
3 years ago
Behdad Esfahbod
38debbab7e
[set] Add successful check in swap()
3 years ago
Behdad Esfahbod
b860b44229
[bimap] Simplify initialization
3 years ago
Behdad Esfahbod
d2c364f6e7
[array] Use default methods
3 years ago
Behdad Esfahbod
6f74d80ed1
[vector] Complete sorted_vector 5-methods
3 years ago
Behdad Esfahbod
a28b5d03b5
[vector] Add swap() friend to hb_sorted_vector_t
3 years ago
Behdad Esfahbod
e97e79967e
Verbiage
3 years ago
Behdad Esfahbod
34fa5e2901
[set] More default operators
3 years ago
Behdad Esfahbod
b6c0b40fc2
[vector] Use default constructor
3 years ago
Behdad Esfahbod
1e3f57c079
[bit-set] Implement standard-5 methods plus swap
3 years ago
Behdad Esfahbod
11eadb5d28
[bit-set-invertible] Implement standard-5 methods & swap
3 years ago
Behdad Esfahbod
dcd18da611
[set] Add standard the 5 standard methods & tests
3 years ago
Behdad Esfahbod
628a0f3796
[vector] Add more tests
3 years ago
Behdad Esfahbod
f15858be5f
[vector] Pre-allocate if iterator has random-access length
3 years ago
Behdad Esfahbod
11135150a7
[vector] Move test code into separate file
3 years ago
Behdad Esfahbod
ee75e716c1
[vector] Add initializer from iterable
3 years ago
Behdad Esfahbod
18a078f968
[vector] Implement move assignment using swap
3 years ago
Matthias Clasen
8dc86d0703
Add a test font scale rounding behavior
...
This test verifies the fix for
https://github.com/harfbuzz/harfbuzz/issues/3274
3 years ago
Behdad Esfahbod
eeda2c549d
[vector] Add initializer_list constructor & tests
3 years ago
Behdad Esfahbod
c484641304
Revert "[vector] Add initializer_list constructor & tests"
...
This reverts commit aa6182453b
.
3 years ago
Behdad Esfahbod
aa6182453b
[vector] Add initializer_list constructor & tests
3 years ago