Backend requirements
List of features required from the 2D graphics library to implement a backend for resvg.
- Composition modes:
- Clear
- Darken
- DestinationIn
- DestinationOut
- Lighten
- Multiply
- Screen
- SourceAtop
- SourceIn
- SourceOut
- SourceOver
- Xor
- Filling:
- With color
- With linear or radial gradient
- With pattern (texture/image)
- Fill rules:
- NonZero/Winding
- EvenOdd/OddEven
- Opacity
- Stroking:
- With color
- With linear or radial gradient
- With pattern (texture/image)
- Dasharray + Dashoffset
- Miterlimit
- Opacity
- Width
- LineCap: butt, round and square
- LineJoin: miter, round and bevel
- Bézier paths:
- Anti-aliasing
- Required segments support:
- MoveTo
- LineTo
- CurveTo (cubic)
- ClosePath
- Text
- Anti-aliasing
- Font properties:
- Family resolving (like
'Timer New Roman', monospace) - Style: normal, italic and oblique
- Weight
- Stretch
- Variant: normal, small cap
- Size
- Letter spacing
- Word spacing
- Family resolving (like
- Font metrics:
- Text bounding box
- Ascent/baseline
- Overline position and thickness (optional)
- Strikeout position and thickness (optional)
- Underline position and thickness (optional)
- Raster images:
- Formats:
- PNG
- JPEG
- Loading from file and memory
- Smooth scaling
- Formats: