GraphiteEditor / GraphiteEditor/Graphite

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

Ouverte
#4,332 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Rust
Étoiles
27.2k
Forks
1.3k
Merge moyen
20 h 5 min
PR mergées (30 j)
57

Description

## 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

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
rust
Domaine
computer-graphics
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
55/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.