Garret Rieger
|
463ae07e99
|
[subset] In the preprocess subset call always use long loca.
Long loca is needed so that we can store the trimmed glyph bytes to allow us to safely skip trimming in the later subset.
|
2022-11-23 12:52:55 -07:00 |
Behdad Esfahbod
|
299ec902eb
|
[glyf] Move instanciation to serialize()
|
2022-11-22 16:03:02 -07:00 |
Behdad Esfahbod
|
d8d881f22d
|
[subset-glyf] Don't create a second glyf accelerator
|
2022-11-22 15:24:16 -07:00 |
Behdad Esfahbod
|
7560930070
|
[glyf] Add _create_font_for_instancing
|
2022-11-22 15:22:25 -07:00 |
Behdad Esfahbod
|
40634ceeb0
|
[glyf] Adjust data types
|
2022-11-22 15:07:16 -07:00 |
Behdad Esfahbod
|
ba0d28ea36
|
[glyf] Fix font error check
|
2022-11-22 15:01:48 -07:00 |
Behdad Esfahbod
|
04c525019c
|
[glyf] Use a malloc instead of calloc
|
2022-11-22 14:54:55 -07:00 |
Behdad Esfahbod
|
024aa81805
|
[glyf] Micro-optimize encode_coord
|
2022-11-22 14:51:42 -07:00 |
Behdad Esfahbod
|
b6694597f9
|
[glyf] Micro-optimize encode_flag()
|
2022-11-22 14:49:01 -07:00 |
Behdad Esfahbod
|
d47cfe7936
|
[glyf] Minor use operator ++
|
2022-11-22 14:45:04 -07:00 |
Behdad Esfahbod
|
03e6bde790
|
[glyf] Minor adjustment to lastflag handling
No logic change.
|
2022-11-22 14:40:50 -07:00 |
Behdad Esfahbod
|
0ca9fda889
|
[glyf] Remove misplaced comment
|
2022-11-22 14:39:10 -07:00 |
Behdad Esfahbod
|
44be8ef4ce
|
[gvar] Skip degenerate all-untouched delta-sets
|
2022-11-22 14:21:25 -07:00 |
Behdad Esfahbod
|
656bb223f1
|
[gvar] Micro-optimize unpack_points
|
2022-11-22 14:16:40 -07:00 |
Behdad Esfahbod
|
a383027262
|
[gvar] Cosmetic
|
2022-11-22 14:15:17 -07:00 |
Behdad Esfahbod
|
be89919a70
|
[gvar] is_valid() remove a check
I don't know why this check was there, but it doesn't make sense
because that function never returns 0 / false.
|
2022-11-22 13:56:20 -07:00 |
Behdad Esfahbod
|
e8ddf107d0
|
[gvar] Optimize a loop
|
2022-11-22 13:29:32 -07:00 |
Behdad Esfahbod
|
dd6fcec92c
|
[gvar] Remove a conditional
|
2022-11-22 13:27:40 -07:00 |
Behdad Esfahbod
|
a02317238a
|
[gvar] Refactor deltas array access
|
2022-11-22 13:24:39 -07:00 |
Behdad Esfahbod
|
c34c77698c
|
[gvar] Don't try IUP if all points are specified
|
2022-11-22 13:21:01 -07:00 |
Behdad Esfahbod
|
27c4037e59
|
[gvar] Micro-optimize boundary-checking
|
2022-11-22 13:12:22 -07:00 |
Behdad Esfahbod
|
ab8346fb6f
|
[gvar] Add an unlikely
|
2022-11-22 13:07:39 -07:00 |
Behdad Esfahbod
|
1e8a342ea2
|
[gvar] Micro-optimize int types
|
2022-11-22 13:04:32 -07:00 |
Behdad Esfahbod
|
4afcdf675b
|
More hb_memcpy
|
2022-11-22 12:56:48 -07:00 |
Behdad Esfahbod
|
58a696d80e
|
More hb_memset
|
2022-11-22 12:56:05 -07:00 |
Behdad Esfahbod
|
59c45f6deb
|
Use hb_memcpy instead of memcpy consistently
|
2022-11-22 12:54:50 -07:00 |
Behdad Esfahbod
|
ac0efaf818
|
Use hb_memset instead of memset consistently
|
2022-11-22 12:50:36 -07:00 |
Behdad Esfahbod
|
44a892a233
|
[shape] Use hb_memcmp instead of memcmp
|
2022-11-22 12:48:52 -07:00 |
Behdad Esfahbod
|
c53c648127
|
[subset-cff] Another handrolled memcpy
|
2022-11-22 12:46:25 -07:00 |
Behdad Esfahbod
|
ae578705c2
|
[array] Write hash as range for loop again
Now that our range loop is faster than our own iter.
|
2022-11-22 12:23:17 -07:00 |
Behdad Esfahbod
|
13e1ca9eb5
|
[cff] Micro-optimize memcpy
|
2022-11-22 12:19:28 -07:00 |
Behdad Esfahbod
|
2968dd7844
|
[gvar] Optimize as_array() access
|
2022-11-22 11:57:29 -07:00 |
Behdad Esfahbod
|
bb3bb76450
|
[gvar] Optimize scalar = 1.0 case
|
2022-11-22 11:53:35 -07:00 |
Behdad Esfahbod
|
2d098d5d7f
|
[gvar] Use memset
|
2022-11-22 11:51:04 -07:00 |
Behdad Esfahbod
|
e630a65e60
|
[gvar] Micro-optize vector extend
|
2022-11-22 11:29:13 -07:00 |
Behdad Esfahbod
|
49d4f62135
|
[gvar] Micro-optimize
|
2022-11-22 11:14:56 -07:00 |
Behdad Esfahbod
|
1758ee6646
|
[glyf] Minor write loop more idiomatically
|
2022-11-22 10:55:16 -07:00 |
Behdad Esfahbod
|
16ec9dcc1b
|
[gvar] Whitespace
|
2022-11-22 10:55:16 -07:00 |
Behdad Esfahbod
|
b567ce51d3
|
[subset] Don't trim glyf's again if preprocessed
Speeds up M1/10000 benchmark by 30%!
|
2022-11-22 10:55:08 -07:00 |
Behdad Esfahbod
|
72059a4789
|
[gvar] Optimize IUP alg
|
2022-11-22 10:41:37 -07:00 |
Behdad Esfahbod
|
ee9873b5ed
|
[gvar] Disable initializing vectors when not necessary
|
2022-11-22 10:23:17 -07:00 |
Behdad Esfahbod
|
b0d2641186
|
[vector] Add "initialize" argument to resize()
|
2022-11-22 10:20:11 -07:00 |
Behdad Esfahbod
|
a2059f8f55
|
[gvar] Optimize unpack_points
|
2022-11-22 10:16:21 -07:00 |
Behdad Esfahbod
|
6d7206b68b
|
[gvar] Optimize unpack_deltas
|
2022-11-22 10:13:14 -07:00 |
Behdad Esfahbod
|
bca569ae53
|
[array] Speed up hash() for byte arrays
|
2022-11-21 23:19:42 -07:00 |
Behdad Esfahbod
|
d7b492e3f5
|
Revert "[array] Remove hash specializations for bytes"
This reverts commit 213117317c .
|
2022-11-21 23:08:51 -07:00 |
Behdad Esfahbod
|
1572ba281a
|
[subset-cff] Return in subr closure if already seen subr
Not sure why this was not done before.
|
2022-11-21 22:26:44 -07:00 |
Behdad Esfahbod
|
a29ca6efbc
|
[subset-cff] Comment
|
2022-11-21 22:02:17 -07:00 |
Behdad Esfahbod
|
28e767ddea
|
[subset-cff] Really optimize op_str_t / parsed_cs_op_t layout
Now parsed_cs_op_t and op_str_t are both 16 bytes.
Saves another 7% in SourceHanSans/10000 benchmark.
|
2022-11-21 21:59:51 -07:00 |
Behdad Esfahbod
|
2d5ee23731
|
[subset-cff] Readjust parsed_cs_op_t
Now it doesn't matter anymore since op_str_t is adjusted and
is 16 bytes with 8byte alignment.
|
2022-11-21 21:55:21 -07:00 |