Apache FOP: отображение символов UTF-8 в PDF (без встраивания?) - PullRequest
7 голосов
/ 20 августа 2009

Я пытаюсь использовать FOP для экспорта PDF с символами UTF-8, желательно без необходимости вставлять шрифт.
Следующий код:

<fo:block font="10pt Helvetica" text-align="justify" space-after="10pt" space-before="8pt" keep-with-previous="auto" keep-together.within-page="auto"> 
  <fo:block font-weight="bold" color="gray">Summary</fo:block>
  <fo:block text-indent="1em" keep-with-previous="always">
    <fo:block text-indent="1em" space-before="4pt">
      <fo:block text-indent="1em" space-before="4pt">私はガラスを食べられます。それは私を傷つけません
      </fo:block>
    </fo:block>
  </fo:block>
</fo:block>

выдает #################### в PDF. Мне известно о проблеме: http://xmlgraphics.apache.org/fop/faq.html#pdf-characters

Когда я захожу в Свойства документа-> Шрифты, шрифт Helvetica отображается в списке «Кодировка: ANSI». Есть ли способ изменить это?

Если бы я встраивал, что было бы лучшим способом сделать это без доступа к Helvetica.ttf? Я пытался использовать DejaVuSans, но в итоге я получил квадраты вместо знаков #.

Обратите внимание, что это не однократное использование из командной строки (это было бы началом), а расширение существующего приложения. Я пытаюсь поддерживать символы UTF-8 без особых сложностей.

1 Ответ

7 голосов
/ 20 августа 2009

AFAICT, шрифты, включенные в PDF-спецификацию , включают только символы из ISO-Latin-1. Если вам нужен символ, выходящий за пределы тех, которые определены в Приложении D: Наборы символов и кодировки , то вы должны встраивать шрифт.

...