Geordende rich-text font candidate-lijsten
Rich text kan een expliciete geordende family-lijst vasthouden en die volgorde gebruiken bij het kiezen van echte supplied fontprogramma's voor een compleet Unicode-grapheme
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;
Lever de echte family- en stijlprogramma's aan via de bestaande named-family-API's; labels in FontFamilyCandidates ontdekken of downloaden geen fonts
Selectie en preservatie
De eerste getroffen authored run levert de lijst voor een heel grapheme, inclusief stijlnaden en combining marks; elke geconfigureerde candidate moet elk gestijld deel dekken met diens echte regular-, bold-, italic- of bold-italic-programma
Onbekende labels en candidates met ontbrekende stijlprogramma's worden overgeslagen; wanneer geen gedeclareerde candidate het grapheme dekt, gelden de bestaande selected-family- en supplied-array-fallback-regels
FontFamily moet matchen met het eerste geconfigureerde label in een niet-lege candidate-lijst wanneer die bestaat; een getypeerde JSON FontFamily weglaten kiest die match automatisch
Fallback wijzigt alleen appearance-voorbereiding: de authored platte waarde, exacte getypte grootte en kleur en originele candidate-ordering blijven in V en RV; de resolver herschrijft nooit de runs van de aanroeper
Inline XHTML en interchange
Zet THPDFHeadlessRichTextDecodeOptions.PreserveFontFamilyLists op True met geconfigureerde FontFamilyNames om ondersteunde kommagescheiden inline font-family-declaraties te behouden, inclusief inheritance en per-property important-prioriteit
Family-aware FDF- en XFDF-imports zetten deze preservatie aan wanneer diens appearance-options FallbackFontFamilies aanzetten; strikte default-decodering houdt de bestaande eerste-geconfigureerde-family-selectie
Lijsten bevatten hoogstens zestien labels, elk begrensd op 128 UTF-16-code-units met geldige Unicode, geen controls, geen omringende whitespace, aanhalingstekens, backslashes, komma's of puntkomma's; dubbele en onbekende gedeclareerde labels behouden diens authored volgorde
Native Linux JSON
{"schemaVersion":1,"type":"forms.fill",
"fontFamilies":["Primary","Sans","Serif"],"fallbackFontFamilies":true,
"fields":[{"name":"Input","richTextRuns":[
{"text":"A\u03a9B","fontFamily":"Primary",
"fontFamilyCandidates":["Primary","Serif","Sans"]}
]}]}
De gedeclareerde Serif-vóór-Sans-volgorde stuurt fallback zelfs wanneer de operatie Sans vóór Serif configureert; de bestaande Fontconfig-provider levert echte benoemde programma's onder dezelfde geaggregeerde font- en geheugenlimieten
Getypeerde run candidate-arrays vragen geconfigureerde fontFamilies en aangezette fallbackFontFamilies; misvormde arrays of labels, ontbrekende whole-grapheme-dekking, uitgeputte budgetten en annulering falen transactioneel vóór context-commit
De formData.richFontFamilyCandidates-capability en maxFontFamilyCandidates=16 adverteren deze begrensde optie via de ongewijzigde V1-callbacks en geëxporteerde symboolversies
Geslaagde geketende formulier-fills en equivalente FDF/XFDF-imports behouden diens gecommitte document en bron-snapshot; output- of result-callback-falen behouden de voorafgaande gecommitte revisie
Bereik
Dit profiel dekt supplied candidate-labels en ondersteunde inline declaraties; Windows-jobs en versioned callbacks behouden ook geordende supplied-family-fallback; externe style sheets, willekeurige CSS-layout, generic-family-discovery en de oudere loaded-job handle/font-callback-extensie blijven apart werk
Fallback behavior · Typed run record · Decode options · Native Linux binding