src/OT/Layout


Log

Author Commit Date CI Message
Behdad Esfahbod 301f6e4b 2022-12-04T11:46:10 [Coverage] Remove TODO
Behdad Esfahbod dbbb8e80 2022-12-04T11:13:39 Revert "[map] Add hb_map_filter_invalid" This reverts commit 8d7e92111786b21906157127c24b72b1e444e6e7. Surprisingly this slowed NotoNastaliqUrdu benchmark down by a couple percent instead of speeding it up.
Behdad Esfahbod 8d7e9211 2022-12-04T11:01:45 [map] Add hb_map_filter_invalid Use it in one place.
Behdad Esfahbod 41a8597f 2022-12-03T13:23:26 [layout] Simplify CoverageFormat2 intersects_coverage()
Behdad Esfahbod 1f4d8cca 2022-12-03T13:17:15 [CoverageFormat2] Optimize intersects()
Behdad Esfahbod c482b061 2022-12-03T13:14:31 [gpos] Optimize PairPosFormat1::intersects
Behdad Esfahbod 4d19c724 2022-12-03T09:57:29 [CoverageFormat1] Speed up intersects() Speeds up SourceHanSerif/10000 benchmark (not in test suite) by 32%!
Behdad Esfahbod 2a7a1d5a 2022-12-02T12:33:24 [Coverage] Avoid timeout on broken ranges Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53929
Behdad Esfahbod 72fabef0 2022-11-30T11:37:49 [SingleSubstFormat2] Speed up closure
Behdad Esfahbod d2a2670e 2022-11-28T19:42:27 [iter] Simplify has() interface implementations
Behdad Esfahbod 3e151139 2022-11-28T14:23:49 [PairPos] Optimize get_effective_value_format Speeds up BM_subset/subset_glyphs/SourceHanSans-Regular_subset.otf/nohinting/512 12%.
Behdad Esfahbod 26ad7a60 2022-11-28T14:09:21 [gpos] Minor micro-optimize
Behdad Esfahbod c769d7e1 2022-11-28T14:03:58 [gpos] Whitespace
Behdad Esfahbod e3cc6183 2022-11-26T13:58:04 [PairPos] Adjust kerning buffer messages
Behdad Esfahbod 6aaa1662 2022-11-24T14:58:42 [Coverage] Comment
Behdad Esfahbod 05aa084e 2022-11-24T12:13:31 [PairPos] Another attempt at fixing unsafe-to-break with ValueFormat2 Fixes https://github.com/harfbuzz/harfbuzz/issues/3888#issuecomment-1326781116 Test: $ hb-shape XBRoya34.ttf ' الأ' --show-flags --script=arab
Behdad Esfahbod 58a696d8 2022-11-22T12:56:05 More hb_memset
Behdad Esfahbod a0bde1e1 2022-11-16T21:27:12 [open-type] Remove (Sorted)ArrayOf.sub_array()
Behdad Esfahbod ea63e95e 2022-11-11T12:45:12 [GPOS.PairPos] Adjust unsafe-to-break for non-zero ValueFormat2 Fixes https://github.com/harfbuzz/harfbuzz/issues/3824
Behdad Esfahbod fc935fb8 2022-11-01T14:39:33 Fix snprintf use https://github.com/harfbuzz/harfbuzz/pull/3495#issuecomment-1299107964
Behdad Esfahbod 02b76393 2022-10-29T11:15:03 [config] Re-enable BORING_EXPANSION Only the non-experimental parts (currently avar2) are enabled by default.
Behdad Esfahbod 9aad3dba 2022-10-26T13:04:02 [SingleSubst] Fix degenerate-lookup test Part of https://github.com/harfbuzz/harfbuzz/issues/3853
Behdad Esfahbod 294b1c9f 2022-10-13T11:30:02 Use snprintf instead of sprintf
Qunxin Liu 8f3a7017 2022-09-09T15:00:37 [instance] support FeatureVariations table
Behdad Esfahbod 4bf96211 2022-08-31T09:18:18 [optical-bounds] Optimize
Behdad Esfahbod 5d6f1a88 2022-08-31T08:31:24 [layout] Add hb_ot_layout_get_optical_bound()
Qunxin Liu 6de0a6f0 2022-08-03T11:18:00 [instance] update GPOS ValueRecord table
Qunxin Liu 61636d4e 2022-08-02T10:52:31 [instance] update GPOS AnchorFormat3 table
Qunxin Liu b72995ff 2022-08-01T14:48:01 [instance] GDEF table: collect both varidxes and deltas
Garret Rieger 5ea3c0be 2022-08-11T22:21:28 [repacker] Implement MarkArray::clone.
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.
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.
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
Behdad Esfahbod 914542bd 2022-08-03T17:43:50 Whitespace
Garret Rieger 7f4b2037 2022-08-02T18:43:25 [repacker] include size of device tables when determining PairPos2 split points.
Garret Rieger 58fdbd8e 2022-07-30T02:05:15 [repacker] begin adding PairPosFormat2 splitting support.
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
Garret Rieger f6a242b6 2022-07-27T18:58:41 [repacker] begin adding PairPos splitting support.
Behdad Esfahbod 149b0305 2022-07-29T12:41:30 Fix thinko
Behdad Esfahbod f7677213 2022-07-29T11:57:57 [SingleSubstFormat1] Don't close glyphs in degenerate cases Fixes https://oss-fuzz.com/testcase-detail/5145429829877760
Behdad Esfahbod e2cc34e1 2022-07-26T12:31:15 [subset/GPOS] Fix a fuzzer timeout test Fixes https://oss-fuzz.com/testcase-detail/5234369031176192
Behdad Esfahbod 59b05359 2022-07-24T17:14:09 [GSUB/GPOS] Add more buffer messages Behind HB_BUFFER_MESSAGE_MORE. https://github.com/harfbuzz/harfbuzz/pull/3495
Behdad Esfahbod 9eab3ac7 2022-07-21T12:35:19 [CoverageFormat2] Remove hand-written loop While on a fuzzer-found test case (added) that loop was faster, on real fonts, including NotoNastaliq in our benchmark, it was actually slower, which intuitively I would have expected. Still no idea why on that fuzzer case it's faster though. :(
Behdad Esfahbod bbb4db90 2022-07-21T12:34:46 [Coverage/SingleSubst] Move hand-written loop to Coverage
Behdad Esfahbod 7b95783e 2022-07-21T12:18:51 [Coverage] Internal rename
Behdad Esfahbod afa65f29 2022-07-21T12:17:08 [Coverage] Minor type change
Behdad Esfahbod b38587aa 2022-07-21T12:14:06 [Coverage] Internal renames
Behdad Esfahbod 84d38df8 2022-07-21T12:12:04 [Coverage] Minor use range-based loop
Behdad Esfahbod b017b73f 2022-07-21T12:06:55 [Coverage] Minor remove a couple unnecessary as_array()'s
Behdad Esfahbod 9e650b4e 2022-07-21T12:01:52 [Coverage] Speedup intersect_set
Behdad Esfahbod efa38807 2022-07-21T11:52:36 [subset/SingleSubsetFormat1] Use Coverage.intersect_set
Behdad Esfahbod 00dfbbce 2022-07-21T11:39:32 [Coverage] Rename and templatize intersected_coverage_glyphs
Behdad Esfahbod d0eb2737 2022-07-21T11:24:56 [subset/GSUB/GPOS] Use more intersected_coverage_glyphs()
Behdad Esfahbod 450d8346 2022-07-21T11:05:35 [subset/PairPosFormat1] Speed up significantly
Behdad Esfahbod 5d7556e1 2022-07-21T10:42:29 Revert "[subst/SingleSubstFormat1] Rewrite nicer" This reverts commit bababe10724c27b2cbb09bf25e7dcf4aeea07588. The hand-written code is still much faster :(.
Behdad Esfahbod 71ce931e 2022-07-21T10:41:29 [PairPos] Don't compute newFormat It was wrong, because it would be writing wrong values. Test suite doesn't seem to catch any.
Behdad Esfahbod 02ca0254 2022-07-21T10:30:23 [layout] Add large_int to Types
Behdad Esfahbod bababe10 2022-07-21T10:25:27 [subst/SingleSubstFormat1] Rewrite nicer
Behdad Esfahbod cf123e6a 2022-07-21T10:21:57 [Coverage] Add get_population ()
Behdad Esfahbod fa471043 2022-07-20T22:42:18 [subset] Fix previous commit
Behdad Esfahbod c4d2ef90 2022-07-20T22:36:35 [subset] Speed up subsetting of SingleSubstFormat1_3
Behdad Esfahbod d01e6bab 2022-07-20T22:17:33 [subset] Speed up SingleSubstFormat1_3 closure
Behdad Esfahbod aae8c74e 2022-07-20T11:51:09 [>64k:layout:SingleSubstFormat3] Fix masking https://github.com/be-fonts/boring-expansion-spec/issues/31
Behdad Esfahbod 3c137ef0 2022-07-20T11:29:30 [GPOS/CursivePos] Fix unsafe-to-break marking Fixes test.
Behdad Esfahbod 54e9ab4a 2022-07-18T18:57:14 [GPOS/Cursive] Fix breaking of parent-child attachment Mostly fixes https://github.com/harfbuzz/harfbuzz/issues/2469
Behdad Esfahbod 89de8c70 2022-07-18T13:07:29 [CoverageFormat2] Another fix for broken tables Fixes https://oss-fuzz.com/testcase-detail/6005342714068992
Behdad Esfahbod d8574b44 2022-07-17T18:44:27 [CoverageFormat2] Fix iterator to avoid infinite loop on invalid data. Fixes https://oss-fuzz.com/testcase-detail/5304497047470080
Behdad Esfahbod af84680f 2022-07-17T12:00:04 [GSUB] Remove a reinterpret_cast
Garret Rieger d82ace5c 2022-07-13T23:00:01 [reorg] add TODO to RangeRecord.
Garret Rieger c1e280ea 2022-07-13T22:43:38 [reorg] Move Coverage, RangeRecord into new namespace layout.
Behdad Esfahbod a2f07231 2022-07-13T16:02:39 [GPOS] Adjust mark attachment on multiple substitution some more Fixes https://github.com/harfbuzz/harfbuzz/issues/1545
Behdad Esfahbod cc83b0b8 2022-07-08T12:25:15 [>64k:layout:MarkBasePos/MarkMarkPos/MarkLigPos] Implement format 2 Implements https://github.com/be-fonts/boring-expansion-spec/issues/40 Subset does NOT lower format.
Behdad Esfahbod 4b43070e 2022-07-08T12:22:16 [>64k:layout] Templatize MarkBasePos/MarkMarkPos/MarkLigPos
Behdad Esfahbod f0d6dda5 2022-07-07T16:28:24 [>64k:layout:PairPos] Implement format 3 Implements rest of https://github.com/be-fonts/boring-expansion-spec/issues/38 Subset does NOT lower format.
Behdad Esfahbod 298ee47c 2022-07-07T16:27:49 [>64k:layout] Templatize PairPosFormat1
Behdad Esfahbod e9f8010f 2022-07-07T13:55:26 [>64k:layout:PairPos] Templatize & implement format 4 Implements part of https://github.com/be-fonts/boring-expansion-spec/issues/38 Subset does NOT lower format.
Behdad Esfahbod ecd8bc5a 2022-07-06T17:49:56 [>64k:layout:LigatureSubst] Implement format 2 Implements https://github.com/be-fonts/boring-expansion-spec/issues/33 Subset does NOT lower format.
Behdad Esfahbod 704e696a 2022-07-06T14:19:20 [>64k:layout] Templatize LigatureSubst
Behdad Esfahbod 27d24212 2022-07-06T14:05:21 [>64k:layout:AlternateSubst] Implement format 2 Implements rest of https://github.com/be-fonts/boring-expansion-spec/issues/32 Subset does NOT lower format.
Behdad Esfahbod c53d3ad5 2022-07-06T14:03:45 [>64k:layout] Templatize AlternateSet
Behdad Esfahbod a58a4862 2022-07-06T13:58:35 [>64k:layout:MultipleSubst] Implement format 2 Implements part of https://github.com/be-fonts/boring-expansion-spec/issues/32 Subset is NOT updated to lower format.
Behdad Esfahbod 684c8fce 2022-07-06T13:37:52 [>64k:layout] Templatize MultipleSubst
Behdad Esfahbod 8775e9b4 2022-07-06T13:28:17 [>64k:layout:SingleSubst] Implement format 3/4 Implements https://github.com/be-fonts/boring-expansion-spec/issues/31
Behdad Esfahbod e3caf8d5 2022-07-06T13:11:53 [>64k:layout] Templatize SingleSubst
Behdad Esfahbod d15041be 2022-07-11T13:39:21 [GSUB/GPOS] Trace toplevel sanitize
Behdad Esfahbod 5192294f 2022-07-08T14:00:24 .
Behdad Esfahbod 8a107125 2022-07-06T13:46:30 [layout] Make SubstLookup:serialize_single take iterators
Behdad Esfahbod ea11029a 2022-07-08T11:58:43 [GPOS] Split LigatureArray.hh
Behdad Esfahbod 68b2742f 2022-07-07T16:11:15 [GPOS] Move code around
Behdad Esfahbod 6a3043a0 2022-07-07T14:51:37 Fix tests
Behdad Esfahbod 0b0e3b30 2022-07-07T14:06:44 [GPOS] Break down PairPosFormat1 into new layout
Kleis Auke Wolthuizen 79eb0f74 2022-07-06T13:29:55 [GSUB] Fix build on GCC < 7
Kleis Auke Wolthuizen 3238cb74 2022-07-06T13:18:14 [GPOS] Fix build on GCC < 7
Behdad Esfahbod d9ab805e 2022-07-05T11:45:10 Fix LookupFlag negation Fixes https://github.com/harfbuzz/harfbuzz/issues/3703
Garret Rieger 900476c6 2022-06-30T19:21:23 Move GSUB.hh GPOS.hh back into the GPOS/GSUB sub directories.
Garret Rieger 5fdae684 2022-06-29T23:52:08 [reorg] Move GSUB.hh up one level and change GSUB namespace to GSUB_impl.
Garret Rieger 910a137f 2022-06-29T00:05:35 [reorg] Fix propagate_attachment_offsets definition.