自定义字体编码

时间:2014-02-24 05:20:03

标签: java encoding fonts jasper-reports arabic

我正在尝试使用Jasper报告来表示阿拉伯字体所以我遵循自定义字体扩展方法并添加一个阿拉伯字体作为扩展“Andalus或Arial Unicode MS”

但是当我尝试

我有一个例外

Exception in thread "main" net.sf.jasperreports.engine.JRRuntimeException: Could not load the following font : 
pdfFontName   : Helvetica
pdfEncoding   : Identity-H
isPdfEmbedded : true

Caused by: ExceptionConverter: java.io.UnsupportedEncodingException: Identity-H

MY JXML如下

<textElement>
    <font fontName="Andalus" size="12" pdfEncoding="Identity-H"/>
</textElement>

环境设置

  • Jasper Report 4.5
  • Windows 7
  • JDK jdk1.6.0_17

有人可以帮助解决字体错误或推荐特定的jar吗?

2 个答案:

答案 0 :(得分:1)

问题是我使用的是字体名称“Arial”,这是之前在Japser上定义的

  1. 使用其他自定义名称命名字体的第一步,例如“myfont” 这样您就可以确保将字体加载到类路径中

  2. 第二步我按照下面的第一个方法(硬方式),它工作正常:) That blog post

答案 1 :(得分:0)

我遇到了这个问题并且非常烦人,所以在这里要清楚地知道你是怎么做的

  

第一   按照此ARABIC & UTF-8

创建字体

然后

在可能具有阿拉伯语内容的字段或标签上通过右键单击或在其属性托盘上转到其属性,并进行这些更改

选中PDF嵌入框 从PDF编码中选择Identity-H(带水平书写的Unicode) 选择字体Arial,如果没有,将其添加到安装目录中的jasper fonts文件夹,并将其添加到设置中的类路径 在PDF模式下重新运行......它会起作用