9. Text

Esta página está em inglês; a tradução está a caminho.

ID Requirement P Type Ver. M
TXT-1 Text nodes shall have three sizing modes. Auto width, auto height and fixed size, with truncation (ellipsis after n lines) for fixed size. Must functional test 0.2
TXT-2 Text shall support mixed styles. Any range can have its own font, size, weight, italic, colour (fills), decoration, letter spacing, line height, text case, link, and text style. Must functional test 0.2
TXT-3 Paragraph properties shall be supported. Horizontal alignment (left, centre, right, justified), vertical alignment (top, middle, bottom), paragraph spacing, paragraph indent, bulleted and numbered lists with nesting. Should: hanging punctuation and leading trim (cap height to baseline). Must functional test 0.2
TXT-4 Typography details shall be available. Line height in px, % or auto; letter spacing in px or %; OpenType features (ligatures, tabular numbers, fractions, small caps, stylistic sets, case-sensitive forms); variable font axes. Should functional test 0.3
TXT-5 Text shall be shaped and laid out by one engine everywhere. The same engine (ARC-001 §6) on host, CLI and webview: line breaks and glyph positions are identical across host, CLI and webview on one machine, and across machines when the fonts resolve to bundled, workspace or embedded faces (text that falls back to operating-system fonts may differ between machines). Shaping is HarfBuzz (WASM); line and grapheme segmentation are ICU4X (WASM, pinned data; UAX #14 and UAX #29, with dictionary breaking for Thai and similar scripts); complex scripts (Arabic, Hebrew, Devanagari, Thai, CJK), bidirectional text and emoji are shaped correctly when a face that covers them resolves. Must constraint test 0.2
TXT-6 Fonts shall come from known sources. Bundled open fonts (Inter, Roboto, Noto Sans, JetBrains Mono, Source Serif; Latin, Greek and Cyrillic coverage — script and colour-emoji fonts are not bundled in the VSIX and come from the workspace or the operating system), a workspace fonts folder (ud.fonts.folders), the operating system’s installed fonts, and fonts embedded in <name>.design.assets/. A font is embedded only when its OS/2 fsType permits embedding; otherwise the editor warns and keeps a reference by name. A missing font is listed, rendered with a fallback, and can be replaced document-wide. Tests use a pinned font set in test/fixtures/fonts/. Must functional test 0.2
TXT-7 Text shall be edited in place on the canvas. Caret, selection, IME composition, clipboard with rich text, keyboard shortcuts for bold, italic, underline, size and line height. Should: spell check (VS Code locale). Must functional test 0.2
TXT-8 Text on a path could be supported. Could functional demonstration backlog