Log

Author Commit Date CI Message
Qunxin Liu ac0e22fa 2022-07-22T09:37:09 [instance] update glyf/hmtx/vmtx tables
Behdad Esfahbod 23461b75 2022-08-19T09:48:12 [hb-ft] Only apply FT_Face's transform if we created FT_Face Fixes https://github.com/harfbuzz/harfbuzz/issues/3788 https://github.com/harfbuzz/harfbuzz/issues/3790
Behdad Esfahbod 4f592117 2022-08-18T16:33:44 Merge pull request #3787 from harfbuzz/split_mark_base_bos [repacker] Add support for splitting MarkBasePosFormat1 in the packer.
Behdad Esfahbod 2eda2ab3 2022-08-18T16:15:54 [object] Forward hb_object_create() arguments to constructor
Behdad Esfahbod df040de9 2022-08-18T16:15:00 [array] Add a std::forward
Behdad Esfahbod c606978e 2022-08-18T16:13:56 [array] Remove unused type pack
Garret Rieger 37d61afd 2022-08-18T21:05:48 [subset] add destructor to subset plan. This ensures that it's members get destructed before the plan itself is destructed, as hb_object_destroy calls the destructor for plan.
Garret Rieger a91bfeed 2022-08-18T22:01:48 [repacker] comment cleanup.
Garret Rieger 015ca5bc 2022-08-18T21:52:55 [repacker] fix compiler alignment warning.
Behdad Esfahbod de37b265 2022-08-18T15:21:48 [object] Only destruct object if it's not trivially-destructible Such that we're legally free to access the object to destruct its (pointer) fields ourselves afterwards. For things like hb_font_t, hb_face_t, etc.
Garret Rieger 683c5dd2 2022-08-18T20:57:04 [repacker] further reduce base count.
Garret Rieger 5ddf41fc 2022-08-18T20:28:05 [repacker] speed up MarkBasePos test case by using a smaller basecount.
Garret Rieger bf28b84a 2022-08-18T01:51:37 [repacker] cleanup unused base_array_id.
Garret Rieger 31976bfb 2022-08-18T01:50:35 [repacker] cleanup unused base_array_links.
Garret Rieger 6f5c52b6 2022-08-18T01:48:10 [repacker] optimize AnchorMatrix::clone. Previous runtime is O(n^2) reduced to O(n).
Garret Rieger 29e3b246 2022-08-18T01:19:54 [repacker] optimzie remove_real_links as it's a hot method.
Garret Rieger 46b5dbd7 2022-08-18T01:18:16 [repacker] optimize index_for_offset.
Garret Rieger 52303638 2022-08-18T01:10:42 [repacker] correct size calculation for MarkBasePosFormat1.
Garret Rieger ac1a853a 2022-08-18T00:55:47 [repacker] implement sanitize methods for MarkBasePos.
Garret Rieger a3ed9f90 2022-08-17T23:39:11 [repacker] fix graph comparison, and mark base pos generation for the tests.
Garret Rieger 19c51ed3 2022-08-17T19:15:55 [repacker] Get mark base pos test working.
Garret Rieger b46ced95 2022-08-17T17:51:02 [repacker] correct MarkArray size calculation.
Garret Rieger 36c76c27 2022-08-17T17:30:21 [repacker] when clearing links in MarkArray, also clear parents of the children.
Garret Rieger 8c3db8bd 2022-08-17T00:36:23 [repacker] more progress on MarkBasePos tests.
Behdad Esfahbod 172cc820 2022-08-16T13:21:02 [BUILD] Minor reword (and reformat) Fixes https://github.com/harfbuzz/harfbuzz/issues/3784
Garret Rieger 1405f96b 2022-08-15T23:48:00 [repacker] change run_resolve_overflow_test to check for graph equivalence. Replaces a check for an exact match on the final serialized bytes. The previous check enforced equivalent topological sorting between result and expected, but we only really care that the graph's are equivalent and don't overflow.
Garret Rieger 07fd0528 2022-08-15T23:16:51 [repacker] add graph equality check. Does not compare topological sorting, but looks for equivalence of the two graphs.
Garret Rieger 5cf2a25a 2022-08-15T22:49:24 [repacker] Expose on internal method in the repacker that allows the caller to pass in/out a graph. Will be used in testing so we can compare graphs instead of packed result.
Garret Rieger c414ef29 2022-08-15T22:10:37 [repacker] Implement MarkArray::shrink.
Behdad Esfahbod 4ab7e579 2022-08-12T12:17:37 Make HB_BORING_EXPANSION opt-in instead of opt-out Fixes https://github.com/harfbuzz/harfbuzz/issues/3757
Garret Rieger f8b55205 2022-08-11T23:09:36 [repacker] Add AnchorMatrix::shrink.
Garret Rieger bbe14417 2022-08-11T22:53:30 [repacker] Begin implementing MarkBasePosFormat1::shrink.
Garret Rieger c9ddf081 2022-08-11T22:34:59 [repacker] Implement AnchorMatrix::clone.
Garret Rieger 5ea3c0be 2022-08-11T22:21:28 [repacker] Implement MarkArray::clone.
Garret Rieger 0083fd10 2022-08-11T22:09:46 [repacker] add as_table() helper to graph.
Garret Rieger b00eb776 2022-08-11T20:33:21 [repack] Add add_link helper to graph.
Garret Rieger 1acd2a8b 2022-08-11T20:22:31 [repacker] implement MarkBasePosFormat1::clone_range.
Garret Rieger cf817f3d 2022-08-11T19:26:59 [repacker] Hook up MarkBasePos splitting.
Garret Rieger 4418beac 2022-08-11T19:08:04 [repacker] start implmenting MarkBasePos splitting.
Behdad Esfahbod f4f7d691 2022-08-09T22:23:23 Merge pull request #3779 from harfbuzz/split_pair_pos_2 [repacker] Add PairPosFormat2 table splitting in the repacker.
Garret Rieger fa46dbca 2022-08-08T17:07:14 [repacker] Make actuate_subtable_split internal.
Garret Rieger fe15f255 2022-08-08T16:57:28 [repacker] use position instead of memory address as key in device_tables map.
Garret Rieger 163fbf0b 2022-08-05T23:37:11 [repacker] Check for nullptr's before sanitizing.
Garret Rieger 13253233 2022-08-05T23:15:10 [repacker] in PairPosFormat2 splitting use the max estimated coverage/classdef size for sizing serialization buffers.
Garret Rieger dde0a2b0 2022-08-05T22:30:37 [repacker] track estimated coverage size during PairPosFormat1 split point analysis.
Garret Rieger b37e8bef 2022-08-05T22:16:20 [repacker] count size of the current class at the split point in the next segment.
Qunxin Liu 7fde6ab0 2022-08-05T13:33:22 fuzzer fix: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49790
Behdad Esfahbod a4e0fd16 2022-08-05T15:05:51 [MultipleSubst] Rewrite serialize signature as single iterator
Behdad Esfahbod 65d28bc5 2022-08-05T14:56:07 [MultipleSubst] Rewrite serialize() in terms of iterators Unused still, and hence untested
Behdad Esfahbod b57ea3b0 2022-08-05T14:29:27 Revert "[iter] Use && in uses of is_source_of" This reverts commit ccbba667a9bdc096f0053d5e3ee951a8b6298e8a.
Garret Rieger 0e48a65d 2022-08-05T20:19:11 [repacker] estimate size of classDef1 and coverage during PairPos2 split point analysis.
Garret Rieger 2264df6d 2022-08-05T18:33:03 [repacker] add utility that can calculate the size of Coverage+ClassDef via incremental class inclusion.
Behdad Esfahbod ccbba667 2022-08-05T11:51:51 [iter] Use && in uses of is_source_of
Behdad Esfahbod 8fb7cc1c 2022-08-05T11:49:29 [iter] Use && in is_sink_of uses
Garret Rieger 5d824c09 2022-08-05T01:37:14 [repacker] during table splits don't mutate shared coverage/classdef in place. If other subtables are sharing coverage with a subtable being split we have to duplicate the coverage/classdef tables before they are modified during the shrink operation.
Garret Rieger e1ab3550 2022-08-05T01:25:16 [repacker] correct lookup link insertion.
Garret Rieger a733a9af 2022-08-05T00:32:47 [repacker] insert new subtables immediately after the subtable they split from in the lookup.
Garret Rieger 506547c9 2022-08-04T21:36:21 [repacker] Use hb_pair_t constructor instead of hb_pair (). hb_pair was causing corrupted gid values.
Garret Rieger fdd1952c 2022-08-04T19:21:16 [repacker] PairPosFormat2 splitting - fix coverage and classdef splitting. The old code was splitting based on coverage index, but should have been splitting on class value.
Behdad Esfahbod c67c1b74 2022-08-04T11:42:22 VarStore: simplify again
Behdad Esfahbod 914542bd 2022-08-03T17:43:50 Whitespace
Behdad Esfahbod d7adc55e 2022-08-03T13:22:51 [ot-font] Allow 24bit glyphs in advance cache
Behdad Esfahbod 99070a73 2022-08-03T13:19:33 [cache] Use short instead of int if fits
Qunxin Liu d831e935 2022-08-04T10:15:21 bug fix in VarData get_delta () when LONG_WORDS flag is set, item row is not computed correctly lcursor should be interpreted as INT32
Garret Rieger b154b1e4 2022-08-04T01:37:21 [repacker] pull out PairPosFormat1,2::do_split() into a common helper method.
Garret Rieger 88e0dd02 2022-08-04T01:03:07 [repacker] add sanitization for PairPosFormat2.
Garret Rieger 51a50602 2022-08-03T22:30:42 [repacker] add test for splitting a PairPos2 w/ device tables.
Garret Rieger 54fab21c 2022-08-03T21:57:37 [repacker] get basic pair pos 2 split test working.
Garret Rieger 60d6ffb3 2022-08-03T21:01:23 [repacker] always duplicate classDef2 when splitting a PairPos2. Splits are done in a way that it shouldn't be possible to share the classDef2 between split PairPos2's so pre-emptively duplicate it.
Garret Rieger 6be15242 2022-08-03T19:02:20 [repacker] add basic test for PairPos2 splitting.
Behdad Esfahbod b78546b1 2022-08-03T13:02:18 [cache] Residual
Behdad Esfahbod ec90d1e1 2022-08-03T13:00:48 [cache] Add a non-threadsafe version Use in hb-ft, since already mutex'ed.
Behdad Esfahbod f73c15ca 2022-08-03T12:54:03 [atomic-int] Add operators for relaxed ops
Behdad Esfahbod 86d1e22d 2022-08-03T12:43:28 [atomic-ptr] Rename get
Behdad Esfahbod d3f2287e 2022-08-03T12:37:41 [atomic-int] Rename get/set
Khaled Hosny afe6629b 2022-08-03T19:56:29 Fix make dist
Behdad Esfahbod e68e874d 2022-08-03T11:31:04 Update test/fuzzing/README
Behdad Esfahbod c80e3297 2022-08-02T13:16:06 [mvar] Use VarIdx
Khaled Hosny 52bdc750 2022-08-03T10:39:52 Revert "[meson] Use pathlib in gen-harfbuzzcc.py" This reverts commit eaf7e5686c0d15f2308b35b43aaccdded9967216. Fixes https://github.com/harfbuzz/harfbuzz/issues/3776 No idea what is going on, but lets restore the old code.
Garret Rieger 65ed82fd 2022-08-02T22:22:42 [repacker] PairPosFormat2::do_split.
Garret Rieger f43055f3 2022-08-02T22:16:29 [repacker] Implement PairPosFormat2::shrink.
Khaled Hosny 16bfe653 2022-08-02T23:46:04 [meson] use cpp.get_argument_syntax not cpp.get_id To account for both MSVC and clang-cl. Fixes https://github.com/harfbuzz/harfbuzz/issues/3756
Garret Rieger 9f2a4464 2022-08-02T21:47:53 [repack] implement device table transfer for PairPosFormat2.
Garret Rieger 22eae32b 2022-08-02T21:04:38 [repacker] add classDef1 clone_range to PairPosFormat2 split.
Garret Rieger 68b90153 2022-08-02T20:58:35 [repacker] Add class def sanitize and range cloning.
Garret Rieger ca0df565 2022-08-02T20:04:46 [repacker] extract coverage cloning into helper.
Behdad Esfahbod ee18ae3b 2022-08-02T12:56:06 [avar] Minor move code around
Garret Rieger 7f4b2037 2022-08-02T18:43:25 [repacker] include size of device tables when determining PairPos2 split points.
Behdad Esfahbod 826639fa 2022-08-02T12:18:18 [src] Add test-use-table Fixes https://github.com/harfbuzz/harfbuzz/issues/3758
Garret Rieger 58fdbd8e 2022-07-30T02:05:15 [repacker] begin adding PairPosFormat2 splitting support.
Behdad Esfahbod e387b3ac 2022-08-02T09:46:23 [ft] Try harder
Khaled Hosny 40a34689 2022-08-02T16:09:27 hb-ft: cast to float to help windows sqrtf
Behdad Esfahbod 6549aec8 2022-08-01T13:11:14 [SingleSubstFormat1] Help avoid timeouts in closure() some more For https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49712
Behdad Esfahbod ba9b2053 2022-08-01T12:42:05 [ft] Try working around fonts with transform set Fixes https://github.com/harfbuzz/harfbuzz/issues/3772
psykose 04d28d94 2022-08-01T07:45:25 [repacker] fix signedness of char in tests
Khaled Hosny f1f2be77 2022-07-31T15:46:25 5.1.0
Khaled Hosny d6e55f1b 2022-07-30T23:35:47 [automake] Use LANG=C when generating harfbuzz*.cc Since `sort` is locale-dependent.
Behdad Esfahbod a722b3e6 2022-07-30T14:33:33 [shape] Only add any unsafe-to-concat flag if requested Previously it was confusing as random incorrect flags were produced.
Behdad Esfahbod 0a31cfb2 2022-07-30T14:32:58 [buffer] Fix produce-tatweel enum value
Behdad Esfahbod a0111e4f 2022-07-30T12:09:45 [graph] Fix warning Fixes https://github.com/harfbuzz/harfbuzz/issues/3766