pdfbox - Как объединить глифы в лигатуры в рендеринге pdf

У меня есть приложение pdfbox 2.0.0, отображающее юникод для таких языков, как арабский и тамильский, в pdf.

Мне бы хотелось, чтобы мое приложение работало так же, как браузеры и редакторы, поскольку оно объединяет смежные символы в лигатуры. В настоящее время, когда я запускаю такой код Scala, все глифы, созданные в моем pdf, разделяются:

val right = "ح"
val middle = "ک"
val left = "م"
contentStream.showText(left + middle + right)

Урожайность:

glyphs_separated

Было бы хорошо, если бы я мог получить что-то вроде этого:

glyphs_joined

Это возможно с pdfbox? Любое понимание того, как именно шрифты делают это, было бы полезно, так как я все еще начинающий с пониманием шрифтов.

Я не знаю, относится ли это к делу, но мое приложение в настоящее время обрабатывает отрисовку текста справа налево, по существу, переворачивая текст, а затем отрисовывая его слева, используя showText как вы бы с языками слева направо. Я не знаю, влияет ли наличие персонажей не в их естественном порядке на формирование лигатур. У Pdfbox, кажется, нет версии справа налево showText,

Я использую pdfbox 2.0.0-SNAPSHOT с https://repository.apache.org/content/groups/snapshots/.

Заранее спасибо.

0 ответов

Другие вопросы по тегам