关于国际化:我需要了解有关多语言支持的字体和字符集的知识

What do I need to know about fonts and character sets for multi-language support

注意:我接受了一个答案,因为它很有帮助,而且我不希望很快得到另一个答案,但是问题仍然没有得到完全回答,因此我可以向任何这样做的人奖励。我猜我正在寻找的是一种流程图,该流程图确定给定的字体是否支持给定的语言。

我正在尝试整理一组字体。我需要知道哪些字体可以用于哪些语言。

我对字符集(拉丁语,西里尔字母,阿拉伯语)有一个粗略的了解,但是不足以将波兰变音符号分类为事物方案。

我想有两种方法可以解决我的问题:

  • 为每种语言设置测试字符。
  • 有一个备忘单,上面写着"某某语言需要拉丁扩展B",还有一种技巧可以检查给定字体是否包含这些字形。
  • 我没有足够的资源来解决方案2。我正在寻找一种节省劳力的解决方案。目前尚不清楚字体和语言的最终数量,我不希望执行O(M * N)任务。我可能必须执行选项1作为验证步骤,但是我想先减少搜索空间。

    有人可以告诉我如何按字符集对语言进行分组吗?

    有什么我应该知道的陷阱吗?


    我发现Cyber??bit字体涵盖了许多语言。

    Bitstream Cyberbit is a professionally-designed large Unicode font which provides coverage of many major scripts, including Latin, extended Latin, Greek, Russian, Hebrew, Arabic, Thai, Japanese (Hiragana, Katakana, and Kanji), Korean, and Chinese Hanzi (ideographs).

    这里是链接:cyberbit字体


    一个很好的问题,尽管有点通用。

    要求编号0是@Pawe吗? Dylda说,对所有内容都使用UTF-8。如果您已经知道这几天是必须的,那很好。由于某些原因,很多人仍然没有。

    另一个元提示是让您的应用程序非常清楚地知道它所显示的语言。例如,在HTML中,到处都使用lang和dir属性。如果不是HTML,请创建某种全局变量,以告知应用程序其正在显示语言X,其首选字体为Y。您还可能需要在用户界面语言和内容。 (要查看示例,请访问英语维基百科,打开一个帐户,然后转到首选项并选择法语作为您的语言-您会看到英语文章和法语菜单。很多人都觉得这很舒服,而且一点也不难实现。)

    然后,您需要了解您要定位的语言。如果您想将所有目标用户作为目标,那确实很棒,尽管这可能会带来挑战。

    对于拉丁语,您很可能不必太费劲就可以将语言分为"西方","东欧","南欧","土耳其语","越南语"等组。常见的Web浏览器和文字处理器,但实际上这种方法已经过时了。您会发现一种很好的字体,它覆盖了德语,法语,波兰语,土耳其语,甚至越南语和非洲语言,这些语言使用了许多变音符号。尝试使用SIL的Gentium和Doulos以及GNU Free字体。它们都是免费的。

    从理论上讲,阿拉伯文字可以说相同,但是很明显,阿拉伯,波斯和乌尔都语的要求有些不同,即使它们都使用相同的书写系统。通常,您可能必须为阿拉伯语使用通用阿拉伯字体,并为乌尔都语提供其他字体(例如Nafees)。在这里,也请使用母语人士进行测试。

    对于西里尔字母,请尽量使用不仅包含俄语字母,而且还包含乌克兰语,塞尔维亚语和哈萨克语的字体,因为使用这些语言的国家/地区要求他们提供良好的支持。对于西里尔语来说,这是最低限度的最低要求,但是您会找到一种也支持俄罗斯其他语言(如萨哈和阿布哈兹语)的字体,从而对自己和很多其他人有所帮助。 GNU Free Font也可以在这里为您提供服务,但是再一次-与人们一起测试。

    印度的语言是一个很大的麻烦-那里有很多书写系统和字体。好消息是,Fedora和Ubuntu等Linux发行版中大多数都包含字体,并且它们可以免费在其他应用程序中重复使用。洛希特(Lohit)家族涵盖了印度的大多数语言。还可以看看Meera和Rachana的马拉雅拉姆语。

    我对诸如泰语,缅甸语,高棉语和老挝语之类的东南亚语言了解不多,但也尝试支持这些语言。自Windows NT 4以来,大多数操作系统都很好地支持泰语,但是对其他语言的支持非常零散,因此请假定该操作系统对您没有帮助。

    我的最后一个提示是看一下jquery.webfonts库和相应的MediaWiki扩展" Universal Language Selector"(也称为ULS):
    * https://github.com/wikimedia/jquery.webfonts
    * https://www.mediawiki.org/wiki/Extension:UniversalLanguageSelector

    它提供了可移植的技术,可轻松将Web字体添加到Web应用程序。如果您不是在开发Web应用程序,或者由于其他原因无法使用该库,您仍然可以使用在该存储库中找到的字体-它们涵盖了许多语言,并且都是免??费的。

    (免责声明:我参与了这些库的开发。)