ms-office - Onenote 2016 画框字符显示为⍰
问题描述
解决方案
这不起作用的原因与您发现的字体无关。OneNote 根本不支持 unicode,正如这里报告的和相同的问题,但更普遍地也可以在本文中找到。
正如以下关于 Windows 10 版的摘录(但也应该主要适用于其他版本)解释,字体回退系统用于大多数应用程序,以帮助它们显示非字体中的字符。
所有 Windows 10 版本都包含提供广泛语言支持的字体,并且 Windows 平台包含字体回退机制,旨在确保任何语言的文本始终以清晰的字形而不是框显示。但某些应用程序可能会直接依赖特定字体来显示某些 Unicode 字符,并且不使用Windows 10 系统提供的字体回退机制”
(强调我的)
然而,这种解释忽略了 Windows 实际使用字体的方式以及为什么需要字体回退。Windows 中的大多数应用程序处理文本的方式是:
找到它想要的字体。根据应用程序,它可能会查找与其捆绑的字体文件,或者在 Windows 字体目录中查找该字体(如果它是常用字体)。
显示所选字体支持的字符。这包含要显示的字符,但不是全部,因为有137,174 个 Unicode 字符,为所有字符设计单一字体是不可能的,因为字体文件根本不能包含那么多字符。
但是,有一些字体系列正在尝试这样做,例如Google Noto。
如果应用程序使用它们来显示不受支持的 unicode,则使用“字体后备” 。Windows 知道没有字体文件可以支持所有 Unicode 字符,因此它有一个系统可以为不同的语言和 Unicode 部分插入字体。
OneNote 等较旧的应用程序可能以更手动的方式支持此部分或语言,但最终不使用字体回退系统,因此不支持所有 Unicode 字符。这导致下一步
Windows 显示“未定义”字形,如您所见,它通常具有矩形框的外观,可以在字体中“覆盖”,并且取决于操作系统甚至应用程序可能显示为黑色问号。
OneNote 之所以有这么多字体问题,是因为它是一个遗留程序。事实上,你所说的你使用的版本 OneNote 2016 正在落伍,因此不会再得到任何更新,所以除了使用不同的应用程序之外,可能没有解决这个问题的办法。
免责声明:我不是专家也不会假装是专家,我希望这是一个准确的解释,但不能保证。稍后我可能会将其变成社区 wiki,但我计划对此主题进行更多研究以验证它。
推荐阅读
- java - Firebase Auth:来自不同活动的getCurrentUser?
- c++ - 函数未返回所需的字符串
- symbolic-math - 基于加法(+)运算符 MAPLE 创建子表达式
- scala - 无法将 scala 对象转换为 spark 数据帧
- php - 使用 PHP 将图像插入 docx 文件的最简单方法
- actions-on-google - 为谷歌操作的函数中的值创建实体和训练短语
- android - 动态更改 ImageView 大小?
- vba - How to extract difference in minutes between two datetimes vba
- ruby-on-rails - rspec + rails_admin 在 /lib 中测试自定义 rails_admin 操作会出错
- javascript - 点击外部选择标签不会触发点击事件