为什么 U+F061 字符粘贴到 Word 里会显示为小写希腊字母α?

2022-07-27 18:44:35 +08:00
 WangLiCha

Unicode 编码 F061 ,HTML 码为,这个字符在标准 Unicode 码表里是未定义字符,参考 https://unicode-table.com/en/F061/ ,在网页或者通常的文本编辑器里显示为方框里一个小问号。

就是它 → 

但是把这个字符复制到 Word 里(使用的版本为 Office 365 ,应该是最新版)就会会显示为小写希腊字母α(不信的话可以把上面的字符复制一下试试),而且字体无关,切换成什么字体都显示为一模一样的α。但如果新建一个公式,然后把该字符复制到公式里,依然是显示为方框里一个小问号。

同理往下推,U+F062()复制到 Word 里显示为β,但 U+F063()复制到 Word 里并不是显示为下一个小写希腊字母γ,而是χ。

这是怎么回事呢?背后是什么一个机制?

1814 次点击
所在节点    程序员
12 条回复
Constantping
2022-07-27 19:22:35 +08:00
什麽都沒有
顯示的空白
louzhichen
2022-07-27 19:36:24 +08:00
盲猜是 Segoe UI 这个字体拿没定义的码位放东西,正常的应该是 U+03B1
eason1874
2022-07-27 19:36:27 +08:00
随手搜了下,U+F061 是 PRIVATE USE AREA

私有码位,类似私有 IP 地址,怎么用取决于用户自己,在不同字符集里它们的用途是不一样的。显示为 α 应该是跟你 word 使用的字符集有关,可以换成别的试试
610915518
2022-07-27 20:09:48 +08:00
右击,粘贴选项,只保留文本。
loukky
2022-07-27 20:23:45 +08:00
用了个字库比较全的字体 显示这个符号
https://imgs3.loukky.com/imgs/2022/07/27/e3adc7349aaaf9c4.png
loukky
2022-07-27 20:27:44 +08:00
si
2022-07-27 20:38:41 +08:00
E000-F8FF:自行使用区域 (Private Use Zone)
这个范围是自定义的,显示成什么要看字体。
WangLiCha
2022-07-27 20:57:10 +08:00
我又试了一下:
打开 Word ,插入 > 符号 > 其他符号,字体选择 Symbol ,找到α并插入。在 Word 的界面上能看见字符码是 0x61 。插入的这个α也是无法调整字体的(编辑字体会发现他的字体不是 Symbol ,字体下拉列表也找不到 Symbol 这一项)。然后把这个α复制到外面就会变成方框,在 Unicode 查询网站上一查会发现这个方框的字符码其实是 U+F061 而不是 U+0061
WangLiCha
2022-07-27 21:01:56 +08:00
然后打开 C:\Windows\Fonts 目录,找到 symbol.ttf 。用字体编辑软件打开它(比如 FontCreator )可以看到实际字体的点位跟在 Word 里看到的是一样的,U+0061 对应的符号的形状就是个α。整个字体只有 188 个字符,并不包含 E000-F8FF 区域的内容
cnbatch
2022-07-27 23:56:43 +08:00
用 Word 2016 试了下,发现并不会显示成α,而是显示成这几种(根据字体的不同):空白、方框、方框内带叉号
7654
2022-07-28 00:15:31 +08:00
word2021
不同字体显示的不一样,有方框,有方框问号
α只有 symbol 显示
krixaar
2022-07-28 09:51:10 +08:00
Word 365 成功复现,感觉是有个莫名其妙的字体 fallback 规则错了

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

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

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

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

© 2021 V2EX