Guide · Text
Text stays text until the delivery boundary.
The document keeps a semantic text tree with its fonts. Path projection happens when you export or copy.
Click for point text, drag for a line width.
With the text tool active, a click creates point text and a drag sets the width at which lines wrap. Choosing between them at creation time is easier than converting one into the other later.
Plain text can be pasted from the clipboard only while the text tool is active. That restriction keeps a stray paste from injecting text into a document you were editing geometrically.
A future comparison will show a click-created text next to a dragged one at the same content.
Edit the semantic text tree.
Text is not a single string. The structure view exposes the text element and its children, covering tspan, tref, textPath, and the anchor element, and lets you add text, add an element, or remove the selected content.
An imported tref keeps a snapshot of its target text and becomes ordinary tspan content the first time you edit it, so the document never depends on a reference you cannot see.
- text, tspan, tref, textPath, and a
- Add text, add element, remove selected content
- tref resolves to editable content on first edit
Typography, attributes, and CSS declarations.
Typography controls sit alongside fill and stroke for the text itself. Below them, SVG attributes and CSS declarations are edited as explicit property name and value pairs.
Editing declarations directly is what makes uncommon typographic requirements reachable without leaving the editor, and it keeps the document honest about what will actually be written.
Attach text to a guide path.
Any drawing path in the document can become the guide for a text element. Once attached, the text follows the curve and continues to be editable as text.
The guide path remains part of the document, so adjusting the curve adjusts the text placement. Local references stay related to that path rather than to a copy of its data.
A future clip will show a text attached to a curve and updated when the curve changes.
Fonts travel inside the document.
TTF, OTF, WOFF, and WOFF2 files can be supplied, and their original bytes are embedded in the document. A bundled Noto Sans variable font is available as the default so text is usable before you supply anything.
Shaping uses the real font: bidirectional flow, writing direction, OpenType features, variable axes, glyph substitution, and positioning are resolved with HarfBuzz, and line breaking follows Unicode rules. A missing font or glyph is reported instead of being replaced by a silent substitute.
- TTF, OTF, WOFF, and WOFF2 embedded as original bytes
- Bundled Noto Sans variable default
- Missing fonts and glyphs are reported, never substituted silently
Export projects text to paths.
SVG export and SVG clipboard copies contain no text, tspan, tref, or textPath elements. The projection is produced on an immutable working copy, so the editable document you keep working in is never modified by exporting.
The converted group keeps its original identity, transform, and layer state, and carries the accessible text as an aria-label. If a single text cannot be converted without loss, the export fails as a whole instead of producing a partly correct file.
- No text elements in exported SVG or SVG clipboard copies
- Accessible text preserved as aria-label
- A lossless failure aborts the export rather than degrading it
Geometry commands ask before converting.
Geometry commands do not operate on semantic text. When a selection contains text, the editor asks for confirmation first, and the accepted conversion and the command are applied as one undoable history step.
Grouping, ordering, visibility, locking, and other structural work never convert text. Note also that a text-case transformation other than none stops exact path projection with an explicit error, because this project does not change letter case.