Behdad Esfahbod
004cdc10f8
[open-type] More tweaks to fixed types
...
Add set_int().
2023-01-07 14:27:15 -07:00
Behdad Esfahbod
c8486b6301
[open-type] Add to_int to fixed types
...
To make sure we don't accidentally forget to_float().
As we did recently in COLRv1 code.
2023-01-07 14:15:17 -07:00
Behdad Esfahbod
80e68f09c5
[VarC] Change rotation/skew representation
...
Fixes https://github.com/harfbuzz/boring-expansion-spec/issues/77
2022-12-19 19:17:04 -07:00
Behdad Esfahbod
03a1685693
[VarC] Change representation of scale from 4.12 to 6.10
...
Fixes https://github.com/harfbuzz/boring-expansion-spec/issues/76
2022-12-19 17:12:09 -07:00
Behdad Esfahbod
51a17201a7
[open-type] In to_float() take offset as float
2022-12-16 12:28:50 -07:00
Behdad Esfahbod
f252cf80e1
[open-type] Allow passing an offset to to_float()
2022-12-16 12:03:51 -07:00
Behdad Esfahbod
251f9f6213
[open-type] Add VarIdx::add()
2022-12-16 11:29:51 -07:00
Behdad Esfahbod
bf2ae3f0ca
[open-type] Add static_assert for NO_VARIATION
2022-12-16 11:26:24 -07:00
Behdad Esfahbod
575d99406a
[glyf] Flesh out VarCompositeGlyph
2022-12-09 14:45:29 -07:00
Behdad Esfahbod
8b533763c0
Use hb_len() instead of .len()
2022-12-03 15:58:12 -07:00
Behdad Esfahbod
5fd2f255fc
[open-type] Don't memset 0 in serialize for ArrayOf family
...
Not necessary.
2022-12-01 15:18:59 -07:00
Behdad Esfahbod
7129b79406
[open-type] Add faster range-based loop to array types
2022-11-29 15:33:07 -07:00
Behdad Esfahbod
a0bde1e1ea
[open-type] Remove (Sorted)ArrayOf.sub_array()
2022-11-16 21:27:12 -07:00
Behdad Esfahbod
c7d57dcf26
[vector/array] Simplify qsort()
2022-11-16 21:21:31 -07:00
Behdad Esfahbod
5769d422c5
[type] Add HBFixed template
2022-10-13 12:12:24 -06:00
Behdad Esfahbod
8c29dcaee4
s/HBFixed/F16DOT16/g
2022-10-13 12:06:15 -06:00
Behdad Esfahbod
b57ea3b053
Revert "[iter] Use && in uses of is_source_of"
...
This reverts commit ccbba667a9
.
2022-08-05 14:29:27 -06:00
Behdad Esfahbod
ccbba667a9
[iter] Use && in uses of is_source_of
2022-08-05 11:51:51 -06:00
Behdad Esfahbod
91c60802e6
[open-type] Fix overflow check
...
Without the cast, the compiler is within its rights to reason that
overflow didn't happen and optimize away the check, as clang was.
2022-07-18 22:24:28 -06:00
Behdad Esfahbod
f0707e2348
[atomic] Add compiler memory_r_barrier
...
https://github.com/harfbuzz/harfbuzz/issues/3728
2022-07-17 16:47:16 -06:00
Behdad Esfahbod
f3151b6582
[ArrayOf family] Use memory barrier before accessing array
...
Without it, the compiler was reordering and batching the read
of array length and array[0] if the 0'th member was accessed
constantly and function was inlined. This felt safe to the
compiler because HB_VAR_ARRAY is 1, but could be unsafe actually.
The memory barrier disallows that.
This was found by afl/honggfuzz address sanitizers.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49187
2022-07-17 16:22:29 -06:00
Behdad Esfahbod
9843f07658
[OffsetTo] Try catching nullable offsets to unbounded types
...
Doesn't catch all cases; if type is not fully defined at
OffsetTo time, we can't know.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1300
to the best we can do.
2022-07-15 16:04:40 -06:00
Behdad Esfahbod
9ef9fc0114
[>64k:layout] Templatize GSUBGPOSFormat1
2022-07-12 13:42:52 -06:00
Behdad Esfahbod
f6c2aaeea4
[>64k:layout] Add List16OfOffsetTo
2022-07-12 13:42:52 -06:00
Behdad Esfahbod
7c4e9080c0
[sanitize] Minor trace format fixup
...
This likely() is unlikely to make a difference, and obscures
the return_trace() message by writing out "something" instead
of the true/false value.
2022-07-11 21:52:41 -06:00
Behdad Esfahbod
2c67261723
[open-type] Add HBGlyph24
2022-07-08 12:01:26 -06:00
Behdad Esfahbod
486555c691
[open-type] Add Array24Of<> and SortedArray24Of<>
2022-07-08 12:01:07 -06:00
Thomas Devoogdt
c657c4e1f8
[meta] fix type traits on gcc 4.9 #3526
...
Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
2022-05-13 11:26:12 -06:00
Behdad Esfahbod
7a078c395a
[meta] Use std::conditional instead of hb_conditional()
2021-11-02 00:44:51 -06:00
Behdad Esfahbod
943921cf0c
[meta] Use more std type_traits
2021-11-02 00:26:46 -06:00
Behdad Esfahbod
6d555ce82e
[meta] Use std::forward instead of hb_forward()
2021-11-02 00:18:22 -06:00
Behdad Esfahbod
be42800fc6
[meta] Use std::is_trivially_... instead of internal copies
2021-11-02 00:04:18 -06:00
Behdad Esfahbod
14a2df7bc2
Add stub HBUINT15
2021-09-19 23:06:09 -04:00
Behdad Esfahbod
c852b86841
Rename HBGlyphID to HBGlyphID16
2021-09-19 16:30:12 -04:00
Behdad Esfahbod
f0a1892ff9
[serialize] Remove unnecessary pointer indirection
2021-07-28 17:36:22 -06:00
Behdad Esfahbod
03cd9c5cba
Align lfind() API to match bfind()
2021-07-22 11:38:27 -07:00
Behdad Esfahbod
29c9833e57
Remove Offset::serialize()
...
Finishing https://github.com/harfbuzz/harfbuzz/pull/2355
2021-07-09 11:58:36 -06:00
Garret Rieger
0da9158f62
[subset] Remove OffsetTo::serialize().
...
Convert remaining uses of it to serialize_serialize() which correctly uses the object packer.
2021-06-30 14:05:48 -07:00
Garret Rieger
35458b6b66
[subset] Add serialize_serialize to OffsetTo.
...
Similar to serialize_subset() this will serialize the new object and then link it to the offset.
2021-06-14 12:18:06 -07:00
Behdad Esfahbod
70110f6aaa
Modify OffsetTo<>::sanitize() overflow check
...
The code in question was introduced in 70eb2ff682
.
Rewrite it to not call sanitizer check_range() as we want to use
check_range() for byte accounting.
Part of https://github.com/harfbuzz/harfbuzz/pull/2923
2021-03-31 17:04:02 -06:00
Behdad Esfahbod
4dba749d83
Add SortedArray{16,32}Of<>
2021-03-31 16:09:39 -06:00
Behdad Esfahbod
5639e253f9
Add Array16Of<>
2021-03-31 16:04:43 -06:00
Behdad Esfahbod
2520a82df9
s/LArrayOf/Array32Of/g
2021-03-31 15:41:54 -06:00
Behdad Esfahbod
5efe360986
Rename (Unsized)OffsetListOf
2021-03-31 15:33:22 -06:00
Behdad Esfahbod
6c4e0491d7
s/OffsetArrayOf/Array16OfOffset16To/g
2021-03-31 15:31:32 -06:00
Behdad Esfahbod
1fc6b69aed
s/UnsizedOffsetArrayOf/UnsizedArray16OfOffsetTo/g
2021-03-31 15:30:35 -06:00
Behdad Esfahbod
2a54c9f744
.
2021-03-31 15:26:42 -06:00
Behdad Esfahbod
9b4b58493b
Fixup for recent OffsetTo<> changes
2021-03-31 13:27:21 -06:00
Behdad Esfahbod
ad28f973f3
Rename offset types to be explicit about their size
...
Add Offset16To<>, Offset24To<>, and Offset32To<> for most use-cases.
2021-03-31 13:00:07 -06:00
Behdad Esfahbod
9ffc46b8ff
Add VarIdx
2021-03-31 11:26:18 -06:00