Ordered Rich Text Font Candidate Lists
Rich text może zachować jawną uporządkowaną listę rodzin i użyć tej kolejności przy wyborze prawdziwych dostarczonych programów fontów dla kompletnego grafemu Unicode
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;
Dostarcz rzeczywiste programy rodziny i stylu przez istniejące API nazwanych rodzin; etykiety w FontFamilyCandidates nie odkrywają ani nie pobierają fontów
Selection and preservation
Pierwszy dotknięty autorski run dostarcza listę dla całego grafemu, łącznie ze szwami stylów i znakami łączącymi; każdy skonfigurowany kandydat musi pokryć każdą stylizowaną część swoim rzeczywistym programem regular, bold, italic albo bold-italic
Nieznane etykiety i kandydaci z brakującymi programami stylów są pomijani; gdy żaden zadeklarowany kandydat nie pokrywa grafemu, stosują się istniejące reguły fallback wybranej rodziny i dostarczonej tablicy
FontFamily musi pasować do pierwszej skonfigurowanej etykiety w niepustej liście kandydatów, gdy istnieje; pominięcie typowanego JSON FontFamily wybiera to dopasowanie automatycznie
Fallback zmienia wyłącznie przygotowanie wyglądów: autorska wartość zwykła, precyzyjny typowany rozmiar i kolor oraz oryginalna kolejność kandydatów pozostają w V i RV; resolver nigdy nie przepisuje runów wywołującego
Inline XHTML and interchange
Ustaw THPDFHeadlessRichTextDecodeOptions.PreserveFontFamilyLists na True ze skonfigurowanymi FontFamilyNames, aby zachować obsługiwane inline listy font-family oddzielone przecinkami, łącznie z dziedziczeniem i per-property priorytetem important
Importy FDF i XFDF świadome rodzin włączają to zachowanie, gdy ich opcje wyglądów włączają FallbackFontFamilies; ścisłe domyślne dekodowanie zachowuje istniejący wybór pierwszej skonfigurowanej rodziny
Listy zawierają co najwyżej szesnaście etykiet, każdą ograniczoną do 128 jednostek kodowych UTF-16 z poprawnym Unicode, bez kontrolek, otaczających białych znaków, cudzysłowów, backslashy, przecinków ani średników; zduplikowane i nieznane zadeklarowane etykiety zachowują autorską kolejność
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"]}
]}]}
Zadeklarowana kolejność Serif-przed-Sans steruje fallbackiem nawet, gdy operacja konfiguruje Sans przed Serif; istniejący provider Fontconfig dostarcza rzeczywiste nazwane programy pod tymi samymi zagregowanymi limitami fontów i pamięci
Tablice kandydatów typowanych runów wymagają skonfigurowanego fontFamilies i włączonego fallbackFontFamilies; wadliwe tablice albo etykiety, brak pokrycia całego grafemu, wyczerpane budżety i anulowanie zawodzą transakcyjnie przed commitem kontekstu
Zdolność formData.richFontFamilyCandidates i maxFontFamilyCandidates=16 reklamują tę ograniczoną opcję przez niezmienione callbacki V1 i wersje eksportowanych symboli
Udane łańcuchowe wypełnienia formularzy i równoważne importy FDF/XFDF zachowują zacommitowany dokument i snapshot źródła; awarie callbacków wyjścia albo wyniku zachowują poprzedzającą zacommitowaną rewizję
Scope
Ten profil pokrywa dostarczone etykiety kandydatów i obsługiwane deklaracje inline; zadania plikowe Windows i wersjonowane callbacki też zachowują uporządkowany fallback dostarczonych rodzin; zewnętrzne arkusze stylów, dowolny layout CSS, odkrywanie rodzin generycznych i starsze rozszerzenie callbacków handle/font załadowanych zadań pozostają odrębną pracą
Zachowanie fallback · Rekord typowanego runa · Opcje dekodowania · Natywne powiązanie Linux