Log

Author Commit Date CI Message
Behdad Esfahbod e2fd49ff 2023-05-08T23:37:47 [hash] Comment
Behdad Esfahbod fa64e42d 2023-05-08T23:31:52 [algs] Adjust int hash
Behdad Esfahbod 078b2a51 2023-05-08T22:28:48 [hash] Use a Mersenne prime for int hash And hope that compiler optimizes to int ops instead of modula. Improves chaining it seems. Part of https://github.com/harfbuzz/harfbuzz/pull/4228
Behdad Esfahbod fe0f7dc5 2023-05-08T22:19:02 [bytes] Use fasthash as hash algorithm Part of https://github.com/harfbuzz/harfbuzz/pull/4228
Behdad Esfahbod c005e3a2 2023-05-08T16:33:31 [bytes] Simplify hash function Part of https://github.com/harfbuzz/harfbuzz/issues/4227
Behdad Esfahbod 0e026808 2023-05-08T16:31:58 [hash] Add hash impl for integers Part of https://github.com/harfbuzz/harfbuzz/issues/4227
Behdad Esfahbod b7a8d23b 2023-05-08T14:32:24 [map] Micro-optimize for hb_map_t
Behdad Esfahbod 2f05c32c 2023-05-08T14:29:07 [Coverage] Minor access arrayZ directly in a couple places
Behdad Esfahbod c0e6a96a 2023-05-08T14:02:55 [bit-set] Minor access an array directly
Behdad Esfahbod f4d3b49e 2023-05-08T13:59:48 [set] Micro-optimize iteration
Behdad Esfahbod 3416086d 2023-05-08T13:39:48 [set] Optimize is_subset()
Behdad Esfahbod 45afbdff 2023-05-08T11:19:55 [array] Add a const to a cast
Behdad Esfahbod 4ad443d5 2023-05-08T10:14:43 [Coverage/ClassDef] Don't call qsort if sorted already
Behdad Esfahbod 3c2a925b 2023-05-08T09:43:01 [graph] Micro-optimize
Behdad Esfahbod 62bc2841 2023-05-08T09:12:34 Merge pull request #4221 from googlefonts/user_glyph_map [subset] Add API method to allow a custom glyph map to be specified.
Khaled Hosny b6516f3b 2023-05-08T15:31:24 [cff] Fix the case of HB_OT_TAG_cff(1|2) macros Should be upper case like other HB_OT_TAG_* macros of upper case tables.
Behdad Esfahbod 8df5cdbc 2023-05-07T15:49:50 [Coverage/ClassDef] Handle glyphID overflow in serialize
Behdad Esfahbod 6d7de2f8 2023-05-07T15:23:05 [array] Implement FNV-1a hash function
Behdad Esfahbod ebdeab8b 2023-05-07T14:18:36 [array] Improve hash function Previously all arrays of 0 bytes were getting same hash.
Behdad Esfahbod f772071f 2023-05-07T13:42:00 [subset-plan] Another error check
Behdad Esfahbod 5ec0ccad 2023-05-06T13:36:39 Undef a macro after use
denis rochette 4bb78e35 2023-05-06T16:27:46 Typo in the documentation of hb-ot-math
Behdad Esfahbod 86658df5 2023-05-05T16:10:46 [ClassDef] Fix a fuzzer issue Don't qsort an array that failed to allocate! Fixes https://oss-fuzz.com/testcase-detail/6512559172485120
Behdad Esfahbod cda646a5 2023-05-05T15:57:13 [subset-plan] Check success of all object members
Behdad Esfahbod 5f5660fc 2023-05-05T15:52:17 [subset] In glyf-closure always add current glyph Bad things can happen otherwise if one composite glyph depleted the op count.
Behdad Esfahbod 5468b08c 2023-05-05T15:49:38 [subset-plan] Move all object members to a new file To automatically check for their errors.
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
Garret Rieger 8eb9f312 2023-05-05T15:56:50 [subset] s/Since/XSince/.
Behdad Esfahbod 5d4f3ff6 2023-05-05T07:10:02 [TINY] Fix build
Behdad Esfahbod 7e676cb4 2023-05-05T07:07:00 [config] Add HB_NO_OT_FONT_ADVANCE_CACHE Part of https://github.com/harfbuzz/harfbuzz/issues/4220
Behdad Esfahbod 8831ba7f 2023-05-05T07:03:25 [config] Add HB_NO_OT_FONT_CMAP_CACHE Part of https://github.com/harfbuzz/harfbuzz/issues/4220
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 da175c69 2023-05-05T06:51:59 [config] Add HB_MINIMIZE_MEMORY_USAGE Part of https://github.com/harfbuzz/harfbuzz/issues/4220
Behdad Esfahbod bbf4cfa3 2023-05-05T06:51:10 [config] Add missing HB_NO_BORING_EXPANSION options Those others are only HB_EXPERIMENTAL_API anyway, but still.
Garret Rieger d339298f 2023-05-05T06:00:30 [subset] fix hb_subset_input_old_to_new_gid_mapping method comment.
Garret Rieger 374a9a9f 2023-05-05T05:58:15 [subset] restore accidentally removed function doc.
Garret Rieger 3021b2db 2023-05-05T05:57:05 [subset] change glyph mapping api to return a mutable map. Maintains consistency with our other set based api methods.
Garret Rieger d4c13225 2023-05-04T23:04:35 [subset] Add new glyph map method to docs.
Garret Rieger 77a81554 2023-05-04T23:01:56 [subset] Add some basic tests for a provided glyph map.
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.
Garret Rieger 98e73192 2023-05-04T22:20:06 [subset] Add command line flag to provide a gid mapping.
Behdad Esfahbod 975980d3 2023-05-04T15:56:06 [gsubgpos] Add apply_cached() as separate method In prep for some other work.
Garret Rieger 779e8297 2023-05-04T19:31:23 [subset] fix requested_glyph_map presence check.
Garret Rieger e14020b2 2023-05-04T19:24:01 [subset] remove return value from mapping setting function.
Garret Rieger 68266347 2023-05-04T19:18:54 [subset] apply the user supplied glyph map.
Garret Rieger e711e305 2023-05-04T18:47:55 [subset] Add new subsetting API method to receive a user specified glyph mapping.
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 e138319f 2023-05-04T11:28:50 [config] Allow overriding HB_OPTIMIZE_SIZE
Behdad Esfahbod 319a488b 2023-05-04T10:36:48 [GDEF] Fix null check Fixes https://oss-fuzz.com/testcase-detail/5920994267889664
Behdad Esfahbod 3f2401e2 2023-05-03T16:56:52 [layout] Don't init iters successively multiple times
Behdad Esfahbod 959f1634 2023-05-03T16:27:41 [gsubgpos] Minor reduce variable scope
Behdad Esfahbod fb795dc3 2023-05-03T15:17:20 [GPOS] Optimize iterator reset Speeds up Gulzar shaping 5%.
Behdad Esfahbod 0c1637b6 2023-05-03T15:04:57 [aat] Fix HB_NO_OT_LAYOUT build
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 49ac5e11 2023-05-02T12:12:26 [match_input] Micro-optimize
Behdad Esfahbod 7e7f1d04 2023-05-02T12:06:00 Drop a pair of parantheses from likely/unlikely Such that "if likely(...)" wouldn't compile.
Behdad Esfahbod db730f46 2023-05-02T11:55:10 Simplify likely/unlikely This surprisingly saves bytes and speeds up.
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 491f2968 2023-05-01T15:58:57 [gvar] Micro-optimize We don't need the flag in the case of apply_to_all.
Behdad Esfahbod 19d8328b 2023-05-01T15:54:06 [VarComposite] Minor use pad instead of StructAfter
Behdad Esfahbod 1b74cd7c 2023-05-01T15:41:12 [gvar] Micro-optimize
Behdad Esfahbod 267ecd20 2023-05-01T14:05:17 [normalize] Micro-optimize
Behdad Esfahbod 577bc8a2 2023-05-01T14:01:08 [layout] Micro-optimize
Behdad Esfahbod 5b78e9a9 2023-05-01T13:45:42 [layout] Whitespace
Behdad Esfahbod 3f9eb03b 2023-05-01T12:49:40 [graph] Micro-optimize
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 7b9832de 2023-04-29T12:56:07 [buffer] Whitespace
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
Han Seung Min - 한승민 e768754b 2023-04-29T17:51:04 [buffer] fix `hb_buffer_t::similar` setting `replacement` to `src.invisible` ```cpp void hb_buffer_t::similar (const hb_buffer_t &src) { hb_unicode_funcs_destroy (unicode); unicode = hb_unicode_funcs_reference (src.unicode); flags = src.flags; cluster_level = src.cluster_level; replacement = src.invisible; // <- this should be src.replacement invisible = src.invisible; not_found = src.not_found; } ```
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 4a102eff 2023-04-28T14:38:34 [gvar] Minor always pass cache We now check for access in calculate_scalar(), so no need to check fof error here.
Behdad Esfahbod 06504cb0 2023-04-28T13:13:18 [PairPosFormat2] Minor use false instead of 0
Behdad Esfahbod 262f029e 2023-04-28T12:57:24 [algs] Undo touching HACKMEM 169