|
e2fd49ff
|
2023-05-08T23:37:47
|
|
[hash] Comment
|
|
fa64e42d
|
2023-05-08T23:31:52
|
|
[algs] Adjust int hash
|
|
078b2a51
|
2023-05-08T22:28:48
|
|
[hash] Use a Mersenne prime for int hash
And hope that compiler optimizes to int ops instead of modula.
Improves chaining it seems.
Part of https://github.com/harfbuzz/harfbuzz/pull/4228
|
|
fe0f7dc5
|
2023-05-08T22:19:02
|
|
[bytes] Use fasthash as hash algorithm
Part of https://github.com/harfbuzz/harfbuzz/pull/4228
|
|
c005e3a2
|
2023-05-08T16:33:31
|
|
[bytes] Simplify hash function
Part of https://github.com/harfbuzz/harfbuzz/issues/4227
|
|
0e026808
|
2023-05-08T16:31:58
|
|
[hash] Add hash impl for integers
Part of https://github.com/harfbuzz/harfbuzz/issues/4227
|
|
b7a8d23b
|
2023-05-08T14:32:24
|
|
[map] Micro-optimize for hb_map_t
|
|
2f05c32c
|
2023-05-08T14:29:07
|
|
[Coverage] Minor access arrayZ directly in a couple places
|
|
c0e6a96a
|
2023-05-08T14:02:55
|
|
[bit-set] Minor access an array directly
|
|
f4d3b49e
|
2023-05-08T13:59:48
|
|
[set] Micro-optimize iteration
|
|
3416086d
|
2023-05-08T13:39:48
|
|
[set] Optimize is_subset()
|
|
45afbdff
|
2023-05-08T11:19:55
|
|
[array] Add a const to a cast
|
|
4ad443d5
|
2023-05-08T10:14:43
|
|
[Coverage/ClassDef] Don't call qsort if sorted already
|
|
3c2a925b
|
2023-05-08T09:43:01
|
|
[graph] Micro-optimize
|
|
62bc2841
|
2023-05-08T09:12:34
|
|
Merge pull request #4221 from googlefonts/user_glyph_map
[subset] Add API method to allow a custom glyph map to be specified.
|
|
b6516f3b
|
2023-05-08T15:31:24
|
|
[cff] Fix the case of HB_OT_TAG_cff(1|2) macros
Should be upper case like other HB_OT_TAG_* macros of upper case tables.
|
|
8df5cdbc
|
2023-05-07T15:49:50
|
|
[Coverage/ClassDef] Handle glyphID overflow in serialize
|
|
6d7de2f8
|
2023-05-07T15:23:05
|
|
[array] Implement FNV-1a hash function
|
|
ebdeab8b
|
2023-05-07T14:18:36
|
|
[array] Improve hash function
Previously all arrays of 0 bytes were getting same hash.
|
|
f772071f
|
2023-05-07T13:42:00
|
|
[subset-plan] Another error check
|
|
5ec0ccad
|
2023-05-06T13:36:39
|
|
Undef a macro after use
|
|
4bb78e35
|
2023-05-06T16:27:46
|
|
Typo in the documentation of hb-ot-math
|
|
86658df5
|
2023-05-05T16:10:46
|
|
[ClassDef] Fix a fuzzer issue
Don't qsort an array that failed to allocate!
Fixes https://oss-fuzz.com/testcase-detail/6512559172485120
|
|
cda646a5
|
2023-05-05T15:57:13
|
|
[subset-plan] Check success of all object members
|
|
5f5660fc
|
2023-05-05T15:52:17
|
|
[subset] In glyf-closure always add current glyph
Bad things can happen otherwise if one composite glyph depleted
the op count.
|
|
5468b08c
|
2023-05-05T15:49:38
|
|
[subset-plan] Move all object members to a new file
To automatically check for their errors.
|
|
71910fdf
|
2023-05-05T15:37:07
|
|
[Coverage] Remove unnecessary check
|
|
ee9b631d
|
2023-05-05T10:26:57
|
|
[SingleSubst] Fix condition to upgrade to beyond-64k
|
|
8eb9f312
|
2023-05-05T15:56:50
|
|
[subset] s/Since/XSince/.
|
|
5d4f3ff6
|
2023-05-05T07:10:02
|
|
[TINY] Fix build
|
|
7e676cb4
|
2023-05-05T07:07:00
|
|
[config] Add HB_NO_OT_FONT_ADVANCE_CACHE
Part of https://github.com/harfbuzz/harfbuzz/issues/4220
|
|
8831ba7f
|
2023-05-05T07:03:25
|
|
[config] Add HB_NO_OT_FONT_CMAP_CACHE
Part of https://github.com/harfbuzz/harfbuzz/issues/4220
|
|
0e9ebf10
|
2023-05-05T06:57:51
|
|
[config] Add HB_OPTIMIZE_SIZE_MORE and enable in HB_TINY
Part of https://github.com/harfbuzz/harfbuzz/issues/4220
|
|
da175c69
|
2023-05-05T06:51:59
|
|
[config] Add HB_MINIMIZE_MEMORY_USAGE
Part of https://github.com/harfbuzz/harfbuzz/issues/4220
|
|
bbf4cfa3
|
2023-05-05T06:51:10
|
|
[config] Add missing HB_NO_BORING_EXPANSION options
Those others are only HB_EXPERIMENTAL_API anyway, but still.
|
|
d339298f
|
2023-05-05T06:00:30
|
|
[subset] fix hb_subset_input_old_to_new_gid_mapping method comment.
|
|
374a9a9f
|
2023-05-05T05:58:15
|
|
[subset] restore accidentally removed function doc.
|
|
3021b2db
|
2023-05-05T05:57:05
|
|
[subset] change glyph mapping api to return a mutable map.
Maintains consistency with our other set based api methods.
|
|
d4c13225
|
2023-05-04T23:04:35
|
|
[subset] Add new glyph map method to docs.
|
|
77a81554
|
2023-05-04T23:01:56
|
|
[subset] Add some basic tests for a provided glyph map.
|
|
31949636
|
2023-05-04T16:29:48
|
|
Revert "[layout] Cache subtable coverages in hb_map_t"
This reverts commit 7a715d74e06720c17d28ba7b4c3da0b583f8d1d3.
|
|
7a715d74
|
2023-05-04T16:28:11
|
|
[layout] Cache subtable coverages in hb_map_t
Proof-of-concept. Going to revert. Memory consumption is more
than I like. It does speed up Roboto shaping another 15% though.
Perhaps if we could add logic to choose which subtables to
cache, this might be a useful approach.
|
|
98e73192
|
2023-05-04T22:20:06
|
|
[subset] Add command line flag to provide a gid mapping.
|
|
975980d3
|
2023-05-04T15:56:06
|
|
[gsubgpos] Add apply_cached() as separate method
In prep for some other work.
|
|
779e8297
|
2023-05-04T19:31:23
|
|
[subset] fix requested_glyph_map presence check.
|
|
e14020b2
|
2023-05-04T19:24:01
|
|
[subset] remove return value from mapping setting function.
|
|
68266347
|
2023-05-04T19:18:54
|
|
[subset] apply the user supplied glyph map.
|
|
e711e305
|
2023-05-04T18:47:55
|
|
[subset] Add new subsetting API method to receive a user specified glyph mapping.
|
|
1be39729
|
2023-05-04T13:18:34
|
|
[subset] Support unordered glyphlist in Coverage/ClassDef serialize
|
|
a10fad7c
|
2023-05-04T11:32:07
|
|
[config] Add HB_NO_GDEF_CACHE
|
|
e138319f
|
2023-05-04T11:28:50
|
|
[config] Allow overriding HB_OPTIMIZE_SIZE
|
|
319a488b
|
2023-05-04T10:36:48
|
|
[GDEF] Fix null check
Fixes https://oss-fuzz.com/testcase-detail/5920994267889664
|
|
3f2401e2
|
2023-05-03T16:56:52
|
|
[layout] Don't init iters successively multiple times
|
|
959f1634
|
2023-05-03T16:27:41
|
|
[gsubgpos] Minor reduce variable scope
|
|
fb795dc3
|
2023-05-03T15:17:20
|
|
[GPOS] Optimize iterator reset
Speeds up Gulzar shaping 5%.
|
|
0c1637b6
|
2023-05-03T15:04:57
|
|
[aat] Fix HB_NO_OT_LAYOUT build
|
|
8a8fc37c
|
2023-05-03T14:57:00
|
|
[GDEF] Use a cache for glyph classes
Shows 5% speedup for Roboto shaping.
|
|
323a1fe4
|
2023-05-03T13:52:43
|
|
[PairPos] Fix what I broke
|
|
a6f5f0dc
|
2023-05-03T13:45:39
|
|
[PairSet] Micro-optimize
|
|
4e495eb0
|
2023-05-03T13:40:46
|
|
[PairPos] Add an unlikely
|
|
5528bdd4
|
2023-05-03T13:35:10
|
|
[PairPos] Remove a likely
|
|
ae0fe02d
|
2023-05-03T13:24:08
|
|
[Ligature] Use slow path if 2 or fewer ligatures
|
|
ddd6c2e7
|
2023-05-03T13:16:39
|
|
[Ligature] Micro-optimize more
|
|
045ae4b0
|
2023-05-03T13:08:43
|
|
[GPOS] Micro-optimize
|
|
0fe90ebc
|
2023-05-03T12:49:31
|
|
[Ligature] Micro-optimize
|
|
51061d28
|
2023-05-03T12:46:04
|
|
[Ligature] Minor tweak to recent code
|
|
7881eadf
|
2023-05-02T14:56:18
|
|
[Ligature] Speed up
Match the first component of the ligature in the LigatureSet loop.
Speeds up Roboto shaping by 25%. I don't think it breaks anything.
The test suite seems happy.
|
|
95f15557
|
2023-05-02T16:37:31
|
|
[PairPosFormat2] Micro-optimize and don't kern if class2=0
If class2=0 we expect no kerning to happen. Just bail out.
|
|
59967154
|
2023-05-02T15:52:43
|
|
[PairPos2] Micro-optimize
|
|
49ac5e11
|
2023-05-02T12:12:26
|
|
[match_input] Micro-optimize
|
|
7e7f1d04
|
2023-05-02T12:06:00
|
|
Drop a pair of parantheses from likely/unlikely
Such that "if likely(...)" wouldn't compile.
|
|
db730f46
|
2023-05-02T11:55:10
|
|
Simplify likely/unlikely
This surprisingly saves bytes and speeds up.
|
|
2f9945ca
|
2023-05-02T11:33:31
|
|
[Glyph] Only treat numContours=-1 as Composite
Leave the other negative numbers as empty glyph.
|
|
db23be64
|
2023-05-02T00:06:08
|
|
[subset] clamp head *Min/*Max values to fit within 16 bit signed int.
Fixes fuzzer https://oss-fuzz.com/testcase-detail/4549472192692224.
|
|
a8b8eb53
|
2023-05-01T16:56:29
|
|
[Coverage] Micro-optimize
|
|
af21ea35
|
2023-05-01T16:34:50
|
|
[Coverage/serialize] Micro-optimize
|
|
491f2968
|
2023-05-01T15:58:57
|
|
[gvar] Micro-optimize
We don't need the flag in the case of apply_to_all.
|
|
19d8328b
|
2023-05-01T15:54:06
|
|
[VarComposite] Minor use pad instead of StructAfter
|
|
1b74cd7c
|
2023-05-01T15:41:12
|
|
[gvar] Micro-optimize
|
|
267ecd20
|
2023-05-01T14:05:17
|
|
[normalize] Micro-optimize
|
|
577bc8a2
|
2023-05-01T14:01:08
|
|
[layout] Micro-optimize
|
|
5b78e9a9
|
2023-05-01T13:45:42
|
|
[layout] Whitespace
|
|
3f9eb03b
|
2023-05-01T12:49:40
|
|
[graph] Micro-optimize
|
|
1cbb85dc
|
2023-04-30T11:31:46
|
|
[Glyph] Protect against an underflow
|
|
c7721f7d
|
2023-04-30T11:28:40
|
|
[Glyph] Reuse variables
|
|
e826d94a
|
2023-04-30T11:11:19
|
|
Call roundf() instead of _hb_roundf()
The former is defined as a macro expanding to the latter.
|
|
fbffd4e6
|
2023-04-30T10:45:19
|
|
[SimpleGlyph] Handle cubic curves when instancing
|
|
85a0a123
|
2023-04-30T10:40:50
|
|
[SimpleGlyph] Relax types
|
|
2e5e5665
|
2023-04-30T10:23:58
|
|
[SimpleGlyph] Micro-optimize
|
|
7b9832de
|
2023-04-29T12:56:07
|
|
[buffer] Whitespace
|
|
700975f7
|
2023-04-29T11:23:56
|
|
[gvar/glyf] Minor save a variable
|
|
07be0b68
|
2023-04-29T11:09:28
|
|
[VarComposite] Minor micro-optimize
|
|
ecd0f859
|
2023-04-29T10:51:59
|
|
[Composite] Minor micro-optimize
|
|
e768754b
|
2023-04-29T17:51:04
|
|
[buffer] fix `hb_buffer_t::similar` setting `replacement` to `src.invisible`
```cpp
void
hb_buffer_t::similar (const hb_buffer_t &src)
{
hb_unicode_funcs_destroy (unicode);
unicode = hb_unicode_funcs_reference (src.unicode);
flags = src.flags;
cluster_level = src.cluster_level;
replacement = src.invisible; // <- this should be src.replacement
invisible = src.invisible;
not_found = src.not_found;
}
```
|
|
afd432da
|
2023-04-28T14:55:37
|
|
[VarComposite] Fix an #ifdef check
|
|
b53f8c25
|
2023-04-28T14:49:22
|
|
[path-builder] Simplify initialization
|
|
6a4b87d0
|
2023-04-28T14:48:46
|
|
[path-builder] Remove double-initialization
|
|
4a102eff
|
2023-04-28T14:38:34
|
|
[gvar] Minor always pass cache
We now check for access in calculate_scalar(), so no need to
check fof error here.
|
|
06504cb0
|
2023-04-28T13:13:18
|
|
[PairPosFormat2] Minor use false instead of 0
|
|
262f029e
|
2023-04-28T12:57:24
|
|
[algs] Undo touching HACKMEM 169
|