SVG2 Text Bugs
Jump to navigation
Jump to search
This page is to keep track of issues with Inkscape's SVG 2 Text implemention.
Introduction
Alexandru Roman implemented support for SVG 2 Text as his GSoC project in 2017. His code can be found on GitLab. The main advantage of updating to SVG 2 Text is the ability to provide a natural SVG 1.1 fallback. SVG 2 Text has a few additional benefits like the ability to add a margin to a shape and the ability to exclude fill regions based on other shapes.
Testing
Rendering Tests
SVG 2 Files
SVG 2 files should be rendered correctly.
Shape Inside
- text-shape-inside-001.svg PASS
- text-shape-inside-002.svg PASS
- text-shape-complex-001.svg PASS
- text-shape-complex-002.svg PASS
Inline Size
- text-inline-001.svg FAIL (Does not handle 'text-anchor', uses 'text-align' instead.)
- text-inline-002.svg FAIL (Does not handle 'text-anchor', uses 'text-align' instead.)
- text-inline-003.svg FAIL (Does not handle 'text-anchor', uses 'text-align' instead.)
- text-inline-005.svg Pass
- text-inline-006.svg Pass
- text-inline-007.svg Pass
- text-inline-011.svg FAIL (Does not handle '%' values for 'x' and 'y'.)
- text-inline-101.svg FAIL (Does not use 'x' and 'y' from <tspan>.)
Various Multiline
Old Inkscape Files
Old Inkscape files should be properly converted to the new format (after any edit).
SVG 1.1 Fallback
Inkscape SVG 2 files should render correctly in browsers using SVG 1.1 fallback.
To test:
- Open SVG 2 rendering test file.
- Nudge to force fallback to be created then nudge back to original position.
- Save with new file name.
- Open with web browser.
Bugs:
- Fallback uses 'text-align', should use 'text-anchor'.
- 'dx' values incorrect (for 'text-align:justify').
Output files:
Editing Tests
To do...
Known Bugs
GUI Improvements
Improvements to Inkscape's GUI.
Filling Shapes
- If a shape is selected in Text Tool mode, it should automatically be used for text in a shape.
- If multiple shapes are selected, they should be filled in order (of selection?, of z-order?).
- Dragging the mouse cursor creates a box to be filled. As this is implemented using the 'inline-size' property, it would be better to create two parallel lines to show the region that will be filled.