Campi rich text nativi
SetRichTextFieldValueWithAppearance scrive il testo semplice V sincronizzato, l'RV XHTML canonico, il flag campo RichText e gli appearance reali per ogni widget esistente
Ogni run fornisce testo Unicode, uno stile font, una dimensione in punti positiva, colore RGB, underline o strikeout opzionali, interruzioni di paragrafo e allineamento left, center o right; i quattro font di stile sono programmi TrueType Unicode forniti dal chiamante con gli esistenti controlli di editing ed embedding
I run usano uno stile regular nero 12pt per default; l'allineamento del paragrafo viene dal primo run e ha default left
L'appearance usa font di stile incorporati reali, mappature di glifi e frammenti di parola misurati con baseline di riga condivise; i frammenti ripetuti condividono ogni programma font di stile entro un widget
Le interruzioni esplicite CR, LF, CRLF, NEL, LINE SEPARATOR e PARAGRAPH SEPARATOR e le transizioni di paragrafo richiedono un campo multilinea; il wrapping misurato, le rotazioni dei widget e il clipping usano il rettangolo reale del widget
L'aggiornamento tipizzato può abilitare il rich text su un campo testo semplice, mentre le combinazioni password, file-select e comb vengono rifiutate prima della mutazione
Read-only, MaxLen, policy autenticate di documenti firmati, permessi di form-fill cifrati, cancellazione e budget di oggetti, font, glifi e output si applicano comunque
Tutti gli aggiornamenti rich preparano override V, RV, Ff e AP prima di modificare il documento; le stringhe e gli stream salvati conservano la policy originale AES-256 R5 o R6
Array di stili, righe di layout e frammenti dipinti hanno ciascuno un tetto di 4096 elementi in aggiunta ai limiti documentali configurati; i byte dei font di stile vengono addebitati in modo aggregato
Le chiamate ordinarie SetTextFieldValueWithAppearance su un campo rich esistente sostituiscono il contenuto con lo stile semplice fornito e sincronizzano RV; le chiamate SetTextFieldValue solo-valore sincronizzano comunque RV e trattenono NeedAppearances=true
GetRichTextFieldValue legge la stringa di testo XHTML realmente memorizzata o lo stream di testo UTF-8, inclusi i valori ereditati
Il primo run di ogni paragrafo seleziona il proprio allineamento anche quando quel run ha testo vuoto; i cambi di stile inline e le interruzioni di riga esplicite conservano quell'allineamento di paragrafo
Le parole troppo larghe nei campi multilinea con wrapping vengono spezzate ai confini di grapheme estesi Unicode 17, preservando sequenze combinatorie, scalari supplementari, sequenze emoji e il testo V/RV originale; un cluster indivisibile più largo del campo resta intatto e clippato
I bordi rettangolari e circolari vengono dipinti prima del clip del contenuto, e le righe multilinea selezionate ricevono veri sfondi blu usando ascent, descent e spaziatura misurati di ogni riga rich
JSON ABI nativo
{"schemaVersion":1,"type":"forms.fill","fields":[
{"name":"Input","fontFamily":"DejaVu Sans Mono","richTextRuns":[
{"text":"Regular Unicode text "},
{"text":"Bold red text","fontStyle":"bold","fontSize":20,"color":[1,0,0]},
{"text":"Next paragraph","fontStyle":"italic","paragraphBreakBefore":true,
"alignment":"center","underline":true}
]}
]}
richTextRuns è un array di oggetti con text richiesto e fontStyle, fontSize, color, underline, strikeOut, paragraphBreakBefore e alignment opzionali; fontStyle accetta regular, bold, italic o boldItalic
Gli array fontFamilies opzionali selezionano programmi nominati reali per run tramite fontFamily, con un array a livello di modifica che sovrascrive quello a livello di operazione e le etichette run omesse che selezionano la prima famiglia
Il fontSize di run omesso usa il fontSize dell'operazione del campo quando positivo, altrimenti 12; un value opzionale deve corrispondere esattamente al testo semplice derivato dai run, usando un carriage return tra paragrafi espliciti
I run stilizzati richiedono appearance=true; forms.read restituisce l'XHTML realmente memorizzato in richText per un campo rich
L'ABI conserva il proprio layout operazione esistente e prepara output binario e risultato completi prima di commettere il nuovo contesto caricato; scritture fallite o cancellazione preservano il campo precedente
Accettazione e lavoro rimanente
Tests/Linux/Run-HeadlessRichTextAcceptance.sh e Tests/Linux/HotPDFHeadlessRichTextTests.pas esercitano PDF salvati reali; Verify-HeadlessRichText.py verifica in modo indipendente XHTML, valori, quattro programmi font reali, mappe di glifi, percorsi di decorazione e pixel visivi dei widget
Questa API accetta run tipizzati e consuma le opportunità default Unicode 17 su paragrafi completi, preservando gruppi di parole, spazi non breaking, punteggiatura e numeri attraverso i cambi di stile; i gruppi che stanno in una riga fresca si spostano insieme usando i propri advance font stilizzati reali
Il wrapping dei gruppi di stile trattiene anche baseline condivise per dimensioni in punti miste e coalesce CRLF attraverso le cuciture di stile sia nel layout reale sia nell'XHTML canonico
L'adattamento grapheme attraverso gli stili assegna cluster logici completi troppo larghi a una riga fisica, trattenendo frammenti reali di font, colore e dimensione e l'esistente comportamento di clipping per un cluster indivisibile più largo del rettangolo
Il joining contestuale usa il testo Unicode circostante e ogni riga fisica reale conserva la direzione del paragrafo mentre ordina item bidi e script misti attraverso stili tipizzati
I mark attraverso gli stili usano attach GPOS genuini per glifi base, legatura e mark precedenti reali, preservando ogni font di stile, dimensione in punti e colore e gli sbordi visivi dei glifi
L'interchange rich FDF e XFDF decodifica il profilo di stile XHTML limitato supportato in font incorporati reali e appearance salvati
Embedding direzionali espliciti, override, isolati e contesto di bracket appaiati sopravvivono al wrapping automatico attraverso stili tipizzati; un unico ordine di paragrafo logico condiviso fornisce riordino indipendente delle righe fisiche e shaping contestuale nativo dei glifi
I cluster contenenti solo controlli direzionali Unicode preservano il valore logico originale e il testo di selezione senza consumare spaziatura caratteri; i cluster visibili e gli spazi ordinari conservano i propri advance configurati
L'ordine delle righe derivato dai paragrafi e il riordino cached delle righe preservano i confini completi degli scalari UTF-16 e azzerano il whitespace finale delle righe fisiche senza mutare il record paragrafo condiviso
Le famiglie di font nominate forniscono selezione esplicita di run tipizzati e XHTML limitato con font di famiglia reali, advance indipendenti e import form consapevole delle famiglie
XHTML e CSS arbitrari, fallback per glifo, fogli di stile e layout generale restano lavoro attivo
Comportamento dei campi rich text nativi · API documentale
Comportamento dei campi rich text nativi · API dei documenti