Как включить кернинг/лигатуры (макета) с TTF, загруженным из облачного хранилища?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как включить кернинг/лигатуры (макета) с TTF, загруженным из облачного хранилища?

Сообщение Anonymous »

библиотека: openpdf 1.4.2 (com.lowagie.text.pdf)
Цель: Включить кернинг и лигатуры для трюэтипа/OTF FONTS с использованием LayoutProcessor (enablekernliga) при рендеринге по тексту/Paragraph. /> ограничение < /strong>: файлы шрифтов поступают из облачного хранилища во время выполнения. У нас есть только шрифт как байт [] в памяти. Мы не можем записать в локальную файловую систему и хотели бы избежать временных файлов.

Код: Выделить всё

is Layout processor is enabled true
java.lang.RuntimeException: Font creation failed for BodoniRecutFS-Regular.ttf.
at com.lowagie.text.pdf.LayoutProcessor.loadFont(LayoutProcessor.java:282)
at com.lowagie.text.pdf.BaseFont.createFont(BaseFont.java:741)
...
Caused by: java.io.IOException: BodoniRecutFS-Regular.ttf not found as file or resource.
at com.lowagie.text.pdf.LayoutProcessor.loadFont(LayoutProcessor.java:271)
< /code>
Мы загружаем TTF в память, затем создаем BaseFont с байтов. Прежде чем создавать шрифт, мы позволяем процессору макета получить кернинг/лигатуры. 
private[pdf] def createFont(fontObjectName: String, fontBytes: Array[Byte]): BaseFont = {
// e.g. fontObjectName = "BodoniRecutFS-Regular.ttf"
if (!LayoutProcessor.isEnabled) {
LayoutProcessor.enableKernLiga()
}
BaseFont.createFont(
fontObjectName,           // has .ttf extension
BaseFont.IDENTITY_H,      // Unicode
BaseFont.EMBEDDED,        // embed font (true)
BaseFont.NOT_CACHED,      // we do our own caching
fontBytes,                // font comes from Cloud Storage as bytes
null                      // not using PFB (Type 1)
)
}
ожидаемый [/b]
способ включить kerning/ligatures (layoutprocessor), когда наш шрифт TTF доступен только как байт [] в памяти, без написания временного файла на диск.

Подробнее здесь: https://stackoverflow.com/questions/797 ... -cloud-sto
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»