|
THotPDF.RegisterAcroFormFont THotPDF AcroForm
|
AddXFAPacket AcroForm Support SetFormUnicodeFontDict |
|
Regista um tipo de letra Unicode adicional (Type 0 / CID-keyed) para inclusão no dicionário AcroForm Default Resources (/DR). Permite que um único documento PDF exponha vários tipos de letra Unicode aos widgets AcroForm em simultâneo - normalmente usado para formulários multilingues que precisam, por exemplo, de um tipo de letra latino mais um CJK mais um árabe no mesmo formulário
Delphi syntax: procedure RegisterAcroFormFont(const FontResourceName: AnsiString; FontIndirectRef: THPDFObject);
Descrição Os widgets AcroForm referenciam tipos de letra através de um dicionário Default Resources (/DR) no dicionário AcroForm, que atua como o pool de recursos partilhado para todos os fluxos de aparência dos campos de formulário. Antes do v2.119.42, o AcroForm /DR expunha exatamente um tipo de letra Unicode (normalmente o tipo de letra Type 0 definido pelo auxiliar e registado através de SetFormUnicodeFontDict), o que limitava os fluxos de trabalho de formulários multilingues porque cada widget tinha de renderizar através do mesmo programa de fonte
After v2.119.42 callers can register additional Unicode fonts at arbitrary resource names. Each registered font becomes a
Parameters FontResourceName - o PDF Name que o operador /Tf do fluxo de aparência referencia. Convenção: um identificador curto e estável sem barra inicial (por exemplo, 'NotoSansArab', 'NotoSansCJK'). O HotPDF escreve a barra inicial ao serializar
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);
Agora os widgets com conteúdo árabe podem criar os respetivos fluxos de aparência com /NotoSansArab 12 Tf enquanto os widgets com conteúdo japonês usam /NotoSansJP 12 Tf, partilhando um único pool de recursos AcroForm /DR ao nível do documento
Coexistence with SetFormUnicodeFontDict O auxiliar preexistente para um único tipo de letra (SetFormUnicodeFontDict) continua a funcionar para projetos que só precisam de um tipo de letra Unicode no AcroForm
See also: THotPDF.SetFormUnicodeFontDict, THotPDF.CreateIndirectFontDict, AcroForm Support, THPDFPage.AddTextField |