src/OT


Log

Author Commit Date CI Message
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
Behdad Esfahbod 32f145ff 2023-04-20T15:58:26 Fix build
Behdad Esfahbod 000a3c5d 2023-04-20T15:53:10 [beyond-64k/subset] Fetch lsb from glyph table if not available The beyond-64k hmtx table doesn't encode LSB. If subsetting brings the glyph under 64k (which currently is the only mode we support), then we need to encode the LSB, which wasn't available. We need to fetch xMin from glyf table and set it as LSB.
Behdad Esfahbod 1111c757 2023-04-20T15:17:23 hb_memset
Behdad Esfahbod 219e739c 2023-04-20T15:10:29 [beyond-64k/subset] Lower CompositeGlyph GID24's when possible
Behdad Esfahbod a2e8ecf9 2023-04-20T13:59:49 [Glyph] Minor change type of type to enum type Say that thrice.
Garret Rieger 19e1b698 2023-04-18T18:49:26 [subset] Fix ubsan failure.
Garret Rieger 647b0247 2023-04-17T22:47:47 [subset] Fix fuzzer issue https://oss-fuzz.com/testcase-detail/6521393809588224
Garret Rieger 8658c257 2023-04-17T19:46:46 [subset] In LigatureSubst subsetting, check if the ligature glyph is in glyphset. Otherwise coverage will not match the retained ligature sets.
Qunxin Liu fe671a5a 2023-03-16T14:10:21 [instancer] support COLRv1 full instancing
Garret Rieger a84cae42 2023-03-15T02:39:57 [subset] Don't add invalid gids (-1) to the glyphset when loading glyph map from the accelerator.
Behdad Esfahbod 09a26623 2023-03-14T12:48:12 Merge pull request #4168 from googlefonts/subset_name_collect [subset] name_id closure
Behdad Esfahbod 75e6498d 2023-03-14T12:41:46 Don't use M_PI Fixes https://github.com/harfbuzz/harfbuzz/issues/4166 Happy Pi Day!
Garret Rieger 663ecc01 2023-03-13T22:12:59 [subset] don't free glyphs by range. The iterator in this loop is a map iterator so glyphs are not necessarily traveresed in order.
Garret Rieger 3d05b961 2023-03-13T21:34:26 [subset] track which glyphs have allocated memory so we can clean up correctly. Fixes https://oss-fuzz.com/testcase-detail/5388270411579392
Qunxin Liu de6533d8 2023-03-13T13:36:00 [subset] collect name_ids from CPAL table
Qunxin Liu 7b77cd19 2023-03-13T12:45:43 [subset] fix bug in CPAL V1tail serialization We should serialize nameIDs rather than retained color index
Garret Rieger 28b05e1c 2023-03-08T23:59:04 [subset] Fix memory leak in glyf subset. Fixes fuzzer issue: https://oss-fuzz.com/testcase-detail/6525813890875392.
Garret Rieger 9286e125 2023-03-08T20:02:26 Don't subset a glyf table with an unknown format. Fixes fuzzer issue: https://oss-fuzz.com/testcase-detail/4875306193518592
Behdad Esfahbod cfa9541d 2023-03-08T10:35:39 [glyf] "Support" glyf version 1
Behdad Esfahbod 7327006d 2023-03-07T21:06:01 [GSUB] Support SingleSubst in get_glyph_alternates Fixes https://github.com/harfbuzz/harfbuzz/discussions/4146
Behdad Esfahbod f325aba5 2023-03-06T13:07:42 [VarComposites] Minor rename