相同字体下,windows 系统能显示的符号,到了 linux 上就会变成小方框,
⨀⨁⨂⨃⨄⨅⨆⨇⨈⨉⨊⨋⨌⨍⨎⨏⨐⨑⨒⨓⨔⨕⨖⨗⨘⨙⨚⨛⨜⨝⨞⨟⨠⨡⨢⨣⨤⨥⨦⨧⨨⨩⨪⨫⨬⨭⨮⨯⨰⨱⨲⨳⨴⨵⨶⨷⨸⨹⨺⨻⨼⨽⨾⨿⩀⩁⩂⩃⩄⩅⩆⩇⩈⩉⩊⩋⩌⩍⩎⩏⩐⩑⩒⩓⩔⩕⩖⩗⩘⩙⩚⩛⩜⩝⩞⩟⩠⩡⩢⩣⩤⩥⩦⩧⩨⩩⩪⩫⩬⩭⩮⩯⩰⩱⩲⩳⩴⩵⩶⩷⩸⩹⩺⩻⩼⩽⩾⩿⪀⪁⪂⪃⪄⪅⪆⪇⪈⪉⪊⪋⪌⪍⪎⪏⪐⪑⪒⪓⪔⪕⪖⪗⪘⪙⪚⪛⪜⪝⪞⪟⪠⪡⪢⪣⪤⪥⪦⪧⪨⪩⪪⪫⪬⪭⪮⪯⪰⪱⪲⪳⪴⪵⪶⪷⪸⪹⪺⪻⪼⪽⪾⪿⫀⫁⫂⫃⫄⫅⫆⫇⫈⫉⫊⫋⫌⫍⫎⫏⫐⫑⫒⫓⫔⫕⫖⫗⫘⫙⫚⫛⫝̸⫝⫞⫟⫠⫡⫢⫣⫤⫥⫦⫧⫨⫩⫪⫫⫬⫭⫮⫯⫰⫱⫲⫳⫴⫵⫶⫷⫸⫹⫺⫻⫼⫽⫾⫿
这段符号在 windows 上我设置新罗马字体能正常显示,但是放服务器上下载个 pdf 就会显示成乱码,这个是怎么回事呢
1
cpstar 2022-02-24 17:28:09 +08:00
PDF 嵌入字体
|
3
espaul64 2022-02-24 21:15:37 +08:00 1
这种“方块”在字体设计里一般叫“豆腐”,noto 字体其实就是 no tofu 的意思
|
4
cpstar 2022-02-25 08:31:11 +08:00 1
不知道 PDF 在哪里生成的,是 windows 环境还是 linux 环境。如果是 windows 平台创建的,对于 TimesNewRoman 这种字体,要么两平台的字库不一致,要么 TNR 具有强版权不得嵌入 PDF ,但总归表征更像字体并没有嵌入到 PDF 中,所以版权问题可能性较大;如果是 linux 平台创建,先检查字体库文件问题。
陈述一个事实,windows 7 开始,中易为微软更新了“仿宋”字体,而且更加强调版权,不得在非 Windows 系统中使用,所以 PDF 不会嵌入这个字体,结果就是很多用了这个字体的公文生成 PDF 后到其他平台上就全是以保护字体显示。 这些方块其实就是调用了保护字体渲染。 |
6
aglsv OP |
7
cpstar 2022-02-25 17:06:58 +08:00 1
6# 这个图上第二行的 TimesNewRoman 明显不是衬线字体,TNR 是一种衬线字体,所以第二行应该是调用了保护字体。然后中文方面,都是字体库缺少中文,都调用了保护字体
|
8
cpstar 2022-02-25 17:09:11 +08:00 1
如果你是仍在 linux 服务器上创建的,首先判断一下服务器有这个 ttf 以及确实被系统加载上了,其次判断一下生成软件确实能够加载到这个字体。前一段玩 java 的 itext ,好在是一个任何系统都不具备的字体。
|