Fonts 导出为pdf时如何正确呈现印地语?
我正在为jasper reports使用I-report 5.5.0。我需要将印地语文本导出为PDF格式,但印地语部分正在转换为Fonts 导出为pdf时如何正确呈现印地语?,fonts,jasper-reports,export-to-pdf,hindi,Fonts,Jasper Reports,Export To Pdf,Hindi,我正在为jasper reports使用I-report 5.5.0。我需要将印地语文本导出为PDF格式,但印地语部分正在转换为????? 我已经使用了字体扩展,但没有帮助: 字体名称:“lohit Devanagari”PDF嵌入式:选中 编码:Identity-H 我也尝试过其他印地语字体,但到目前为止没有任何效果 <textField> <reportElement x="111" y="26" width="100" height="20" uuid="5a47
?????
我已经使用了字体扩展,但没有帮助:
字体名称:“lohit Devanagari”PDF嵌入式:选中 编码:Identity-H
我也尝试过其他印地语字体,但到目前为止没有任何效果
<textField>
<reportElement x="111" y="26" width="100" height="20" uuid="5a471a16-de7b-4f55-9c9f-b01d37938b9f"/>
<textElement>
<font fontName="Lohit Devanagari" pdfEncoding="Identity-H" isPdfEmbedded="false"/>
</textElement>
<textFieldExpression><![CDATA[$F{DISTRICT_NAME}]]></textFieldExpression>
</textField>
正确的方法是使用
pdfEncoding=“Identity-H”
已弃用
首先要明确这一点:
.tff
以及字体是否能够实际呈现字符。并不是所有的字体都可以渲染
UTF-8中的所有字符
ispdfedded=false
,请删除标记,并在字体扩展中选择true
或将标记设置为true
现在只需正确生成字体扩展名,并将其添加到类路径
编辑:用户通过字体后
字体Krutidev_011.TTF
不是有效的TTF字体,这可能是因为不幸的是,苹果的标准和微软的标准存在分歧(我猜你的字体是苹果的TTF,而不是开放式TTF)
我尝试从web上创建一个有效的ttf fontLohit Devanagari,并将其添加为字体扩展名,fontName=“Lohit Devanagari”
这是我的结果:
它正在渲染字体,但结果可能有连字器问题,有关如何解决这些问题,请参见示例
如果您想尝试这是我使用的字体扩展名,请记住设置
fontName=“Lohit Devanagari”
我遇到了与gargi.ttf font相同的问题。
使用此配置
"gargi" => array(
'R' => "gargi.ttf",
'useOTL' => 0xFF,
),
这对我有用
IndicLigaturizer hindi = new DevanagariLigaturizer();
String result = hindi.process(string);
您是否使用了?可能的副本:&&@AlexK,可能的副本没有答案或接受的答案,用户已尝试字体扩展,请参阅问题(可能不正确或ttf字体无法呈现uni代码),这就是我发布答案的原因。这篇文章包含有用的评论和答案。有人找到了解决方法吗?我的实际.tff正确地呈现了单词,当我导出到其他格式时,它工作正常(如HTML、ODT、EXCEL),只有PDF导出产生了问题。您可以共享字体扩展名的jar吗?还有你的jrxml(或者一个不显示文本的小jrxml来测试你的字体扩展名)?Jar文件:-jrxml:-@Priyesh Mishra我已经编辑了答案,你的TTF无效(这取决于存在不同的TTF类型的事实…),请检查我作为外部文件附加Jar文件时解决的编辑问题。非常感谢你的帮助和指导我在这件事上浪费了好几天。
IndicLigaturizer hindi = new DevanagariLigaturizer();
String result = hindi.process(string);