我想要的是
我将Consolas
其用作 Notepad++ 的默认字体,但我希望使用时中文和日文字符和符号的外观更好Consolas
。
根据MSDN 文章,我可以链接多种字体,Consolas
以便它可以显示它自己不支持的字符。
目标
- 使用字体显示拉丁字符
Consolas
- 使用显示中文和日文字符
Microsoft YaHei
YaHei
显示无法处理的符号Meiryo
Meiryo
让系统处理无法显示的其余字符
实现目标的步骤
- 添加
REG_MULTI_SZ
条目Consolas
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink
设置值
Consolas
:MSYH.TTC,Microsoft YaHei,128,96 MSYH.TTC,Microsoft YaHei MEIRYO.TTC,Meiryo,128,85 MEIRYO.TTC,Meiryo
- 注销 Windows,然后重新登录
Windows 7 中的实际结果
- 拉丁字符(0-9、az、AZ)和常用符号(;:'", 等)使用以下方式显示
Consolas
- 中文和日文字符显示使用
Microsoft YaHei
- 特殊符号显示使用
Meiryo
- 上述字体不支持的其他字符和符号使用系统默认值显示(不知道那是什么)
Windows 10 中的实际结果
- 拉丁字符(0-9、az、AZ)和常用符号(;:'", 等)使用以下方式显示
Consolas
- 中文和日文字符显示使用
Microsoft YaHei
- 特殊符号显示使用
Segoe UI Symbol
- 以上字体不支持的其他字符和符号将使用系统默认设置显示
附加信息
(我需要 10 个代表来发布更多链接和图片,因此请单击图片链接查看测试用例结果截图并复制/粘贴 url 文本以自行访问该网站)
这是一个测试,试图了解上述字体的字符覆盖范围(以及更多)
使用的工具
- 记事本:
%WINDIR%/Notepad.exe
- Babel地图:
http://www.babelstone.co.uk/Software/BabelMap.html
测试字符串:
我风おA☃
我(\u6211): A character available in both Chinese and Japanese 风(\u98ce): A Chinese only character お(\u304a): A Japanese only character A(\u0041): A Latin character ☃(\u2603): A unicode symbol
测试步骤
- 下载 BabelMap,打开,然后将测试字符串复制到
Edit Buffer
- 选择
Single Font
单选按钮 - 勾选
Simple Rendering
复选框 - 通过单击右侧的下拉框选择任何字体
Single Font
- 观察字符字形
Edit Buffer
- 按照上面方法设置fontlink
Consolas
,注销/登录即可生效 - 打开
Notepad.exe
,打开Format > Fonts
菜单将字体设置为Consolas
- 粘贴测试字符串然后观察它
测试结果
测试结果解释
Microsoft YaHei
无法显示雪人符号Meiryo
没有汉字Segoe UI Symbol
仅包含符号Yu Gothic
类似Meiryo
但看起来不同Consolas
仅适用于拉丁文字。文本
Notepad.exe
使用 3 种不同的字体显示:我风お: Microsoft YaHei A: Consolas ☃: Segoe UI Symbol
你一定能看出来,
Segoe UI Symbol
因为那些雪人用不同的字体看起来非常不同但是,在这种情况下,我们希望
Notepad.exe
使用如下字体显示这些字符:我风お: Microsoft YaHei A: Consolas ☃: Meiryo
问题
- 为什么
Meiryo
我们在注册表中设置的fontlink被完全忽略了? - 如何在 Windows 10 中实现目标?
答案1
微软已决定在 Windows 10 中删除几种字体,其中之一就是 Meriyo
https://docs.microsoft.com/en-us/windows/deployment/windows-10-missing-fonts
可以通过观察 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink 来确认这一点
它必须在 Windows 7 中默认存在,并且在 Windows 10 中不会存在
您可以通过任意步骤在您的机器上安装 Meriyo ttc 文件