1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 服务器linux simsun.ttc is not a valid ttf file

服务器linux simsun.ttc is not a valid ttf file

时间:2021-03-09 14:22:05

相关推荐

服务器linux simsun.ttc is not a valid ttf file

/wsjzzcbq/article/details/112252102

报错原因:项目打包时,会对resources目录下的字体文件进行压缩,项目部署后,又会对字体文件进行解压,导致字体文件发生变化,进而损坏字体文件,因此报错 simsun.ttc is not a valid TTF file。笔者初次遇到这个报错时也很棘手,以为是字体文件本身的问题,后来仔细对比才发现打包后的字体文件大小和打包前不同,如果将打包前的字体文件直接复制到打包后的项目中,就没有这个报错了

解决办法:笔者这里提供3种解决办法

1、将字体文件放在服务器的某个文件夹下,而不是放在resources目录下跟随项目,这样就不存在打包压缩的问题了,就解决了

2、项目打包后,手动将没被压缩的字体文件复制到打包后的对应文件夹下

3、使用系统的字体文件,如果系统环境没有字体文件,可以给系统安装字体文件,这个解决办法其实和办法1是同样的道理,笔者这里推荐使用办法1

——————————————————————————————————————————

linux 不到字体

/zouliping123456/article/details/78950689

场景:

解决JasperReport在Linux系统下找不到字体的问题

1.异常信息

以JasperReport3.7.6为例:

net.sf.jasperreports.engine.util.JRFontNotFoundException: 2.解决方法2.1.导入字体IReport中先导入设计报表作需要的字体:【Tools->Options->IReport->Fonts】,选择【Install Font】,然后选择你的字体文件,如果是中文字体,则选择【PDF Encoding】为【Identity-H (Unicode with horizontal writing)】并勾选【Embed this font in PDF Document】2.2.报表设计把PdfFontName, PdfEncoding, PdfEmbedded三个设置都去掉。报表设计中使用的字体只能选择上面导入的字体列表中的字体。2.3.导出字体在【Tools->Options->IReport->Fonts】中选择所有手动导入的字体(不包括内置的),然后选择【Export as extension】,把字体导出为一个Jar包。2.4.添加字体JAR包把字体JAR包添加在运行环境classpath中,或随项目发布。

———————————————————————————————————————————

/article/74181399976/

解决方案:

使用simfang.ttf 放在classpath下,

在window下, 从 C:\Windows\Fonts 文件夹中,复制仿宋字体(simfang.ttf)到maven 项目中 src/main/resources/fonts/simfang.ttf

在pom.xml中添加

3.设置字体

BaseFont bf = BaseFont.createFont("/fonts/simfang.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

设置其他字体也是一样的

//设置中文字体,解决中文不能显示问题(加载classpath下字体, 名字后面要加上type索引 0/1,不能大于1,看源码就知道)BaseFont bf = BaseFont.createFont("/fonts/simsun.ttc,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

将字体放在classpath下,目前是最省事的方式。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。