Log

Author Commit Date CI Message
Behdad Esfahbod a089d91f 2022-06-02T09:55:43 [hash] Adjust hash for shared_ptr, implement it for std::hash
Behdad Esfahbod e037325e 2022-06-02T08:51:12 [hash] Remove custom hash, rely on std::hash
Behdad Esfahbod 0b35940a 2022-06-01T15:10:19 Make hb::shared_ptr hashable
Behdad Esfahbod 3817bdfd 2022-06-01T12:35:03 [hb.hh] Include hb-cplusplus.hh
Behdad Esfahbod 0d3d5b62 2022-06-02T08:00:08 [cplusplus] Adjustments
Behdad Esfahbod e0f3cab2 2022-06-01T11:51:43 [cplusplus] Add hb-cplusplus.hh Fixes https://github.com/harfbuzz/harfbuzz/issues/2152
Garret Rieger d8d96b26 2022-06-01T19:55:02 [threads-test] Add a threads test against hb-subset.
Garret Rieger 98aaecd3 2022-06-01T21:01:16 [subset] fix data race touching Crap() in cff subsetting.
Garret Rieger 858570b1 2022-06-01T18:08:09 [subset] add some additional 32bit var store cases. Test the path where the 32 bit delta is not included.
Garret Rieger 209d6aa2 2022-06-01T18:02:03 [subset] Update make files for 32bit_var_store test.
Garret Rieger 9c41bfe1 2022-06-01T17:53:14 [subset] Add subset test of font with 32 bit delta in a var store.
Behdad Esfahbod c88a6a9e 2022-06-01T09:46:41 [face] Remove const from get_user_data prototype This was done by mistake. Since the returned user_data can be changed, face should not be marked const. Other object types follow this parttern.
Behdad Esfahbod bc6ecaa2 2022-06-01T09:19:11 [font-funcs] Handle case of null func but non-null destroy or user-data
Behdad Esfahbod 88ccbd2c 2022-06-01T08:44:07 [font-funcs] Optimize user-data/destroy storage Fixes https://github.com/harfbuzz/harfbuzz/issues/2427
Behdad Esfahbod e421613e 2022-06-01T09:07:57 [sbix] Fix conditional
Behdad Esfahbod 55b911d8 2022-06-01T08:13:06 [buffer] Mark getter functions as taking const buffer Fixes https://github.com/harfbuzz/harfbuzz/issues/2873
Behdad Esfahbod 18cd15be 2022-06-01T07:55:59 Rename test
Behdad Esfahbod 9e1479b5 2022-06-01T07:54:45 [morx] Limit context length Fixes https://github.com/harfbuzz/harfbuzz/issues/3097
Behdad Esfahbod 62e803b3 2022-06-01T07:38:21 [sbix] Limit glyph extents Fixes https://github.com/harfbuzz/harfbuzz/issues/3557
Behdad Esfahbod cd05d187 2022-06-01T07:27:30 [font] Fix undefined-behavior when scales are negative Fixes https://github.com/harfbuzz/harfbuzz/issues/3555
Behdad Esfahbod fc4d42ff 2022-06-01T05:19:23 [ft] Add API to notify that hb_font_t changed New API: - hb_ft_hb_font_changed() Mostly reverts 56e0ff9ea129aa91dfcc746cd61f8cbbc427dba7 Related https://github.com/harfbuzz/harfbuzz/issues/2270 Fixes https://github.com/harfbuzz/harfbuzz/issues/3619
Behdad Esfahbod a31fd97c 2022-06-01T12:26:08 Merge pull request #3432 from harfbuzz/fuzz-verify [fuzz-shape] Verify shape output https://github.com/harfbuzz/harfbuzz/pull/3432
Behdad Esfahbod e246723f 2022-06-01T04:54:18 [shape] Fail shaping internally if buffer ops exceeded
Behdad Esfahbod 5a058ba1 2022-05-31T05:35:17 [shape-fuzzer] Add commented out more buffer-verify option Those currently fail and I've been unable to debug them. I tried two, passing them to hb-shape doesn't reproduce the failure. :(
Behdad Esfahbod 189f6534 2022-02-13T13:22:08 [fuzz-shape] Verify shape output Let the fuzzers loose on shape verify.
Behdad Esfahbod 9c0c31df 2022-05-31T09:35:49 [buffer] When deleting glyphs, check cluster backwards as well
Behdad Esfahbod 0384f80e 2022-05-31T08:23:48 [buffer-verify] If shaping buffers failed during verification, pass the test
Behdad Esfahbod eba626ff 2022-05-31T08:20:56 [shape-plan] Return empty plan if buffer direction is invalid Happens if buffer creation failed.
Behdad Esfahbod a441c6c1 2022-05-31T07:52:04 [shape] Only verify if text_buffer is successful
Behdad Esfahbod f7f61aeb 2022-05-31T09:37:38 [buffer] Add TODO item
Behdad Esfahbod d72d3700 2022-06-01T04:43:10 [shape] Allow null buffer Ouch!
Behdad Esfahbod 33145a4b 2022-05-31T04:59:07 [test/shape] Pass --unsafe-to-concat to hb-shape
Behdad Esfahbod 45a22526 2022-05-31T06:23:47 [flags] Fix undefined-behavior SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../src/hb-buffer.hh:60:1 in failure on clusterfuzz-testcase-minimized-hb-subset-get-codepoints-fuzzer-5736539338833920
Behdad Esfahbod f3f9fc15 2022-05-31T06:05:57 [buffer] Mark glyph_flags_t as flags
Behdad Esfahbod ab143e85 2022-05-31T06:00:41 [buffer] Add HB_BUFFER_FLAG_DEFINED and HB_BUFFER_SERIALIZE_FLAG_DEFINED New API: + HB_BUFFER_FLAG_DEFINED + HB_BUFFER_SERIALIZE_FLAG_DEFINED
Behdad Esfahbod 9a2a8570 2022-05-31T04:25:20 [ot-shape] Don't verify buffer if shaping failed Fixes all of fuzzing verify failures, which were result of buffer failure on super-long results, which fails unsafe-to-break because shorter strings don't fail shaping.
Behdad Esfahbod f8b26f43 2022-05-31T11:22:32 Merge pull request #3606 from harfbuzz/32bit-varstore 32bit varstore
Behdad Esfahbod 6dd7e31f 2022-05-31T04:09:06 [util] Accept | as delimiter in Unicode parsing
Behdad Esfahbod 5af5a565 2022-05-30T08:32:50 [VarStore] Implement writing 32bit var-store Untested. Finishes fixing https://github.com/harfbuzz/harfbuzz/issues/2965
Behdad Esfahbod 75112098 2022-05-23T12:42:15 [VarStore] Implement reading 32bit var-store Untested. Part of https://github.com/harfbuzz/harfbuzz/issues/2965 Serializing is incomplete.
Xavier Claessens 334bd013 2022-05-30T11:46:08 Skip warning when building as subproject and ragel is missing It is unlikely to be a developer build in that case.
Behdad Esfahbod e5d6da79 2022-05-23T12:25:39 [varStore] rename shortCount to wordCount
Behdad Esfahbod d11455f2 2022-05-30T06:59:03 [blob] Fix strncpy() use in Mac resource opening code Fixes https://github.com/harfbuzz/harfbuzz/issues/3616
Behdad Esfahbod 9eab6d32 2022-05-26T12:00:45 [benchmark-set] Another Pause/Resume
Behdad Esfahbod ea2dd54b 2022-05-26T11:31:28 [map] Place item hash between key and value, not after them This way if only one of key and value is 64bit (eg. pointer), and other is 32bit, the whole item will fit in 128bit, whereas before it would have been bumped up to 196 if only value was 64bit (a common use-case for us.)
Behdad Esfahbod ec6cefc4 2022-05-26T11:26:37 [repacker] Simplify map types
Behdad Esfahbod cbcdf442 2022-05-26T11:20:27 [map] Speed up map's own hash()
Behdad Esfahbod de33ef61 2022-05-26T11:07:21 [map] Add TODO item
Behdad Esfahbod fc5739ea 2022-05-26T11:04:52 [test-map] Whitespace
Behdad Esfahbod 3e64abd5 2022-05-30T05:52:21 Merge pull request #3613 from harfbuzz/threads-test Threads test
Behdad Esfahbod efa4385b 2022-05-30T05:40:56 Merge pull request #3615 from harfbuzz/gir-freetype [gi] Add freetype2-2.0 for g-i-r includes
Behdad Esfahbod b010962c 2022-05-30T05:34:25 [test/hb-shape-threads] Silence hb_language_get_default() threadysafety issue
Behdad Esfahbod f4a8b700 2022-05-30T05:30:37 More member initialization
Behdad Esfahbod 4e59900f 2022-05-30T05:21:55 [test/hb-shape-threads] Share font amongst threads
Behdad Esfahbod 18b0bd0f 2022-05-30T05:12:12 [test/hb-shape-threads] Verify buffer
Behdad Esfahbod 87453f63 2022-05-27T16:51:12 [hb-shape-threads] Fix current-work-dir so test passes
Behdad Esfahbod f77faf86 2022-05-27T16:34:28 [hb-shape-threads] Allow overriding test parameters from cmdline
Behdad Esfahbod f0fba599 2022-05-27T16:30:19 [hb-shape-threads] Reduce num-iterations
Behdad Esfahbod e8a24363 2022-05-27T16:29:17 [threads] Add a condition_variable to test for all threads to be ready
Behdad Esfahbod 4d42a94c 2022-05-27T16:23:12 [threads] Add hb-shape-threads test
Behdad Esfahbod 484cc187 2022-05-30T05:06:43 [test-shape-threads] Set language
Behdad Esfahbod f371789b 2022-05-28T04:02:36 Sprinkle static around
Behdad Esfahbod 4386626e 2022-05-27T17:32:32 [test/threads] Fix dependency
Behdad Esfahbod bf4b11cf 2022-05-27T17:20:36 [configure] Another try at fixing distcheck
Behdad Esfahbod e0544c48 2022-05-27T17:10:07 [test/threads] Fix distcheck
Behdad Esfahbod e3d5a117 2022-05-27T17:05:23 [hb-shape-threads] Fix tsan race
Behdad Esfahbod 33c990f0 2022-05-27T16:57:00 Include cassert to fix bots
Behdad Esfahbod 049af186 2022-05-27T16:53:25 [threads] Add suite to test
Behdad Esfahbod 315ef83b 2022-05-30T05:09:26 Revert "Revert "[ot-lang] Use atomic int for cache"" This reverts commit c56ce8681c209abd147328142806769752091b1c. The revert was not intentional. Ouch!
Khaled Hosny 34275119 2022-05-30T04:46:02 [gi] Add freetype2-2.0 for g-i-r includes Fixes the warnings: ../src/hb-ft.cc:810: Warning: HarfBuzz: hb_ft_face_create: argument ft_face: Unresolved type: 'FT_Face' ../src/hb-ft.cc:886: Warning: HarfBuzz: hb_ft_face_create_cached: argument ft_face: Unresolved type: 'FT_Face' ../src/hb-ft.cc:855: Warning: HarfBuzz: hb_ft_face_create_referenced: argument ft_face: Unresolved type: 'FT_Face' ../src/hb-ft.cc:920: Warning: HarfBuzz: hb_ft_font_create: argument ft_face: Unresolved type: 'FT_Face' ../src/hb-ft.cc:1029: Warning: HarfBuzz: hb_ft_font_create_referenced: argument ft_face: Unresolved type: 'FT_Face' ../src/hb-ft.cc:240: Warning: HarfBuzz: hb_ft_font_get_face: return value: Unresolved type: 'FT_Face' ../src/hb-ft.cc:262: Warning: HarfBuzz: hb_ft_font_lock_face: return value: Unresolved type: 'FT_Face'
Behdad Esfahbod 97aa1ce6 2022-05-29T10:32:59 [gsubgpos] Move some member initialization
Behdad Esfahbod 0bb4c1f0 2022-05-29T10:23:19 [cache] Set default values for cache template parameters
Behdad Esfahbod 3957d292 2022-05-29T07:30:58 [layout] Remove stale comment
Behdad Esfahbod b6fed6f7 2022-05-29T06:33:34 [set-digest] Minor don't use !! when auto bool conversion happens
Behdad Esfahbod 371e14d9 2022-05-28T13:40:30 Combine uses of map has() then get() with has(.., &..)
Behdad Esfahbod b99efa6c 2022-05-28T05:16:34 [map] Minor: use const reference in has()
Behdad Esfahbod 24d5a11d 2022-05-28T05:14:16 [bimap] Add unlikely and minor optimization in is_empty()
Behdad Esfahbod c56ce868 2022-05-28T04:25:51 Revert "[ot-lang] Use atomic int for cache" This reverts commit d61b2074915cf5f8044dcb8e3dafc04b5b58c6b8.
Behdad Esfahbod 63bc6be0 2022-05-27T08:25:22 Merge pull request #3603 from harfbuzz/font-serial Add font serial API
Behdad Esfahbod e2aa2990 2022-05-27T07:06:02 [set] Use relaxed atomic ops for last_page_index Since iterating a set from multiple threads is supported.
Behdad Esfahbod d61b2074 2022-05-26T18:24:43 [ot-lang] Use atomic int for cache Fixes(?) https://github.com/harfbuzz/harfbuzz/issues/3612
Behdad Esfahbod 67bd147c 2022-05-26T05:16:07 Merge pull request #3610 from googlefonts/subset_create_tables_face [subset] fix subsetting of faces created via hb_face_create_for_tables.
Behdad Esfahbod a719e678 2022-05-24T17:51:24 [ot-font] Use atomic ops for cache serial number This guarantees the cache is coherent.
Behdad Esfahbod 5248b256 2022-05-24T13:55:17 [ot-font/h-advance] Adjust varStore cache condition This gives best performance for short strings, now that we have a h-advance cache as well. The en-words benchmark in particular, now ot-font is faster than ft. Second to last line is of interest: Before: ----------------------------------------------------------------------------------------------------- Benchmark Time CPU Iterations ----------------------------------------------------------------------------------------------------- BM_Shape/en-words.txt/Roboto-Regular.ttf/hb 29.8 ms 29.8 ms 23 BM_Shape/en-words.txt/Roboto-Regular.ttf/ft 30.4 ms 30.4 ms 23 BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/hb 16.3 ms 16.3 ms 43 BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/ft 16.5 ms 16.5 ms 42 BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/var/hb 18.0 ms 18.0 ms 39 BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/var/ft 17.8 ms 17.8 ms 39 After: behdad@Behdads-MacBook-Pro harfbuzz % ninja -Cbuild && build/perf/benchmark-shape --benchmark_filter=en-words ----------------------------------------------------------------------------------------------------- Benchmark Time CPU Iterations ----------------------------------------------------------------------------------------------------- BM_Shape/en-words.txt/Roboto-Regular.ttf/hb 30.0 ms 30.0 ms 23 BM_Shape/en-words.txt/Roboto-Regular.ttf/ft 30.3 ms 30.3 ms 23 BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/hb 16.3 ms 16.3 ms 43 BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/ft 16.4 ms 16.4 ms 43 BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/var/hb 17.6 ms 17.6 ms 40 BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/var/ft 17.8 ms 17.8 ms 39
Behdad Esfahbod 12fff976 2022-05-24T13:42:25 [ot-var] Use atomic int for cached-serial
Behdad Esfahbod 0919eaa6 2022-05-24T13:07:24 [ot-font] Remove lock around cache Not needed.
Behdad Esfahbod 3548b602 2022-05-23T19:39:52 [ot-font] Cache h-advances for variable fonts
Behdad Esfahbod 39a07bf3 2022-05-23T19:13:05 [ot-font] Rename cache to varStore_cache
Behdad Esfahbod 970e03ec 2022-05-23T19:02:36 [ot-font] Add a hb_ot_font_t struct
Behdad Esfahbod 80c49933 2022-05-23T19:02:27 [hb-ft] Adjust serial signature
Behdad Esfahbod 56e0ff9e 2022-05-20T12:30:46 [ft] If hb_font changed, update FT_Face Fixes https://github.com/harfbuzz/harfbuzz/issues/2270 Rather untested.
Behdad Esfahbod d0de389d 2022-05-20T12:18:43 [font] Fix test
Behdad Esfahbod a2015cd3 2022-05-20T12:15:00 [font] Add a separate serial_coords
Behdad Esfahbod 8629df18 2022-05-20T12:06:22 [ft] Discard advance cache if font changed Uses newly added font serial API. Part of https://github.com/harfbuzz/harfbuzz/issues/2270 But doesn't set new coords on the FT_Face. That's a lot more work :(.
Behdad Esfahbod 48db1c95 2022-05-20T12:03:32 [font] Add serial API New API: + hb_font_get_serial() + hb_font_changed() Fixes https://github.com/harfbuzz/harfbuzz/issues/2426 Unused internally as of now.
Behdad Esfahbod 0fe18692 2022-05-24T17:49:15 [benchmark-set] Pause timing around set copy initialization
Behdad Esfahbod ce5435a8 2022-05-24T16:34:04 [benchmark-set] Remove use of rand() inside benchmark
Behdad Esfahbod efa2a579 2022-05-24T16:24:00 [map] Add hb_map_copy() New API: + hb_map_copy()
Behdad Esfahbod 3b28cff9 2022-05-26T04:42:17 [cff1] Fix null dereference on memory alloc failure
Behdad Esfahbod 8df9aba9 2022-05-26T03:59:21 Actually try to fix null-size undefined behavior Related to: https://github.com/harfbuzz/harfbuzz/pull/2067 https://bugzilla.mozilla.org/show_bug.cgi?id=1577584