2016-08-21 3 views
1

Я хочу использовать собственный шрифт (Vito-Regular.otf) для PDF-документов, сгенерированных внутри java-программы, - используя Apache FOP 2.1.Apache FOP: не удалось загрузить и использовать пользовательский шрифт

Большинство образцов, найденных в Интернете, относятся к шрифтам FOP 1.0 и .ttf. Так что это поможет мне вообще.

Мой конфиг Пользователь ФОП:

<?xml version="1.0"?> 
 
<fop version="1.0"> 
 
    <renderers> 
 
    <renderer mime="application/pdf"> 
 
     <fonts> 
 
     <font embed-url="file:C://Windows//Fonts//Vito-Regular.otf" kerning="yes" > 
 
      <font-triplet name="Vito" style="normal" weight="normal" /> 
 
     </font> 
 
     </fonts> 
 
    </renderer> 
 
    </renderers>

Использование в шаблоне:

<fo:block-container font-size="9pt" font-family="Vito">

Приведет использовать шрифт по умолчанию (Любой), но не (для меня ожидаемый) Vito шрифта:

WARNUNG: Font "Vito,normal,400" not found. Substituting with "any,normal,400". 

Так вот мои основные вопросы по этому вопросу:

  1. Есть ли способ, чтобы проверить/читать загруженные шрифты в Apache FOP 2.1?
  2. Является ли сочетание «Вито, нормальный, 400» эквивалентным названию, стилю, весу?
  3. Правильно ли настроен шрифт? Даже не то, что я контролировал?
  4. Правильно ли указан шрифт в шаблоне?
  5. Есть ли способ проверить, совместим ли шрифт с Apache FOP?

Любая помощь по этим вопросам приветствуется.

+1

Иногда файл (абсолютные окна): URL-адреса немного страшны, вы пытались добавить 1-4 '/' между файлом: и C: like 'file: // C: /'? В linux я использую 'file: /// home' для абсолютного пути, начинающегося с'/home' –

+0

Кроме того, я думаю, что двойной '//' является реликтом однократно экранированного \\ и одного '/' на каждом пути должно быть достаточно. –

+0

Нет, ни одна из комбинаций не решает проблему. Я не думаю, что это проблема вообще. что-то может быть неправильно настроено, но я не знаю, что ... – Erik

ответ

0

Мой fop.xml подобен этому

<renderers> 
<renderer mime="application/pdf"> 
    <fonts> 
    <font embed-url="MSMINCHO.TTF" kerning="yes" sub-font="MS Mincho"> 
    <font-triplet name="MS Mincho" style="normal" weight="normal"/> 
    <font-triplet name="MS Mincho" style="normal" weight="bold"/> 
    </font> 
    </fonts> 
</renderer> 

и мой TTF файл находится в том же каталоге, что и мой xml файл.

Возможно, у вас либо отсутствует тег sub-font, либо возникли проблемы с расположением файла и/или типом файла.

+0

Хм, хорошо, я добавил тег суб-шрифта и поместил шрифт в тот же каталог. Это, к сожалению, не имеет никакой разницы.Шрифт является шрифтом открытого типа, поэтому я не могу изменить это ... – Erik