确定性地查找哪些已安装的字体支持给定的 Unicode 字符或脚本?

确定性地查找哪些已安装的字体支持给定的 Unicode 字符或脚本?

作为语言和书写系统的爱好者,我经常遇到一个问题:

我安装了许多字体,其中许多字体支持多种语言的多种书写系统(脚本)。(我的操作系统是 Windows 7)

有时我想确切地知道我安装的哪个字体子集支持特定的书写系统或特定的字符。

如何获取系统上某个字符串/字符/语言/书写系统的字体列表?

我会接受一个可以检查的网站、一个已经包含在 Windows 7 中的工具、一个我需要下载的工具等等。

(我意识到有些字体可能包含字符,但缺乏足够的数据来正确呈现单词。我可以接受这个和类似的限制。)

答案1

我发现了一个 2007 年推出的旧工具,它具有这个功能,但有点隐蔽:

查尔马普托下载来自在博客“国际化食谱”中发表文章

  1. 首先,您需要找到字符的 Unicode 十六进制代码,或 Unicode 脚本范围的开头。
    该工具似乎不包含此功能,但找到它的一种方法是进行 Google 搜索,包括您要查找的字符和关键字“fileformat”。fileformat.info 网站将为您提供代码。

  2. 使用 CharMapEx 的工具栏转到该范围。

  3. 无论默认加载的字体是否包含该角色,都会有一个框用于您的角色。如果不包含该角色,该框将为红色,但可能仍会以后备字体呈现该角色。

  4. 右键单击您的角色的框,即使它只是一个方框或问号等。您将看到一个弹出菜单。

  5. 从弹出菜单中选择“查找包含字形的字体”。

  6. 现在将打开一个对话框,其中包含所有本地安装的字体的名称列表,这些字体包含此字符的字形。遗憾的是,您无法复制和粘贴该列表,但您可以单击任何项​​目,然后显示将使用该字体进行更新。

答案2

要获取 Windows 中所有已安装字体的列表,您可以使用命令:

reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts"

要仅列出 truetype 字体,您可以使用以下命令:

reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts"|findstr TrueType

如果你想查看所有非 truetype 字体,请按如下方式使用 findstr:

...|findstr -v TrueType 

相关内容