Commit Graph

14547 Commits

Author SHA1 Message Date
Behdad Esfahbod 00f2657bb8 [subset] Accelerate sanitize-table-cache
Big wins all across small subsets

BM_subset/subset_codepoints/Roboto-Regular.ttf/nohinting/10                              -0.1140         -0.1129             0             0             0             0
BM_subset/subset_codepoints/Amiri-Regular.ttf/nohinting/10                               -0.4717         -0.4714             0             0             0             0
BM_subset/subset_codepoints/NotoNastaliqUrdu-Regular.ttf/nohinting/10                    -0.8147         -0.8146             0             0             0             0
BM_subset/subset_codepoints/NotoSansDevanagari-Regular.ttf/nohinting/10                  -0.3248         -0.3242             0             0             0             0
BM_subset/subset_codepoints/Mplus1p-Regular.ttf/nohinting/10                             -0.1262         -0.1260             0             0             0             0
BM_subset/subset_codepoints/SourceHanSans-Regular_subset.otf/nohinting/10                -0.0308         -0.0309             0             0             0             0
BM_subset/subset_codepoints/SourceSansPro-Regular.otf/nohinting/10                       -0.1374         -0.1373             0             0             0             0
BM_subset/subset_codepoints/AdobeVFPrototype.otf/nohinting/10                            -0.4555         -0.4555             0             0             0             0
BM_subset/subset_codepoints/MPLUS1-Variable.ttf/nohinting/10                             -0.4175         -0.4174             0             0             0             0
BM_subset/subset_codepoints/RobotoFlex-Variable.ttf/nohinting/10                         -0.4214         -0.4214             0             0             0
2022-11-29 15:20:13 -07:00
Behdad Esfahbod 33165f4848 [bit-page] Remove ELT_BITS_LOG_2
My compiler is smart enough to take care of it.
2022-11-29 15:15:43 -07:00
Satadru Pramanik 58925ed9a0 Update freetype subproject to 2.12.1 2022-11-29 12:42:58 -07:00
Christoph Reiter 80dd751564 CI: work around flaky 64bit MSYS2 builds
MSYS2 Python+meson has some random crashes in CI which we haven't been
able to reproduce yet. Naturally enabling debugging fixes them.. :)
2022-11-29 12:41:02 -07:00
Christoph Reiter 8f41b6a139 CI: fix msvc build
The Windows image for some reason now contains a zlib and freetype build
which meson finds and tries to use. Force meson to use the subprojects always
to avoid picking up system libs.
2022-11-29 12:41:02 -07:00
Garret Rieger 7a004a7ac2 [subset] Cache per subtable cmap unicode mappings. 2022-11-28 19:48:15 -07:00
Behdad Esfahbod d2a2670e54 [iter] Simplify has() interface implementations 2022-11-28 19:43:09 -07:00
Behdad Esfahbod cba82829ba [subset-cff1] Share subrs object
Multiple FDs might share the same subrs...
2022-11-28 16:19:54 -07:00
Behdad Esfahbod c7b998b355 [cff2] Don't share fd-array link
No point.
2022-11-28 16:18:21 -07:00
Behdad Esfahbod 3d9e3c2dc7 [subset-cff2] Don't share varstore object 2022-11-28 16:17:09 -07:00
Behdad Esfahbod c503cf003e [cmap] Store offset, not pointer, in cmap cache 2022-11-28 15:53:35 -07:00
Behdad Esfahbod 3e151139a8 [PairPos] Optimize get_effective_value_format
Speeds up BM_subset/subset_glyphs/SourceHanSans-Regular_subset.otf/nohinting/512
12%.
2022-11-28 14:23:49 -07:00
Behdad Esfahbod 3131aecf9f [array/hash] Fix asan issue
../src/hb-algs.hh:240:43: runtime error: reference binding to misaligned address 0x7ffe91a08b0e for type 'const unsigned int', which requires 4 byte alignment
2022-11-28 14:12:55 -07:00
Behdad Esfahbod 26ad7a6022 [gpos] Minor micro-optimize 2022-11-28 14:12:52 -07:00
Behdad Esfahbod c769d7e181 [gpos] Whitespace 2022-11-28 14:03:58 -07:00
Behdad Esfahbod 3ea0f37c30 [subset-cff] Move an init to constructor
The init was not called anyway.
2022-11-28 13:58:44 -07:00
Behdad Esfahbod 6c92c3e0cf [subset-cff] Remove unnecessary check 2022-11-28 13:54:24 -07:00
Behdad Esfahbod 7fd300dd9a [subset-cff] Use constructor for parsed_cs_op_t 2022-11-28 13:51:16 -07:00
Garret Rieger bd37900e0d [subset] use a reference to cached global/loca subrs.
Previously they were being copied in. Copying is no longer necessary now that hint dropping doesn't mutate the arrays.
2022-11-28 13:43:52 -07:00
Behdad Esfahbod ded9de9cd8 [cff] bsearch in fdselect
Saves 8% in NotoSansCJK / 10000 subset benchmark.
2022-11-28 13:32:08 -07:00
Behdad Esfahbod 0c33aba30c [subset-cff] Rename drop flag to hinting flag 2022-11-28 12:28:13 -07:00
Behdad Esfahbod 6f5b531986 [subset-cff] Make no-hinting use accelerator as well 2022-11-28 12:24:29 -07:00
Behdad Esfahbod fad8322b3f [benchmark-subset] Add no-hinting ops 2022-11-27 15:09:48 -07:00
Behdad Esfahbod f51a624e67 [subset-cff] Micro-optimize drop_hints_in_str 2022-11-27 14:54:39 -07:00
Behdad Esfahbod 3860326688 [subset-cff] Write loop more idiomatic 2022-11-27 13:23:13 -07:00
Behdad Esfahbod 3ff502d3ae [subset-cff] Remove unnecessary initialization 2022-11-27 12:58:04 -07:00
Behdad Esfahbod 6af4985bf9 [subset-cff] No need for bitflag here anymore 2022-11-26 18:20:20 -07:00
Behdad Esfahbod 69ce606d14 [subset-cff] Immediately drop subr numbers instead of marking for skip
Seems to work and saves ~2% time.
2022-11-26 18:18:35 -07:00
Behdad Esfahbod 1cf4f3e083 [subset-cff] More comment 2022-11-26 18:15:28 -07:00
Behdad Esfahbod f68221ff43 [subset-cff] Add comment 2022-11-26 18:12:14 -07:00
Behdad Esfahbod 048ab8a066 [subset-cff] Remove unused bits 2022-11-26 18:00:43 -07:00
Behdad Esfahbod 37cbfc0c7e [subset-cff] Remove unneeded member 2022-11-26 17:57:44 -07:00
Behdad Esfahbod 46ab15137b [subset-cff] Add has_calls to parsed charstrings
Optimize closure based on it.
2022-11-26 17:49:21 -07:00
Behdad Esfahbod 6d53074e63 [subset-cff] Drop another unused parameter 2022-11-26 17:23:09 -07:00
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 1e6f77c250 [benchmark-subset] Adjust num glyphs more 2022-11-26 15:31:56 -07:00
Behdad Esfahbod 0382defa51 [benchmark-subset] Adjust number of glyphs of fonts 2022-11-26 15:27:07 -07:00
Behdad Esfahbod 4cb441dfd1 [benchmark-subset] Add AdobeVFPrototype 2022-11-26 15:23:07 -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