关于字体的问题

2022-02-24 17:27:19 +08:00
 aglsv

相同字体下,windows 系统能显示的符号,到了 linux 上就会变成小方框,

⨀⨁⨂⨃⨄⨅⨆⨇⨈⨉⨊⨋⨌⨍⨎⨏⨐⨑⨒⨓⨔⨕⨖⨗⨘⨙⨚⨛⨜⨝⨞⨟⨠⨡⨢⨣⨤⨥⨦⨧⨨⨩⨪⨫⨬⨭⨮⨯⨰⨱⨲⨳⨴⨵⨶⨷⨸⨹⨺⨻⨼⨽⨾⨿⩀⩁⩂⩃⩄⩅⩆⩇⩈⩉⩊⩋⩌⩍⩎⩏⩐⩑⩒⩓⩔⩕⩖⩗⩘⩙⩚⩛⩜⩝⩞⩟⩠⩡⩢⩣⩤⩥⩦⩧⩨⩩⩪⩫⩬⩭⩮⩯⩰⩱⩲⩳⩴⩵⩶⩷⩸⩹⩺⩻⩼⩽⩾⩿⪀⪁⪂⪃⪄⪅⪆⪇⪈⪉⪊⪋⪌⪍⪎⪏⪐⪑⪒⪓⪔⪕⪖⪗⪘⪙⪚⪛⪜⪝⪞⪟⪠⪡⪢⪣⪤⪥⪦⪧⪨⪩⪪⪫⪬⪭⪮⪯⪰⪱⪲⪳⪴⪵⪶⪷⪸⪹⪺⪻⪼⪽⪾⪿⫀⫁⫂⫃⫄⫅⫆⫇⫈⫉⫊⫋⫌⫍⫎⫏⫐⫑⫒⫓⫔⫕⫖⫗⫘⫙⫚⫛⫝̸⫝⫞⫟⫠⫡⫢⫣⫤⫥⫦⫧⫨⫩⫪⫫⫬⫭⫮⫯⫰⫱⫲⫳⫴⫵⫶⫷⫸⫹⫺⫻⫼⫽⫾⫿

这段符号在 windows 上我设置新罗马字体能正常显示,但是放服务器上下载个 pdf 就会显示成乱码,这个是怎么回事呢

2443 次点击
所在节点    字体排印
10 条回复
cpstar
2022-02-24 17:28:09 +08:00
PDF 嵌入字体
aglsv
2022-02-24 17:43:54 +08:00
@cpstar 啥意思,我这个新罗马字体在生成 pdf 时已经加载成功了啊
espaul64
2022-02-24 21:15:37 +08:00
这种“方块”在字体设计里一般叫“豆腐”,noto 字体其实就是 no tofu 的意思
cpstar
2022-02-25 08:31:11 +08:00
不知道 PDF 在哪里生成的,是 windows 环境还是 linux 环境。如果是 windows 平台创建的,对于 TimesNewRoman 这种字体,要么两平台的字库不一致,要么 TNR 具有强版权不得嵌入 PDF ,但总归表征更像字体并没有嵌入到 PDF 中,所以版权问题可能性较大;如果是 linux 平台创建,先检查字体库文件问题。

陈述一个事实,windows 7 开始,中易为微软更新了“仿宋”字体,而且更加强调版权,不得在非 Windows 系统中使用,所以 PDF 不会嵌入这个字体,结果就是很多用了这个字体的公文生成 PDF 后到其他平台上就全是以保护字体显示。

这些方块其实就是调用了保护字体渲染。
aglsv
2022-02-25 14:07:38 +08:00
@cpstar 多谢,扔在服务器上创建的,运行在 linux 环境里面,我再找个字体吧。
aglsv
2022-02-25 14:17:59 +08:00
cpstar
2022-02-25 17:06:58 +08:00
6# 这个图上第二行的 TimesNewRoman 明显不是衬线字体,TNR 是一种衬线字体,所以第二行应该是调用了保护字体。然后中文方面,都是字体库缺少中文,都调用了保护字体
cpstar
2022-02-25 17:09:11 +08:00
如果你是仍在 linux 服务器上创建的,首先判断一下服务器有这个 ttf 以及确实被系统加载上了,其次判断一下生成软件确实能够加载到这个字体。前一段玩 java 的 itext ,好在是一个任何系统都不具备的字体。
q197
2022-03-30 12:57:54 +08:00
@cpstar 有什么软件生成 pdf 能不遵守这个吗?
cpstar
2022-03-30 14:31:57 +08:00
@q197 9# 强制嵌入新版“仿宋”字体?按照 PDF 格式的规范,自己攒文档把字体库攒进去?我觉得可能限制并不在 PDF 生成上,而很有可能在字体文件 TTF 上。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/836212

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX