我怎么知道哪些程序和字体会支持我想要使用的某些unicode字符/字形?

时间:2016-05-27 21:05:15

标签: unicode fonts

查看这些字符,例如:

♥❤♡✰☆★☞☛❸➂✉

我注意到使用不同的字体(字体?)会导致某些字符正常显示,而其他字符则不会显示。

然后在某些情况下,根据所使用的程序,即使是相同的字体也会显示不同的字体。例如,使用" Courier New"在Notepad ++ 6.9中的字体,我可以看到所有这些字符都很好。但是使用" Courier New"在Netbeans IDE 8.0.2中,只有第一个心脏显示正确,所有其他字符显示为空白色方块。 (是的,两个程序都设置为以UTF-8打开文件。)

注意:虽然这不是一个纯粹的编程问题,但我觉得StackOverflow是一个合适的地方,因为除了开发人员之外,很少有人理解文本编码。我在Windows 10上。

我看过GUI: How can I find out if certain Unicode characters are supported?但不认为这有助于我。

This answer似乎暗示我可以单独查找每个字符,例如here,但这并不能帮助我弄清楚哪些字体可以处理所有一组特定字符,它似乎也没有回答我的问题的第二部分。我还认为this answer可能与查找支持许多字符的字体有关(但不一定特定于我需要的完整字符集)。

2 个答案:

答案 0 :(得分:1)

Windows上的字符映射和Mac OS X上的字体簿都支持查看特定字体的字形。

答案 1 :(得分:1)

这似乎是一个两部分问题:

  • 我怎么知道哪些程序会支持我想要使用的某些unicode字符/字形?
  • 我怎么知道哪些字体会支持我想要使用的某些unicode字符/字形?

我知道的第一个问题的唯一解决方案是测试。在Windows上,任何应用程序都可以访问和使用任何已安装的字体,但这意味着他们有机会这样做。

要解决第二个问题,(在Windows上)有一个免费实用程序(BabelMap)来显示哪些字体将支持任何字符组合。例如,在下面的屏幕截图中:

  • 从所有Unicode字符的列表中选择一串字符(3个希腊语,3个格鲁吉亚语,3个阿拉伯语),将它们放在编辑缓冲区中。

  • 然后,按字体... - >字体覆盖范围...... - >计算字体覆盖率生成支持希腊语,格鲁吉亚语和阿拉伯语中所有指定字符的13种字体列表。

    BabelMapExample

关于第一个问题,还值得注意的是,当特定的字符组合粘贴到命令提示符窗口时,会呈现希腊语和阿拉伯语字符,但格鲁吉亚字符不会。如果将其粘贴到 PowerShell 窗口,则只会呈现希腊字符。我想不出任何预先预测这些结果的方法;如上所述,找出答案的唯一方法是:

cmdPrompt

cmd