Spaziatura delle run di rich text nativa
Le appearance rich applicano letter e word spacing scritti dall'autore durante shaping, fitting delle linee, reshaping delle linee fisiche, allineamento e painting, usando i font forniti e il layout rich text limitato esistente
<p style="letter-spacing:.12em;word-spacing:-1.25pt">A spaced paragraph</p>
Il profilo CSS inline limitato accetta normal, inherit, initial, unset, lunghezze pt, px a 96 dpi, pc, in, cm, mm ed em con segno, più zero senza unità; em viene calcolato dalla dimensione finale del font in cascata dell'elemento che lo dichiara e i figli ereditano quella lunghezza in punti calcolata
Letter e word spacing hanno ordine di dichiarazione e priorità important indipendenti, e lo shorthand dei font preserva entrambe le componenti; le dichiarazioni non supportate o non valide seguono il comportamento di ignore esistente del decoder
Un normal esplicito azzera la corrispondente spaziatura globale dell'appearance; le modalità native omesse conservano il comportamento esistente di CharacterSpacing e WordSpacing globali, incluso l'avanzo del carattere finale
Quando una letter spacing esplicita attiva un paragrafo, le unità tipografiche visibili ricevono metà dei valori di stile adiacenti a ogni confine interno dopo il riordino visivo, e i bordi delle linee fisiche omettono le metà esterne; segni diacritici e controlli di formato invisibili non consumano spaziatura separata
SPACE e NBSP ricevono metà del loro word spacing su ciascun lato del proprio cluster shaped, incluso un separatore seguito da un combining mark; gli altri separatori di parola Unicode restano fuori da questo profilo limitato
I separatori soft ASCII possono attraversare confini di stile o run vuoti, mentre NBSP resta un cluster non divisibile e le interruzioni di paragrafo esplicite conservano la loro separata gestione CRLF; vedere l'argomento delle appearance predefinite FreeText
Un tracking esplicito diverso da zero disattiva le sostituzioni opzionali liga, clig, dlig e hlig conservando le legature richieste e il kerning; le unità corsive adiacenti di arabo, Rohingya, Mandaic, mongolo, N'Ko, Phags-pa e siriaco sopprimono il tracking dove questa implementazione non può allungare la connessione in sicurezza
La spaziatura negativa partecipa agli ink bound reali dei glifi e al fitting dei prefissi senza presupporre che ogni prefisso più lungo sia più largo; l'auto-fit scala la spaziatura in punti assoluti insieme alla dimensione del font mentre i fattori em autoriali restano relativi
Le typed run preservano i propri valori Double originali, V conserva il testo plain autoriale e RV scrive la spaziatura in punti calcolata con precisione round-trip; gli aggiornamenti read-only nativi confrontano la semantica del rich value e dell'appearance risultanti
La conversione decimale della spaziatura usa round-to-nearest, ties-to-even per i valori Double finiti; i valori RV canonici normalizzano lo zero negativo a zero e restano invariati dopo una seconda decodifica e serializzazione
Entro questo profilo limitato, normal esplicito e zero esplicito calcolano la stessa spaziatura in punti e lo stesso RV canonico, rendendo no-op semantiche le effettive aggiornate read-only equivalenti; le operazioni JSON versionate conservano i byte sorgente originali, e la modalità legacy omessa resta distinta perché eredita le opzioni globali dell'appearance
La transazione nativa esistente SaveRichTextFieldUpdatesToFile può aggiungere una revisione anche quando il suo conteggio semantico di aggiornamenti è zero; le operazioni JSON versionate conservano il loro contratto no-op separato a byte esatti
Dalla versione 2.943.1, il SaveRichTextFieldUpdatesToFile nativo pubblica anche i byte originali esatti quando tutti gli aggiornamenti sono invariati e il grafo caricato non ha modifiche in sospeso, inclusi gli esistenti stati di sessione cifrati AES
Ricompilare i consumer Pascal e C++Builder con i record rich-run e shaped-glyph corrispondenti e gli header generati; le strutture dei callback C versionate e i simboli esportati restano invariati
Questo profilo segue il modello di spaziatura di CSS 2.2 e le regole su bordi di linea, unità tipografiche e shaping di CSS Text letter spacing e CSS Text word spacing, con la copertura limitata di separatori e corsivo dichiarata sopra
Modalità di spaziatura · JSON tipizzato · Span di shaping con stile
La matematica numerica finita supporta espressioni di lunghezza calc, min, max e clamp, q, rem e unità viewport configurate esplicitamente; le lunghezze calcolate con segno alimentano lo stesso shaping, fitting delle righe, painting e comportamento dei valori rich canonici