|
f2297e69
|
2022-11-25T11:33:00
|
|
[buffer] Documentation
Fixes https://github.com/harfbuzz/harfbuzz/issues/3889
|
|
6aaa1662
|
2022-11-24T14:58:42
|
|
[Coverage] Comment
|
|
06e2147a
|
2022-11-24T14:56:04
|
|
More call set->next() directly
|
|
196c9db0
|
2022-11-24T14:51:52
|
|
Call ->next() directly
|
|
03d64b74
|
2022-11-24T14:33:18
|
|
[bit-set] Remove TODO that would never happen
|
|
690df8a3
|
2022-11-24T14:32:51
|
|
[bit-set] Micro-optimize prev()
|
|
fe5d9176
|
2022-11-24T14:30:18
|
|
[bit-set] Micro-optimize size
It's silly that this saves size at all. :(
|
|
cf9b9929
|
2022-11-24T14:26:28
|
|
[bit-set] Micro-optimize process()
|
|
d77903db
|
2022-11-24T14:22:32
|
|
[bit-set] Micro-optimize
|
|
13dd4b46
|
2022-11-24T14:20:42
|
|
[bit-set] Micro-optimize access
|
|
d77f346d
|
2022-11-24T14:02:46
|
|
[subset-cff] Minor rename
|
|
29a0fa08
|
2022-11-24T14:00:59
|
|
[subset-cff] Micro-optimize
|
|
d480ae1f
|
2022-11-24T13:53:43
|
|
[cff] Remove unused function
|
|
73046d53
|
2022-11-24T13:49:29
|
|
[shaper] Disable dumber shaper if no AAT
|
|
e9f964c0
|
2022-11-24T13:38:53
|
|
[ot-face] Declare more tables as core
|
|
5bc27a12
|
2022-11-24T13:30:12
|
|
[machinery] Comment
|
|
d21bfb08
|
2022-11-24T13:14:05
|
|
[normalize] Remove an unlikely
Keep unlikely for truely unlikely scenarios.
|
|
9e1239f4
|
2022-11-24T13:00:47
|
|
[config] Define HB_NO_VERTICAL in HB_LEAN and as such in HB_TINY
|
|
6f133ccf
|
2022-11-24T12:59:55
|
|
[glyf] Fix build with HB_NO_VERTICAL
|
|
76420ef7
|
2022-11-24T12:52:15
|
|
[machine.rl] Remove unlikely from what happens 1/16 of the time
|
|
12485744
|
2022-11-24T12:46:04
|
|
[config] Disable Zawgyi shaper in HB_MINI/HB_TINY
|
|
05aa084e
|
2022-11-24T12:13:31
|
|
[PairPos] Another attempt at fixing unsafe-to-break with ValueFormat2
Fixes https://github.com/harfbuzz/harfbuzz/issues/3888#issuecomment-1326781116
Test:
$ hb-shape XBRoya34.ttf ' الأ' --show-flags --script=arab
|
|
54ae3345
|
2022-11-24T11:59:50
|
|
[buffer] Improve documentation of hb_buffer_add_codepoints()
Fixes https://github.com/harfbuzz/harfbuzz/issues/3889
|
|
a4a40786
|
2022-11-24T11:56:58
|
|
Merge pull request #3893 from googlefonts/preprocess_test
[subset] Fix testing of preprocess
|
|
0c70bc7f
|
2022-11-24T11:48:48
|
|
[skippy-iter] Fix two logic errors
First, a signed underflow.
Second, a wrong condition.
Both were introduced in 42681bdb55a75520d4ac194302fe936d1ce3cb34
|
|
64e8707e
|
2022-11-24T18:24:50
|
|
[subset] don't use hb repacker when generating test files from fonttools.
|
|
3b43096e
|
2022-11-23T22:04:02
|
|
[buffer] Whitespace
|
|
094f8073
|
2022-11-23T22:03:26
|
|
[buffer] Handle null buffer in set_message_func
|
|
1fa64c0c
|
2022-11-23T21:38:51
|
|
[gsubgpos] Conditionalize skippy on unsafe-to-concat
|
|
42681bdb
|
2022-11-23T21:36:43
|
|
[gsubgpos] No logic-change minor rewrite
|
|
c15efdec
|
2022-11-23T21:14:28
|
|
[gsubgpos] Comment
|
|
7ec1c41a
|
2022-11-23T21:12:41
|
|
[gsubgpos] Skippy-iter: Prefer correctness to performance
Prefer unsafe-to-concat correctness, over performance.
|
|
b6df3471
|
2022-11-23T20:15:16
|
|
[perf] Add Hindi test to benchmark-shape
|
|
dce3502e
|
2022-11-23T18:34:54
|
|
[array] Add commented-out static asserts
They don't work.
|
|
a7fee43c
|
2022-11-23T17:46:32
|
|
[priority-queue] Minor micro-optimize
|
|
ff3cac0c
|
2022-11-23T23:50:49
|
|
[subset] Fix unecessary trailing 0 bytes left by ContextFormat2 pruning.
Uneeded rules where beind removed from the count by the bytes for them was being left in the font.
|
|
f2851e41
|
2022-11-23T16:50:30
|
|
[test-map] Test has() getter with unique-ptr
|
|
5f3a7806
|
2022-11-23T16:45:46
|
|
[font] Protect against div-by-zero
|
|
060ecac9
|
2022-11-23T16:31:37
|
|
[font] Respect subfont slant setting in hb-draw
Fixes https://github.com/harfbuzz/harfbuzz/issues/3890
|
|
2e9b270a
|
2022-11-23T16:17:50
|
|
[hb-view] Fix cairo slanting condition
hb-draw already does slanting. If NOT hb-draw, we should slant
through cairo path. Donno why this was untested before.
This was double-slanting with hb-draw, and not slanting without it.
|
|
51028e63
|
2022-11-23T22:51:16
|
|
[subset] Retain all glyphs in preprocessed face.
|
|
404cb99d
|
2022-11-23T15:35:14
|
|
[buffer-diff] Fix check for glyph flag equality
I'm not sure if the old behavior was intentional, but it was checking
that the glyph flags were a subset of the reference buffer's glyph
flags. I don't see why that is useful. Fix that.
Then make the buffer-verify code ignore flag differences when verifying
buffers, since our unsafe-to-concat flag at least, is conservative and
not guaranteed to be produced the same in fragments. See:
https://github.com/harfbuzz/harfbuzz/issues/3888
|
|
4c49daf7
|
2022-11-23T22:33:57
|
|
[subset] actually use the preprocessed face in hb-subset.
Tests weren't actually using the preprocessed face due to this typo in util/hb-subset.
|
|
2c0afde7
|
2022-11-23T20:24:40
|
|
[subset] add an inprogress accelerator to plan.
This allows subset code to cache information into the accelerator during preprocess subset. Previously the accelerator was created at the end of subsetting.
|
|
81640fdf
|
2022-11-23T20:22:36
|
|
[subset] fix leaked font in glyf::subset(...)
|
|
dcce53dd
|
2022-11-23T13:19:38
|
|
[cff] Micro-optimize fetch_op
|
|
0bf7d9eb
|
2022-11-23T13:00:23
|
|
[subset-cff] Micro-optimize encode_byte
|
|
a23f8204
|
2022-11-23T12:56:13
|
|
[subset-cff] Micro-optimize array access
|
|
1e8f1ac6
|
2022-11-23T12:28:29
|
|
[subset-glyf] Micro-optimize array access
|
|
356d135e
|
2022-11-23T12:20:51
|
|
[subset-glyf] Reduce roundf calls
Saves 7% on MPLUS1-Variable/6000 benchmark.
|
|
463ae07e
|
2022-11-23T18:41:23
|
|
[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.
|
|
299ec902
|
2022-11-22T16:03:02
|
|
[glyf] Move instanciation to serialize()
|
|
d8d881f2
|
2022-11-22T15:24:16
|
|
[subset-glyf] Don't create a second glyf accelerator
|
|
75609300
|
2022-11-22T15:22:25
|
|
[glyf] Add _create_font_for_instancing
|
|
40634cee
|
2022-11-22T15:07:16
|
|
[glyf] Adjust data types
|
|
ba0d28ea
|
2022-11-22T15:01:48
|
|
[glyf] Fix font error check
|
|
04c52501
|
2022-11-22T14:54:55
|
|
[glyf] Use a malloc instead of calloc
|
|
024aa818
|
2022-11-22T14:51:42
|
|
[glyf] Micro-optimize encode_coord
|
|
b6694597
|
2022-11-22T14:49:01
|
|
[glyf] Micro-optimize encode_flag()
|
|
d47cfe79
|
2022-11-22T14:45:04
|
|
[glyf] Minor use operator ++
|
|
03e6bde7
|
2022-11-22T14:40:36
|
|
[glyf] Minor adjustment to lastflag handling
No logic change.
|
|
0ca9fda8
|
2022-11-22T14:39:10
|
|
[glyf] Remove misplaced comment
|
|
44be8ef4
|
2022-11-22T14:21:25
|
|
[gvar] Skip degenerate all-untouched delta-sets
|
|
656bb223
|
2022-11-22T14:16:40
|
|
[gvar] Micro-optimize unpack_points
|
|
a3830272
|
2022-11-22T14:15:17
|
|
[gvar] Cosmetic
|
|
be89919a
|
2022-11-22T13:56:20
|
|
[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.
|
|
e8ddf107
|
2022-11-22T13:29:32
|
|
[gvar] Optimize a loop
|
|
dd6fcec9
|
2022-11-22T13:27:40
|
|
[gvar] Remove a conditional
|
|
a0231723
|
2022-11-22T13:24:39
|
|
[gvar] Refactor deltas array access
|
|
c34c7769
|
2022-11-22T13:21:01
|
|
[gvar] Don't try IUP if all points are specified
|
|
27c4037e
|
2022-11-22T13:12:22
|
|
[gvar] Micro-optimize boundary-checking
|
|
ab8346fb
|
2022-11-22T13:07:39
|
|
[gvar] Add an unlikely
|
|
1e8a342e
|
2022-11-22T13:02:38
|
|
[gvar] Micro-optimize int types
|
|
4afcdf67
|
2022-11-22T12:56:48
|
|
More hb_memcpy
|
|
58a696d8
|
2022-11-22T12:56:05
|
|
More hb_memset
|
|
59c45f6d
|
2022-11-22T12:54:50
|
|
Use hb_memcpy instead of memcpy consistently
|
|
ac0efaf8
|
2022-11-22T12:50:36
|
|
Use hb_memset instead of memset consistently
|
|
44a892a2
|
2022-11-22T12:48:52
|
|
[shape] Use hb_memcmp instead of memcmp
|
|
c53c6481
|
2022-11-22T12:46:25
|
|
[subset-cff] Another handrolled memcpy
|
|
ae578705
|
2022-11-22T12:23:17
|
|
[array] Write hash as range for loop again
Now that our range loop is faster than our own iter.
|
|
13e1ca9e
|
2022-11-22T12:19:28
|
|
[cff] Micro-optimize memcpy
|
|
2968dd78
|
2022-11-22T11:57:29
|
|
[gvar] Optimize as_array() access
|
|
bb3bb764
|
2022-11-22T11:53:35
|
|
[gvar] Optimize scalar = 1.0 case
|
|
2d098d5d
|
2022-11-22T11:51:04
|
|
[gvar] Use memset
|
|
e630a65e
|
2022-11-22T11:27:05
|
|
[gvar] Micro-optize vector extend
|
|
49d4f621
|
2022-11-22T11:14:56
|
|
[gvar] Micro-optimize
|
|
1758ee66
|
2022-11-22T10:45:49
|
|
[glyf] Minor write loop more idiomatically
|
|
16ec9dcc
|
2022-11-22T10:43:46
|
|
[gvar] Whitespace
|
|
b567ce51
|
2022-11-21T20:08:54
|
|
[subset] Don't trim glyf's again if preprocessed
Speeds up M1/10000 benchmark by 30%!
|
|
72059a47
|
2022-11-22T10:41:37
|
|
[gvar] Optimize IUP alg
|
|
ee9873b5
|
2022-11-22T10:23:17
|
|
[gvar] Disable initializing vectors when not necessary
|
|
b0d26411
|
2022-11-22T10:20:11
|
|
[vector] Add "initialize" argument to resize()
|
|
a2059f8f
|
2022-11-22T10:16:21
|
|
[gvar] Optimize unpack_points
|
|
6d7206b6
|
2022-11-22T10:13:14
|
|
[gvar] Optimize unpack_deltas
|
|
bca569ae
|
2022-11-21T23:19:42
|
|
[array] Speed up hash() for byte arrays
|
|
d7b492e3
|
2022-11-21T23:08:51
|
|
Revert "[array] Remove hash specializations for bytes"
This reverts commit 213117317cefeb4e75d21c5c21e383309f116bb0.
|
|
1572ba28
|
2022-11-21T22:26:44
|
|
[subset-cff] Return in subr closure if already seen subr
Not sure why this was not done before.
|
|
a29ca6ef
|
2022-11-21T22:02:17
|
|
[subset-cff] Comment
|
|
28e767dd
|
2022-11-21T21:59:51
|
|
[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.
|
|
2d5ee237
|
2022-11-21T21:37:38
|
|
[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.
|