Behdad Esfahbod
85adf4ad5c
[GDEF] Don't assume glyphlist is sorted
...
As was hit by the fuzzer.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14032
2019-04-03 16:07:36 -07:00
Jonathan Kew
e5d6fe9782
Don't skip setting the .end field of the first range
...
Fixes a bug in CoverageFormat2::serialize whereby the first range
was not serialized correctly if it consists of only a single glyph ID.
This broke shaping of U+0626 in the Arabic fallback shaper, because it
is not found in the coverage table of the 'init' and 'medi' lookups.
Also fix similar bug in ClassDefFormat2::serialize, noted during code
inspection (I haven't observed a case that was actually affected by
this, but it looks broken).
Fixes https://github.com/harfbuzz/harfbuzz/issues/1504
2019-03-31 19:02:47 -07:00
Behdad Esfahbod
b986c6a321
[C++11] Remove IntType::set() in favor of operator=
2019-03-29 20:21:21 -07:00
Behdad Esfahbod
cbe2118c58
Merge branch 'master' into iter
2019-01-30 15:07:09 -08:00
Behdad Esfahbod
849a0f1758
[iter] Add hb_iter_with_fallback_t instead
2019-01-29 17:10:19 -08:00
Behdad Esfahbod
4d40ed9d1a
[iter] Add hb_iter_with_mixin_t<>
2019-01-29 13:55:23 -08:00
Behdad Esfahbod
84a25d79c6
[iter] Rename
2019-01-29 13:39:19 -08:00
Garret Rieger
925be29223
Update hb-ot-vorg-table and hb-ot-layout-common to use the updated subset plan api.
2019-01-29 13:19:21 -08:00
Behdad Esfahbod
d438e61042
[iter] Fix operator() impls
2019-01-28 16:34:04 -05:00
Behdad Esfahbod
090fe56dc6
Merge branch 'master' into iter
2019-01-25 16:06:52 +01:00
Behdad Esfahbod
5d4b0377b9
Convert unsigned enum class consts to static constexpr
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1553
2019-01-22 12:17:26 +01:00
Behdad Esfahbod
93551669c5
Remove unused Coverage::iter_t::get_coverage()
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
a7de144df3
Implement uniform map interface
...
Coverage, ClassDef, hb_set_t, and hb_map_t implement.
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
7987095e64
[meta] Remove hb_enable_if_t
...
It was only used for C++<11 which does not allow default parameters
in function templates. Looks like we cannot support <11 anyway, so,
start cleaning up.
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
7798e4fcc3
[iter] Change Coverage iterator to only return glyph-id
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
636786ecaf
[iter] Rename __item_type__ to __item_t__
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
6caf76f4a8
Tighten Coverage iteration
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
ff3a7ce1e7
[subset] Minor
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
74ca7b580c
[OT] Implement operator[] for Coverage and ClassDef
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
445364d80a
[iter] Rename hb_is_[sorted_]iterator() -> hb_is_[sorted_]iterator_of()
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
815cde9fa3
[iter] Use is_sorted_iterator
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
b5d6fe1a45
[iter] Remove hb_sorted_iter_t
...
Not enforcing it using type hierarchy.
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
a685bfe8fc
Separate GlyphID from HBUINT16
...
For stricter enforcement.
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
40c24fd4a6
[iter] Port Coverage towards iter_t instead of array_t specifics
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
851fbb23ea
[iter] Port Coverage::serialize to hb_is_iterator
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
bcb913efb4
Minor
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
0828db8444
[iter] Rename
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
2cbf5bf3a9
[iter] Test OT::Coverage iter
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
cde31988c2
[iter] Mark Coverage iterator sorted
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
e16884248f
[iter] Port Coverage iterator to hb_iter_t
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
8303a9b011
[Coverage] Ensure increasing coverage in iteration
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
50cd26d394
[Coverage] Mark iterator methods const
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
9df1a6eba7
[iter] Use operator bool in a few places
2019-01-20 20:12:12 -05:00
Behdad Esfahbod
474a12058d
[array/vector] Rename len to length
2018-12-21 18:53:01 -05:00
Behdad Esfahbod
6124123393
[serialize] Adjust ClassDef
...
[skip ci]
2018-12-20 12:26:44 -05:00
Behdad Esfahbod
f1e95e40ed
[arrays] Remove hb_supplier_t<>
2018-12-18 16:49:08 -05:00
Behdad Esfahbod
9aebfb4182
[serialize] Streamline error propagation
2018-12-18 13:22:17 -05:00
Behdad Esfahbod
cf39c24205
[arrays] Rename Supplier to hb_supplier_t
2018-12-17 22:36:23 -05:00
Ebrahim Byagowi
e412008599
Remove redundant void from C++ sources ( #1486 )
2018-12-17 13:01:01 -05:00
Ebrahim Byagowi
b2ebaa9afa
Remove redundant 'inline' from methods ( #1483 )
2018-12-16 14:08:10 -05:00
Behdad Esfahbod
c9c746c7f6
[subset] Fix up ClassDef some more
2018-12-13 18:39:30 -05:00
Behdad Esfahbod
7ee6128902
[subset] Fix ClassDefFormat1 subsetting
2018-12-13 18:32:04 -05:00
Behdad Esfahbod
705e2f5056
[subset] Implement for ClassDef
2018-12-13 17:48:42 -05:00
Behdad Esfahbod
cc65901ca7
[serialize] Implement for ClassDef
2018-12-13 16:01:45 -05:00
Behdad Esfahbod
e5309e4fd8
[serialize] Implement for ClassDefFormat2
2018-12-13 15:57:12 -05:00
Behdad Esfahbod
c8b43cbe31
[serialize] Implement for ClassDefFormat1
2018-12-13 15:53:00 -05:00
Behdad Esfahbod
602fbfe3c9
[sanitize] Fix sanitizing sublookup array
2018-12-12 09:56:47 -05:00
Behdad Esfahbod
f9d211af1d
Revert "Minor fix re sanitize of Lookup subtables"
...
This reverts commit 7146718bef
.
Fixing differently.
2018-12-12 09:44:30 -05:00
Behdad Esfahbod
7146718bef
Minor fix re sanitize of Lookup subtables
...
We were dereferencing Null pointers and trying to sanitize them,
which is not necessary...
2018-12-11 23:44:29 -05:00
Michiharu Ariza
32d291ae89
Merge branch 'master' into cff-subset
2018-11-28 16:27:45 -08:00