Ubuntu 20.04 解决WPS缺失Symbol、Wingdings等字体警告的完整指南

发布时间:2026/8/15 22:51:13
Ubuntu 20.04 解决WPS缺失Symbol、Wingdings等字体警告的完整指南 1. 问题缘起一个看似简单却影响深远的字体缺失警告如果你在Ubuntu 20.04 LTS上使用WPS Office大概率遇到过这个弹窗一打开WPS文字或表格一个醒目的提示框就跳出来告诉你“系统缺失字体 Symbol、Wingdings、Wingdings 2、Wingdings 3、MT Extra”。点击“确定”后虽然软件能正常使用但这个每次启动都出现的提示就像鞋里的一粒小石子不致命但膈应人。更关键的是当你打开一些从Windows平台传来的文档特别是那些使用了这些特殊符号字体的老文档或模板时排版可能会错乱原本精心设计的符号如项目符号、装饰元素、数学符号变成了一堆乱码或空白框直接影响文档的呈现效果和专业性。这个问题根植于操作系统间的字体生态差异。Symbol、Wingdings等字体是微软公司的核心字体集之一随着Windows和Office捆绑分发在Windows世界是“标配”。而Ubuntu等Linux发行版出于版权、打包策略和哲学差异默认不会包含这些专有字体。WPS Office为了兼容性在渲染文档时会调用这些字体名当在Linux系统里找不到时就会弹出缺失警告。解决它不仅仅是消除一个弹窗更是为了确保文档跨平台交换时的视觉保真度。下面我就结合多次在Ubuntu桌面环境部署的经验把这套“补全字体、一劳永逸”的解决方案拆解清楚。2. 核心思路拆解为何要补以及如何补面对这个提示很多人的第一反应是去网上搜索一个所谓的“WPS字体包”直接安装。这思路没错但我们需要理解其背后的逻辑才能避免踩坑。核心目标就一个让Ubuntu系统的字体目录里存在名为“Symbol.ttf”、“Wingdings.ttf”等文件并且被字体系统正确识别和索引。2.1 字体安装的两种路径与选择在Linux系统中字体安装主要有两种路径用户级和系统级。用户级安装字体文件放置在当前用户的家目录下的~/.fonts/或~/.local/share/fonts/目录。这种方式只对当前登录用户生效不需要管理员权限安全且隔离性好。适合个人临时测试或没有sudo权限的环境。系统级安装字体文件放置在/usr/share/fonts/或/usr/local/share/fonts/目录。这种方式对所有用户生效需要管理员权限。这是最彻底、最规范的解决方式尤其对于像WPS这样通常为所有用户安装的软件。对于这个“系统缺失字体”的问题我强烈推荐系统级安装。原因有三第一WPS提示的是“系统缺失”从逻辑上就应该在系统层面补齐第二如果你机器上有多个用户账户每个都装一遍太麻烦第三系统级安装更符合Linux的维护习惯便于后续管理和清理。因此接下来的操作我们将以系统级安装为主线。2.2 字体来源的可靠性与版权考量这些缺失的字体是微软的财产。虽然微软为Windows用户免费分发但其最终用户许可协议通常不允许随意再分发。因此直接从某些第三方网站下载所谓的“微软核心字体包”存在法律风险。一个合法且通行的做法是从官方或可信的渠道获取这些字体。一个经典的来源是ttf-mscorefonts-installer这个软件包。在Ubuntu的早期版本中它可以直接从官方仓库安装并引导用户接受EULA后自动下载安装这些核心字体。但在较新的Ubuntu版本包括20.04中由于证书等问题这个安装器可能无法正常工作。因此我们将采用更直接、可控的手动安装方式从一个合法拥有Windows系统或Office授权的中提取所需的字体文件。这是基于“你已从合法渠道获得这些字体文件”的假设进行操作确保了操作的合规性。3. 实操全流程从获取字体到完成配置假设你已经从一台合法的Windows 10/11电脑上提取了所需的字体文件通常位于C:\Windows\Fonts\目录下。你需要找到以下文件symbol.ttf,wingding.ttf,wingdng2.ttf,wingdng3.ttf,mt extra.ttf。请注意在Linux环境下字体名称是大小写不敏感的但为了规范我们通常使用小写文件名。3.1 步骤一准备字体文件与目标目录首先将准备好的字体文件例如symbol.ttf复制到Ubuntu系统中。你可以使用U盘、SCP命令或者任何你熟悉的文件传输方式。假设你把它们放在了用户家目录的Downloads文件夹里。打开终端我们将创建系统级的字体目录。虽然/usr/share/fonts/下已有一些子目录但为了管理清晰我们为其创建一个专属目录是一个好习惯。# 切换到管理员权限 sudo -i # 创建用于存放微软字体的专用目录 mkdir -p /usr/share/fonts/microsoft # 将下载的字体文件复制到该目录 cp /home/你的用户名/Downloads/symbol.ttf /usr/share/fonts/microsoft/ cp /home/你的用户名/Downloads/wingding.ttf /usr/share/fonts/microsoft/ cp /home你的用户名/Downloads/wingdng2.ttf /usr/share/fonts/microsoft/ cp /home/你的用户名/Downloads/wingdng3.ttf /usr/share/fonts/microsoft/ cp /home/你的用户名/Downloads/mt\ extra.ttf /usr/share/fonts/microsoft/ # 退出root身份 exit注意mt extra.ttf文件名中包含空格在命令行中需要用反斜杠转义mt\ extra.ttf或者用引号包裹mt extra.ttf否则会被当成两个参数。上面的命令使用了转义符。3.2 步骤二设置正确的文件权限字体文件不需要执行权限标准的644权限所有者可读写其他人只读即可。但目录需要755权限以便字体扫描程序能够访问。sudo chmod 644 /usr/share/fonts/microsoft/*.ttf sudo chmod 755 /usr/share/fonts/microsoft3.3 步骤三重建字体缓存这是最关键的一步。Linux系统不会实时监控字体目录的变化我们需要手动更新字体缓存让系统知道新字体的存在。# 更新整个系统的字体缓存 sudo fc-cache -fv命令解释fc-cache是 Font Config 工具的命令用于扫描字体目录并创建缓存。-f强制重建缓存即使时间戳看起来没问题。-v详细输出让你能看到它扫描了哪些目录、添加了哪些字体。看到类似“/usr/share/fonts/microsoft: caching, new fonts: 5”的输出就表示成功了。3.4 步骤四验证字体安装在重启WPS之前我们先确认系统是否真的识别了这些字体。方法一使用命令行查询# 查询字体列表中是否包含“Symbol” fc-list | grep -i symbol # 查询字体列表中是否包含“Wingdings” fc-list | grep -i wingdings如果安装成功你应该能看到包含字体路径和样式的输出行。方法二使用图形化工具查看在Ubuntu中你可以安装gnome-font-viewer或使用已有的字体管理软件。更简单的方法是打开一个支持选择字体的软件比如LibreOffice Writer在字体下拉列表中搜索“Symbol”或“Wingdings”如果能找到就证明安装成功了。完成以上步骤后完全关闭WPS Office确保所有进程退出可以用ps aux | grep wps查看并用kill命令结束然后重新启动。那个烦人的缺失字体提示框应该就此消失了。4. 疑难排查与进阶技巧即使按照步骤操作有时也会遇到问题。下面是我在多次部署中总结的常见坑点及解决方法。4.1 字体缓存更新了但WPS仍然提示缺失这是最常见的问题。可能的原因和解决方案如下WPS进程残留Linux下的WPS有时退出不彻底后台有残留进程。这些进程持有的仍是旧的字体环境。务必确保完全退出。# 查找所有WPS相关进程 ps aux | grep wps # 如果有使用kill命令终止它们例如 kill -9 进程ID然后再重新启动WPS。字体文件损坏或不匹配确保你复制的字体文件是完整的TrueType字体.ttf。可以尝试在Windows上用字体查看器打开确认。有时从网上下载的“字体包”可能被重新打包或损坏尽量使用原版系统提取的文件。字体目录权限问题再次检查/usr/share/fonts/microsoft/目录及其内部文件的权限。确保字体文件对其他用户是可读的chmod 644目录是可执行进入的chmod 755。多用户环境下的字体路径极少数情况下WPS可能以某种方式配置了独立的字体搜索路径。但标准情况下它依赖系统的Fontconfig。系统级安装对所有用户都是有效的。4.2 安装后字体在WPS中显示为中文名或乱码这是因为字体文件内部包含的多语言元信息name表导致的。Symbol字体在中文环境下可能被显示为“符号”Wingdings可能显示为“文鼎细钢笔行楷”这是一个经典的元数据错乱案例。这并不影响使用字体功能是正常的。如果你介意可以使用字体管理工具或修改字体元数据工具如fonttools库的ttx来调整但这属于高阶操作且可能违反EULA一般不建议普通用户进行。4.3 如何为其他软件或服务器环境安装这些字体如果你的Ubuntu是作为服务器运行上面有需要渲染文档的服务例如使用LibreOffice进行文档转换的Web服务同样需要这些字体。步骤完全一样将字体放入一个字体目录如/usr/share/fonts/microsoft/更新权限然后运行sudo fc-cache -fv。之后重启你的应用服务使其加载新的字体环境。4.4 更优雅的字体管理方案如果你需要管理大量字体或者经常添加/删除字体可以考虑使用更结构化的方式使用/usr/local/share/fonts/按照Linux的惯例/usr/local/用于存放本地安装的软件和文件与包管理器安装的内容在/usr/分开便于管理。你可以将字体安装在/usr/local/share/fonts/microsoft/。创建字体配置文件对于高级用户可以在/etc/fonts/conf.d/或用户目录的~/.config/fontconfig/conf.d/下创建XML配置文件来精细控制字体的别名、替换顺序和渲染参数。但对于解决WPS缺失字体这种简单需求手动安装已经足够。5. 效果验证与最终建议解决字体缺失问题后最大的提升在于文档兼容性。你可以尝试打开一个包含Wingdings符号的旧Word文档或者自己在WPS里插入符号选择“Wingdings”字体看看那些有趣的图形符号如电话、剪刀、笑脸是否都能正确显示。数学公式中使用的Symbol字体符号也应正常显示。最后分享一个我个人的维护习惯每次在Ubuntu上完成一套新的办公环境配置包括WPS、字体、输入法等后我会使用apt的mark功能将手动安装的字体包所依赖的一些基础库如fontconfig标记为“手动安装”并创建一个简单的安装脚本或笔记记录下所有步骤和字体文件的来源哈希。这样在未来重装系统或迁移到新机器时恢复一个完美的办公环境只需要几分钟。字体问题虽小却是Linux桌面办公体验中“最后一公里”的关键一环把它处理好能让你几乎忘记系统平台的差异专注于内容创作本身。