src/OT


Log

Author Commit Date CI Message
Behdad Esfahbod 33ef96b6 2023-05-09T11:13:51 [glyf] Micro-optimize a few hash operations
Behdad Esfahbod 2f05c32c 2023-05-08T14:29:07 [Coverage] Minor access arrayZ directly in a couple places
Behdad Esfahbod 4ad443d5 2023-05-08T10:14:43 [Coverage/ClassDef] Don't call qsort if sorted already
Behdad Esfahbod 8df5cdbc 2023-05-07T15:49:50 [Coverage/ClassDef] Handle glyphID overflow in serialize
Behdad Esfahbod 71910fdf 2023-05-05T15:37:07 [Coverage] Remove unnecessary check
Behdad Esfahbod ee9b631d 2023-05-05T10:26:57 [SingleSubst] Fix condition to upgrade to beyond-64k
Behdad Esfahbod 0e9ebf10 2023-05-05T06:57:51 [config] Add HB_OPTIMIZE_SIZE_MORE and enable in HB_TINY Part of https://github.com/harfbuzz/harfbuzz/issues/4220
Behdad Esfahbod 31949636 2023-05-04T16:29:48 Revert "[layout] Cache subtable coverages in hb_map_t" This reverts commit 7a715d74e06720c17d28ba7b4c3da0b583f8d1d3.
Behdad Esfahbod 7a715d74 2023-05-04T16:28:11 [layout] Cache subtable coverages in hb_map_t Proof-of-concept. Going to revert. Memory consumption is more than I like. It does speed up Roboto shaping another 15% though. Perhaps if we could add logic to choose which subtables to cache, this might be a useful approach.
Behdad Esfahbod 1be39729 2023-05-04T13:18:34 [subset] Support unordered glyphlist in Coverage/ClassDef serialize
Behdad Esfahbod a10fad7c 2023-05-04T11:32:07 [config] Add HB_NO_GDEF_CACHE
Behdad Esfahbod 319a488b 2023-05-04T10:36:48 [GDEF] Fix null check Fixes https://oss-fuzz.com/testcase-detail/5920994267889664
Behdad Esfahbod fb795dc3 2023-05-03T15:17:20 [GPOS] Optimize iterator reset Speeds up Gulzar shaping 5%.
Behdad Esfahbod 8a8fc37c 2023-05-03T14:57:00 [GDEF] Use a cache for glyph classes Shows 5% speedup for Roboto shaping.
Behdad Esfahbod 323a1fe4 2023-05-03T13:52:43 [PairPos] Fix what I broke
Behdad Esfahbod a6f5f0dc 2023-05-03T13:45:39 [PairSet] Micro-optimize
Behdad Esfahbod 4e495eb0 2023-05-03T13:40:46 [PairPos] Add an unlikely
Behdad Esfahbod 5528bdd4 2023-05-03T13:35:10 [PairPos] Remove a likely
Behdad Esfahbod ae0fe02d 2023-05-03T13:24:08 [Ligature] Use slow path if 2 or fewer ligatures
Behdad Esfahbod ddd6c2e7 2023-05-03T13:16:39 [Ligature] Micro-optimize more
Behdad Esfahbod 045ae4b0 2023-05-03T13:08:43 [GPOS] Micro-optimize
Behdad Esfahbod 0fe90ebc 2023-05-03T12:49:31 [Ligature] Micro-optimize
Behdad Esfahbod 51061d28 2023-05-03T12:46:04 [Ligature] Minor tweak to recent code
Behdad Esfahbod 7881eadf 2023-05-02T14:56:18 [Ligature] Speed up Match the first component of the ligature in the LigatureSet loop. Speeds up Roboto shaping by 25%. I don't think it breaks anything. The test suite seems happy.
Behdad Esfahbod 95f15557 2023-05-02T16:37:31 [PairPosFormat2] Micro-optimize and don't kern if class2=0 If class2=0 we expect no kerning to happen. Just bail out.
Behdad Esfahbod 59967154 2023-05-02T15:52:43 [PairPos2] Micro-optimize
Behdad Esfahbod 2f9945ca 2023-05-02T11:33:31 [Glyph] Only treat numContours=-1 as Composite Leave the other negative numbers as empty glyph.
Garret Rieger db23be64 2023-05-02T00:06:08 [subset] clamp head *Min/*Max values to fit within 16 bit signed int. Fixes fuzzer https://oss-fuzz.com/testcase-detail/4549472192692224.
Behdad Esfahbod a8b8eb53 2023-05-01T16:56:29 [Coverage] Micro-optimize
Behdad Esfahbod af21ea35 2023-05-01T16:34:50 [Coverage/serialize] Micro-optimize
Behdad Esfahbod 19d8328b 2023-05-01T15:54:06 [VarComposite] Minor use pad instead of StructAfter
Behdad Esfahbod 1cbb85dc 2023-04-30T11:31:46 [Glyph] Protect against an underflow
Behdad Esfahbod c7721f7d 2023-04-30T11:28:40 [Glyph] Reuse variables
Behdad Esfahbod e826d94a 2023-04-30T11:11:19 Call roundf() instead of _hb_roundf() The former is defined as a macro expanding to the latter.
Behdad Esfahbod fbffd4e6 2023-04-30T10:45:19 [SimpleGlyph] Handle cubic curves when instancing
Behdad Esfahbod 85a0a123 2023-04-30T10:40:50 [SimpleGlyph] Relax types
Behdad Esfahbod 2e5e5665 2023-04-30T10:23:58 [SimpleGlyph] Micro-optimize
Behdad Esfahbod 700975f7 2023-04-29T11:23:56 [gvar/glyf] Minor save a variable
Behdad Esfahbod 07be0b68 2023-04-29T11:09:28 [VarComposite] Minor micro-optimize
Behdad Esfahbod ecd0f859 2023-04-29T10:51:59 [Composite] Minor micro-optimize
Behdad Esfahbod afd432da 2023-04-28T14:55:37 [VarComposite] Fix an #ifdef check
Behdad Esfahbod b53f8c25 2023-04-28T14:49:22 [path-builder] Simplify initialization
Behdad Esfahbod 6a4b87d0 2023-04-28T14:48:46 [path-builder] Remove double-initialization
Behdad Esfahbod 06504cb0 2023-04-28T13:13:18 [PairPosFormat2] Minor use false instead of 0
Behdad Esfahbod 9ed43dc5 2023-04-28T12:38:26 [PairPosFormat2] Reuse a value
Behdad Esfahbod 5b0d8181 2023-04-28T11:40:42 [Glyph] Add missing break
Behdad Esfahbod e5dfb6a4 2023-04-28T11:38:12 [SimpleGlyph] Use hb_memset instead of memset
Behdad Esfahbod 1b0c5a3e 2023-04-28T11:16:11 [VarComposite] Comment
Behdad Esfahbod b0e763f5 2023-04-28T10:45:23 [VarComposite] Micro-optimize get_num_points
Behdad Esfahbod 29d57658 2023-04-28T10:33:50 [VarComposite] Micro-optimize
Behdad Esfahbod bf97f880 2023-04-28T10:28:17 [VarComposite] Minor notation
Behdad Esfahbod e9738563 2023-04-28T10:22:40 [VarComposite] Speedup get_size()
Behdad Esfahbod c800c0cf 2023-04-27T15:12:02 [Glyph] Load composite glyphs in-place
Behdad Esfahbod f90e3fc3 2023-04-27T14:39:33 [Composites] Pre-alloc phantom-points space
Behdad Esfahbod 0c7cb575 2023-04-27T14:21:44 [VarComposite] Micro-optimization for advance-only
Behdad Esfahbod bdce23a0 2023-04-27T14:07:57 [Glyph] Don't load component glyphs is phantom_only Drastically speeds up variable advance calculation when HVAR is missing. Let's see what I broke...
Behdad Esfahbod e2be7865 2023-04-27T13:54:06 [VarComposite] Minor rewrite
Behdad Esfahbod 58f79063 2023-04-27T13:35:32 [VarComposite] Set min_size to 5
Behdad Esfahbod 28b5a47d 2023-04-27T13:31:53 [VarComposite] Reuse a variable
Behdad Esfahbod 977c2f9c 2023-04-27T13:25:30 [glyf] Micro-optimize
Behdad Esfahbod a4b4536a 2023-04-27T13:14:52 Revert "[glyf] Micro-optimize" This reverts commit 2bbb605d08298047164a20a242f4cfcfbe68c309. In case of phantoms_only we were leaving array uninitialized. This is why the fedora-valgrind bot broke.
Behdad Esfahbod 1c4e7e4f 2023-04-27T13:05:54 [VarComposite] Rewrite code with ?
Behdad Esfahbod 9491a3dd 2023-04-27T13:01:27 [VarComposite] Minor notation
Behdad Esfahbod 644e0551 2023-04-27T13:00:24 [VarComposite] Minor move code
Behdad Esfahbod 79aa9e93 2023-04-27T12:57:25 [VarComposite] Optimize translate, second try
Behdad Esfahbod 83bbeaca 2023-04-27T12:49:56 [VarComposite] Minor move code
Behdad Esfahbod 7cb95c8a 2023-04-27T12:28:00 Revert "[VarComposite] Optimize translate()" This reverts commit 6a55e73d6aa9a378789d4101849f1508ac6fff3d. This was wrong.
Behdad Esfahbod b79a49f1 2023-04-27T12:21:32 [VarComposite] Optimize get_points()
Behdad Esfahbod 51891e8f 2023-04-27T12:16:12 [VarComposite] Micro-optimize
Behdad Esfahbod 0f05ced1 2023-04-27T11:59:28 [VarComposite] Optimize transformation functions more
Behdad Esfahbod 65ea95b9 2023-04-27T11:52:56 [VarComposite] Optimize skew()
Behdad Esfahbod 070f837b 2023-04-27T11:51:42 [VarComposite] Optimize rotate()
Behdad Esfahbod 4e256f5a 2023-04-27T11:47:52 [VarComposite] Optimize scale()
Behdad Esfahbod 6a55e73d 2023-04-27T11:45:18 [VarComposite] Optimize translate()
Behdad Esfahbod cdc02acd 2023-04-27T11:40:24 [VarComposite] Minor adjust initialization values
Behdad Esfahbod a257546d 2023-04-27T11:39:40 [VarComposite] Minor micro-optimize / indent
Behdad Esfahbod 18396b8e 2023-04-27T11:36:24 [VarComposite] Micro-optimize
Behdad Esfahbod 1e71a673 2023-04-27T11:27:40 [VarComposite] Micro-optimize
Behdad Esfahbod dd860fad 2023-04-27T11:24:48 [VarComposite] Micro-optimize
Behdad Esfahbod 64578477 2023-04-27T11:22:18 [VarComposite] Minor change variable types
Behdad Esfahbod 50e758e3 2023-04-27T11:02:07 [glyf] Tweak assertion
Behdad Esfahbod 2bbb605d 2023-04-26T16:40:39 [glyf] Micro-optimize No need to init the whole array.
Behdad Esfahbod c87f2601 2023-04-26T16:32:07 [glyf] Micro-optimize
Behdad Esfahbod cf95f319 2023-04-24T14:45:52 [VarComposite] Another minor resue of num_points
Behdad Esfahbod 0a520842 2023-04-24T14:23:24 [VarComposite] Minor resue of num_points
Behdad Esfahbod d1c00c04 2023-04-24T13:24:47 [COLR] Respect HB_NO_PAINT Fixes https://github.com/harfbuzz/harfbuzz/issues/4204
Behdad Esfahbod a960571f 2023-04-21T16:45:08 [glyf] Comments
Behdad Esfahbod 2b042cc5 2023-04-21T16:43:47 [VarComposite] Implement trim_padding()
Qunxin Liu 591c9460 2023-04-21T14:12:27 [instancer] compile composite glyphs directly with shifted component points instead of deltas
Behdad Esfahbod 3520f528 2023-04-21T15:46:36 [CompositeGlyph] Apply gvar deltas with component transform This was being done wrong for one of the scaled_offsets() cases.
Behdad Esfahbod 33972b3b 2023-04-21T12:37:51 [glyf] Increase CompositeGlyf memory allocation The 50% wasn't justified by logic.
Behdad Esfahbod 290cef39 2023-04-21T12:22:30 [glyf] When instancing, just spew empty VarComposites Before we were dropping the entire glyf table.
Behdad Esfahbod d1f49ba6 2023-04-20T18:17:14 [VarComposites] More ifdef guards
Behdad Esfahbod f2d21425 2023-04-20T17:31:58 [VarC/subset] Support subsetting VarComposites By renumbering components.
Behdad Esfahbod 15d0a1dc 2023-04-20T17:28:10 [glyf] TODO
Behdad Esfahbod 85d0c3b5 2023-04-20T17:17:28 [glyf] Comment
Behdad Esfahbod 5d74b42b 2023-04-20T17:15:57 [glyf] Change variable name
Behdad Esfahbod c997e490 2023-04-20T17:02:38 Remove unnecessary return
Behdad Esfahbod 781da13e 2023-04-20T16:59:25 [glyf] Comment
Behdad Esfahbod b3da715b 2023-04-20T16:05:03 Fix HB_TINY build