|
THotPDF.RegisterAcroFormFont THotPDF AcroForm
|
AddXFAPacket AcroForm Support SetFormUnicodeFontDict |
|
Registrira dodatno Unicode (Type 0 / CID-keyed) pisavo za vključitev v slovar AcroForm Default Resources (/DR). Omogoča, da en sam dokument PDF hkrati izpostavi več Unicode pisav gradnikom AcroForm - običajno za večjezične obrazce, ki potrebujejo (na primer) latinsko pisavo, CJK pisavo in arabsko pisavo v istem obrazcu
Delphi syntax: procedure RegisterAcroFormFont(const FontResourceName: AnsiString; FontIndirectRef: THPDFObject);
Description Gradniki AcroForm se na pisave sklicujejo prek slovarja Default Resources (/DR) na slovarju AcroForm, ki deluje kot skupni vir za vse appearance streame polj obrazca. Pred v2.119.42 je AcroForm /DR izpostavljal natanko eno Unicode pisavo (običajno pomožno nastavljeno Type 0 pisavo, registrirano prek SetFormUnicodeFontDict), kar je omejevalo večjezične poteke dela obrazcev, ker je moral vsak gradnik izrisovati skozi isti programski paket pisave
After v2.119.42 callers can register additional Unicode fonts at arbitrary resource names. Each registered font becomes a
Parameters FontResourceName - PDF Name, na katerega se sklicuje operator /Tf v appearance streamu. Dogovor: kratek stabilen identifikator brez začetnega poševnika (npr. 'NotoSansArab', 'NotoSansCJK'). HotPDF med serializacijo zapiše začetni poševnik
Typical workflow (multilingual form)
PDF.RegisterUnicodeTTF('NotoSansArab', 'NotoSansArabic-Regular.ttf'); PDF.RegisterUnicodeTTF('NotoSansJP' , 'NotoSansJP-Regular.otf'); ArabRef := PDF.CreateIndirectFontDict('NotoSansArab'); JPRef := PDF.CreateIndirectFontDict('NotoSansJP'); PDF.RegisterAcroFormFont('NotoSansArab', ArabRef); PDF.RegisterAcroFormFont('NotoSansJP' , JPRef);
Zdaj lahko gradniki z arabsko vsebino svoje appearance streame avtorirajo z /NotoSansArab 12 Tf, medtem ko gradniki z japonsko vsebino uporabljajo /NotoSansJP 12 Tf, pri čemer delijo en skupni dokumentski AcroForm /DR vir pisav
Coexistence with SetFormUnicodeFontDict Predhodni enojni pripomoček za pisavo (SetFormUnicodeFontDict) še naprej deluje za projekte, ki potrebujejo samo eno Unicode pisavo v AcroForm /DR. RegisterAcroFormFont je dodaten: klicatelji ga lahko uporabljajo poleg SetFormUnicodeFontDict ali pa SetFormUnicodeFontDict v celoti zamenjajo, kadar je potrebnih več kot ena Unicode pisava
See also: THotPDF.SetFormUnicodeFontDict, THotPDF.CreateIndirectFontDict, AcroForm Support, THPDFPage.AddTextField |