|
e310f811
|
2025-09-15T00:58:07
|
|
[instancer/gvar] Speed up hash lookup-set
|
|
35212ba3
|
2025-09-14T17:46:13
|
|
[gvar] Change a storage type
No functional change.
|
|
2319d763
|
2025-09-13T16:21:34
|
|
[TupleValues] Micro-optimize encoding
Also, a check for 32bit values in the word-encoding function
was missing. Ouch.
|
|
0ce2b74f
|
2025-07-19T20:45:50
|
|
[gvar] Don't store deltas not needed
For phantoms-only case. 30% speedup on v-advances func's slowest
codepath (using phantom-points).
|
|
c124252d
|
2025-05-31T16:32:58
|
|
[algs] Add support for little-endian int types
As well as 64bit-int, and float types.
Add Align type.
|
|
f3a1ec29
|
2025-02-07T19:52:08
|
|
[open-type] Minor float math
|
|
c6bbc4ed
|
2025-01-22T05:33:33
|
|
[open-type] Fix NumType
|
|
caf04058
|
2025-01-22T04:37:27
|
|
[hvgl] Fix NumType float conversion
|
|
fe964860
|
2025-01-21T21:41:51
|
|
[hvgl] Fix Align<>::get_size()
|
|
e9c531dc
|
2025-01-20T18:02:38
|
|
[hvgl] Simplify Align<>
|
|
a6ba9603
|
2025-01-20T18:00:23
|
|
[hvgl] Move Align to proper place
|
|
622f242e
|
2025-02-02T21:02:31
|
|
[open-type/algs] Add fixed-endian floating point number types
|
|
d0710061
|
2025-01-17T19:32:34
|
|
[open-type/algs] Rename Int to Num in some types
In anticipation of float types.
|
|
ce131d65
|
2025-01-17T19:06:48
|
|
[open-type] Add little-endian integers
|
|
d1826ca6
|
2025-03-02T15:45:35
|
|
[TupleValues] Fix regression
Introduced in 043980a60eb2fe93dd65b8c2f5eaa021fd8653f2
|
|
d9628a56
|
2025-03-02T12:55:23
|
|
[MultiVarData] Micro-optimize
|
|
4be765c0
|
2025-02-27T02:26:08
|
|
Fix config build
|
|
4a43373a
|
2025-02-26T17:24:28
|
|
[MultiVarData] Unroll another loop
|
|
a058a1f2
|
2025-02-24T21:53:17
|
|
[TupleValues] Unroll a loop
|
|
6fe55030
|
2025-02-24T20:57:30
|
|
[TupleValues] Don't overshadow end() method
|
|
2099db37
|
2025-02-24T15:13:08
|
|
[TupleValues] Optimize decoding
|
|
043980a6
|
2025-02-24T10:58:03
|
|
[TupleValues] Micro-optimize
|
|
1ba90720
|
2025-02-23T21:34:54
|
|
[VARC] Speed up MultiVarData::get_delta
|
|
01f02f55
|
2025-02-18T20:28:48
|
|
[COLR] Optimize NoVariation codepath
|
|
f5e50890
|
2025-02-02T11:40:27
|
|
[open-type] Another tweak to cmp()
Again, unlikely that compiler cares.
|
|
c68df817
|
2025-02-02T11:33:42
|
|
[open-type] Minor tweak to cmp()
Remove codepath that was never taken.
|
|
70ca19df
|
2024-09-24T08:42:44
|
|
Use hb_barrier() instead of longer name
No functional change.
|
|
2ba0b9ee
|
2024-08-29T11:41:28
|
|
Turn some byte data into unsigned char, from char
Fixes https://github.com/harfbuzz/harfbuzz/issues/4844
|
|
16c196e0
|
2024-08-22T15:45:41
|
|
Fix warnings with -fstrict-flex-arrays=2
Unfortunatley we cannot set it to 2 in hb.hh; but fix the
warning and add it with default value of 1 anyway.
Fixes https://github.com/harfbuzz/harfbuzz/pull/4836
|
|
6129c726
|
2024-04-22T14:52:58
|
|
[varc] Use Condition instead of ConditionSet
With more Condition formats.
https://github.com/harfbuzz/boring-expansion-spec/commit/df7dcc4618b9dc003740d25c53afe30a8fc03fe2
https://github.com/harfbuzz/boring-expansion-spec/issues/147
|
|
3fda07b4
|
2024-04-15T13:52:34
|
|
Replace an abort with assert(false)
|
|
2e533634
|
2024-04-15T13:49:07
|
|
[TupleValues] Add a likely
I can actually measure a couple percents speedup.
|
|
6af0c519
|
2024-03-23T15:22:40
|
|
[varc] Remove unused method
|
|
9489c856
|
2024-03-23T14:15:03
|
|
[varc] Simplify iterator
|
|
8961b1c5
|
2024-03-23T13:24:37
|
|
[varc] Add __forward__ to the iterator
|
|
731f7815
|
2024-03-23T13:10:12
|
|
[varc] Improve iterator
|
|
84a755bf
|
2024-03-23T12:35:38
|
|
[TupleValues] Minor add an enum
|
|
eaa1fb14
|
2024-03-23T11:39:58
|
|
[varc] Use an iterator to unpack TupleValues
|
|
49c5ed38
|
2024-03-23T10:14:11
|
|
[varc] Remove one vector allocation
|
|
9c7d871b
|
2024-03-23T09:55:30
|
|
[varc] Fix return type
|
|
cf3ce69f
|
2024-03-17T13:57:26
|
|
[TupleValues] Add a pre-alloc
|
|
57a18ac7
|
2024-03-16T14:28:01
|
|
[varc] Error check
|
|
72c9deb5
|
2024-03-16T13:50:31
|
|
[varc] Fixups
Seems to work now!
|
|
320dcede
|
2024-03-16T09:18:58
|
|
[varc] Reading VarComponent transform components
|
|
f77aa8be
|
2024-03-16T08:48:51
|
|
[varc] Add TupleList
|
|
3b8e7d3b
|
2024-03-15T21:50:53
|
|
[HBUINT32VAR] Change return type
|
|
7cf84272
|
2024-03-15T20:45:31
|
|
[varc] Fix sanitize for HBUINT32VAR
|
|
a9776a3d
|
2024-03-15T12:16:15
|
|
[TupleValues] Rename delta to value
|
|
763f8390
|
2024-03-15T11:45:39
|
|
[TupleValues] Move compile/decompile here
|
|
ef04b5c2
|
2024-02-06T14:58:05
|
|
Try fixing MSVC builds
|
|
fa9dc530
|
2024-02-06T14:44:56
|
|
Move CFF Index types to open-type
https://github.com/harfbuzz/boring-expansion-spec/blob/main/VARC.md#cff2indexof
|
|
e339fed7
|
2024-02-06T14:10:07
|
|
[open-type] Add HBUINT32VAR
https://github.com/harfbuzz/boring-expansion-spec/blob/main/VARC.md#uint32var
|
|
cfbb6a68
|
2024-03-14T17:33:34
|
|
[subset] support BASE table subsetting (#4618)
* [subset] support BASE table
* [subset] add tests for BASE table subsetting
|
|
3a9262cc
|
2023-11-04T12:52:46
|
|
[sanitize] More hb_barrier() annotations
|
|
38546acd
|
2023-10-31T14:56:09
|
|
[typed-offset] Fix sanitize()
|
|
b37cc61d
|
2023-10-31T14:26:42
|
|
Add base types to OffsetTo<>
Unused so far.
|
|
60db1427
|
2023-07-24T20:49:32
|
|
[layout] Remove unused "max-size" cruft
|
|
e322949b
|
2023-07-24T20:28:37
|
|
[ArrayOf] Remove fast-path for offset to max-sized objects
Fixes timeout https://oss-fuzz.com/testcase-detail/6153196517851136
|
|
c6a01441
|
2023-07-08T16:32:15
|
|
[sanitize] Always-inline OffsetTo::sanitize()
8% speed up in sanitizing Gulzar.
|
|
f60dbd90
|
2023-07-08T16:21:24
|
|
Fix thinko
Fixes https://oss-fuzz.com/testcase-detail/4787105656864768
|
|
92448910
|
2023-07-07T22:16:24
|
|
[sanitize] Minor inline a few more short functions
|
|
d8450420
|
2023-07-07T21:56:17
|
|
[sanitize] Optimize away an overflow check when not needed
When the length argument is 16bit...
|
|
2006d321
|
2023-07-07T17:07:11
|
|
[sanitize] Add "fastpath" for ArrayOfOffset16To<> objects with max size
Unfortunately this doesn't speed up NotoNastaliq or Gulzar as I was
hoping for. Their GSUB tables are not large enough for this to kick
in...
|
|
7a85663c
|
2023-07-07T19:21:18
|
|
Revert "[sanitize] Add "fastpath" for ArrayOfOffset16To<> objects with max size"
This reverts commit 10f8556c73f3cf231c6b5a900a6a1903f9516f90.
This was, unfortunately, wrong :(.
|
|
10f8556c
|
2023-07-07T17:07:11
|
|
[sanitize] Add "fastpath" for ArrayOfOffset16To<> objects with max size
|
|
68b78914
|
2023-07-07T17:07:11
|
|
[sanitize] Add "fastpath" for ArrayOfOffset16To<> objects with max size
Unfortunately this doesn't speed up NotoNastaliq or Gulzar as I was
hoping for. Their GSUB tables are not large enough for this to kick
in...
|
|
90752cd5
|
2023-07-07T15:47:28
|
|
[type] Add HeadlessArray16Of
|
|
ec943866
|
2023-07-02T13:29:53
|
|
[OffsetTo] Micro-optimize away a check
|
|
595aa583
|
2023-06-04T15:24:36
|
|
[UnsizedArray] Minor simplify operator[]
|
|
319ea3b9
|
2023-06-04T15:23:20
|
|
[UnsizedArrayOf] Simplify operator[]
No need to check for overflow. Caller is responsible for correct
access.
|
|
bf0a08c9
|
2023-06-04T12:54:35
|
|
[cff1] Hygiene
|
|
004cdc10
|
2023-01-07T14:27:15
|
|
[open-type] More tweaks to fixed types
Add set_int().
|
|
c8486b63
|
2023-01-07T14:15:17
|
|
[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.
|
|
80e68f09
|
2022-12-19T19:15:44
|
|
[VarC] Change rotation/skew representation
Fixes https://github.com/harfbuzz/boring-expansion-spec/issues/77
|
|
03a16856
|
2022-12-19T17:11:34
|
|
[VarC] Change representation of scale from 4.12 to 6.10
Fixes https://github.com/harfbuzz/boring-expansion-spec/issues/76
|
|
51a17201
|
2022-12-16T12:28:30
|
|
[open-type] In to_float() take offset as float
|
|
f252cf80
|
2022-12-16T12:03:51
|
|
[open-type] Allow passing an offset to to_float()
|
|
251f9f62
|
2022-12-16T11:29:51
|
|
[open-type] Add VarIdx::add()
|
|
bf2ae3f0
|
2022-12-16T11:26:24
|
|
[open-type] Add static_assert for NO_VARIATION
|
|
575d9940
|
2022-10-13T13:12:26
|
|
[glyf] Flesh out VarCompositeGlyph
|
|
8b533763
|
2022-12-03T15:58:12
|
|
Use hb_len() instead of .len()
|
|
5fd2f255
|
2022-12-01T15:18:59
|
|
[open-type] Don't memset 0 in serialize for ArrayOf family
Not necessary.
|
|
7129b794
|
2022-11-29T15:33:07
|
|
[open-type] Add faster range-based loop to array types
|
|
a0bde1e1
|
2022-11-16T21:27:12
|
|
[open-type] Remove (Sorted)ArrayOf.sub_array()
|
|
c7d57dcf
|
2022-11-16T21:21:31
|
|
[vector/array] Simplify qsort()
|
|
5769d422
|
2022-10-13T12:12:24
|
|
[type] Add HBFixed template
|
|
8c29dcae
|
2022-10-13T12:04:32
|
|
s/HBFixed/F16DOT16/g
|
|
b57ea3b0
|
2022-08-05T14:29:27
|
|
Revert "[iter] Use && in uses of is_source_of"
This reverts commit ccbba667a9bdc096f0053d5e3ee951a8b6298e8a.
|
|
ccbba667
|
2022-08-05T11:51:51
|
|
[iter] Use && in uses of is_source_of
|
|
91c60802
|
2022-07-18T22:24:28
|
|
[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.
|
|
f0707e23
|
2022-07-17T16:47:16
|
|
[atomic] Add compiler memory_r_barrier
https://github.com/harfbuzz/harfbuzz/issues/3728
|
|
f3151b65
|
2022-07-17T16:19:28
|
|
[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
|
|
9843f076
|
2022-07-15T16:03:55
|
|
[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.
|
|
9ef9fc01
|
2022-07-11T13:29:23
|
|
[>64k:layout] Templatize GSUBGPOSFormat1
|
|
f6c2aaee
|
2022-07-11T13:06:48
|
|
[>64k:layout] Add List16OfOffsetTo
|
|
7c4e9080
|
2022-07-11T14:01:52
|
|
[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.
|
|
2c672617
|
2022-07-06T12:26:16
|
|
[open-type] Add HBGlyph24
|
|
486555c6
|
2022-07-05T17:12:59
|
|
[open-type] Add Array24Of<> and SortedArray24Of<>
|
|
c657c4e1
|
2022-05-10T10:00:06
|
|
[meta] fix type traits on gcc 4.9 #3526
Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
|
|
7a078c39
|
2021-11-02T00:44:51
|
|
[meta] Use std::conditional instead of hb_conditional()
|