在生成的 pdf 报告中显示字符 SQUARE M SQUARED (\u33a1)
Display character SQUARE M SQUARED (\u33a1) in generated pdf report
我正在为 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>
对于这段代码,我无法在 PDF 中看到 unicode 字符。它只是空白。但是在 XLSX 中,我可以看到这个字符。
我试过以下:
- 删除 pdfEncoding
- 设置为PdfEmbedded="false"
但运气不好
更新:我用的自定义字体好像不支持方米字。我无法添加新字体或更新现有的自定义字体。但我可以为该特定字符使用任何或内置字体。如何使用内置字体实现此目的?
我试过了:
fontName="Courier" pdfFontName="Courier"
这种用于 jasper 的内置字体支持该字符,但我收到错误消息,因为找不到字体。
这里的主要问题是 \u33a1 是一个扩展的 ASCII unicode。大多数免费字体不支持此功能。因此,我没有使用这个平方 m,而是使用英语 'm' 字符后跟上标 2 unicode \u00b2,几乎所有字体都可用。
\u33a1 -> m\u00b2
我正在为 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>
对于这段代码,我无法在 PDF 中看到 unicode 字符。它只是空白。但是在 XLSX 中,我可以看到这个字符。 我试过以下:
- 删除 pdfEncoding
- 设置为PdfEmbedded="false"
但运气不好
更新:我用的自定义字体好像不支持方米字。我无法添加新字体或更新现有的自定义字体。但我可以为该特定字符使用任何或内置字体。如何使用内置字体实现此目的?
我试过了:
fontName="Courier" pdfFontName="Courier" 这种用于 jasper 的内置字体支持该字符,但我收到错误消息,因为找不到字体。
这里的主要问题是 \u33a1 是一个扩展的 ASCII unicode。大多数免费字体不支持此功能。因此,我没有使用这个平方 m,而是使用英语 'm' 字符后跟上标 2 unicode \u00b2,几乎所有字体都可用。
\u33a1 -> m\u00b2