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