Skip to content

Preserve COLR v1 composite groups - #553

Merged
JimBobSquarePants merged 2 commits into
mainfrom
js/colrv1-composite-groups
Aug 8, 2026
Merged

Preserve COLR v1 composite groups#553
JimBobSquarePants merged 2 commits into
mainfrom
js/colrv1-composite-groups

Conversation

@JimBobSquarePants

Copy link
Copy Markdown
Member

Prerequisites

  • I have written a descriptive pull-request title
  • I have verified that there are no overlapping pull-requests open
  • I have verified that I am following matches the existing coding patterns and practice as demonstrated in the repository. These follow strict Stylecop rules 👮.
  • I have provided test coverage for my change (where applicable)

Description

Add explicit BeginGroup/EndGroup renderer events and carry COLR v1 composite boundaries through painted glyph flattening so nested blends render in the correct isolation order. This also replaces transformed per-layer ClipQuad data with glyph-level ClipBounds in design space, allowing unbounded paints to use glyph or clip bounds consistently during streaming.

Add explicit BeginGroup/EndGroup renderer events and carry COLR v1 composite boundaries through painted glyph flattening so nested blends render in the correct isolation order. This also replaces transformed per-layer ClipQuad data with glyph-level ClipBounds in design space, allowing unbounded paints to use glyph or clip bounds consistently during streaming.
Cleans up `GlyphRendererParameters` by deleting an unused `System.Globalization` using directive.
@codecov

codecov Bot commented Aug 8, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 82.53968% with 33 lines in your changes missing coverage. Please review.
✅ Project coverage is 81%. Comparing base (e0f3834) to head (ce558d8).

Files with missing lines Patch % Lines
...c/SixLabors.Fonts/Tables/General/Colr/ColrTable.cs 78% 8 Missing ⚠️
...c/SixLabors.Fonts/Rendering/PaintedGlyphMetrics.cs 89% 5 Missing and 1 partial ⚠️
...xLabors.Fonts/Tables/General/Svg/SvgGlyphSource.cs 20% 4 Missing ⚠️
...bors.Fonts/Tables/Cff/TransformingGlyphRenderer.cs 0% 3 Missing ⚠️
src/SixLabors.Fonts/ClipBounds.cs 60% 2 Missing ⚠️
...bors.Fonts/Rendering/GlyphIntersectionCollector.cs 0% 2 Missing ⚠️
src/SixLabors.Fonts/Rendering/TeeGlyphRenderer.cs 33% 2 Missing ⚠️
src/SixLabors.Fonts/Tables/Cff/CffBoundsFinder.cs 0% 2 Missing ⚠️
...rc/SixLabors.Fonts/Tables/Cff/CffOutlineBuilder.cs 0% 2 Missing ⚠️
...xLabors.Fonts/Rendering/GlyphRendererParameters.cs 50% 1 Missing ⚠️
... and 1 more
Additional details and impacted files
@@          Coverage Diff           @@
##            main    #553    +/-   ##
======================================
  Coverage     81%     81%            
======================================
  Files        402     403     +1     
  Lines      35405   35515   +110     
  Branches    5508    5516     +8     
======================================
+ Hits       28708   28846   +138     
+ Misses      5510    5480    -30     
- Partials    1187    1189     +2     
Flag Coverage Δ
unittests 81% <82%> (+<1%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@JimBobSquarePants
JimBobSquarePants merged commit 316db92 into main Aug 8, 2026
13 checks passed
@JimBobSquarePants
JimBobSquarePants deleted the js/colrv1-composite-groups branch August 8, 2026 10:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant