Ordnede Rich Text font-kandidatlister
Rich text kan beholde en eksplicit ordnet familieliste og bruge den rækkefølge ved valg af rigtige leverede fontprogrammer til et komplet 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 den faktiske familie- og style-programmer gennem de eksisterende navngivet-familie-API'er; labels i FontFamilyCandidates opdager eller downloader ikke fonts
Valg og bevaring
Det første berørte authored run leverer listen til et helt grapheme, inklusive style-sømme og combining marks; hver konfigureret kandidat skal dække hvert stylet stykke med sit faktiske regular-, bold-, italic- eller bold italic-program
Ukendte labels og kandidater med manglende style-programmer springes over; hvis ingen deklareret kandidat dækker graphemet, gælder de eksisterende valgt-familie- og leveret-array-fallback-regler
FontFamily skal matche den første konfigurerede label i en ikke-tom kandidatliste, når en findes; at udelade en typet JSON FontFamily vælger det match automatisk
Fallback ændrer kun appearance-forberedelse: den authored plain-værdi, præcis typet størrelse og farve samt original kandidatrækkefølge forbliver i V og RV; resolveren omskriver aldrig kalderens runs
Inline XHTML og udveksling
Sæt THPDFHeadlessRichTextDecodeOptions.PreserveFontFamilyLists til True med konfigurerede FontFamilyNames for at beholde understøttede kommaseparerede inline font-family-erklæringer, inklusive nedarvning og per-property important-prioritet
Familie-bevidste FDF- og XFDF-importer aktiverer denne bevaring, når deres appearance-options aktiverer FallbackFontFamilies; streng default-dekodning beholder det eksisterende første-konfigureret-familie-valg
Lister indeholder højst seksten labels, hver afgrænset til 128 UTF-16 code units med gyldig Unicode, ingen kontroltegn, omgivende whitespace, anførselstegn, backslashes, kommaer eller semikolonner; duplikerede og ukendte deklarerede labels beholder deres authored rækkefølge
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"]}
]}]}
Den deklarerede Serif-før-Sans-rækkefølge styrer fallback, selv når operationen konfigurerer Sans før Serif; den eksisterende Fontconfig-provider leverer rigtige navngivne programmer under de samme samlede font- og hukommelsesgrænser
Typede run kandidat-arrays kræver konfigurerede fontFamilies og aktiveret fallbackFontFamilies; misdannede arrays eller labels, manglende hele-grapheme-dækning, opbrugte budgetter og cancellation fejler transaktionelt inden kontekst-commit
formData.richFontFamilyCandidates-capabilityen og maxFontFamilyCandidates=16 annoncerer denne afgrænsede option gennem de uændrede V1-callbacks og eksporterede symbolversioner
Succesfulde kædede formularfills og ækvivalente FDF/XFDF-importer beholder deres committede dokument- og kildesnapshot; output- eller resultat callback-fejl bevarer den foregående committede revision
Omfang
Denne profil dækker leverede kandidatlabels og understøttede inline-erklæringer; Windows jobs og versionerede callbacks bevarer også ordnet leveret-familie-fallback; eksterne style sheets, vilkårligt CSS-layout, generisk familie-opdagelse og den ældre loaded-job handle/font callback-udvidelse forbliver separat arbejde
Fallback-adfærd · Typet run-record · Decode-options · Native Linux-binding