Ordnade kandidatlistor för rich-text-typsnitt
Rich text kan behålla en explicit ordnad familjelista och använda den ordningen när äkta angivna typsnittsprogram väljs för ett komplett Unicode-grafem
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;
Tillhandahåll de faktiska familje- och stilprogrammen via de befintliga API:erna för namngivna familjer; etiketter i FontFamilyCandidates söker inte upp eller hämtar inte typsnitt
Val och bevarande
Den första berörda skapade run:en tillhandahåller listan för ett helt grafem, inklusive stilfogar och kombinerande tecken; varje konfigurerad kandidat måste täcka varje stylad del med sitt faktiska reguljära, fet, kursiva eller fet-kursiva program
Okända etiketter och kandidater med saknade stilprogram hoppas över; om ingen deklarerad kandidat täcker grafemet gäller de befintliga fallback-reglerna för vald familj och angiven array
FontFamily måste matcha den första konfigurerade etiketten i en icke-tom kandidatlista när en sådan finns; att utelämna ett typat JSON-FontFamily väljer automatiskt den matchningen
Fallback påverkar bara förberedelsen av utseendet: det skapade enkla värdet, exakt typad storlek och färg samt ursprunglig kandidatordning bevaras i V och RV; resolvaren skriver aldrig om anroparens runs
Inline-XHTML och utbyte
Sätt THPDFHeadlessRichTextDecodeOptions.PreserveFontFamilyLists till True med konfigurerade FontFamilyNames för att behålla kommaavgränsade inline-deklarationer av font-family som stöds, inklusive arv och per-egenskap important-prioritet
Familjemedvetna FDF- och XFDF-importer aktiverar denna bevaring när deras utseendealternativ aktiverar FallbackFontFamilies; strikt standardavkodning behåller det befintliga valet av första konfigurerade familj
Listor innehåller högst sexton etiketter, var och en avgränsad till 128 UTF-16-kodenheter med giltig Unicode, utan kontrolltecken, omgivande whitespace, citattecken, omvänt snedstreck, kommatecken eller semikolon; dubblerade och okända deklarerade etiketter behåller sin skapade ordning
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 deklarerade ordningen Serif-före-Sans styr fallbacken även när operationen konfigurerar Sans före Serif; den befintliga Fontconfig-providern tillhandahåller faktiska namngivna program inom samma sammanlagda gränser för typsnitt och minne
Typade kandidatarray:er för runs kräver konfigurerade fontFamilies och aktiverad fallbackFontFamilies; felutformade array:er eller etiketter, saknad täckning av hela grafemet, förbrukade budgetar och avbrott misslyckas transaktionsmässigt före kontextens incheckning
Kapabiliteten formData.richFontFamilyCandidates och maxFontFamilyCandidates=16 annonserar detta avgränsade alternativ via de oförändrade V1-callbackarna och de exporterade symbolversionerna
Lyckade kedjade formulärfyllningar och ekvivalenta FDF/XFDF-importer behåller sitt incheckade dokument och sin källsnapshot; fel i utmatnings- eller resultcallbacks bevarar den föregående incheckade revisionen
Omfattning
Denna profil täcker angivna kandidatetiketter och inline-deklarationer som stöds; externa stilmallar, godtycklig CSS-layout, upptäckt av generiska familjer samt fallback-laddning via Windows-callback återstår som separat arbete
Fallback-beteende · Post för typade runs · Avkodningsalternativ · Native Linux-bindning