src/hb-aat-layout-common.hh


Log

Author Commit Date CI Message
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.
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 c14efb8e 2019-05-05T09:54:58 Fix previous commit Priority should be given to specific over dispatch. Broke sanitize before. This fixes it, by moving prioritization to the context implementation, since the correct priority cannot be done in the dispatch implementation. Done for subset and sanitize only, which need it.
Behdad Esfahbod ac350c92 2019-05-05T09:10:46 [dispatch] Try obj.dispatch(c) before trying c->dispatch(obj)
Ebrahim Byagowi 92588782 2019-04-30T13:05:10 Remove space between right angle brackets now that we have C++11 (#1689)
Behdad Esfahbod 175bdad8 2019-04-23T23:57:11 One more variadic parameter pack use
Behdad Esfahbod ea281aa8 2019-03-26T16:18:03 Use class templates for Null objects This allows partial-instantiating custom Null object for template Lookup<T>. Before, this had to be handcoded per instantiation. Apparently I missed adding one for AAT::ankr.lookupTable, so it was getting the wrong (generic) null for Lookup object, which is wrong and unsafe. Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=944346
Behdad Esfahbod ec2a5dc8 2019-03-26T16:18:03 Use class templates for Null objects This allows partial-instantiating custom Null object for template Lookup<T>. Before, this had to be handcoded per instantiation. Apparently I missed adding one for AAT::ankr.lookupTable, so it was getting the wrong (generic) null for Lookup object, which is wrong and unsafe. Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=944346
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 e234bb6a 2019-01-24T17:23:11 [AAT] Ignore machine errors and continue
Behdad Esfahbod 1ec90514 2019-01-24T17:21:41 [AAT] Minor
Behdad Esfahbod 299eca0c 2019-01-24T17:17:00 [AAT] Handle out-of-bounds classes
Behdad Esfahbod c4623db4 2019-01-24T17:10:12 [AAT] Minor
Behdad Esfahbod c4e36f97 2019-01-24T17:06:16 [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 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 271cb7c1 2019-01-22T12:05:35 Make some enum constants unsigned
Behdad Esfahbod 7e6bd510 2019-01-17T18:24:18 Use NNOffsetTo<> in rest of places
Behdad Esfahbod c99d13d8 2019-01-17T17:56:27 [AAT] Comment
Behdad Esfahbod 347ad454 2019-01-17T17:47:29 [AAT] Remove unused code
Behdad Esfahbod d25a2f14 2018-12-23T20:19:52 Fix a few warnings
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)
Ebrahim Byagowi 7ee5c523 2018-12-12T15:14:37 minor style fix, use void in methods on no argument
Ebrahim Byagowi 47cf9a96 2018-12-08T10:20:25 Apply non-controversial parts of ot-style (#1464) Things to be used in https://github.com/harfbuzz/harfbuzz/pull/1459
Behdad Esfahbod 84efe043 2018-12-02T12:38:53 [aat] Fix division sign fallout Happened after 11d2f49af8f53340134c844173f4d8655b00dea3 since now nClasses is unsigned int...
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 f9a9c0fd 2018-11-28T14:51:56 [kerx] Fix ClassTable implementation for 'kern' table Format 2
Behdad Esfahbod 5b4a789c 2018-11-28T14:46:26 [aat] Towards adding two ClassTable's
Behdad Esfahbod 3d309726 2018-11-24T23:12:28 [aat] Skip terminator in VarSizedBinSearchArray<> Fixes shaping with Apple Chancery on 10.13 again. In that font, there was a terminator segment, that was tripping off sanitize().
Behdad Esfahbod ba38378f 2018-11-24T00:27:57 [aat] Minor
Behdad Esfahbod 3b9fd176 2018-11-22T01:18:55 Disallow taking Null() of unbounded structs Not sure I've marked all such structs. To be done as we discover. Fixes https://github.com/harfbuzz/harfbuzz/issues/1300
Behdad Esfahbod c221dc0b 2018-11-14T14:49:34 [ot-shape] Move code around
Behdad Esfahbod e014405a 2018-11-12T14:23:31 Rename check_array(array, a, b) to check_range()
Ebrahim Byagowi b8b00fb3 2018-11-08T18:53:14 [aat] Support Lookup<OffsetTo<>>, needed by just and lcar (#1368)
Behdad Esfahbod 006386be 2018-11-07T18:04:53 [kern] Implement negative state numbers Let the fuzzing bots rip this code apart...
Behdad Esfahbod 19090722 2018-11-07T16:42:16 [aat] Add debug info to state machine
Behdad Esfahbod d5c0ca21 2018-11-07T12:08:44 [aat] Minor
Behdad Esfahbod 241ba7da 2018-11-07T11:51:40 [morx/kerx] Rename types
Behdad Esfahbod b11830c0 2018-11-06T15:23:18 [kern] Improve Format 2 Still disabled.
Behdad Esfahbod c0383c6b 2018-11-06T15:07:19 Minor
Behdad Esfahbod b605db2f 2018-11-04T12:58:02 [aat] Clean up ankr table include mess
Behdad Esfahbod 17335a81 2018-11-04T02:25:07 Clean up buffer->swap_buffers() calls That function checks for buffer->successful already. No need to check at call site.
Behdad Esfahbod 36e90ef5 2018-10-31T15:09:09 [mort] Massage some more
Behdad Esfahbod 11dbf0f1 2018-10-30T21:49:59 [mort] More fixes]
Behdad Esfahbod 0cf282a3 2018-10-30T20:51:44 [mort] Grind some more
Behdad Esfahbod c2527a1b 2018-10-30T19:26:16 [mort] Make it compile / hook it up Untested.
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 1bb8ed86 2018-10-25T17:33:48 [aat] Minor
Behdad Esfahbod 102af615 2018-10-25T17:29:32 [aat] Start adding support for DELETED-GLYPH https://github.com/harfbuzz/harfbuzz/issues/1302
Behdad Esfahbod 00fdbca4 2018-10-20T12:04:51 [aat] Fix LookupFormat10 sanitize Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11060
Behdad Esfahbod f7c0b431 2018-10-19T15:23:49 [aat] Implement LookupFormat10
Behdad Esfahbod 270a37c3 2018-10-17T22:42:47 Kick bots
Behdad Esfahbod 83780308 2018-10-17T22:34:16 [aat] Fix sanitize slowdown Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11034
Behdad Esfahbod 9e8a9b84 2018-10-17T21:41:25 [aat] Another try at fixing Lookup null objects... Ugly as hell, and don't even understand why some bits are needed. But the logic is sound.
Behdad Esfahbod 25fe7e7e 2018-10-16T18:22:54 [aat] Comment
Behdad Esfahbod 87205ef9 2018-10-16T15:40:44 [aat] Make sure Lookup offset is never nulled It has unbounded size... Fixes https://oss-fuzz.com/v2/testcase-detail/5718889451749376
Behdad Esfahbod 7efa3825 2018-10-14T19:30:44 [aat] More protection against buffer fail
Behdad Esfahbod 44af1f93 2018-10-14T14:52:17 [aat] Whitespace
Behdad Esfahbod 2c824d36 2018-10-11T16:41:01 [aat] Fix two wrongs that made a right before! Unfortunately our static asserts (DEFINE_SIZE_STATIC) don't actually fail when used in templates, thanks to SFINAE. Le sighs. Probably fixes https://oss-fuzz.com/v2/testcase-detail/5740171484463104
Behdad Esfahbod e940530c 2018-10-11T15:56:17 [aat] Fix mul overflow Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10897
Behdad Esfahbod d6a12dba 2018-10-11T11:10:06 [trak] Fix, and hook up Works beautifully! Test coming.
Behdad Esfahbod 1622ba59 2018-10-11T01:14:18 [kerx] Implement Format4 'ankr'-based mark attachment Tested with Kannada MN: $ HB_OPTIONS=aat ./hb-shape Kannada\ MN.ttc -u 0CCD,0C95,0CD6 [kn_ka.vattu=0+230|kn_ai_length_mark=1@326,0+607]
Behdad Esfahbod 7bb4da7d 2018-10-11T00:52:07 [aat] Wire up 'ankr' table to apply context
Behdad Esfahbod 7727e737 2018-10-10T13:24:51 [kerx] Actually hook up, and fix crash
Behdad Esfahbod d35315cc 2018-10-09T23:17:32 [aat] Fixup recent commit For 329f2401082011007d9ce12b15ce0225cd267c57 max_ops is signed.
Behdad Esfahbod 329f2401 2018-10-09T23:02:53 [aat] Set embedded sanitizer max ops really high Since we consume it legitimately during shaping.
Behdad Esfahbod 53e55945 2018-10-09T22:35:22 [kerx] Implement Format0 apply() Not hooked up to be called yet.
Behdad Esfahbod 456a68c5 2018-10-07T22:28:45 Move code
Behdad Esfahbod 3515c8b1 2018-10-07T22:27:00 [aat] Rename
Michiharu Ariza 55942ad5 2018-10-06T14:49:44 Merge branch 'master' into cff-subset
Behdad Esfahbod 7ee50af8 2018-10-06T21:31:44 [morx] Fix memory access issues with unsafe_to_break
Behdad Esfahbod 4831e615 2018-10-05T18:14:13 [morx] Fix memory access issue If buffer was enlarged, info was being outdated. Fixes https://github.com/harfbuzz/harfbuzz/issues/1225
Behdad Esfahbod 98ac01d3 2018-10-01T12:10:00 [morx] Break out if buffer gets into error Was getting stuck not making progress somehow.
Behdad Esfahbod 0739b281 2018-09-19T17:32:21 [aat] Minor
Behdad Esfahbod 10642b3f 2018-09-15T19:43:33 Disallow null-enabled offsets to unsized structures... ...like UnsizedArrayOf<>. This fixes a class of crasher bugs, mostly with color and AAT tables. We cannot use nullable offsets to varsized data that does not declare min_size, because it's nost safe to use our fixed-size null pool for types that have their size external. So, use non_null'able offsets for these. A further enhancement would be to make use of min_size in Null<> itself. Will try that after.
Behdad Esfahbod 957dbed3 2018-09-14T12:14:42 Fix builds
Behdad Esfahbod 4653e6cf 2018-09-14T11:31:33 [aat] Add enums for pre-defined state and classes Not sure how I didn't add before...
Behdad Esfahbod dff2c45f 2018-09-10T23:29:26 Port rest from VAR to UnsizedArrayOf<>
Behdad Esfahbod 9507b05a 2018-09-10T23:18:07 Simplify sanitize->check_array() Fix a bug in CBDT sanitize, and redundant check in avar.
Behdad Esfahbod c77ae408 2018-08-25T22:36:36 Rename hb-*private.hh to hb-*.hh Sorry for the noise, downstream custom builders. Please adjust.