simsun.ttc is not a valid ttf file(linux OS/windows OS)

https://blog.csdn.net/wsjzzcbq/article/details/112252102

报错原因:

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

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

终极 解决方案:

使用 simsun.ttc 放在classpath下

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

2、在pom.xml中添加

2.1、这种方式会导致字体库文件被压缩

项目打包时,会对resources目录下的字体文件进行压缩,项目部署后,又会对字体文件进行解压,导致字体文件发生变化,进而损坏字体文件,因此报错 simsun.ttc is not a valid TTF file

<build>
    <resources>
        <resource>
            <directory>src/main/resources/</directory>
            <filtering>true</filtering>
            <includes>
                <include>**/*.ttc</include>
            </includes>
            <excludes>
                <exclude>**/*.font</exclude>
            </excludes>
        </resource>
        <resource>
            <directory>src/main/resources/</directory>
            <filtering>false</filtering>
            <includes>
                <include>**/*.font</include>
            </includes>
        </resource>
    </resources>
</build>

2.2、这种方式不会压缩文件
<build>
    <resources>
        <resource>
            <directory>src/main/resources/</directory>
            <filtering>true</filtering>
            <excludes>
                <exclude>fonts/*</exclude>
            </excludes>
        </resource>
        <resource>
            <directory>src/main/resources/</directory>
            <filtering>false</filtering>
            <includes>
                <include>fonts/*</include>
            </includes>
        </resource>
    </resources>
</build>

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

3、其他 3种解决办法

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

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

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

4、JasperReport在Linux系统下找不到字体的问题

https://blog.csdn.net/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中,或随项目发布。

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

https://www.freesion.com/article/74181399976/

本文作者:Journey&Flower

本文链接:https://www.cnblogs.com/JourneyOfFlower/p/16428379.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Journey&Flower  阅读(1271)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 404 Not Found REOL
  2. 2 白色恋人 游鸿明
  3. 3 盛夏的果实 莫文蔚
  4. 4 以父之名 周杰伦
  5. 5 晴天 周杰伦
  6. 6 简单爱 周杰伦
  7. 7 东风破 周杰伦
  8. 8 稻香 周杰伦
  9. 9 爱在西元前 周杰伦
  10. 10 千里之外 费玉清-周杰伦
  11. 11 偏爱 张芸京
  12. 12 大海 张雨生
  13. 13 月亮惹的祸 张宇
  14. 14 雨一直下 张宇
  15. 15 过火 张信哲
  16. 16 隐形的翅膀 张韶涵
  17. 17 天下 张杰
  18. 18 当你孤单你会想起谁 张栋梁
  19. 19 清明雨上 许嵩
  20. 20 玫瑰花的葬礼 许嵩
  21. 21 断桥残雪 许嵩
  22. 22 城府 许嵩
  23. 23 等一分钟 徐誉滕
  24. 24 客官不可以 徐良_小凌
  25. 25 坏女孩 徐良_小凌
  26. 26 犯贱 徐良
  27. 27 菠萝菠萝蜜 谢娜
  28. 28 贝多芬的悲伤 萧风
  29. 29 睫毛弯弯 王心凌
  30. 30 我不是黄蓉 王蓉
  31. 31 秋天不回来 王强
  32. 32 今天你要嫁给我 陶喆,蔡依林
  33. 33 丁香花 唐磊
  34. 34 绿光 孙燕姿
  35. 35 求佛 誓言
  36. 36 十一年 邱永传
  37. 37 下辈子如果我还记得你 马郁
  38. 38 一千年以后 林俊杰
  39. 39 江南 林俊杰
  40. 40 曹操 林俊杰
  41. 41 背对背拥抱 林俊杰
  42. 42 会呼吸的痛 梁静茹
  43. 43 勇气 梁静茹
  44. 44 爱你不是两三天 梁静茹
  45. 45 红日 李克勤
  46. 46 星月神话 金莎
  47. 47 嘻唰唰 花儿乐队
  48. 48 穷开心 花儿乐队
  49. 49 六月的雨-《仙剑奇侠传》电视剧插曲 胡歌
  50. 50 一个人的寂寞两个人的错 贺一航
  51. 51 好想好想-《情深深雨濛濛》电视剧片尾曲 古巨基
  52. 52 情人 刀郎
  53. 53 冲动的惩罚 刀郎
  54. 54 西海情歌 刀郎
  55. 55 2002年的第一场雪 刀郎
  56. 56 红玫瑰 陈奕迅
  57. 57 浮夸 陈奕迅
  58. 58 爱情转移 陈奕迅
  59. 59 独家记忆 陈小春
  60. 60 记事本 陈慧琳
  61. 61 看我72变 蔡依林
  62. 62 寂寞在唱歌 阿桑
  63. 63 樱花草 Sweety
  64. 64 中国话 S.H.E
  65. 65 波斯猫 S.H.E
  66. 66 杀破狼-《仙剑奇侠传》电视剧片头曲 JS
  67. 67 Lydia F.I.R.
  68. 68 I Miss You 罗百吉_青春美少女.
白色恋人 - 游鸿明
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : 林利南

作曲 : 游鸿明

编曲 : 涂惠源

冷空气 却清晰

你在南极冰山雪地里

极光中雪白的肌肤

是哀愁是美丽

为了要遇见你

我连呼吸都反复练习

兰伯特仁慈的冰川

带领我走向你

零下九十一度的酷寒

滚滚红尘千年的呼喊

藏在沃斯托克的湖岸

沉寂轻叹

撒哈拉漫天狂沙 金字塔谁能解答

兵马俑谁与争锋 长城万里相逢

人世间悲欢聚散 一页页写在心上

含着泪白色恋人 却有灰色的年轮

零下九十一度的酷寒

滚滚红尘千年的呼喊

藏在沃斯托克的湖岸

沉静轻叹

撒哈拉漫天狂沙 金字塔谁能解答

兵马俑谁与争锋 长城万里相逢

人世间悲欢聚散 一页页写在心上

含着泪白色恋人 却有灰色的年轮

撒哈拉漫天狂沙 金字塔谁能解答

兵马俑谁与争锋 长城万里相逢

人世间悲欢聚散 一页页写在心上

含着泪白色恋人 却有灰色的年轮