81

Google Web 字体选择字符集

Google Web Fonts 上的某些字体支持多个“字符集”。问题是,如果我使用的网络字体只提供“拉丁”字形,将页面翻译成不支持字形的语言的用户会清楚地注意到混乱的文本。

我希望我的网络字体支持除英语之外世界上最流行的语言,例如西班牙语、德语、法语等。

为此,我想知道,“拉丁语”和“拉丁语扩展”分别适合哪些语言。

我希望答案看起来像:

Latin Character Set & Supported Languages:

- ..........
- ..........
- ..........

Latin-Extended Character Set & Supported Languages:

- ..........
- ..........
- ..........

我在 Google Web Fonts 文档或谷歌搜索中找不到此信息。

4

1 回答 1

126

拉丁

又名 Unicode Latin1-Supplement(U+0080 到 U+00FF)旨在主要支持西欧语言(正如您提到的法语、德语、西班牙语、葡萄牙语、意大利语、爱尔兰语、冰岛语、斯堪的纳维亚国家的语言以及无意中的其他语言在下面的列表中提到)。标准 ASCII 支持英语。ASCII(前 127 个字符,其中 95 个是 U+0020 到 U+007E 的字形)被放置为 Unicode 中名为 Basic Latin 的第一个块。该块被认为是“拉丁”的一部分,即使在非拉丁字体中也通常受支持,允许它们用作系统字体(大多数非本地化的低级程序都有 ASCII 硬编码)。

拉丁语扩展

谷歌字体上的拉丁语扩展意味着实际上阻止了拉丁语扩展-A(U+0100 到 U+017F)应该(与“Latin”结合)支持所有基于欧洲的拉丁文字。互联网出现在美国,因此 ASCII 是它的本机代码。然后为 8 位代码页的上半部分定义了 ISO-8859-1 (Latin1) 标准以支持西欧,并将其转换为 Latin1-Supplement Unicode 块。其他 8 位 ISO-8859 欧洲拉丁标准(Latin 2 East、Latin 3 South、Latin 4 North)被合并并移至 Latin-Extended-A 块。这些拉丁语标准与拉丁语 1 共享许多字符,因此“拉丁语扩展”范围内的几乎所有欧洲语言(马耳他语、拉脱维亚语、立陶宛语除外)也需要 Latin1-Supplement。这意味着“拉丁扩展”字体通常但不一定是“拉丁”类别的超集。

在 Unicode 中,还有 Latin-Extended-B 块,主要增加了对非欧洲拉丁字母、阿塞拜疆语 Ə 和罗马尼亚语 Ș, Ț 的支持(以修复之前的错误),但这些字符通常被替换为 Ä、Ş、Ţ 从Extended-A(尽管我的罗马尼亚朋友告诉我这是不可接受的替代品)。支持还包括越南语Ơ、Ư(但这在 Google 字体上有自己的类别)和一些非洲语言,这些语言也需要拉丁扩展附加块。

Google 的拉丁语扩展类别大多不支持非洲拉丁语(兼容的 Google 字体列表如下)。还有更多奇特的 C、D 和 E 扩展名(总共 252 个字符),其中包含过时且如今大多无用的字母和符号。下表总结了这一点(不是 100% 正确,只是为了了解块的主要意图):

--------------------------------------------------------------------
| Unicode Latin Set         | Latin Support       | Google Name    |
|==================================================================|
| Basic Latin (aka ASCII)   | English             |                |
| Latin1-Supplement         | Western European    | Latin          |
|------------------------------------------------------------------|
| Latin Extended A          | European based      | Latin Extended |
|------------------------------------------------------------------|
| Latin Extended B          | non-European        | Vietnamese     |
|------------------------------------------------------------------|
| Latin Extended Additional | African             |                |
|------------------------------------------------------------------|
| Latin Extended C, D, E    | Historical, Exotic  |                |
--------------------------------------------------------------------

Google 如何对字体进行分类

大多数作者通过 Unicode 块创建他们的字体,其中一些只支持选定的语言。如果语言包含拉丁语扩展 A 块中的某些字符,Google 会将其置于拉丁语扩展类别中。例如,Lato 字体仅支持波兰字符(作者是波兰人),但它属于 Google 的“拉丁扩展”类别,并且在网络上没有关于它的信息。(现在字体详细信息中有字形选项卡,但它不会显示字体中的所有字形。)

Google 字体上的“语言”过滤器相当混乱和不清楚:它包含梵文(不是一种语言,而是书写系统和 Unicode 块)、“拉丁语”和“拉丁扩展”(不是语言,而是 Google 的伪块)以及一些使用其他块中的某些字符的语言。那里没有明确的区分块支持和语言支持,也没有完全或部分支持。暂时,找出这一点的唯一方法是尝试显示下面列表中的字符。

语言支持

从下面在Omniglot和其他来源 检查的拉丁字母列表中,我不计算:

  • 拉丁语扩展的二合字母,通常被单独的字符替换(Æ 由 Latin1-Supplement 支持,ß 曾经是二合字母)
  • 非拉丁字母,因为问题是关于拉丁语与拉丁语扩展的。有些语言使用两种书写系统:我不包括那些拉丁语很少见的语言(如阿布哈兹语),直到正式采取措施(如哈萨克语)
  • 少数民族和死语言(阿迪格语、阿拉贡语、阿奇语、阿伦特语、旧波罗的海语言、比斯拉马语、辛布里亚语、查莫罗语、楚瓦什语、塞浦路斯语、达莱卡利语、埃斯特雷马杜兰语、法拉语、埃尔夫达利语、法罗语、弗里斯兰语、吉尔伯特语、热那亚语、格洛萨语、海达语和爱斯基摩-阿留申语)语言, Ikizu, Iñupiaq, Latgalian, Istriot, Livonian, Ladin, Kashubian, Marshallese, Mirandese, Old Norse, Nuxalk, Occitan, Romansh, Rotokas, Sami languages, Samoan, Upper and Lower Sorbian, Tahitian, Tawlu, Tetum, Tongan, Ulithian , Yapese, Zuni, 印度本土拉丁字母)
  • 政治上宣布的语言,它们只是其他语言的一种方言,并且具有相同的拼写法(美式英语、波斯尼亚语、黑山语)
  • 洋泾浜和克里奥尔语(如阿尔萨斯语),因为它们很难在两种语言之间进行分类和混合,而字母表是这两种语言的子集(它们往往会在其原始语言中及时溶解)
  • 最新版本的字母表中未使用的历史字符(如双重音符、ſ、ĸ)
  • 不是语言不可分割的一部分的货币符号
  • 几乎是语言学家专有的音译字符,即拼音、国际音标、UPA

如果缺少重要内容或在电子通信中使用了某些少数民族语言,请发表评论。粗体是官方的主要国家语言。在此列表中,至少有数十万人使用的语言。

ASCII(基本拉丁文,即使在非拉丁字体中也经常支持)

古典拉丁语、艾马拉语(玻利维亚)南非荷兰语(南非)、阿斯图里亚斯语(西班牙)、科苏语(法国)、荷兰语斐济语英语格陵兰语、盖尔语(苏格兰)、吉尔伯特语(基里巴斯)、海地语、希利盖农语(菲律宾)、伦巴第语(意大利)、马来语、绍纳语(津巴布韦)、西西里语、斯瓦希里语(中非)。

拉丁

  • 罗马尼亚语(巴尔干) Ã
  • 布列塔尼 (法国) Â, Ê, Î, Ô, Û, Ù, Ü, Ñ
  • 阿尔巴尼亚语Ç, Ë(Ç 不是 Arbëresh 方言)
  • 加泰罗尼亚语 À, É, È, Í, Ï, Ŀ, Ó, Ò, Ú, Ü, Ç (来自 Ext-A 的 Ŀ 可以写成 L,带有插断·字符)
  • 宿务(菲律宾)Ñ
  • 丹麦语Æ, Å, Ø
  • 芬兰语Å, Ä, Ö, Š, Ž (Š, Ž 来自 Ext-A 很少使用,可以使用 S, Z)
  • 菲律宾语Á, À, Â, É, È, Ê, Ë, Í, Ì, Î, Ñ, Ó, Ò, Ô, Ú, Ù, Û
  • 法语Æ, Œ, Â, À, É, È, Ê, Ë, Ç, Î, Ï, Ô, Ù, Û, Ü, Ÿ, », «(来自 Ext-A 的 Œ 用于路标,但人们通常使用oe 在消息中,罕见的来自 Ext-A 的 Ÿ 仅在法语名称中,其余包括 ÿ 在 Latin1-supplement 中,背后的故事 [fr]维基百科上的注释 [en]
  • 德语Ä、Ö、Ü、ß
  • 冰岛语Æ, Á, É, Í, Ó, Ö, Ú, Ý, Þ, Ð
  • 爱尔兰语Á, É, Í, Ó, Ú
  • 意大利语Ì, Ù, ª, º(最后两个有时会加下划线,在英语中也流行于 Numero - Nº)
  • 卡西语(印度) Ñ, Ï
  • 卢森堡语Ä, Ë, É
  • 挪威语Æ, Å, Ø
  • 皮埃蒙特语(意大利)Ë, Ò
  • 盖丘亚语(玻利维亚)Ñ
  • 葡萄牙语Á, Â, Ã, À, Ç, É, Ê, Ó, Ô, Õ, Ú, ª, º
  • 撒丁岛(意大利)Ç
  • 西班牙语、加利西亚语和巴斯克语(又名 Eskara)(西班牙)Ñ、¿、¡、ª、º
  • 瑞典语Å、Ä、Ö

拉丁语扩展

  • 阿塞拜疆Ç、Ğ、I(无点小写)、İ、Ö、Ş、Ü、Ə(Ext-B 中的Ə 可替换为 Ä,然后与土耳其语相同)
  • 克里米亚鞑靼语(俄罗斯)Â、Ç、Ğ、I(无点小写)、İ、Ñ、Ö、Ş、Ü
  • 捷克语Á, Č, Ď, Ě, É, Í, Ň, Ó, Ř, Š, Ť, Ú, Ů, Ý, Ž
  • 爱沙尼亚语Ä、Ö、Õ、Ü、Š、Ž
  • 世界语(国际)Ĉ, Ĝ, Ĥ, Ĵ, Ŝ, Ŭ
  • 弗留利语(意大利) Â, Ê, Î, Ô, Û
  • Gagauz (摩尔达维亚) Ä, Ç, Ê, I (无点小写), İ, Ö, Ş, Ţ, Ü
  • Guaraní (巴拉圭) Á, Í, Ó, Ã, Ẽ, G̃, Ĩ, Ñ, Õ, Ũ, Ỹ (Ĩ, Ũ 来自 Ext-A, Ẽ, Ỹ 来自 Ext-Additional, G̃ 不在 Unicode 中,只有结合变音符号)超出 Ext-A 范围的字符通常用抑扬符(Ê、Ĝ、Î、Û、Ŷ)转录
  • 夏威夷语 Ā, Ē, Ī
  • 匈牙利语Á、É、Í、Ó、Ö、Ő、Ú、Ü、Ű
  • 哈萨克语(2017-2025 计划从西里尔字母转移)Ä、Ç、Ğ、I(无点小写)、İ、Ŋ、Ö、Ş、Ü(多次修订,2019 版
  • 库尔德语Ç, Ê, Î, Ş, Û
  • 拉脱维亚语Ā, Č, Ē, Ģ, Ķ, Ī, Ļ, Ņ, Ō, Ū, Ŗ, Š, Ž
  • 立陶宛语 Ą, Č , Ę, Ė, Į, Š, Ų, Ū, Ž
  • 马耳他语Ċ, Ġ, Ħ
  • 毛利人 Ā、Ē、Ī、Ō、Ū(少数民族,但自 2015 年以来更广为人知和流行)
  • 波兰语Ą, Ć, Ę, Ł, Ń, Ó, Ś, Ź, Ż
  • 罗姆语(国际)Č,Š,Ž(口语,但很少书面语言)
  • 罗马尼亚语Ă, Â, Î, Ș, Ț(Ș, Ț 来自拉丁语 Ext-B,可以使用 Ş, Ţ 来自 Ext-A)
  • 萨米语(北方,少数民族语言,但在 Ext-A 中有一个专属的 Ŧ)Á, Č, Đ, Ŋ, Š, Ŧ, Ž
  • 塞尔维亚-克罗地亚语Ć, Č, Đ, Š, Ž
  • 斯洛伐克语Ä, Á, Č, Ď, É, Í, Ĺ, Ľ, Ň, Ó, Ô, Ú, Š, Ŕ, Ť, Ý, Ž
  • 斯洛文尼亚Č, Š, Ž
  • 鞑靼语(自 2012 年起)Ä、Ç、Ğ、İ、I(无点小写)、Ñ、Ö、Ş、Ü
  • 土耳其语Ç、Ğ、I(无点小写)、İ、Ö、Ş、Ü
  • 越南语Ă, Â, Đ, Ê, Ô, Ơ, Ư (Ơ, Ư 在 Ext-B 中加上组合音调 0x300 重音 À, 0x301 锐音 Á, 0x303 波浪线 Ã, 0x309 钩上 Ả, 0x323 点下 Ạ, 见结合下面的变音符号,在谷歌字体上有一个特殊的类别)
  • 威尔士语 Â, Ê, Î, Ô, Û, Ŵ, Ŷ

拉丁扩展,非洲(拉丁扩展字体大多不支持)。完全支持非洲字母的有 Ubuntu、Fira Sans、EB Garamond、Tinos、News Cycle、Didact Gothic、M Plus、Sawarabi、Cousine、Caudex、Judson、Andika(当然还有 Noto,见下文)

  • 巴里(刚果)Ŋ, Ö
  • 班巴拉(马里)Ɛ、Ɲ、Ɔ(全部来自 Ext-B)
  • 柏柏尔语 (Tuareg) (撒哈拉) Ă, Ḍ, Ɣ, Ǝ, Š, Ž, Ḥ, Ḷ, Ṣ, Ṭ, Ẓ (Ɣ, Ǝ 来自 Ext-B, chars with dot below from Ext-Additional)
  • 奇切瓦(切瓦)(东非) Ŵ
  • Dagbani (刚果) Ɛ, Ɣ, Ɔ, Ŋ, Ʒ (Ɛ, Ɣ, Ɔ 来自 Ext-B)
  • 丁卡语(苏丹) Ä, Ë, Ɛ, Ɛ̈, Ɣ, Ï, Ŋ, Ö, Ɔ, Ɔ̈(Ɛ, Ɣ, Ɔ 来自 Ext-B,Ɛ̈, Ɔ̈ 不在 Unicode 中,只能结合变音符号)
  • Fula(西非)Ɓ、Ɗ、Ƴ、Ŋ(Ŋ 来自 Ext-A,其余来自 Ext-B)
  • 豪萨语(乍得) Ɓ, Ɗ, Ƴ, Ƙ, R̃ (R̃ 不在 Unicode 中,只有组合变音符号,其余来自 Ext-B)
  • 伊博语(尼日利亚) Ṅ, Ị (Ext-Additional)
  • 马达加斯加语(马达加斯加) N̈(Unicode 中没有,只有结合变音符号,可以用拉丁语中的 Ñ 代替)
  • 泛尼日利亚语 Ɓ、Ɗ、Ǝ、Ẹ、Ị、Ƙ、Ṣ、Ụ(Ɓ、Ɗ、Ǝ、Ƙ 来自 Ext-B,Ẹ、Ị、Ṣ、Ụ 来自 Ext-Additional)
  • Wolof (塞内加尔) À, É, Ë, Ñ, Ŋ, Ó
  • 约鲁巴语(西非)Ẹ, Ọ, Ṣ (Ext-Additional + 组合声调 Á, À, Ā)

组合变音符号

或者,字体可能支持组合变音符号块:U+0300 到 U+036F。例如,Ř可以输入为U+0158(aka precomposed character)或R+ U+030C。支持 Unicode 的程序应该同时显示和处理相同的内容,并提供一些 API 来处理它 - 比如String.normalize()来分解变音符号 - 但是如果程序或字体不支持曲目,组合变音符号可能会结束一点错位(比如Ɛ̈上的变音符号太低,它似乎在这个字体中得到了修复),请参阅这个关于这个主题的非常详细的 Unicode Q&A 。

拉丁语中的非拉丁字符

许多拉丁字体支持拉丁范围之外的一些字符,因为它们在拉丁文本中很常见,即:

  • 希腊语 μ(用作希腊语和科普特语 Unicode 块 U+0370 到 U+03FF 的)以及可能用作常用符号的其他一些字母(λ、π、α、β、γ、δ、ε、Σ、Ω)- 一半谷歌的拉丁扩展字体缺乏对这一字体的支持
  • 项目符号(用于从 Unicode 块 U+2000 到 U+206F 的列表中)
  • 开始和结束引号“,”,','以及它们的低开始版本“和” - 请参阅维基百科上引号的正确使用
  • 破折号U+2010 到 U+2015,请参阅Wikipedia上破折号的正确用法
  • 可能是从 U+20A0 到 U+20CF 的一些货币符号(€ 在 Google 字体中最常见且得到很好的支持)

如果您的字体不支持它们,我建议您尝试看看它如何与这句话中的后备字体结合使用(复制和粘贴,包括项目符号)

• “我们销售μF-mF 范围内的‘便宜’电容器,每包2 欧元”</p>

自定义字体

您可能希望通过Font Squirrel服务自定义一些字体(如果他们的许可证允许)或将它们用作备份。

具有大量字符的字体:

  • 我真的很喜欢漂亮的 serif Quivira开放式字体,11+k 个字符,1.5 MB
  • 许多计算机都安装了 Arial Unicode(MS Office 的一部分,50+k 个字符,22 MB)
  • 谷歌有一个Noto 项目,其中包含衬线、无衬线和 UI 字体中的所有但最新的 unicode 字符,按块支持很好地排序(1.1 GB)
  • 作为最后的备用字体,你可能会考虑丑陋的Unifont(50+k 个字符,但只有 11 MB 和嵌入式设备友好)

如果你真的喜欢一些不支持某些变音符号的字体,使用 Font Forge 很容易添加支持。在那种情况下,请仔细阅读字体许可:从法律的角度来看,字体是软件。

于 2013-02-15T15:24:04.327 回答