GraphiteEditor / GraphiteEditor/Graphite
SVG importer ignores `fill-rule="evenodd"`
- 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.
## 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.
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