src/OT/Layout/GPOS


Log

Author Commit Date CI Message
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 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 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
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 08784baf 2023-03-02T10:48:30 [GSUB/GPOS] Fix sanitization in Format1 Fixes https://oss-fuzz.com/testcase-detail/5120727025319936
Behdad Esfahbod c67c0086 2023-03-01T13:32:44 [GPOS] Fix indexing in MarkLigPos This was broken in 8708b9e081. Fixes https://github.com/harfbuzz/harfbuzz/issues/4142
Garret Rieger 918193eb 2023-02-22T23:11:29 [subset] fix a class of fuzzer timeouts caused by large shared coverage tables. More acurately estimates the op count for CoverageFormat2 tables as the population size instead of the size in bytes.
Behdad Esfahbod adccc535 2023-02-17T12:29:42 [MarkBase] Adjust base-finding logic Fixes https://github.com/harfbuzz/harfbuzz/issues/4124
Behdad Esfahbod 64fa5cd4 2023-02-07T15:50:36 [GPOS] Fix assert fail introduced recently Was introduced in 8708b9e081192786c027bb7f5f23d76dbe5c19e8. If these lookups are recursed to from (Chain)Context out-of-order, it was possible that last_base > buffer->idx, in which case we were attaching marks to a base after them... and an assertion was failing fortunately. Fixes https://oss-fuzz.com/testcase-detail/6377756666757120
Behdad Esfahbod 8708b9e0 2023-02-06T14:51:25 [GPOS] Avoid O(n^2) behavior in mark-attachment Better implementation; avoids arbitrary limit on look-back.
Behdad Esfahbod 749df4ee 2023-01-21T16:00:54 [PairPosFormat1] One more
Behdad Esfahbod b648ceb7 2023-01-21T15:58:59 [PairSet] Optimize last commit
Behdad Esfahbod 89162324 2023-01-21T15:57:18 [PairSet] Unify get_size()
Behdad Esfahbod b63159e8 2023-01-21T15:50:48 [PairPosFormat1] Fix stride Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=55287 and generally the lookup with MediumTypes.
Behdad Esfahbod be8a87c4 2023-01-21T15:00:41 Move TRACE_DISPATCH after may_recurse() Such that we don't get memory access issues if DEBUG_SANITIZE is on and may_recurse() returns false.
Behdad Esfahbod ed023f66 2023-01-12T17:04:24 Enable -Wformat-signedness And fix the codebase.
Behdad Esfahbod b33eb9ec 2023-01-11T11:20:04 [subset-plan] Simplify layout_variation_idx_delta_map allocation
Behdad Esfahbod c482b061 2022-12-03T13:14:31 [gpos] Optimize PairPosFormat1::intersects
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 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 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 02b76393 2022-10-29T11:15:03 [config] Re-enable BORING_EXPANSION Only the non-experimental parts (currently avar2) are enabled by default.
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.
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.
Garret Rieger f6a242b6 2022-07-27T18:58:41 [repacker] begin adding PairPos splitting support.
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 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 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 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 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 d15041be 2022-07-11T13:39:21 [GSUB/GPOS] Trace toplevel sanitize
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 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 3fbf2dec 2022-06-28T23:55:32 [reorg] Move OT::Layout::GPOS_impl::GPOS to OT::Layout::GPOS.
Garret Rieger 88ef3c5a 2022-06-28T23:26:49 [reorg] Change OT::Layout::GPOS to OT::Layout::GPOS_impl.
Garret Rieger 49ddf069 2022-06-28T23:15:07 [reorg] Move GPOS reverse_cursive_minor_offset implementation into new directory layout.
Garret Rieger 74f45f7c 2022-06-24T23:14:30 [reorg] Move remaining GPOS lookup types to new directory.
Garret Rieger 197d9a5c 2022-06-24T22:36:14 [reorg] Move more GPOS lookups to new directory.
Garret Rieger c7307ca0 2022-06-24T22:01:02 [reorg] Begin moving GPOS into the new directory layout.