Fonts 对于多语言支持的字体和字符集,我需要了解什么

Fonts 对于多语言支持的字体和字符集,我需要了解什么,fonts,internationalization,alphabet,Fonts,Internationalization,Alphabet,注意:我接受了一个答案,因为它是有帮助的,我不希望很快得到另一个答案,但这个问题仍然没有完全回答,所以我可以奖励任何有帮助的人。我想我要找的是一种流程图,它决定给定字体是否支持给定语言 我正在尝试组合一套字体。我需要知道哪些字体可以用于哪些语言 我对字符集(拉丁语、西里尔语、阿拉伯语)有粗略的了解,但还不足以将波兰语的发音符号归类到事物的结构中 我想有两种方法可以解决我的问题: 为每种语言设置一个测试字符集 有一张写着“某某语言需要拉丁文扩展B”的备忘单,还有一个检查给定字体是否包含这些字形的技

注意:我接受了一个答案,因为它是有帮助的,我不希望很快得到另一个答案,但这个问题仍然没有完全回答,所以我可以奖励任何有帮助的人。我想我要找的是一种流程图,它决定给定字体是否支持给定语言

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

我对字符集(拉丁语、西里尔语、阿拉伯语)有粗略的了解,但还不足以将波兰语的发音符号归类到事物的结构中

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

  • 为每种语言设置一个测试字符集
  • 有一张写着“某某语言需要拉丁文扩展B”的备忘单,还有一个检查给定字体是否包含这些字形的技巧
  • 我没有选择2的好资源。我正在寻找一个省力的解决方案。目前还不知道字体和语言的最终数量,我不想要O(M*N)任务。我可能需要执行选项1作为验证步骤,但我想先减少搜索空间

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


    有什么我应该知道的通病吗?

    问得好,虽然有点笼统

    正如@PawełDylda所说,第0项要求是在所有情况下都使用UTF-8。如果你已经明白,这是必须的这些天,那么它的罚款;出于某种原因,很多人仍然不这样做

    另一个元技巧是让您的应用程序非常清楚地知道它显示的是哪种语言。例如,在HTML中,到处使用lang和dir属性。如果不是HTML,则创建某种全局变量,告诉应用程序它正在显示语言X,首选字体是Y。您可能还需要在用户界面语言和内容语言之间有明确的分隔。(要查看这样一个例子,请访问英语维基百科,开设一个帐户,然后转到首选项并选择法语作为您的语言,您将看到英语文章和法语菜单。相当多的人觉得这很舒服,而且实现起来一点也不难。)

    然后你需要了解你的目标语言。如果你想把所有的目标都瞄准,那就太棒了,尽管这可能很有挑战性

    对于拉丁语,你可能不需要太努力地将语言分成“西欧”、“东欧”、“南欧”、“土耳其语”、“越南语”等组。这是在常见的web浏览器和文字处理器中完成的,但实际上这种方法已经非常过时了。你可以找到一种很好的字体,它涵盖了德语、法语、波兰语、土耳其语,甚至越南语和非洲语,这些语言使用了大量的变音符号。尝试SIL的Gentium和Doulos以及GNU免费字体。他们都是免费的

    从理论上讲,阿拉伯语脚本也是如此,但显然,阿拉伯语、波斯语和乌尔都语的要求有所不同,尽管它们都使用相同的书写系统。通常,您可能需要为阿拉伯语使用通用的阿拉伯语字体,并为乌尔都语提供不同的字体(例如,Nafees)。在这里,也要用母语人士进行测试

    对于西里尔语,请尽量使用不仅包含俄语字母,还包含乌克兰语、塞尔维亚语和哈萨克语的字体,因为使用这些语言的国家需要对其提供良好的支持。这是西里尔文的最低要求,但如果你能找到一种同样支持俄罗斯其他语言(如萨哈语和阿布哈兹语)的字体,你会帮你自己和其他很多人的忙。GNU免费字体也可以在这里为您服务,但再一次-用人测试它

    印度的语言是一个巨大的麻烦-那里有很多书写系统和字体。好消息是,Linux发行版,如Fedora和Ubuntu,大多数都包含字体,并且可以在其他应用程序中免费重用。Lohit家族覆盖了印度的大部分语言;看看玛拉雅兰的米拉和拉查娜

    我对东南亚语言不太了解,比如泰语、缅甸语、高棉语和老挝语,但我也努力支持这些语言。自WindowsNT4以来,大多数操作系统都很好地支持泰语,但对其他语言的支持非常零散,因此假设操作系统在这方面对您没有帮助

    我的最后一个技巧是查看jquery.webfonts库和相应的MediaWiki扩展“通用语言选择器”(又称ULS): * *

    它提供了可移植技术,可以方便地将webfonts添加到web应用程序中。如果您没有开发web应用程序,或者由于其他原因无法使用该库,您仍然可以使用存储库中提供的字体,这些字体涵盖多种语言,并且都是免费的


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

    我发现Cyberbit字体涵盖了多种语言

    Bitstream Cyberbit是一种专业设计的大型Unicode字体,涵盖多种主要脚本,包括拉丁语、扩展拉丁语、希腊语、俄语、希伯来语、阿拉伯语、泰语、日语(平假名、片假名和汉字)、韩语和汉语汉字(表意文字)


    这是链接:

    您需要这些信息做什么?您是否为某些操作系统/Windows管理器实施字体回退机制?我这样问是因为通常你需要做的就是使用正确的字符编码(即UTF-8或UTF-16),让操作系统为你做回退。顺便说一下:。