我在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中,我可以看到角色。 我尝试了以下操作:
但是没有运气
更新:看来,我使用的自定义字体不支持平方m字符。我无法添加新字体或更新现有的自定义字体。但是我可以为该特定字符使用任何字体或内置字体。如何使用内置字体实现此目的?
我尝试过:
fontName =“ Courier” pdfFontName =“ Courier” 这种用于jasper的内置字体支持该字符,但是由于找不到字体,我遇到了错误。
答案 0 :(得分:0)
这里的主要问题是\ u33a1是扩展的ASCII Unicode。大多数免费字体不支持此功能。因此,我使用了英文的“ m”字符,而不是上标2 Unicode \ u00b2,而不是平方的m,几乎所有字体都可用。
\ u33a1-> m \ u00b2