Добавление новых шрифтов в FO шаблоны
Материал из BiTel WiKi
Рассмотрим пример добавления нового шрифта для использования его в XSLT:FO шаблонах на примере шрифта arialn. Изначально имеем TTF файлы arialn.ttf (простое начертание) и arialnb.ttf (полужирное начертание, переименован в arialnbold.ttf). Файлы размещены в каталоге /home/shamil/tmp/arialn. Для генерации XML файла с описанием перейти в каталог BGBillingServer и выполнить (скорректировать свой путь к java):
This font contains no embedding license restrictions [shamil@shamil Billing]$ /usr/jdk6/bin/java -cp ./lib/fop.jar:./lib/xalan.jar:./lib/xerces.jar org.apache.fop.fonts.apps.TTFReader "/home/shamil/tmp/arialn/arialn.ttf" /home/shamil/tmp/arialn/arialn.xml TTF Reader v1.1.1 Reading /home/shamil/tmp/arialn/arialn.ttf... Number of glyphs in font: 663 Creating xml font file... Creating CID encoded metrics Writing xml font file /home/shamil/tmp/arialn/arialn.xml... This font contains no embedding license restrictions [shamil@shamil Billing]$ /usr/jdk6/bin/java -cp ./lib/fop.jar:./lib/xalan.jar:./lib/xerces.jar org.apache.fop.fonts.apps.TTFReader "/home/shamil/tmp/arialn/arialnbold.ttf" /home/shamil/tmp/arialn/arialnbold.xml TTF Reader v1.1.1 Reading /home/shamil/tmp/arialn/arialnbold.ttf... Number of glyphs in font: 664 Creating xml font file... Creating CID encoded metrics Writing xml font file /home/shamil/tmp/arialn/arialnbold.xml... This font contains no embedding license restrictions
Далее открыть файл /conf/userconfig.xml в библиотеке BGBillingServer/lib/fop.jar (открывается архиватором) и добавить строки:
<font metrics-file="arialn.xml" kerning="yes" embed-file="arialn.ttf"> <font-triplet name="arialn" style="normal" weight="normal"/> </font> <font metrics-file="arialnbold.xml" kerning="yes" embed-file="arialnbold.ttf"> <font-triplet name="arialn" style="normal" weight="bold"/> </font>
Файлы из /home/shamil/tmp/arialn поместить в fop.jar/conf. Все, теперь можно использовать шрифт arialn с начертанием bold и обычным в XSLT:FO файлах (шаблоны счетов и фактур, карточки договоров). Библиотеку fop.jar нужно так же поместить в BGBillingClient/lib. Если вы хотите, чтобы шрифт был включен в дистрибутив, вы можете выслать все конфигурации разработчикам.