- 01
Source text
The Studio keeps the Unicode source string intact. It never reverses Arabic text to fake RTL.
- 02
Visual runs
bidi-js separates Arabic, Latin, numbers, punctuation, and URLs into the correct visual runs.
- 03
Glyph shaping
HarfBuzz applies script, direction, language, ligatures, joining forms, marks, and positioning.
- 04
Outline lookup
opentype.js reads each shaped glyph ID from the selected TTF and produces an explicit path.
- 05
Scene composition
The scene applies alignment, position, scale, rotation, fill, stroke, shadow, and canvas settings.
- 06
Shared export
The preview, PNG, SVG, and PDF all consume those same scene paths.
Why browser text is not enough
A browser text node, a canvas fillText call, and a PDF text layer can choose different shaping engines or font fallbacks. The Studio instead shapes once and passes explicit glyph paths to every output. That makes visual differences testable and keeps SVG independent from installed fonts.