|
a35757c6
|
2022-02-02T10:30:34
|
|
[repacker] expose hb_subset_repack() API, hb_object_t and hb_link_t structs
|
|
e2e30506
|
2022-01-16T07:00:53
|
|
Fix various typos
Found via `codespell -q 3 -S ./perf/texts -L actualy,ba,beng,fo,gir,inout,nd,ot,pres,ro,te,teh,timne`
|
|
8a69e006
|
2022-01-13T16:17:34
|
|
[meta] Use std::addressof() instead of hb_addressof()
|
|
39e76af1
|
2021-11-30T15:25:40
|
|
[subset] add all_links () to object_t.
Helper to provide easy access to concatenated real and virtual links iterator.
|
|
9121ed0c
|
2021-11-30T13:45:22
|
|
[subset] Improve sharing of Ligature subtables.
Ligature subtables use virtual links to enforce an ordering constraint between the subtables and the coverage table. Unfortunately this has the sideeffect of prevent the subtables from being shared by another Ligature with a different coverage table since object equality compares all links real and virtual. This change makes virtual links stored separately from real links and updates the equality check to only check real links. If an object is de-duped any virtual links it has are merged into the object that replaces it.
|
|
394f7729
|
2021-11-19T11:49:23
|
|
[map] Allow storing classes in the hashmap
Fixes https://github.com/harfbuzz/harfbuzz/issues/3293
The trick was to change the type of the invalid key/value to be non-class.
|
|
9643d770
|
2021-09-24T11:39:59
|
|
[repacker] add more detailed comment about virtual links.
|
|
5bfc7d10
|
2021-09-23T14:45:20
|
|
[repacker] remove VirtualOffset struct.
Make and add_virtual_link () specialization of add_link() instead.
|
|
bc4c5341
|
2021-09-23T14:41:42
|
|
[repacker] Add test for virtual links in the repacker.
|
|
7615b94e
|
2021-09-23T14:14:06
|
|
[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.
|
|
943921cf
|
2021-11-02T00:26:46
|
|
[meta] Use more std type_traits
|
|
6d555ce8
|
2021-11-02T00:18:22
|
|
[meta] Use std::forward instead of hb_forward()
|
|
2bd911b8
|
2021-08-26T14:32:17
|
|
[subset] handle cmap4 overflows.
If a cmap4 subtable overflows during serialization drop it and the corresponding EncodingRecord. Don't drop the corresponding cmap12 table if it would have otherwise been removed.
|
|
087e2705
|
2021-07-28T11:42:31
|
|
Fix signed-ness error in 0ded6a70c829284a8220ce30a405b0a974061df4
|
|
0ded6a70
|
2021-07-28T11:28:38
|
|
[subset] Fix another fuzzer issue
Addition could overflow on 32bit arch.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36636
Fixes https://oss-fuzz.com/testcase-detail/5072358514753536
|
|
7b8464b6
|
2021-07-27T13:15:07
|
|
[serialize] Check for overflow in allocate_size()
If size was > INT_MAX, then the out-of-room check was failing to perform
as intended.
Part of fixing https://oss-fuzz.com/testcase-detail/5362189182566400
|
|
2337f0d0
|
2021-07-08T10:58:50
|
|
Internally use hb_malloc/.../hb_free instead of malloc/.../free
Redefining those stock names as macros was conflicting with gcc 10
headers.
Fixes https://github.com/harfbuzz/harfbuzz/issues/3044
|
|
bb48bf52
|
2021-07-08T10:53:45
|
|
Rename misc uses of "free"
In preparation for fixing https://github.com/harfbuzz/harfbuzz/issues/3044
|
|
10ad1859
|
2021-06-16T16:34:46
|
|
[subset] add comment to copy_bytes().
|
|
675ebbeb
|
2021-06-16T10:40:46
|
|
[subset] don't alloc zero bytes.
It will be leaked later since hb_blob_create() won't set up the blob to cleanup since it has length zero.
|
|
b23f29bf
|
2021-04-17T09:59:45
|
|
[subset] Add subset () method for COLRv1 Paint tables, BaseGlyphV1List and LayerV1List
Also add support for Offset24 in serializer and repacker
|
|
9a3537e5
|
2021-03-29T14:34:24
|
|
[subset] invert err() return value. Undo previous change to check_success.
|
|
cdba5d44
|
2021-03-29T14:23:59
|
|
[subset] fix incorrect handling of return value in check_success in the error case.
|
|
46bf03d6
|
2021-03-18T14:35:36
|
|
[subset] add NODISCARD to error checking methods on serializer.
|
|
3827a3eb
|
2021-03-18T11:20:03
|
|
[subset] rename serializer::set_error() to err().
|
|
b14475d2
|
2021-03-18T10:51:26
|
|
[subset] further changes to serializer error handling.
- Rename enum type and enum members.
- in_errors() now returns true for any error having been set. hb-subset now looks for offset overflow only errors to divert to repacker.
- Added INT_OVERFLOW and ARRAY_OVERFLOW enum values.
|
|
73ed59f7
|
2021-03-17T15:53:10
|
|
[subset] store errors in the serializer as a flag set.
Make check_assign/check_equal specify the type of error to set.
|
|
b9ecc742
|
2021-02-16T13:39:10
|
|
[subset] init offset_overflow in hb_serialize_context_t.
|
|
832f2b59
|
2020-11-10T16:15:37
|
|
[subset] Refactor _subset () to reduce nesting and eliminate the use of 'goto'.
|
|
6b1ea4cb
|
2020-10-30T12:16:26
|
|
[subset] hook up the repacker to run if offset overflows are encountered during subsetting.
|
|
1584d3cb
|
2020-10-28T17:49:09
|
|
[subset] Start a proof of concept implementation of the GSUB/GPOS offset overflow resolver.
|
|
e5b7bc42
|
2020-06-29T01:24:02
|
|
m Add default value to BEInt<> Size template parameter
|
|
dfa9d7ac
|
2021-02-11T11:08:52
|
|
[minor] Use serializer->propagate_error() to simplify code
|
|
6f754852
|
2020-08-11T15:40:47
|
|
[ENOMEM] skip asserts in to_bias if serializer is in an error state.
|
|
040ed094
|
2020-07-30T15:14:02
|
|
[ENOMEM] popragate packed/packed_map errors to the serializer.
Will disable further modifications based on a bad state.
|
|
4cbc7d61
|
2020-07-30T12:20:31
|
|
[ENOMEM] check for unset current in serializer->length().
|
|
15644ee6
|
2020-07-29T16:37:39
|
|
[ENOMEM] fix memory leak if allocation fails during pop_pack().
|
|
42237adf
|
2020-07-29T15:18:25
|
|
[ENOMEM] make serializer modification operations no-ops if it's in an error state.
|
|
2cc85281
|
2020-04-18T16:29:32
|
|
[serializer] Make snapshot()/revert() revert current object links
Fixes https://github.com/harfbuzz/harfbuzz/issues/2325
|
|
65f41363
|
2020-04-01T19:49:18
|
|
minor; fixes #2292
|
|
188a0a47
|
2020-03-07T11:02:36
|
|
removed default base; replaced w/ bias if required
|
|
4c3af7d4
|
2020-03-05T15:40:44
|
|
add "add_link()" with bias arg
issue #2227
|
|
6120f50c
|
2020-02-19T13:55:39
|
|
fix Head with link.bias
|
|
e65bff09
|
2020-02-19T13:38:04
|
|
workaround whence_t as bit-field
|
|
1aed6d22
|
2020-02-19T13:20:29
|
|
fix whence=Head; position as 28 bits
|
|
4ca8e0d9
|
2020-02-19T12:52:18
|
|
re-implement Tail; rewrote name table with it
|
|
c1313e4b
|
2020-02-17T17:33:18
|
|
minor: undid unintended change
|
|
9c65680b
|
2020-02-17T16:59:45
|
|
rename enums to avoid conflict on win
|
|
555f6f1d
|
2020-02-17T16:29:40
|
|
merge add_link_abs() into add_link()
|
|
017cd945
|
2020-02-06T16:11:58
|
|
added add_link_abs()
|
|
65858463
|
2020-02-16T17:16:29
|
|
pop_pack(share=false) in end_serialize()
issue #2177
|
|
39fb57c0
|
2020-02-16T08:38:41
|
|
add share option to pop_pack() (#2176)
as a solution for #2164
|
|
d663e28a
|
2020-02-12T15:41:21
|
|
[serialize] Catch signedness overflows in check_assign()
Should address https://github.com/harfbuzz/harfbuzz/pull/2163#pullrequestreview-355137936
|
|
486754a8
|
2019-09-23T23:48:08
|
|
[serialize] Extract iterable copy, copy_all
|
|
22b6c6a5
|
2019-09-24T12:06:28
|
|
[serialize] use for each as #resolve_links, format
|
|
512551f2
|
2019-09-23T17:28:16
|
|
memory leak fix in serializer (#1988)
|
|
1c56b5d1
|
2019-06-17T14:23:04
|
|
[serialize] Fix copy() calling operator=
https://github.com/googlefonts/harfbuzz/commit/9f610ae239a11e86f94621e26bc15849b65ce41b#commitcomment-33944686
|
|
e8b45c19
|
2019-05-08T16:37:38
|
|
[array] Add .copy()
|
|
83e3eabd
|
2019-05-07T20:58:43
|
|
Whitespace
|
|
5c0f62ad
|
2019-05-07T17:23:46
|
|
[serializer] Accept pointer & reference in more methods
|
|
839618de
|
2019-05-07T17:21:27
|
|
[serializer] Minor
|
|
fa8c4ba8
|
2019-05-07T14:26:03
|
|
Minor
|
|
52f6c04c
|
2019-05-07T13:45:48
|
|
Minor
|
|
2eb7e0e0
|
2019-05-07T12:45:38
|
|
[serialize] Minor
|
|
1c81cff2
|
2019-05-07T11:51:10
|
|
Fix signed-comparison error on 32bit
|
|
e6a622b5
|
2019-05-07T11:06:43
|
|
[serialize] Enable bias assertion
|
|
530ddbbc
|
2019-05-07T11:05:51
|
|
[serialize] Use range-based loop
|
|
240f57e5
|
2019-05-06T23:17:39
|
|
Rename hb_deref_pointer() to hb_deref()
|
|
431b6e1c
|
2019-05-02T16:22:32
|
|
[serialize] Disable assertion for now
|
|
8a32c9ee
|
2019-05-02T16:20:18
|
|
[serialize] Misc getting copy() to work
|
|
91176d5b
|
2019-05-02T15:12:07
|
|
[serialize] Check offset base is within (possibly end of) object
|
|
998b0b68
|
2019-05-02T14:39:52
|
|
[serializer] Add copy() to (Unsized)ArrayOf
|
|
88fdeeec
|
2019-05-02T14:14:33
|
|
[serialize] Take arguments in copy()
|
|
6cc9707c
|
2019-04-24T10:22:06
|
|
[serialize] Rename
|
|
915b9ea5
|
2019-04-24T10:07:19
|
|
[serialize] Add c->check_assign()
To check for assignment overflows.
|
|
441cca23
|
2019-04-23T23:49:21
|
|
Use hb_forward() when forwarding parameter pack
|
|
9c724e48
|
2019-04-22T15:37:10
|
|
[serializer] Add err_propagaged_error()
|
|
24da1d08
|
2019-04-22T15:20:25
|
|
Use variadic template args for propagate_error()
Let's see if bots happy.
Not sure where else we can use these. Mm. Maybe in hb_invoke().
|
|
9bab3984
|
2019-04-22T15:16:35
|
|
Simplify propagate_error()
|
|
693d91cd
|
2019-04-17T17:59:39
|
|
[serialize] Fix offset calculation
|
|
db0c9a14
|
2019-04-17T17:58:13
|
|
[subset] Assert offsets are zero during relocation
If they're not, it's a bug in our subsetting logic somewhere. So check.
|
|
efbba7ad
|
2019-04-17T11:00:08
|
|
[serializer] Add copy()
Calls obj.copy() or obj.operator=() in that order.
|
|
7b863142
|
2019-04-03T15:48:27
|
|
[serialize] Make putting breakpoint on out-of-memory easier
|
|
6215fb8e
|
2019-04-02T23:10:03
|
|
[serialize] Actually reclaim storage from duplicate objects
|
|
3305a2ca
|
2019-04-02T22:42:22
|
|
[serialize] Port to use object pool
Tested, but feels fragile :(.
|
|
8e4df1a1
|
2019-04-02T20:20:53
|
|
[serialize] Disable packed_map again
Ugh. Need to think of something else.
|
|
5b66b033
|
2019-04-02T19:27:02
|
|
[serialize] Fix hb_hashmap_t<> for pointers and use in packed_map
|
|
fc24bb90
|
2019-04-02T17:49:52
|
|
[serialize] Towards maintaining packed_map
|
|
e04518ba
|
2019-04-02T17:20:04
|
|
[serialize] Movce empty-object handling earlier
|
|
5a3de4f4
|
2019-04-02T16:53:05
|
|
[serialize] Allow offset links that have base offset from the object base
Rarely used, but used, in name table or similar constructs.
|
|
f0ea3ac1
|
2019-04-01T21:36:03
|
|
[serialize] Fix linking
|
|
7c0e2054
|
2019-04-01T21:32:29
|
|
[serialize] Minor
|
|
abe33c61
|
2019-04-01T16:45:40
|
|
[serialize] Assert stack
|
|
72e9b2c1
|
2019-04-01T16:17:30
|
|
[serialize] Add add_link() to add link
|
|
74addbec
|
2019-04-01T14:17:09
|
|
[serialize] Add default template type to push()
|
|
f3aca6aa
|
2019-03-31T21:37:14
|
|
[serialize] Implement linking
Untested!
|
|
d6005b49
|
2019-03-30T19:49:56
|
|
[serialize] Start implementing linking
|
|
313b3057
|
2019-03-30T19:46:35
|
|
[serializer] Implement dedup!
|
|
b189bbc4
|
2019-03-30T19:41:48
|
|
Implement hashing of objects
Should be improved for hb_bytes_t.
|
|
d74dc3ef
|
2019-03-30T19:26:37
|
|
[serialize] Don't insert empty object into tree
|