src/hb-ot-color-colr-table.hh


Log

Author Commit Date CI Message
Behdad Esfahbod ae208963 2022-12-26T12:30:39 Add hb-limits.hh
Matthias Clasen ea2892c3 2022-12-26T10:10:39 [paint] Limit the size of the graph we follow In addition to checking the depth, also count the number of edges in the graph we've followed, and give up after 1024.
Matthias Clasen 5dd69d81 2022-12-26T08:23:55 Fix hb_ot_color_has_paint We must no access v1 data without checking that version is 1. A bit of a trap.
Matthias Clasen b8f2281c 2022-12-26T07:59:01 Add hb_ot_color_glyph_has_paint
Behdad Esfahbod 1c595ec1 2022-12-24T11:40:44 [paint-extents] Lazy-load paint_extents funcs
Behdad Esfahbod 0d129ae3 2022-12-23T18:00:38 Fix warning
Behdad Esfahbod 73e48b93 2022-12-23T17:55:09 [colr] Push clipbox or computed clip
Behdad Esfahbod 02684751 2022-12-23T17:33:13 [paint-extents] Clean up
Behdad Esfahbod dbea503a 2022-12-23T17:28:46 [colr] Return true extents
Behdad Esfahbod 47c896f0 2022-12-23T16:20:44 [paint-extents] Hook it up, kinda
Behdad Esfahbod 452cfb95 2022-12-17T10:04:55 [colr] Simplify loop using iterators Or complexify?!
Behdad Esfahbod 8a9069d5 2022-12-17T09:21:08 [colr] Fix radial gradient Broke it when adding variations.
Behdad Esfahbod 1953d26a 2022-12-17T08:59:33 [colr] Limit recursion depth
Matthias Clasen 0b33b35e 2022-12-16T23:22:15 COLRv1: Return bool from paint_glyph This will let hb_ot_font_paint_glyph() try multiple tables in turn.
Matthias Clasen 0d890061 2022-12-17T00:07:30 Rename 'solid' to 'color' 'solid' does not really describe well what the function does, and there is no strong reason to stick 1:1 to the terminology used in the spec.
Behdad Esfahbod 46286275 2022-12-16T15:27:18 [colr] More dispatch functionality
Behdad Esfahbod 81f232af 2022-12-16T15:17:35 [colr] Use dispatch machinery for paint_glyph context
Behdad Esfahbod a96300d4 2022-12-16T15:11:35 [colr] Hide internal symbols
Behdad Esfahbod 07575190 2022-12-16T12:45:02 [colr] Add variation to rest of the paints
Behdad Esfahbod 5bce0053 2022-12-16T12:31:08 [colr] Flesh out variations for a few paints
Behdad Esfahbod 9d3440b7 2022-12-16T12:12:21 [colr] Add variation infrastructure to paint_glyph No paint applies variations yet.
Matthias Clasen 5c632955 2022-12-16T12:04:17 Apply root transform This commit applies scale, slant is still missing.
Matthias Clasen d7c2eacf 2022-12-15T23:42:40 Handle COLRv0 layers in paint_glyph
Matthias Clasen 55ca6ed2 2022-12-15T23:16:54 minor fixes
Matthias Clasen 1880e547 2022-12-15T01:06:00 Assorted fixes
Matthias Clasen 684df8a8 2022-12-15T00:32:48 add some todos
Matthias Clasen a6f813b6 2022-12-15T00:05:27 Implement hb_color_line_get_extend
Matthias Clasen 3937d6b0 2022-12-14T23:58:47 Implement hb_color_line_t
Matthias Clasen 627c857f 2022-12-14T22:36:54 rename pop_group_and_composite
Behdad Esfahbod fe4e9bd9 2022-12-22T20:14:19 [colr] Add public vtable for hb_color_line_t
Matthias Clasen c9350838 2022-12-14T22:32:40 assorted fixes and changes
Behdad Esfahbod 7c9e42ed 2022-12-22T19:49:06 [colr] Fix transform hell
Matthias Clasen 8377341b 2022-12-14T22:03:52 wip: implement paint_glyph
Matthias Clasen 6a48ac42 2022-12-14T06:55:01 COLR implementation
Matthias Clasen 83d0a49f 2022-12-13T21:14:25 wip: hb-paint
Matthias Clasen 5bd3c07b 2022-12-22T16:23:50 [colr] Don't access baseGlyphList unless v1 This was showing up sporadic crashes due to invalid reads.
Matthias Clasen c2219339 2022-12-21T18:39:27 [paint] Preserve foreground information
Matthias Clasen 6387004c 2022-12-21T16:43:19 [paint] Simplify api Drop the hb_paint_context_t struct from the API, and only pass the font where we need it.
Matthias Clasen 71bd5a0d 2022-12-21T16:18:46 [paint] Resolve colors We don't need to pass the index/alpha pairs to client callbacks, and can just resolve the colors internally. Update test results.
Matthias Clasen 9be01b6b 2022-12-21T14:04:32 [paint] Pass hb_paint_context_t along Replace the font argument with a hb_paint_context_t that carries the font, the palette index and the foreground color. The hb_font_paint_glyph() api now takes the palette index and the foreground color as extra arguments. Update all callers and regenerate test results.
Behdad Esfahbod 6c71c530 2022-12-21T10:54:22 [paint] Rename hb_paint_context_t to hb_ot_paint_context_t
Matthias Clasen 97224f3b 2022-12-21T02:11:36 [paint] Pass font to all callbacks This will lead to easier implementations. At the same time, we change the push_clip_glyph callback to use the font as-is, no unscaling needed. Update all callers and expected test results.
Matthias Clasen 7c12db46 2022-12-18T23:36:05 Try to fix msvc build
Matthias Clasen 021618e9 2022-12-18T00:12:32 [colr] Add hb_ot_color_has_paint This is a counterpart to hb_ot_color_has_layers for COLRv1 data.
Behdad Esfahbod b9314400 2022-12-17T10:58:52 [colr] Hook up color-line variation
Behdad Esfahbod edf27382 2022-12-17T10:47:55 [colr] Try fixing bot build I don't get the error. Let's see. ../../src/harfbuzz/src/hb-ot-color-colr-table.hh:574:66: error: incomplete definition of type 'OT::NoVariable<OT::ColorLine<OT::NoVariable>>'
Matthias Clasen 686e627b 2022-12-17T12:44:16 [paint] Set up root transform in one place Instead of spreading this in all the tables, make hb_paint_funcs_t provide a push/pop_root_transform that does all the setup.
Behdad Esfahbod c6dd56cc 2022-12-17T10:38:23 [colr] Simplify color-stop handling
Behdad Esfahbod b0abbfd8 2022-12-22T07:26:14 [font] Centralize glyph-extents scaling Needs more testing... Some rounding was removed, namely in cff1 and cff2.
Behdad Esfahbod 206957ae 2022-12-17T08:57:40 [COLR] Change recursion limit back to 128
Matthias Clasen a98c6fdd 2022-12-16T14:04:54 Mark an argument as unused
Matthias Clasen 601d3806 2022-12-16T13:34:15 COLRv1: Revamp extents variation Try to do this a cleaner way.
Behdad Esfahbod 6ae35365 2022-12-16T11:43:38 Fix build
Behdad Esfahbod e957391e 2022-12-16T11:33:04 [colr] Add NoVariable::varIdxBase
Behdad Esfahbod e06de98c 2022-12-16T11:31:00 [var-common] Make VarInstancer take an offset
Behdad Esfahbod 251f9f62 2022-12-16T11:29:51 [open-type] Add VarIdx::add()
Behdad Esfahbod bf2ae3f0 2022-12-16T11:26:24 [open-type] Add static_assert for NO_VARIATION
Matthias Clasen d4496e64 2022-12-16T12:19:39 COLRv1: Apply variations correctly The variations are for xMin, yMin, xMAx, yMax. Apply them before converting to extents..
Behdad Esfahbod 4e9a6cfb 2022-12-12T10:20:51 [COLR] Use VarStoreInstancer
Behdad Esfahbod c64661b2 2022-12-12T10:11:02 [COLR] Fix variation code
Behdad Esfahbod ff332b14 2022-12-11T21:05:14 [COLR] Handle HB_OT_LAYOUT_NO_VARIATIONS_INDEX
Behdad Esfahbod 9a3f0be2 2022-12-11T13:40:53 [COLR] Apply variations in get_extent
Behdad Esfahbod 68964efa 2022-12-11T13:21:01 [COLR] Use bsearch in get_extents
Behdad Esfahbod d0ee5a45 2022-12-11T13:13:35 [COLR] Return false from get_extents if table version not 1
Behdad Esfahbod b3d6a5ef 2022-12-11T13:04:24 [colr] Minor no behavior change
Matthias Clasen 7a748ad4 2022-12-10T19:59:03 COLRv1: use ClipBoxes for extents This is a first step; ultimatively, we should compute the extents is ClipBoxes are missing.
Behdad Esfahbod d36a0f8c 2022-12-11T13:12:19 [COLR] Add TODO
Behdad Esfahbod a3068206 2022-12-11T13:03:55 [colr] Use SortedArray instead of Array
Behdad Esfahbod b9d5e7a8 2022-12-11T12:54:19 [colr] Set HB_COLRV1_MAX_NESTING_LEVEL to 16 Was 100. That seemed excessive.
Behdad Esfahbod c17afa48 2022-12-11T12:53:55 [colr] Remove COLRV1_ENABLE_SUBSETTING
Behdad Esfahbod 8c29dcae 2022-10-13T12:04:32 s/HBFixed/F16DOT16/g
Behdad Esfahbod f7147835 2022-07-15T16:03:25 [colr] Add MIN_SIZE to Paint
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 ae9fc7f5 2022-01-20T12:37:21 Clean accelerators a bit more
Garret Rieger 87496bf6 2022-01-13T11:03:45 [subset] fix fuzzer timeout if visisted_paint goes into error.
Qunxin Liu 51655a07 2021-12-05T19:27:57 [subset] COLR : only include glyphs after COLR closure
Behdad Esfahbod 82a9f544 2021-11-10T10:15:38 [colr] Simplify sanitize
Garret Rieger 64b29dbd 2021-11-09T09:13:14 [subset] reuse colrv1 max nesting depth constant for sanitize.
Garret Rieger ace98cc6 2021-11-08T15:47:56 [subset] Only sanitize recursion depth in COLR.
Qunxin Liu 0a7563a5 2021-11-01T14:56:14 [subset] fuzzer fix: https://oss-fuzz.com/testcase?key=6254792024915968 Make sure input is valid, each gid has a corresponding offset value in the map
Behdad Esfahbod 6d555ce8 2021-11-02T00:18:22 [meta] Use std::forward instead of hb_forward()
Qunxin Liu 85deddb1 2021-10-27T14:36:02 [subset] fuzzer fix: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40406
Qunxin Liu f55d8347 2021-10-14T13:39:45 [subset] Move struct DeltaSetIndexMap into hb-ot-var-common.hh Also fix naming issues in review comments
Qunxin Liu 8c583db9 2021-10-02T20:32:30 [subset] COLRv1: update subset() method for new strutc ClipList and VarIdxMap Also fix issues in struct PaintTransform definition
Qunxin Liu e51c7f8e 2021-09-30T10:42:17 [subset] COLRv1: add ClipList/ClipRecord/ClipBox struct definition
Qunxin Liu 2e5636ee 2021-08-04T14:51:52 [subset] add DeltasetIndexMap struct definition
Qunxin Liu d2e986fe 2021-08-03T16:31:42 [subset] update COLRv1 table struct definitions
Behdad Esfahbod c852b868 2021-09-19T16:30:12 Rename HBGlyphID to HBGlyphID16
Behdad Esfahbod cc3a7cee 2021-07-28T11:53:06 Fix macro-in-macro invocation ../src/hb-ot-color-colr-table.hh:980:2: error: embedding a directive within macro arguments has undefined behavior [-Werror,-Wembedded-directive] \#if COLRV1_ENABLE_SUBSETTING == 1
Garret Rieger f3e03153 2021-07-27T14:40:15 Revert "[ci] Bin FontTools version due to recent COLRv1 changes" This reverts commit 163748b5059e7b02a8ea57e263b009020a3ed499.
Garret Rieger acbd8b27 2021-07-27T14:31:18 [subset] temporarily disable COLRv1 subsetting. Currently COLRv1 spec is being changed so the subsetting implementation is out of sync. Disable subsetting by failing sanitization for COLRv1 tables and disable all colrv1 tests.
Qunxin Liu 35d6af69 2021-06-04T10:04:27 [subset] fix fuzzer testcase: https://oss-fuzz.com/testcase-detail/5965777994907648
Qunxin Liu 1b6008ca 2021-06-02T15:07:18 fix fuzzer testcase: https://oss-fuzz.com/testcase-detail/5417934246772736
Qunxin Liu f739e1dc 2021-05-11T11:44:32 [subset] subset both CPAL and COLRv1
Qunxin Liu b23f29bf 2021-04-17T09:59:45 [subset] Add subset () method for COLRv1 Paint tables, BaseGlyphV1List and LayerV1List Also add support for Offset24 in serializer and repacker
Garret Rieger de0eba20 2021-05-12T14:05:34 Remove array for visited_paint.
Qunxin Liu e59ffe54 2021-04-01T12:01:19 [subset] COLRv1 layer/palette indices closure
Qunxin Liu 430a67ce 2021-04-01T12:01:19 [subset] COLRv1 struct definitions
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.
ckitagawa b198d944 2021-01-25T16:34:11 use {} rather than {0}