Behdad Esfahbod
00a9df3a43
[subset-cff] Micro-optimize collect_subr_refs_in_str
2022-11-25 13:05:05 -07:00
Behdad Esfahbod
d2a2f5bf4e
[vector] Handroll copy
2022-11-25 12:44:02 -07:00
Behdad Esfahbod
1fed366d5b
[serialize] Shut compiler warning off
2022-11-25 12:37:24 -07:00
Behdad Esfahbod
f2297e6978
[buffer] Documentation
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3889
2022-11-25 11:33:00 -07:00
Garret Rieger
71c23c1c07
[subset] don't copy the entire global/loca subr lists from the accelerator.
...
Instead run a closure on the retained charstrings and copy only the referenced subrs. This significantly speeds up cases with small character sets.
2022-11-25 18:05:39 +00:00
Garret Rieger
4ff09274a8
[subset] In CFF accelerator keep a reference to original face.
...
The charstring objects reference memory from the original face so we need to maintain a reference to prevent it from being destroyed.
2022-11-24 22:47:29 +00:00
Behdad Esfahbod
6aaa16627c
[Coverage] Comment
2022-11-24 14:58:42 -07:00
Behdad Esfahbod
06e2147a48
More call set->next() directly
2022-11-24 14:56:04 -07:00
Behdad Esfahbod
196c9db06f
Call ->next() directly
2022-11-24 14:51:52 -07:00
Behdad Esfahbod
03d64b7469
[bit-set] Remove TODO that would never happen
2022-11-24 14:33:18 -07:00
Behdad Esfahbod
690df8a369
[bit-set] Micro-optimize prev()
2022-11-24 14:32:51 -07:00
Behdad Esfahbod
fe5d9176ae
[bit-set] Micro-optimize size
...
It's silly that this saves size at all. :(
2022-11-24 14:30:18 -07:00
Behdad Esfahbod
cf9b9929df
[bit-set] Micro-optimize process()
2022-11-24 14:26:28 -07:00
Behdad Esfahbod
d77903db7b
[bit-set] Micro-optimize
2022-11-24 14:22:32 -07:00
Behdad Esfahbod
13dd4b464b
[bit-set] Micro-optimize access
2022-11-24 14:20:42 -07:00
Garret Rieger
a3afa61ce8
[subset] use cached parsed char strings if available.
2022-11-24 21:14:00 +00:00
Garret Rieger
47c125845c
[subset] Cache parsed charstrings in the cff accelerator.
2022-11-24 21:14:00 +00:00
Garret Rieger
48b6837074
[subset] add a CFF specific accelerator object.
...
This allows CFF specific accelerator structures to be isolated to the CFF code.
2022-11-24 21:13:59 +00:00
Behdad Esfahbod
d77f346d1a
[subset-cff] Minor rename
2022-11-24 14:02:46 -07:00
Behdad Esfahbod
29a0fa089a
[subset-cff] Micro-optimize
2022-11-24 14:00:59 -07:00
Behdad Esfahbod
d480ae1fac
[cff] Remove unused function
2022-11-24 13:53:43 -07:00
Behdad Esfahbod
73046d53e5
[shaper] Disable dumber shaper if no AAT
2022-11-24 13:49:29 -07:00
Behdad Esfahbod
e9f964c01a
[ot-face] Declare more tables as core
2022-11-24 13:38:53 -07:00
Behdad Esfahbod
5bc27a128d
[machinery] Comment
2022-11-24 13:30:12 -07:00
Behdad Esfahbod
d21bfb0861
[normalize] Remove an unlikely
...
Keep unlikely for truely unlikely scenarios.
2022-11-24 13:14:05 -07:00
Behdad Esfahbod
9e1239f443
[config] Define HB_NO_VERTICAL in HB_LEAN and as such in HB_TINY
2022-11-24 13:00:47 -07:00
Behdad Esfahbod
6f133ccfde
[glyf] Fix build with HB_NO_VERTICAL
2022-11-24 12:59:55 -07:00
Behdad Esfahbod
76420ef769
[machine.rl] Remove unlikely from what happens 1/16 of the time
2022-11-24 12:52:15 -07:00
Behdad Esfahbod
1248574454
[config] Disable Zawgyi shaper in HB_MINI/HB_TINY
2022-11-24 12:46:04 -07:00
Behdad Esfahbod
05aa084e67
[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
2022-11-24 12:14:09 -07:00
Behdad Esfahbod
54ae3345b2
[buffer] Improve documentation of hb_buffer_add_codepoints()
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3889
2022-11-24 12:00:36 -07:00
Behdad Esfahbod
a4a4078632
Merge pull request #3893 from googlefonts/preprocess_test
...
[subset] Fix testing of preprocess
2022-11-24 11:56:58 -07:00
Behdad Esfahbod
0c70bc7f32
[skippy-iter] Fix two logic errors
...
First, a signed underflow.
Second, a wrong condition.
Both were introduced in 42681bdb55
2022-11-24 11:48:48 -07:00
Garret Rieger
64e8707eca
[subset] don't use hb repacker when generating test files from fonttools.
2022-11-24 18:24:50 +00:00
Behdad Esfahbod
3b43096ef3
[buffer] Whitespace
2022-11-23 22:04:02 -07:00
Behdad Esfahbod
094f80738a
[buffer] Handle null buffer in set_message_func
2022-11-23 22:03:26 -07:00
Behdad Esfahbod
1fa64c0c23
[gsubgpos] Conditionalize skippy on unsafe-to-concat
2022-11-23 21:38:51 -07:00
Behdad Esfahbod
42681bdb55
[gsubgpos] No logic-change minor rewrite
2022-11-23 21:36:43 -07:00
Behdad Esfahbod
c15efdec49
[gsubgpos] Comment
2022-11-23 21:14:28 -07:00
Behdad Esfahbod
7ec1c41a55
[gsubgpos] Skippy-iter: Prefer correctness to performance
...
Prefer unsafe-to-concat correctness, over performance.
2022-11-23 21:12:41 -07:00
Behdad Esfahbod
b6df347137
[perf] Add Hindi test to benchmark-shape
2022-11-23 20:15:16 -07:00
Behdad Esfahbod
dce3502e10
[array] Add commented-out static asserts
...
They don't work.
2022-11-23 18:34:54 -07:00
Behdad Esfahbod
a7fee43cef
[priority-queue] Minor micro-optimize
2022-11-23 17:46:32 -07:00
Garret Rieger
ff3cac0ccd
[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.
2022-11-23 23:50:49 +00:00
Behdad Esfahbod
f2851e4157
[test-map] Test has() getter with unique-ptr
2022-11-23 16:50:30 -07:00
Behdad Esfahbod
5f3a780614
[font] Protect against div-by-zero
2022-11-23 16:45:46 -07:00
Behdad Esfahbod
060ecac949
[font] Respect subfont slant setting in hb-draw
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3890
2022-11-23 16:31:37 -07:00
Behdad Esfahbod
2e9b270a49
[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.
2022-11-23 16:18:39 -07:00
Garret Rieger
51028e63e6
[subset] Retain all glyphs in preprocessed face.
2022-11-23 22:51:16 +00:00
Behdad Esfahbod
404cb99d86
[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
2022-11-23 15:37:03 -07:00