Log

Author Commit Date CI Message
Behdad Esfahbod 4cb441df 2022-11-26T15:23:07 [benchmark-subset] Add AdobeVFPrototype
Behdad Esfahbod e302b9d5 2022-11-26T15:18:16 Fix build
Behdad Esfahbod 70d97d07 2022-11-26T15:16:11 [subset-cff] Remove unused argument
Behdad Esfahbod 4167e93a 2022-11-26T15:14:52 [subset-cff2] Micro-optimize blend operator
Behdad Esfahbod f159bf07 2022-11-26T15:11:32 [cff2] Micro-optimize blend operator
Behdad Esfahbod a331e913 2022-11-26T14:59:37 [bit-page] Hand-code equality Faster than memcmp() because of alignment.
Behdad Esfahbod 9df06a26 2022-11-26T14:56:45 [bit-set] Fix is_subset() short-circut criteria Ouch!
Behdad Esfahbod 915c1a00 2022-11-26T14:48:57 [vector] Add remove_unordered Saves 5% in NotoNastaliq/1000 subset benchmark.
Behdad Esfahbod 4b8d8fbe 2022-11-26T14:31:15 [ot-map] Micro-optimize for size
Behdad Esfahbod 93f3a9db 2022-11-26T14:19:00 [ot-map] Micro-optimize more Another 500 bytes.
Behdad Esfahbod f39f0498 2022-11-26T14:16:15 [ot-map] Micro-optimize Weird that shrinks size by 500 bytes.
Behdad Esfahbod 60bb32c4 2022-11-26T14:12:57 [ot-map] Minor refactor
Behdad Esfahbod e3cc6183 2022-11-26T13:58:04 [PairPos] Adjust kerning buffer messages
Behdad Esfahbod a81dd105 2022-11-26T13:43:15 [layout] Adjust printing feature tags For required-feature, print spaces, not nul bytes.
Behdad Esfahbod 56e3868b 2022-11-26T13:14:23 [layout/buffer-message] Print feature name in lookup buffer messages
Garret Rieger a5d35fd8 2022-11-25T23:17:05 [subset] use charstrings directly from accelerator cache if mutability isn't needed.
Behdad Esfahbod 026b64ef 2022-11-25T14:57:40 [subset-cff] Avoid set mallocation in hb_plan_subset_cff_fdselect
Behdad Esfahbod 74acf52f 2022-11-25T14:43:44 [subset-cff] Micro-optimize copy_str more
Behdad Esfahbod d2f3cde7 2022-11-25T14:38:30 [subset-cff] Micro-optimize copy_str
Behdad Esfahbod e333223f 2022-11-25T14:23:57 [array] Optimize serializing copy()
Behdad Esfahbod 22990fca 2022-11-25T14:12:58 Merge pull request #3894 from googlefonts/cff_accel [subset] Cache parsed char strings in CFF accelerator
Garret Rieger 8d5c899b 2022-11-25T20:33:39 [subset] In cff accelerator hold reference to CFF table instead of the whole font.
Behdad Esfahbod 7b197446 2022-11-25T13:28:53 [vector] Adjust for HB_OPTIMIZE_SIZE
Garret Rieger 75a99f28 2022-11-25T18:38:13 [subset] destruct cff accelerator if present.
Behdad Esfahbod 1d474194 2022-11-25T13:21:35 [subset-cff] Micro-optimize encode_str
Behdad Esfahbod 3c4a610b 2022-11-25T13:16:30 [subset-cff] Micro-optimize copy_str some more
Behdad Esfahbod 535aadb3 2022-11-25T13:07:42 [subset-cff] Micro-optimize collect_subr_refs_in_str more
Behdad Esfahbod 00a9df3a 2022-11-25T13:05:05 [subset-cff] Micro-optimize collect_subr_refs_in_str
Behdad Esfahbod d2a2f5bf 2022-11-25T12:44:02 [vector] Handroll copy
Behdad Esfahbod 1fed366d 2022-11-25T12:37:24 [serialize] Shut compiler warning off
Behdad Esfahbod f2297e69 2022-11-25T11:33:00 [buffer] Documentation Fixes https://github.com/harfbuzz/harfbuzz/issues/3889
Garret Rieger 71c23c1c 2022-11-25T18:04:44 [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.
Garret Rieger 4ff09274 2022-11-24T22:47:29 [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.
Behdad Esfahbod 6aaa1662 2022-11-24T14:58:42 [Coverage] Comment
Behdad Esfahbod 06e2147a 2022-11-24T14:56:04 More call set->next() directly
Behdad Esfahbod 196c9db0 2022-11-24T14:51:52 Call ->next() directly
Behdad Esfahbod 03d64b74 2022-11-24T14:33:18 [bit-set] Remove TODO that would never happen
Behdad Esfahbod 690df8a3 2022-11-24T14:32:51 [bit-set] Micro-optimize prev()
Behdad Esfahbod fe5d9176 2022-11-24T14:30:18 [bit-set] Micro-optimize size It's silly that this saves size at all. :(
Behdad Esfahbod cf9b9929 2022-11-24T14:26:28 [bit-set] Micro-optimize process()
Behdad Esfahbod d77903db 2022-11-24T14:22:32 [bit-set] Micro-optimize
Behdad Esfahbod 13dd4b46 2022-11-24T14:20:42 [bit-set] Micro-optimize access
Garret Rieger a3afa61c 2022-11-23T22:24:39 [subset] use cached parsed char strings if available.
Garret Rieger 47c12584 2022-11-23T21:02:39 [subset] Cache parsed charstrings in the cff accelerator.
Garret Rieger 48b68370 2022-11-23T20:51:51 [subset] add a CFF specific accelerator object. This allows CFF specific accelerator structures to be isolated to the CFF code.
Behdad Esfahbod d77f346d 2022-11-24T14:02:46 [subset-cff] Minor rename
Behdad Esfahbod 29a0fa08 2022-11-24T14:00:59 [subset-cff] Micro-optimize
Behdad Esfahbod d480ae1f 2022-11-24T13:53:43 [cff] Remove unused function
Behdad Esfahbod 73046d53 2022-11-24T13:49:29 [shaper] Disable dumber shaper if no AAT
Behdad Esfahbod e9f964c0 2022-11-24T13:38:53 [ot-face] Declare more tables as core
Behdad Esfahbod 5bc27a12 2022-11-24T13:30:12 [machinery] Comment
Behdad Esfahbod d21bfb08 2022-11-24T13:14:05 [normalize] Remove an unlikely Keep unlikely for truely unlikely scenarios.
Behdad Esfahbod 9e1239f4 2022-11-24T13:00:47 [config] Define HB_NO_VERTICAL in HB_LEAN and as such in HB_TINY
Behdad Esfahbod 6f133ccf 2022-11-24T12:59:55 [glyf] Fix build with HB_NO_VERTICAL
Behdad Esfahbod 76420ef7 2022-11-24T12:52:15 [machine.rl] Remove unlikely from what happens 1/16 of the time
Behdad Esfahbod 12485744 2022-11-24T12:46:04 [config] Disable Zawgyi shaper in HB_MINI/HB_TINY
Behdad Esfahbod 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
Behdad Esfahbod 54ae3345 2022-11-24T11:59:50 [buffer] Improve documentation of hb_buffer_add_codepoints() Fixes https://github.com/harfbuzz/harfbuzz/issues/3889
Behdad Esfahbod a4a40786 2022-11-24T11:56:58 Merge pull request #3893 from googlefonts/preprocess_test [subset] Fix testing of preprocess
Behdad Esfahbod 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
Garret Rieger 64e8707e 2022-11-24T18:24:50 [subset] don't use hb repacker when generating test files from fonttools.
Behdad Esfahbod 3b43096e 2022-11-23T22:04:02 [buffer] Whitespace
Behdad Esfahbod 094f8073 2022-11-23T22:03:26 [buffer] Handle null buffer in set_message_func
Behdad Esfahbod 1fa64c0c 2022-11-23T21:38:51 [gsubgpos] Conditionalize skippy on unsafe-to-concat
Behdad Esfahbod 42681bdb 2022-11-23T21:36:43 [gsubgpos] No logic-change minor rewrite
Behdad Esfahbod c15efdec 2022-11-23T21:14:28 [gsubgpos] Comment
Behdad Esfahbod 7ec1c41a 2022-11-23T21:12:41 [gsubgpos] Skippy-iter: Prefer correctness to performance Prefer unsafe-to-concat correctness, over performance.
Behdad Esfahbod b6df3471 2022-11-23T20:15:16 [perf] Add Hindi test to benchmark-shape
Behdad Esfahbod dce3502e 2022-11-23T18:34:54 [array] Add commented-out static asserts They don't work.
Behdad Esfahbod a7fee43c 2022-11-23T17:46:32 [priority-queue] Minor micro-optimize
Garret Rieger 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.
Behdad Esfahbod f2851e41 2022-11-23T16:50:30 [test-map] Test has() getter with unique-ptr
Behdad Esfahbod 5f3a7806 2022-11-23T16:45:46 [font] Protect against div-by-zero
Behdad Esfahbod 060ecac9 2022-11-23T16:31:37 [font] Respect subfont slant setting in hb-draw Fixes https://github.com/harfbuzz/harfbuzz/issues/3890
Behdad Esfahbod 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.
Garret Rieger 51028e63 2022-11-23T22:51:16 [subset] Retain all glyphs in preprocessed face.
Behdad Esfahbod 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
Garret Rieger 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.
Garret Rieger 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.
Garret Rieger 81640fdf 2022-11-23T20:22:36 [subset] fix leaked font in glyf::subset(...)
Behdad Esfahbod dcce53dd 2022-11-23T13:19:38 [cff] Micro-optimize fetch_op
Behdad Esfahbod 0bf7d9eb 2022-11-23T13:00:23 [subset-cff] Micro-optimize encode_byte
Behdad Esfahbod a23f8204 2022-11-23T12:56:13 [subset-cff] Micro-optimize array access
Behdad Esfahbod 1e8f1ac6 2022-11-23T12:28:29 [subset-glyf] Micro-optimize array access
Behdad Esfahbod 356d135e 2022-11-23T12:20:51 [subset-glyf] Reduce roundf calls Saves 7% on MPLUS1-Variable/6000 benchmark.
Garret Rieger 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.
Behdad Esfahbod 299ec902 2022-11-22T16:03:02 [glyf] Move instanciation to serialize()
Behdad Esfahbod d8d881f2 2022-11-22T15:24:16 [subset-glyf] Don't create a second glyf accelerator
Behdad Esfahbod 75609300 2022-11-22T15:22:25 [glyf] Add _create_font_for_instancing
Behdad Esfahbod 40634cee 2022-11-22T15:07:16 [glyf] Adjust data types
Behdad Esfahbod ba0d28ea 2022-11-22T15:01:48 [glyf] Fix font error check
Behdad Esfahbod 04c52501 2022-11-22T14:54:55 [glyf] Use a malloc instead of calloc
Behdad Esfahbod 024aa818 2022-11-22T14:51:42 [glyf] Micro-optimize encode_coord
Behdad Esfahbod b6694597 2022-11-22T14:49:01 [glyf] Micro-optimize encode_flag()
Behdad Esfahbod d47cfe79 2022-11-22T14:45:04 [glyf] Minor use operator ++
Behdad Esfahbod 03e6bde7 2022-11-22T14:40:36 [glyf] Minor adjustment to lastflag handling No logic change.
Behdad Esfahbod 0ca9fda8 2022-11-22T14:39:10 [glyf] Remove misplaced comment
Behdad Esfahbod 44be8ef4 2022-11-22T14:21:25 [gvar] Skip degenerate all-untouched delta-sets
Behdad Esfahbod 656bb223 2022-11-22T14:16:40 [gvar] Micro-optimize unpack_points
Behdad Esfahbod a3830272 2022-11-22T14:15:17 [gvar] Cosmetic