Onenote 2016 方框绘图字符显示为⍰
Onenote 2016 box drawing characters are displayed as ⍰
我正在使用 MS Office 2016 windows 10.
一记
在我的电脑上,当我像这样放置方框绘图字符时:┴┻┷┸┸┵┶┹┺┐┐┘├┬┬┤┴┼┣┳┼
在 OneNote 2016 上 Windows 10 这些将显示为 ⍰⍰⍰⍰⍰⍰⍰⍰⍰┐┐┘⍰⍰⍰⍰⍰⍰⍰⍰⍰
。其中一些看起来像 missing
字形,但其中一些显示正确,我已经更改了字体但我仍然得到相同的结果。我还在不同的 Office 2016 产品上测试过它,但这只发生在 OneNote 2016 上。
任何可能的解决方案?
这不起作用的原因与您发现的字体无关。正如报道的那样,OneNote 根本不支持 unicode here and the same issue, but more generally can be found also in this article。
正如以下关于 Windows 10 版的摘录(但也应该主要适用于其他版本)所解释的那样,字体后备系统用于大多数应用程序以帮助它们显示字体中没有的字符。
All Windows 10 editions include fonts that provide broad language support, and the Windows platform includes font fallback mechanisms designed to ensure that text in any language always displays with legible glyphs rather than boxes. But some apps may take direct dependencies on particular fonts for displaying certain Unicode characters and do not utilize the font fallback mechanisms provided by Windows 10 systems"
(强调我的)
然而,这个解释忽略了 Windows 实际使用字体的方式以及为什么需要字体回退。 Windows 中大多数应用程序处理文本的方式是:
找到它想要的字体。 根据应用程序的不同,它可能会查找与它捆绑在一起的字体文件,或者在Windows常用字体目录。
显示所选字体支持的字符。 这包含要显示的字符,但不是全部,因为有 137,174 Unicode Characters 和设计一种字体用于所有这些是不可能的,因为一个字体文件根本不能包含那么多字符。
然而,有些字体 家族 正在尝试这样做,例如 Google Noto.
使用 "font fallbacks" 如果应用程序使用它们 来显示不受支持的 unicode。 Windows 知道没有字体文件可以支持所有 Unicode 字符,因此它有一个系统可以为不同的语言和 Unicode 部分插入字体。
OneNote 等较旧的应用程序可能以更手动的方式支持其中的部分或语言,但最终不使用字体回退系统,因此不支持所有 Unicode 字符。这导致下一步
Windows 显示 "not defined" 字形 这通常具有如您所见的矩形框的外观,这可以是"overridden"的一种字体,并且根据OS甚至应用程序可能显示为黑色问号。
OneNote 之所以有这么多字体问题,是因为它是一个遗留程序。事实上,您声明使用的版本 OneNote 2016 正在 Sunsetted,因此将不会再获得任何更新,因此除了使用不同的应用程序之外可能没有解决此问题的方法。
免责声明:我不是专家也不会伪装成专家,我希望这是一个准确的解释,但不能保证。稍后我可能会把它变成一个社区 wiki,但我打算更多地研究这个主题以验证它。
我正在使用 MS Office 2016 windows 10.
一记在我的电脑上,当我像这样放置方框绘图字符时:┴┻┷┸┸┵┶┹┺┐┐┘├┬┬┤┴┼┣┳┼
在 OneNote 2016 上 Windows 10 这些将显示为 ⍰⍰⍰⍰⍰⍰⍰⍰⍰┐┐┘⍰⍰⍰⍰⍰⍰⍰⍰⍰
。其中一些看起来像 missing
字形,但其中一些显示正确,我已经更改了字体但我仍然得到相同的结果。我还在不同的 Office 2016 产品上测试过它,但这只发生在 OneNote 2016 上。
任何可能的解决方案?
这不起作用的原因与您发现的字体无关。正如报道的那样,OneNote 根本不支持 unicode here and the same issue, but more generally can be found also in this article。
正如以下关于 Windows 10 版的摘录(但也应该主要适用于其他版本)所解释的那样,字体后备系统用于大多数应用程序以帮助它们显示字体中没有的字符。
All Windows 10 editions include fonts that provide broad language support, and the Windows platform includes font fallback mechanisms designed to ensure that text in any language always displays with legible glyphs rather than boxes. But some apps may take direct dependencies on particular fonts for displaying certain Unicode characters and do not utilize the font fallback mechanisms provided by Windows 10 systems"
(强调我的)
然而,这个解释忽略了 Windows 实际使用字体的方式以及为什么需要字体回退。 Windows 中大多数应用程序处理文本的方式是:
找到它想要的字体。 根据应用程序的不同,它可能会查找与它捆绑在一起的字体文件,或者在Windows常用字体目录。
显示所选字体支持的字符。 这包含要显示的字符,但不是全部,因为有 137,174 Unicode Characters 和设计一种字体用于所有这些是不可能的,因为一个字体文件根本不能包含那么多字符。
然而,有些字体 家族 正在尝试这样做,例如 Google Noto.
使用 "font fallbacks" 如果应用程序使用它们 来显示不受支持的 unicode。 Windows 知道没有字体文件可以支持所有 Unicode 字符,因此它有一个系统可以为不同的语言和 Unicode 部分插入字体。
OneNote 等较旧的应用程序可能以更手动的方式支持其中的部分或语言,但最终不使用字体回退系统,因此不支持所有 Unicode 字符。这导致下一步
Windows 显示 "not defined" 字形 这通常具有如您所见的矩形框的外观,这可以是"overridden"的一种字体,并且根据OS甚至应用程序可能显示为黑色问号。
OneNote 之所以有这么多字体问题,是因为它是一个遗留程序。事实上,您声明使用的版本 OneNote 2016 正在 Sunsetted,因此将不会再获得任何更新,因此除了使用不同的应用程序之外可能没有解决此问题的方法。
免责声明:我不是专家也不会伪装成专家,我希望这是一个准确的解释,但不能保证。稍后我可能会把它变成一个社区 wiki,但我打算更多地研究这个主题以验证它。