我想要的是

我想要的是

我想要的是

我将Consolas其用作 Notepad++ 的默认字体,但我希望使用时中文和日文字符和符号的外观更好Consolas

根据MSDN 文章,我可以链接多种字体,Consolas以便它可以显示它自己不支持的字符。

目标

  • 使用字体显示拉丁字符Consolas
  • 使用显示中文和日文字符Microsoft YaHei
  • YaHei显示无法处理的符号Meiryo
  • Meiryo让系统处理无法显示的其余字符

实现目标的步骤

  1. 添加REG_MULTI_SZ条目ConsolasHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink
  2. 设置值Consolas

    MSYH.TTC,Microsoft YaHei,128,96
    MSYH.TTC,Microsoft YaHei
    MEIRYO.TTC,Meiryo,128,85
    MEIRYO.TTC,Meiryo
    
  3. 注销 Windows,然后重新登录

Windows 7 中的实际结果

  1. 拉丁字符(0-9、az、AZ)和常用符号(;:'", 等)使用以下方式显示Consolas
  2. 中文和日文字符显示使用Microsoft YaHei
  3. 特殊符号显示使用Meiryo
  4. 上述字体不支持的其他字符和符号使用系统默认值显示(不知道那是什么)

Windows 10 中的实际结果

  1. 拉丁字符(0-9、az、AZ)和常用符号(;:'", 等)使用以下方式显示Consolas
  2. 中文和日文字符显示使用Microsoft YaHei
  3. 特殊符号显示使用Segoe UI Symbol
  4. 以上字体不支持的其他字符和符号将使用系统默认设置显示

附加信息

(我需要 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
    

测试步骤

  1. 下载 BabelMap,打开,然后将测试字符串复制到Edit Buffer
  2. 选择Single Font单选按钮
  3. 勾选Simple Rendering复选框
  4. 通过单击右侧的下拉框选择任何字体Single Font
  5. 观察字符字形Edit Buffer
  6. 按照上面方法设置fontlink Consolas,注销/登录即可生效
  7. 打开Notepad.exe,打开Format > Fonts菜单将字体设置为Consolas
  8. 粘贴测试字符串然后观察它

测试结果

测试用例结果对比

测试结果解释

  • 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 文件

相关内容