src/hb-aat-layout-kerx-table.hh


Log

Author Commit Date CI Message
Behdad Esfahbod 7c4e9080 2022-07-11T14:01:52 [sanitize] Minor trace format fixup This likely() is unlikely to make a difference, and obscures the return_trace() message by writing out "something" instead of the true/false value.
Behdad Esfahbod 050f1690 2022-06-28T18:52:27 [GPOS/kerx] Call into impl namespace from kerx
Behdad Esfahbod bcdfedbc 2022-01-22T11:19:05 [unsafe-to-concat] Mark as unsafe in kern machine Fixes that last test. Yay!
Behdad Esfahbod c0058892 2022-01-20T15:51:04 [unsafe-to-concat] Mark entire buffer unsafe-to-concat if kerx format2
Behdad Esfahbod 6d555ce8 2021-11-02T00:18:22 [meta] Use std::forward instead of hb_forward()
Behdad Esfahbod c852b868 2021-09-19T16:30:12 Rename HBGlyphID to HBGlyphID16
Behdad Esfahbod ad28f973 2021-03-31T12:49:14 Rename offset types to be explicit about their size Add Offset16To<>, Offset24To<>, and Offset32To<> for most use-cases.
Ebrahim Byagowi 46ec6db9 2020-07-22T17:30:48 minor
Ebrahim Byagowi d0e2addd 2020-07-18T22:14:52 minor
jfkthame 1e6027e2 2020-07-05T22:44:10 [aat] Correct array indexing when looking up actions in KerxSubTableFormat4 (#2539) * [aat] Correct array indexing when looking up actions in KerxSubTableFormat4. - For action_type 0 and 1, there are 2 values per action record; for action_type 2, there are 4. So we need to account for these factors when indexing into the ankrData array. Fixes https://github.com/harfbuzz/harfbuzz/issues/2531.
Behdad Esfahbod e7c79e16 2020-06-17T15:32:40 Merge pull request #2287 from simoncozens/instrumentation Add messages for GPOS/GSUB (take 2)
Simon Cozens fe926970 2020-06-16T09:12:44 Reformat messages again Messages can be: start/end table XXXX start/end lookup NNNN start/end subtable NNNN (for kerx/kern) start/end chainsubtable NNNN (for morx)
jfkthame 100d40c8 2020-05-06T01:48:24 [aat] Fix implementation of AAT kerning for Geeza Pro. (#2388) * [aat] Fix implementation of AAT kerning for Geeza Pro. Despite what the comment in the code used to say, it appears that Geeza Pro does rely on accumulating kerning values from successive subtables. With this change, the results now match Core Text rendering (and avoid the clear visual breakage reported in #2358). Testcase: U+0644,U+064E,U+0645,U+064E,U+0651,U+0627 Fixes #2358. * [aat] Update test expectations, add new testcase.
Simon Cozens bef7ef81 2020-03-30T16:39:43 Reformat kerx/morx instrumentation to 'verb noun identifier'
Ebrahim Byagowi 0558413f 2019-10-01T13:49:55 Minor, tweak spaces
Ebrahim Byagowi d512087e 2019-09-14T10:36:29 Rename GlyphID to HBGlyphID Avoid collision with macOS's ATSUnicodeTypes.h GlyphID
Behdad Esfahbod 5902198c 2019-09-06T21:36:31 [kerx] Fix offset issue in kern format 2 Fixes tests with HB_VAR_ARRAY != 1, as done in previous commit.
Ebrahim Byagowi a0b4ac4d 2019-08-24T17:57:14 Turn 8 spaces to tab across the project According to the current code style of the project
Behdad Esfahbod 83e3eabd 2019-05-07T20:58:43 Whitespace
Behdad Esfahbod 41248cce 2019-05-07T20:54:31 Remove MIN/MAX in favor of hb_min/hb_max
Behdad Esfahbod 36bb24f7 2019-05-05T10:14:17 [dispatch] Forward arguments in all dispatch multiplexers
Ebrahim Byagowi 92588782 2019-04-30T13:05:10 Remove space between right angle brackets now that we have C++11 (#1689)
Behdad Esfahbod b9769402 2019-01-24T18:01:07 [AAT] Handle transition errors during machine operation Before we used to give up. Now, just ignore error and continue processing. Fixes https://github.com/harfbuzz/harfbuzz/issues/1531
Behdad Esfahbod 1ec90514 2019-01-24T17:21:41 [AAT] Minor
Behdad Esfahbod 5d4b0377 2019-01-22T12:11:24 Convert unsigned enum class consts to static constexpr Part of https://github.com/harfbuzz/harfbuzz/issues/1553
Behdad Esfahbod ef006549 2019-01-22T12:08:57 Convert tag enum class consts to static constexpr Part of https://github.com/harfbuzz/harfbuzz/issues/1553
Behdad Esfahbod 39e1b6d0 2019-01-22T12:07:43 Convert boolean enum class consts to static constexpr Part of https://github.com/harfbuzz/harfbuzz/issues/1553
Behdad Esfahbod 7e6bd510 2019-01-17T18:24:18 Use NNOffsetTo<> in rest of places
Behdad Esfahbod 347ad454 2019-01-17T17:47:29 [AAT] Remove unused code
Behdad Esfahbod a262eb3d 2019-01-17T14:06:32 [aat] Minor
Ebrahim Byagowi e4120085 2018-12-17T21:31:01 Remove redundant void from C++ sources (#1486)
Ebrahim Byagowi b2ebaa9a 2018-12-16T22:38:10 Remove redundant 'inline' from methods (#1483)
Behdad Esfahbod 5c4fead7 2018-11-29T15:04:34 Convert "static const hb_tag_t" constants to enum
Behdad Esfahbod 9e4138c8 2018-11-29T15:01:10 Convert misc "static const" constants to enum
Behdad Esfahbod 44cbd2ea 2018-11-29T14:53:43 Convert "static const bool" constants to anonymous enum
Behdad Esfahbod 42a2b496 2018-11-28T15:24:30 [kerx] Fix Format2 index calc again
Behdad Esfahbod a3267cf8 2018-11-28T15:06:01 [kern] Fix kern table Format2 offsetToIndex Fixes https://github.com/harfbuzz/harfbuzz/issues/1421
Behdad Esfahbod f9a9c0fd 2018-11-28T14:51:56 [kerx] Fix ClassTable implementation for 'kern' table Format 2
Behdad Esfahbod c5a6b355 2018-11-24T23:49:23 [kerx] Port to hb_sanitize_with_object_t
Behdad Esfahbod b3c5affc 2018-11-24T23:34:34 Simplify sanitize set_object()
Behdad Esfahbod c8a2dc82 2018-11-24T22:16:53 Revert "[aat.kerx] Remove kerx subtable boundary enforcement" This reverts commit 15905a2a2998f7ddd964f920a4828602235d6b00.
Behdad Esfahbod 15905a2a 2018-11-24T17:14:39 [aat.kerx] Remove kerx subtable boundary enforcement Have not encountered fonts needing this, but same reasoning as for morx (see previos commit.)
Behdad Esfahbod 20edc70d 2018-11-24T14:52:34 [morx/kerx] Fix sanitize regression Broke in 8dcc1913a1670ede7b124f7b5b775d7ab8791386 If sanitizer is left with another object, it wouldn't work. Better fix coming soon.
Behdad Esfahbod 8dcc1913 2018-11-24T09:47:45 [kerx/morx] Make sure object length is sanitized before accessing it
Behdad Esfahbod 30cb45b3 2018-11-24T00:35:31 Change ArrayOf.bsearch() return semantics Towards consolidating all array bsearch/...
Behdad Esfahbod 9552f4ef 2018-11-23T15:24:17 [kern] Don't enforce length of last subtable
Behdad Esfahbod 74896226 2018-11-23T11:10:17 [aat] Disable mark advance zeroing if kern table has state-machines Geeza Pro for example, relies on that for fancy mark positioning. Fixes https://github.com/harfbuzz/harfbuzz/issues/1405
Behdad Esfahbod 758c9d68 2018-11-22T22:16:12 [morx/kerx] Limit range to subtable when sanitizing
Behdad Esfahbod a9fe787a 2018-11-22T22:12:36 [sanitizer] Add reset_object(), make set_object() do bounds-check Affects morx/kerx run-time only currently. Will adjust their sanitize next.
Behdad Esfahbod 2c8188bf 2018-11-22T22:02:19 [kerx] Make sure subtables are non-zero-length Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11400
Behdad Esfahbod 274f4c72 2018-11-12T14:24:36 Rename check_array2() to check_array()
Behdad Esfahbod c8f4cc49 2018-11-12T14:11:29 [kerx] Fix integer overflow in multiply Fixes https://oss-fuzz.com/v2/testcase-detail/5754863779053568
Behdad Esfahbod 1300f027 2018-11-12T13:56:48 [kerx] Minor tweak on previous commit
Behdad Esfahbod a549aa14 2018-11-12T13:01:22 [kerx] Protect against stack underflow Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11367
Behdad Esfahbod 752bd8a1 2018-11-10T21:13:13 [kerx] Fix Format1 tupleKern sanitization Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11312 Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11305
Behdad Esfahbod b18a56a2 2018-11-07T18:13:22 [kerx] Comment
Behdad Esfahbod 006386be 2018-11-07T18:04:53 [kern] Implement negative state numbers Let the fuzzing bots rip this code apart...
Behdad Esfahbod 9af983af 2018-11-07T16:03:09 [kern] Switch to dispatch
Behdad Esfahbod bc06e280 2018-11-07T16:02:40 [kerx/kern] Add has_cross_stream()
Behdad Esfahbod ea579f9c 2018-11-07T15:44:40 [kerx] Fix peculiar indexing that was needed previously Not needed now that we use GPOS attachment for cursive kerx.
Behdad Esfahbod 7a9629f2 2018-11-07T14:52:36 [kerx] Implement CrossStream kerning for non-state-machine subtables Untested.
Behdad Esfahbod 0eb41570 2018-11-07T14:42:15 [kerx] Disable backwards-kerning for non-state-machine tables That's what the spec says for Backwards flag, only applicable to formats 1 and 4.
Behdad Esfahbod b2f687c2 2018-11-07T14:38:29 [kerx] Use GPOS attachment facilities for CrossStream kerning
Behdad Esfahbod e10a856e 2018-11-07T14:11:48 [kerx] Format
Behdad Esfahbod 649cc3ef 2018-11-07T14:04:04 [kerx] Don't disable crossKerning if kern feature is off
Behdad Esfahbod 0c3b061a 2018-11-07T13:58:41 [kern] Apply erlier, where GPOS/kerx are applied
Behdad Esfahbod f4bad008 2018-11-07T13:51:17 [kerx] Implement tupleKerning for Format1 Untested.
Behdad Esfahbod 39b4ef6f 2018-11-07T13:48:45 [kerx] Better sanitize tupleKerning
Behdad Esfahbod 14772da0 2018-11-07T13:40:22 [kern/kerx] Share KernTable, renamed to KerxTable
Behdad Esfahbod db6e658e 2018-11-07T13:33:23 [kern/kerx] More towards sharing KernTable
Behdad Esfahbod 8e9f6cd0 2018-11-07T12:49:20 [kerx] More minor
Behdad Esfahbod f8c3df7d 2018-11-07T12:48:06 [kern/kerx] Minor
Behdad Esfahbod f5e0a63a 2018-11-07T12:32:39 [kern/kerx] Towards sharing KernTable
Behdad Esfahbod 33050849 2018-11-07T12:27:44 [kern/kerx] Minor
Behdad Esfahbod 1a5ef849 2018-11-07T12:19:52 [kern/kerx] Share Format2 This, enables Format2 for kern table, which was disabled before.
Behdad Esfahbod 8faec4e3 2018-11-07T12:16:38 [kerx] Towards merging Format2
Behdad Esfahbod e72e041c 2018-11-07T11:56:36 [kerx] Rename
Behdad Esfahbod 241ba7da 2018-11-07T11:51:40 [morx/kerx] Rename types
Behdad Esfahbod c808e444 2018-11-07T11:28:36 [kern/kerx] Share Format1 subtable
Behdad Esfahbod a244190a 2018-11-07T11:43:25 [kerx] Minor
Behdad Esfahbod 2a720911 2018-11-07T11:25:55 [kerx] Minor
Behdad Esfahbod f5f4ca78 2018-11-07T11:21:09 [kern/kerx] Enable crossStream kerning in vertical CoreText doesn't, but no reason we shouldn't do.
Behdad Esfahbod d5c88af4 2018-11-07T11:20:14 [kerx] More towards sharing Format1
Behdad Esfahbod ce3451dc 2018-11-07T11:02:04 [kerx] Towards sharing Format1
Behdad Esfahbod 5b178535 2018-11-07T10:45:25 [kern/kerx] Share Format0
Behdad Esfahbod c97dde5d 2018-11-07T10:39:39 [kern/kerx] Towards merge more
Behdad Esfahbod 540ccc38 2018-11-07T10:33:46 [kern/kerx] More towards sharing
Behdad Esfahbod d0f8f4c2 2018-11-07T10:25:25 [kern] Move kern machine to hb-kern.hh
Behdad Esfahbod a6acff25 2018-11-07T10:19:46 [kerx] Towards sharing subtables with kern
Behdad Esfahbod 59e04e42 2018-11-07T00:25:48 [kern/kerx] Fix cursive joining Tested with Waseem TTC: $ hb-shape Waseem.ttc جحخج [F1Jeem_R2=3@0,180+479|M1Khah_L2_R2=2@0,682+403|M1Hah_L2_R2=1@0,1184+403|I1Jeem_L2=0@0,1184+744]
Behdad Esfahbod 8d0f7971 2018-11-07T00:04:40 [kern/kerx] Fix "reset" magic value
Behdad Esfahbod 0123976a 2018-11-06T21:45:40 [kerx] Adjust CrossStream kern to match 'kern' table
Behdad Esfahbod 01bf43ac 2018-11-06T14:48:42 [kern] Implement CrossStream kerning
Behdad Esfahbod 220a5991 2018-11-06T13:51:39 [kern/kerx] Fix trace numbering
Behdad Esfahbod bfafe208 2018-11-06T12:11:45 [kern] Switch to dispatch
Behdad Esfahbod b605db2f 2018-11-04T12:58:02 [aat] Clean up ankr table include mess
Behdad Esfahbod 8034d1dd 2018-11-02T14:47:42 [kern] Implement Format1 Also, implement backwards kerning for Format1 in kern and kerx. Fixes https://github.com/harfbuzz/harfbuzz/issues/1350
Ebrahim Byagowi b053caba 2018-10-30T18:41:34 [mort] Bring back mort generalizations Started by reverting https://github.com/harfbuzz/harfbuzz/commit/1f1c85a5 Just a starting point, if we agree even mort can come back.
Behdad Esfahbod 39bd07ae 2018-10-26T21:01:11 Fix bunch of unused parameter warnings Show up with gcc -O0. There's a few more but those are functions that need to be filled in. Maybe this is a lost battle...
Behdad Esfahbod b713c139 2018-10-20T14:56:28 [kerx] Implement tuple-kerning in Format0