Behdad Esfahbod
|
42615561b5
|
Optimize a couple array references
|
2022-11-26 17:13:20 -07:00 |
Behdad Esfahbod
|
04d23b7ca8
|
[subset-cff] Micro-optimize collect_subr_refs_in_str
|
2022-11-26 17:08:00 -07:00 |
Behdad Esfahbod
|
9d18180c3c
|
[array] Use hb_hash instead of handrolling
|
2022-11-26 15:38:21 -07:00 |
Behdad Esfahbod
|
e302b9d5da
|
Fix build
|
2022-11-26 15:18:16 -07:00 |
Behdad Esfahbod
|
70d97d079b
|
[subset-cff] Remove unused argument
|
2022-11-26 15:16:11 -07:00 |
Behdad Esfahbod
|
4167e93a15
|
[subset-cff2] Micro-optimize blend operator
|
2022-11-26 15:14:52 -07:00 |
Behdad Esfahbod
|
f159bf075b
|
[cff2] Micro-optimize blend operator
|
2022-11-26 15:11:32 -07:00 |
Behdad Esfahbod
|
a331e913dc
|
[bit-page] Hand-code equality
Faster than memcmp() because of alignment.
|
2022-11-26 14:59:37 -07:00 |
Behdad Esfahbod
|
9df06a2695
|
[bit-set] Fix is_subset() short-circut criteria
Ouch!
|
2022-11-26 14:56:45 -07:00 |
Behdad Esfahbod
|
915c1a00cf
|
[vector] Add remove_unordered
Saves 5% in NotoNastaliq/1000 subset benchmark.
|
2022-11-26 14:48:57 -07:00 |
Behdad Esfahbod
|
4b8d8fbee4
|
[ot-map] Micro-optimize for size
|
2022-11-26 14:31:15 -07:00 |
Behdad Esfahbod
|
93f3a9dbc6
|
[ot-map] Micro-optimize more
Another 500 bytes.
|
2022-11-26 14:25:21 -07:00 |
Behdad Esfahbod
|
f39f049870
|
[ot-map] Micro-optimize
Weird that shrinks size by 500 bytes.
|
2022-11-26 14:16:15 -07:00 |
Behdad Esfahbod
|
60bb32c454
|
[ot-map] Minor refactor
|
2022-11-26 14:12:57 -07:00 |
Behdad Esfahbod
|
e3cc61838f
|
[PairPos] Adjust kerning buffer messages
|
2022-11-26 13:58:04 -07:00 |
Behdad Esfahbod
|
a81dd1053d
|
[layout] Adjust printing feature tags
For required-feature, print spaces, not nul bytes.
|
2022-11-26 13:43:36 -07:00 |
Behdad Esfahbod
|
56e3868b52
|
[layout/buffer-message] Print feature name in lookup buffer messages
|
2022-11-26 13:14:23 -07:00 |
Garret Rieger
|
a5d35fd80a
|
[subset] use charstrings directly from accelerator cache if mutability isn't needed.
|
2022-11-25 16:50:55 -07:00 |
Behdad Esfahbod
|
026b64ef76
|
[subset-cff] Avoid set mallocation in hb_plan_subset_cff_fdselect
|
2022-11-25 14:57:40 -07:00 |
Behdad Esfahbod
|
74acf52f33
|
[subset-cff] Micro-optimize copy_str more
|
2022-11-25 14:43:44 -07:00 |
Behdad Esfahbod
|
d2f3cde7ef
|
[subset-cff] Micro-optimize copy_str
|
2022-11-25 14:38:30 -07:00 |
Behdad Esfahbod
|
e333223f26
|
[array] Optimize serializing copy()
|
2022-11-25 14:26:02 -07:00 |
Behdad Esfahbod
|
22990fca1d
|
Merge pull request #3894 from googlefonts/cff_accel
[subset] Cache parsed char strings in CFF accelerator
|
2022-11-25 14:12:58 -07:00 |
Garret Rieger
|
8d5c899b0f
|
[subset] In cff accelerator hold reference to CFF table instead of the whole font.
|
2022-11-25 20:53:20 +00:00 |
Behdad Esfahbod
|
7b197446ac
|
[vector] Adjust for HB_OPTIMIZE_SIZE
|
2022-11-25 13:28:53 -07:00 |
Garret Rieger
|
75a99f28ab
|
[subset] destruct cff accelerator if present.
|
2022-11-25 20:24:05 +00:00 |
Behdad Esfahbod
|
1d474194f0
|
[subset-cff] Micro-optimize encode_str
|
2022-11-25 13:21:35 -07:00 |
Behdad Esfahbod
|
3c4a610b59
|
[subset-cff] Micro-optimize copy_str some more
|
2022-11-25 13:16:30 -07:00 |
Behdad Esfahbod
|
535aadb309
|
[subset-cff] Micro-optimize collect_subr_refs_in_str more
|
2022-11-25 13:07:42 -07:00 |
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 |