GraphiteEditor / GraphiteEditor/Graphite

SVG importer ignores `fill-rule="evenodd"`

Offen
#4,332 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Rust
Sterne
27.2k
Forks
1.3k
Ø Merge
20 Std. 5 Min.
Gemergte PRs (30 T.)
57

Beschreibung

## Description

The SVG importer does not respect `fill-rule="evenodd"`. A compound path whose inner subpath should create a transparent hole is imported as a solid shape. follow up of #4329

## Steps to reproduce

1. Open `fill-rule-evenodd.svg` in a browser or another SVG viewer. It appears as a purple square with a transparent square hole.
2. Import the same file into Graphite.
3. Compare the imported result with the browser rendering.

## Expected behavior

The imported shape is a purple square with a transparent square hole, matching the SVG rendering in a browser.
Image

## Actual behavior

The inner square is filled, so the imported result is a solid purple square. The importer behaves as if the path used the default nonzero fill rule.

Image

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Start by locating the SVG importer and reproduce the issue with `fill-rule-evenodd.svg`, comparing Graphite's result with a browser or another SVG viewer. Trace how the importer handles `fill-rule="evenodd"`; done means the inner square becomes a transparent hole and the imported shape matches the SVG rendering.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
rust
Bereich
computer-graphics
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
55/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.