Log

Author Commit Date CI Message
Behdad Esfahbod f2297e69 2022-11-25T11:33:00 [buffer] Documentation Fixes https://github.com/harfbuzz/harfbuzz/issues/3889
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
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
Behdad Esfahbod be89919a 2022-11-22T13:56:20 [gvar] is_valid() remove a check I don't know why this check was there, but it doesn't make sense because that function never returns 0 / false.
Behdad Esfahbod e8ddf107 2022-11-22T13:29:32 [gvar] Optimize a loop
Behdad Esfahbod dd6fcec9 2022-11-22T13:27:40 [gvar] Remove a conditional
Behdad Esfahbod a0231723 2022-11-22T13:24:39 [gvar] Refactor deltas array access
Behdad Esfahbod c34c7769 2022-11-22T13:21:01 [gvar] Don't try IUP if all points are specified
Behdad Esfahbod 27c4037e 2022-11-22T13:12:22 [gvar] Micro-optimize boundary-checking
Behdad Esfahbod ab8346fb 2022-11-22T13:07:39 [gvar] Add an unlikely
Behdad Esfahbod 1e8a342e 2022-11-22T13:02:38 [gvar] Micro-optimize int types
Behdad Esfahbod 4afcdf67 2022-11-22T12:56:48 More hb_memcpy
Behdad Esfahbod 58a696d8 2022-11-22T12:56:05 More hb_memset
Behdad Esfahbod 59c45f6d 2022-11-22T12:54:50 Use hb_memcpy instead of memcpy consistently
Behdad Esfahbod ac0efaf8 2022-11-22T12:50:36 Use hb_memset instead of memset consistently
Behdad Esfahbod 44a892a2 2022-11-22T12:48:52 [shape] Use hb_memcmp instead of memcmp
Behdad Esfahbod c53c6481 2022-11-22T12:46:25 [subset-cff] Another handrolled memcpy
Behdad Esfahbod ae578705 2022-11-22T12:23:17 [array] Write hash as range for loop again Now that our range loop is faster than our own iter.
Behdad Esfahbod 13e1ca9e 2022-11-22T12:19:28 [cff] Micro-optimize memcpy
Behdad Esfahbod 2968dd78 2022-11-22T11:57:29 [gvar] Optimize as_array() access
Behdad Esfahbod bb3bb764 2022-11-22T11:53:35 [gvar] Optimize scalar = 1.0 case
Behdad Esfahbod 2d098d5d 2022-11-22T11:51:04 [gvar] Use memset
Behdad Esfahbod e630a65e 2022-11-22T11:27:05 [gvar] Micro-optize vector extend
Behdad Esfahbod 49d4f621 2022-11-22T11:14:56 [gvar] Micro-optimize
Behdad Esfahbod 1758ee66 2022-11-22T10:45:49 [glyf] Minor write loop more idiomatically
Behdad Esfahbod 16ec9dcc 2022-11-22T10:43:46 [gvar] Whitespace
Behdad Esfahbod b567ce51 2022-11-21T20:08:54 [subset] Don't trim glyf's again if preprocessed Speeds up M1/10000 benchmark by 30%!
Behdad Esfahbod 72059a47 2022-11-22T10:41:37 [gvar] Optimize IUP alg
Behdad Esfahbod ee9873b5 2022-11-22T10:23:17 [gvar] Disable initializing vectors when not necessary
Behdad Esfahbod b0d26411 2022-11-22T10:20:11 [vector] Add "initialize" argument to resize()
Behdad Esfahbod a2059f8f 2022-11-22T10:16:21 [gvar] Optimize unpack_points
Behdad Esfahbod 6d7206b6 2022-11-22T10:13:14 [gvar] Optimize unpack_deltas
Behdad Esfahbod bca569ae 2022-11-21T23:19:42 [array] Speed up hash() for byte arrays
Behdad Esfahbod d7b492e3 2022-11-21T23:08:51 Revert "[array] Remove hash specializations for bytes" This reverts commit 213117317cefeb4e75d21c5c21e383309f116bb0.
Behdad Esfahbod 1572ba28 2022-11-21T22:26:44 [subset-cff] Return in subr closure if already seen subr Not sure why this was not done before.
Behdad Esfahbod a29ca6ef 2022-11-21T22:02:17 [subset-cff] Comment
Behdad Esfahbod 28e767dd 2022-11-21T21:59:51 [subset-cff] Really optimize op_str_t / parsed_cs_op_t layout Now parsed_cs_op_t and op_str_t are both 16 bytes. Saves another 7% in SourceHanSans/10000 benchmark.
Behdad Esfahbod 2d5ee237 2022-11-21T21:37:38 [subset-cff] Readjust parsed_cs_op_t Now it doesn't matter anymore since op_str_t is adjusted and is 16 bytes with 8byte alignment.