Liste ordinate di font candidate per rich text
Il rich text può conservare una lista ordinata esplicita di family e usare quell'ordine quando seleziona i veri programmi font forniti per un grapheme Unicode completo
Run:= THPDFHeadlessRichTextRun.Default;
Run.Text:= 'A' + WideChar($03A9) + 'B';
Run.FontFamily:= 'Primary';
SetLength(Run.FontFamilyCandidates, 3);
Run.FontFamilyCandidates[0]:= 'Primary';
Run.FontFamilyCandidates[1]:= 'Serif';
Run.FontFamilyCandidates[2]:= 'Sans';
Options:= THPDFHeadlessTextAppearanceOptions.Default;
Options.FallbackFontFamilies:= True;
Fornisci i programmi effettivi di family e stile tramite le esistenti API named-family; le etichette in FontFamilyCandidates non scoprono né scaricano font
Selezione e conservazione
Il primo run autoriale interessato fornisce la lista per un grapheme intero, incluse cuciture di stile e combining marks; ogni candidate configurato deve coprire ogni parte stilizzata con il suo vero programma regular, bold, italic o bold-italic
Le etichette sconosciute e i candidate privi di programmi di stile vengono saltati; se nessun candidate dichiarato copre il grapheme, valgono le regole di fallback esistenti per family selezionata e array fornito
FontFamily deve corrispondere alla prima etichetta configurata in una lista candidate non vuota, quando esiste; omettere un FontFamily tipizzato nel JSON seleziona automaticamente quella corrispondenza
Il fallback cambia solo la preparazione dell'appearance: il valore semplice autoriale, dimensione e colore tipizzati precisi e l'ordine originale dei candidate restano in V e RV; il resolver non riscrive mai i run del chiamante
XHTML inline e interscambio
Imposta THPDFHeadlessRichTextDecodeOptions.PreserveFontFamilyLists a True con FontFamilyNames configurate per conservare le dichiarazioni inline font-family separate da virgola supportate, inclusi ereditarietà e priorità important per singola proprietà
Gli import FDF e XFDF family-aware attivano questa conservazione quando le loro appearance options abilitano FallbackFontFamilies; la decodifica predefinita rigorosa mantiene la consueta selezione della prima family configurata
Le liste contengono al massimo sedici etichette, ognuna limitata a 128 UTF-16 code units con Unicode valido, senza caratteri di controllo, spazi periferici, virgolette, backslash, virgole o punti e virgola; le etichette dichiarate duplicate o sconosciute conservano l'ordine autoriale
JSON nativo di Linux
{"schemaVersion":1,"type":"forms.fill",
"fontFamilies":["Primary","Sans","Serif"],"fallbackFontFamilies":true,
"fields":[{"name":"Input","richTextRuns":[
{"text":"A\u03a9B","fontFamily":"Primary",
"fontFamilyCandidates":["Primary","Serif","Sans"]}
]}]}
L'ordine dichiarato Serif-prima-di-Sans governa il fallback anche quando l'operazione configura Sans prima di Serif; il provider Fontconfig esistente fornisce i veri programmi nominali sotto gli stessi limiti aggregati di font e memoria
Gli array candidate dei run tipizzati richiedono fontFamilies configurate e fallbackFontFamilies abilitato; array o etichette malformati, copertura mancante del grapheme intero, budget esauriti e cancellazione falliscono transazionalmente prima del commit del context
La capability formData.richFontFamilyCandidates e maxFontFamilyCandidates=16 dichiarano questa opzione limitata tramite le callback V1 invariate e le versioni dei simboli esportati
I form fill concatenati riusciti e gli import FDF/XFDF equivalenti conservano documento committato e snapshot sorgente; i fallimenti della callback di output o risultato preservano la revisione committata precedente
Perimetro
Questo profilo copre le etichette candidate fornite e le dichiarazioni inline supportate; fogli di stile esterni, layout CSS arbitrario, scoperta di generic family e caricamento fallback via callback su Windows restano lavoro separato
Comportamento di fallback · Record run tipizzato · Opzioni di decodifica · Binding nativo Linux