
很多人在使用文档系统或在线编辑器时都会遇到这样的情况:
例如在使用 OnlyOffice、在线文档系统或文档预览系统时,这类问题尤其常见。
很多人会以为:“是不是系统 bug?” 实际上,大多数情况下真正的原因是缺少字体文件。
本文将用尽量通俗的方式,讲清楚以下几个问题:
很多人以为字体只是“样式”,比如:
但实际上字体不仅仅决定“好不好看”,还决定了文字的显示方式和排版规则。
字体文件(通常是 .ttf 或 .otf)里面包含很多信息,例如:
信息 | 作用 |
|---|---|
字符字形(Glyph) | 每个字符长什么样 |
字符宽度 | 每个字占多宽 |
行高 | 一行文字多高 |
字距 | 字和字之间的距离 |
字符编码映射 | 哪个字符对应哪个图形 |
简单理解:字体文件其实是一套“字符图形库 + 排版规则”。
Office 文档(Word、Excel、PPT)在保存时,不会把每个字符的图形都存进去,而只是记录:
例如:
字符:A
字体:Arial
当文档被打开时,系统会:
如果字体不存在,系统就会用另一个字体替代。 这就是很多问题产生的原因。
字体缺失不仅仅是“样子变了”,还会带来很多看起来很奇怪的问题。下面是最常见的几种情况。
最常见的问题是:
表现:
字体不同,字符宽度也不同。 例如:
原本:一行20个字 替换后:一行18个字 结果就会导致:
因为:
就可能导致:
这是非常典型的字体问题。
原文:
text
• 第一条
• 第二条异常情况:
text
□ 第一条
□ 第二条原因是很多项目符号依赖特殊字体,例如:
如果这些字体不存在,就找不到对应符号。
例如:✓ ✔ ☑ → ★
可能变成:
原因同样是缺少符号字体。
数学公式经常依赖特殊字体,例如:
∑ ∫ √ ≤ ≥
这些符号通常来自:Cambria Math 如果字体缺失:
很多文档会用“字体图标”。
例如: 其实来自 FontAwesome。
如果缺少字体,就会变成乱码。
在本地电脑上,用户通常已经安装了大量字体。 例如在 MS Word 中打开文档,系统会自动找到这些字体。
但在在线系统中,例如:
服务器通常只安装少量基础字体。
因此:文档中的很多字体在服务器上并不存在,于是就会触发字体替换。
对于普通用户,可以用几个非常简单的方法判断。
如果电脑上有 MS Word:
情况一:Word 正常,OnlyOffice 异常 说明:在线系统缺字体。
字体缺失最典型的表现是:
text
□ □ □或者:
text
???这通常说明:系统找不到字符对应的字形。
如果出现:
也很可能是字体替换造成的。
在 OnlyOffice 中选中文字,可以看到字体名称。 如果出现:
而原文不是这些字体,就说明:系统正在使用替代字体。
解决字体问题通常很简单。
在服务器或系统中安装文档使用的字体即可。 例如:
安装后刷新字体缓存即可。
如果是企业环境,可以规定统一字体,例如:
避免使用特殊字体。
PDF 可以嵌入字体,因此显示更稳定。
很多企业在部署 OnlyOffice 时都会:
例如:
这样可以避免 90% 的字体问题。
可以用一句简单的话理解:
字体不仅决定“长什么样”,还决定“怎么排版”。
如果系统缺少字体,就可能导致:
在使用 OnlyOffice 或其他在线文档系统时,如果出现:
那么大概率就是字体缺失问题。
OnlyOffice最新版本镜像:https://moqisoft.github.io/docs/install/docker
中国版介绍:https://moqisoft.github.io/docs/product/summary
中国版技术交流:https://qm.qq.com/q/uMwFyL5Wn0
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。