Ordered Rich Text Font Candidate Lists

Rich text si může uchovat explicitní uspořádaný seznam rodin a použít to pořadí při výběru skutečných dodaných font programů pro kompletní Unicode grafém

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;

Skutečné rodinné i style programy dodávejte přes stávající API pojmenovaných rodin; popisky ve FontFamilyCandidates písma neodhalují ani nestahují

Výběr a zachování

První dotčený autorský run dodá seznam pro celý grafém, tedy i švy stylů i kombinující značky; každý nakonfigurovaný kandidát musí pokrýt každou stylovanou část svým skutečným programem regular, bold, italic či bold-italic

Neznámé popisky a kandidáti s chybějícími style programy se přeskočí; když žádný deklarovaný kandidát grafém nepokryje, platí stávající pravidla fallbacku vybrané rodiny i dodaného pole

FontFamily se musí shodovat s prvním nakonfigurovaným popiskem v neprázdném kandidátním seznamu, když existuje; vynechaný typovaný JSON FontFamily tu shodu vybere automaticky

Fallback mění jen přípravu appearance: autorská prostá hodnota, přesná typovaná velikost a barva i původní pořadí kandidátů zůstávají ve V a RV; resolver runy volajícího nikdy nepřepisuje

Inline XHTML a interchange

Nastavte THPDFHeadlessRichTextDecodeOptions.PreserveFontFamilyLists na True s nakonfigurovanými FontFamilyNames, chcete-li zachovat podporované čárkou oddělené inline deklarace font-family, tedy i dědění i per-property important prioritu

Importy FDF a XFDF vnímající rodiny zapnou tohle zachování, když jejich appearance volby zapnou FallbackFontFamilies; přísné výchozí dekódování si ponechává stávající výběr první nakonfigurované rodiny

Seznamy obsahují nejvýše šestnáct popisků, každý ohraničený na 128 UTF-16 code unit s platným Unicode, bez řídicích znaků, okolních bílých znaků, uvozovek, zpětných lomítek, čárek či středníků; duplicitní i neznámé deklarované popisky si uchovávají autorské pořadí

Nativní 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"]}
 ]}]}

Deklarované pořadí Serif před Sans řídí fallback, i když operace nakonfiguruje Sans před Serif; stávající Fontconfig provider dodá skutečné pojmenované programy pod stejnými agregátními limity písem a paměti

Kandidátní pole typovaných runů vyžadují nakonfigurované fontFamilies i zapnuté fallbackFontFamilies; poškozená pole či popisky, chybějící celografémové pokrytí, vyčerpané rozpočty i zrušení selžou transakčně, dřív než commit kontextu

Capability formData.richFontFamilyCandidates i maxFontFamilyCandidates=16 inzerují tuhle ohraničenou volbu přes nezměněné V1 callbacky i verze exportovaných symbolů

Úspěšné zřetězené form fill i ekvivalentní importy FDF/XFDF si uchovají potvrzený dokument i snapshot zdroje; selhání output či result callbacku zachová předchozí potvrzenou revizi

Rozsah

Tenhle profil pokrývá dodané kandidátní popisky i podporované inline deklarace; Windows joby a verzované callbacky taky zachovávají uspořádaný fallback dodaných rodin; externí styly, libovolný CSS layout, hledání generických rodin i starší rozšíření loaded-job handle/font callbacků zůstávají samostatnou prací

Chování fallbacku · Typovaný run záznam · Decode volby · Nativní Linux binding