Commit graph

16590 commits

Author SHA1 Message Date
Behdad Esfahbod
49c52fa953 [cmap] Don't zero a few allocations unnecessarily 2023-06-26 17:57:08 -06:00
Behdad Esfahbod
e4b2d9c3f3 [pool] Don't clear unused memory 2023-06-26 17:52:37 -06:00
Behdad Esfahbod
6129702eb8 [subset/cff] Simplify some allocation embedding 2023-06-26 17:34:54 -06:00
Behdad Esfahbod
99db06b4d2 [var] Simplify a couple of copy operations 2023-06-26 17:30:31 -06:00
Behdad Esfahbod
73bcd3f241 [var] Adjust a few allocations to not clean space
Since we immediately copy.
2023-06-26 17:24:40 -06:00
Behdad Esfahbod
b1e7e8ba2f [algs] Fix return of hb_memset() 2023-06-26 17:19:45 -06:00
Behdad Esfahbod
c2bab07391 [subset/cff] Minor optimization 2023-06-26 16:41:55 -06:00
Behdad Esfahbod
570fb4df58 [subset/cff] Add a vector pre-alloc 2023-06-26 16:26:12 -06:00
Behdad Esfahbod
e447d394a6 [subset/cff1] Micro-optimize 2023-06-26 16:02:41 -06:00
Behdad Esfahbod
50499e9e40 [subset/cff1] Minor use rvalues in a few vector push() places 2023-06-26 15:32:27 -06:00
Behdad Esfahbod
e5b3d4b105 [subset/cff1] Minor use ?: 2023-06-26 14:24:38 -06:00
Behdad Esfahbod
81e2db7cbc [subset/cff1] Speed up plan_subset_charset 2023-06-26 14:17:44 -06:00
Behdad Esfahbod
d3f90a8ca7 [subset/cff] Use a typedef for glyph_to_sid_map_t 2023-06-26 14:02:26 -06:00
Behdad Esfahbod
6783701b4e [subset] Handle an error condition
Fixes https://oss-fuzz.com/testcase-detail/6306810588692480
2023-06-26 12:31:22 -06:00
Behdad Esfahbod
7d3d157de8 [subset/cff] Speed up hb_plan_subset_cff_fdselect 2023-06-26 12:02:21 -06:00
Behdad Esfahbod
f79d961a31 [vector] Speedup push() 2023-06-26 11:35:21 -06:00
Behdad Esfahbod
b4b80bcaea [subset/cff1] Speed up plan_subset_charset 2023-06-26 11:35:21 -06:00
Behdad Esfahbod
7305ec47b1
Merge pull request #4300 from pnacht/scorecard-action
Add Scorecard action
2023-06-26 12:35:03 -04:00
arch1t3cht
4a628b236f [meson] Remove incorrect option for ICU subproject
Fixes #4298 .
2023-06-26 18:29:56 +03:00
Pedro Nacht
3bdb8639e4
Add Scorecard badge to README 2023-06-26 14:45:58 +00:00
Pedro Nacht
27ef6c081e
Create scorecard.yml 2023-06-26 14:45:58 +00:00
Behdad Esfahbod
6c4f975dcb Add a fuzzer font 2023-06-25 23:37:08 -06:00
Behdad Esfahbod
87f1b80d27 [bimap] Write with a map & vector combo
Faster for getting keys.

Speeds up 10% in:
BM_subset/subset_glyphs/RobotoFlex-Variable.ttf/retaingids/10
2023-06-25 23:14:01 -06:00
Behdad Esfahbod
e7ad017ca6 [subset/cff] Allocate more memory for retain-gids
To avoid serializing twice.

20% speedup in:
BM_subset/subset_glyphs/SourceSansPro-Regular.otf/retaingids/10
2023-06-25 22:26:10 -06:00
Behdad Esfahbod
30f1ab86ea [subset/cff1] Fix typo 2023-06-25 19:29:03 -06:00
Behdad Esfahbod
7c7db0fcba [subset/cff1] Minor shuffle code around 2023-06-25 19:07:40 -06:00
Behdad Esfahbod
1e09ebebc1 [subset/cff1] Minor use vector length instead of map population 2023-06-25 18:24:42 -06:00
Behdad Esfahbod
23109dde5e [subset/cff1] Minor use an exact allocation 2023-06-25 18:21:57 -06:00
Behdad Esfahbod
393f0f9f16 [map] Rename resize() to alloc()
Better matches the functionality, and hb_vector_t.
2023-06-25 18:14:56 -06:00
Behdad Esfahbod
793f663bad [vector] Speed up hb_vector_t<hb_array_t<U>> 2023-06-25 17:33:57 -06:00
Behdad Esfahbod
289bad82f0 [subset/cff1] Minor use a dagger 2023-06-25 17:26:40 -06:00
Behdad Esfahbod
31d971d1aa [vector] Sprinkle std::addressof 2023-06-25 17:23:52 -06:00
Behdad Esfahbod
c03c0a9d76 [subset/cff1] Remove unnecessary remap_sid_t::reset
The object is initialized automatically.
2023-06-25 17:13:59 -06:00
Behdad Esfahbod
6ed0d04b69 [subset/cff1] In remap_sid_t::reset(), reset everything
Previous code wasn't resetting next=0; tests were passing.
It's always called when sidmap is empty. So, redundant,
but keeping as is.
2023-06-25 17:12:33 -06:00
Behdad Esfahbod
7e97233c35 [subset/cff1] Comment 2023-06-25 17:06:02 -06:00
Behdad Esfahbod
86a550dc7e [subset/cff1] Speed up string writing 2023-06-25 17:01:40 -06:00
Behdad Esfahbod
dc1b172408 [subset/cff1] Minor reuse a returned value 2023-06-25 16:35:36 -06:00
Behdad Esfahbod
95341bcc15 [subset/cff1] Minor use {} initialization syntax 2023-06-25 16:31:54 -06:00
Behdad Esfahbod
be0cec288b [map] Micro-optimize iteration
Make is_real() faster (removes a shift). is_used() gets inlined
so is not slowed down by this change.
2023-06-25 16:01:13 -06:00
Behdad Esfahbod
9dbea6071a [subset/cff1] Fix resource leak in error case 2023-06-25 14:28:17 -06:00
David Corbett
e310473cec [use] Allow multiple CMAbv glyphs on subjoined 2023-06-25 15:29:36 -04:00
Behdad Esfahbod
d4bbe3f486 [subset/cff] Reuse a calculate index total data size 2023-06-23 18:13:30 -06:00
Behdad Esfahbod
ec0fbf8fa6 [subset/ClassDef] Micro-optimize use_class_zero calc
Probably never matters.
2023-06-23 16:13:13 -06:00
Behdad Esfahbod
b557a84123 [algs] Speed up fasthash for aligned uint64_t 2023-06-23 15:32:42 -06:00
Behdad Esfahbod
fc80d20cb5 [serialize] Only hash at most 128 bytes for object_t
Optimization. Shouldn't in reality bring down the hash performance.
Byte objects differ in their early bytes anyway.
2023-06-23 15:21:30 -06:00
Behdad Esfahbod
19eb5e3b6c [subset/cff1] Micro-optimize Charset::serialize 2023-06-23 15:12:13 -06:00
Behdad Esfahbod
d36b87bde4 [vector] Speed up hb_vector_t<hb_vector_t<U>>::realloc_vector
Use in CFF subsetting.
2023-06-23 14:42:21 -06:00
Behdad Esfahbod
b96eed0294 [vector] Speed up vector_t<vector_t<U>>::resize()
Used in CFF subsetting...
2023-06-23 14:30:21 -06:00
Behdad Esfahbod
b80b628a8a [subset/cff1] Speed up plan_subset_charset 2023-06-23 13:41:42 -06:00
Behdad Esfahbod
1902f6ccbb [map] Inline an accessor function 2023-06-23 13:21:21 -06:00