Отображение символа SQUARE M SQUARED (\ u33a1) в созданном отчете в формате PDF - PullRequest
0 голосов
/ 11 февраля 2019

Я использую следующий код для отчета jasper pdf для отображения символа M SQUARED (\ u33a1)

<?xml version="1.0" encoding="UTF-8"?> 
...

<textField isStretchWithOverflow="true">
            <reportElement x="0" y="0" width="609" height="20" uuid="df8665ef-2226-4aaa-bd04-09805582eaef"/>
            <textElement verticalAlignment="Middle">
                <font fontName="SomeCustFont" size="20" pdfEncoding="Cp1252" isPdfEmbedded="true"/>
            </textElement>
            <textFieldExpression><![CDATA["Squared M : \u33a1"]]></textFieldExpression>
        </textField>

Для этого кода я не могу увидеть символ Unicode в PDF.Это просто пусто.Но в XLSX я могу видеть персонажа.Я попробовал следующее:

  1. Удалить pdfEncoding
  2. Установить isPdfEmbedded = "false"

Но не повезло

Обновление: Кажется,пользовательский шрифт, который я использую, не поддерживает квадратный символ m.Я не могу добавить новый шрифт или обновить существующий пользовательский шрифт.Но я могу использовать любые или встроенные шрифты для этого конкретного персонажа.Как я могу добиться этого, используя встроенный шрифт?

Я пытался:

fontName = "Courier" pdfFontName = "Courier" Этот встроенный шрифт для jasper поддерживал этот символ, но я получаю ошибку, поскольку шрифт не может быть найден.

1 Ответ

0 голосов
/ 28 февраля 2019

Основной проблемой здесь был \ u33a1 - расширенный кодировщик ASCII.Большинство бесплатных шрифтов не поддерживают это.Поэтому вместо этого квадрата m я использовал английский символ «m», за которым следовал верхний индекс 2 в кодировке Unicode \ u00b2, который доступен почти во всех шрифтах.

\ u33a1 -> m \ u00b2

...