谷歌Web字体上的一些字体支持多个“字符集”。问题是,如果我使用的web字体只提供“拉丁”字形,用户将页面翻译成不支持字形的语言时,会清楚地注意到混乱的文本。
我希望我的网页字体支持最流行的语言在世界上除了英语,例如,西班牙语,德语,法语等。
出于这个目的,我想知道,“拉丁”和“拉丁扩展”到底是针对哪种语言的。
我想答案应该是这样的:
Latin Character Set & Supported Languages:
- ..........
- ..........
- ..........
Latin-Extended Character Set & Supported Languages:
- ..........
- ..........
- ..........
Unicode Latin1-Supplement(U+0080至U+00FF)主要用于支持西欧语言(如您提到的法语、德语、西班牙语、葡萄牙语、意大利语、爱尔兰语、冰岛语、斯堪的纳维亚国家的语言,以及以下列表中无意中提到的其他语言)。标准ASCII支持英语。ASCII(前127个字符,其中95个是U+0020到U+007E)是Unicode中的第一块,命名为Basic Latin。该块被认为是“拉丁”的一部分,通常即使在非拉丁字体中也被支持,以在基于拉丁的系统上正确显示字体名称。
在谷歌字体上拉丁扩展意味着实际上块拉丁扩展-A(U+0100到U+017F),它应该(与“拉丁”结合)支持所有基于欧洲的拉丁书写文本。Internet出现在美国,所以ASCII是它的原生代码。然后html" target="_blank">定义了支持西欧的8bit码页上半部分的ISO-8859-1(Latin1)标准,并将其转化为Latin1-Supplement Unicode块。其他8bit ISO-8859欧洲拉丁标准(拉丁2 East,拉丁3 South,拉丁4 North)移至拉丁-扩展-A块。标准拉丁2,3,4与拉丁1共用许多字符,因此几乎所有“拉丁扩展”范围内的欧洲语言(马耳他语,拉脱维亚语,立陶宛语除外)也都需要拉丁1-补充。这意味着“拉丁扩展”字体通常是“拉丁”类别的超集(但并不总是,看看下面Google是如何对字体进行分类的)。
在Unicode中,还有拉丁扩展B块,它增加了对非欧洲国家字母的支持,字符,(但它们经常被Extended-A中的“,”替换为“,”,“)和越南语(但这在Google fonts中有自己的类别),以及一些非洲语言,它们也需要拉丁扩展B块。
非洲拉丁语言大多不被谷歌的拉丁扩展类别所支持(兼容的谷歌字体列表如下)。还有更奇特的C、D和E扩展(共252个字符),其中包含过时的、如今大多无用的字母和符号。下表对此进行了总结:
--------------------------------------------------------------------
| 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 | |
--------------------------------------------------------------------
大多数作者通过Unicode块创建字体,其中一些只支持他们的母语。如果该语言包含一些来自拉丁扩展块的字符,谷歌也会将其归入拉丁扩展类。例如,Lato字体只支持波兰语字符(作者是波兰人),但它属于谷歌的“拉丁扩展”类别,网络上没有关于它的信息。(现在在字体详细信息中有字形选项卡,但它并不显示字体中的所有字形。)
谷歌字体上的“语言”过滤器相当混乱和不清楚:它包含了Devanagari(不是语言,而是书写系统和Unicode块)、“拉丁”和“拉丁扩展”(不是语言,而是谷歌的伪块)以及一些使用其他块中的一些字符的语言。在那里没有明确的分离来区分块支持和语言支持,也没有如果支持是完全的还是部分的。暂时,唯一的方法是找出这一点是尝试显示字符从下面的列表。
从Omniglot和其他来源查阅的以下拉丁文字母列表中,我不计算在内:
如果缺少了一些重要的东西,或者在电子通信中是否使用了某种少数民族语言,请予以评论。
ASCII(基本拉丁文,即使在非拉丁文字体中也经常支持)
拉丁、南非荷兰语、阿斯图里亚语、科尔苏语、荷兰语、英语、格陵兰语、盖尔语、海地语(克里奥尔语)、马来语、绍纳语、西西里语、斯瓦希里语。
拉丁文
拉丁扩展
拉丁扩展,非洲(大多数不支持拉丁扩展字体)。Ubuntu、Fira Sans、EB Garamond、Tinos、News Cycle、Didact Gothic、M Plus、Sawarabi、Cousine、Caudex、Judson、Andika(当然还有Noto,见下文)对非洲字母表的全面支持
或者,字体可以支持组合变音符块:U+0300到U+036F。例如,可以键入为U+0158(也称为预组合字符)或R+U+030C。支持Unicode的程序应该显示和处理相同的内容,并提供一些API来处理它--比如String.normalize()来分解变音符--但是如果程序或字体不支持曲目,组合的变音符标记可能会放错地方(比如我的系统中的变音符太低),请参阅关于这个主题的非常详细的Unicode问答。
您可能希望通过Font Squirrel service定制一些字体(如果许可允许的话),或者使用它们作为备份。
具有大量字符的字体:
问题内容: 我有一个树形结构,其中的关键字可能包含一些拉丁字符。我有一个遍历树上所有叶子并在特定条件下将每个关键字添加到列表的函数。 这是我将这些关键字添加到列表中的代码: 如果在这种情况下的关键字是,那么我的输出是: 看来打印功能可以正确显示拉丁字符,但是当我将其添加到列表中时,它就会被解码。 我该如何更改?我需要能够使用标准拉丁字符而不是它们的解码版本来打印列表。 问题答案: 您没有unico
问题内容: 原始问题: 表结构: NULL, VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, INDEX ( ASC), INDEX ( ASC) ) ENGINE InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci; 样本数据: 我正在执行的查询: 预期成绩: 实际
问题内容: 我有带重音拉丁字符的unicode字符串,例如 我想将其转换为普通的ascii,即“ Wikipedia,le projet dencyclopedie”,因此所有急性/重音,塞迪利亚等都应删除 什么是最快的方法,因为需要这样做才能匹配较长的自动完成下拉列表 结论: 作为速度的标准,Lennart的“注册您自己的错误处理程序以进行Unicode编码/解码”可提供最佳效果(请参见Alex
在使用JFreeChart呈现图表时,我注意到当图表的类别标签包含日语字符时出现了一个布局问题。虽然文本是用正确的字形呈现的,但文本被定位在错误的位置,大概是因为字体度量错误。 该图表最初被配置为对该文本使用源Sans Pro常规字体,该字体仅支持拉丁字符集。显而易见的解决方案是捆绑一个实际的日语.ttf字体,并要求JFreeChart使用它。这工作很好,因为输出文本使用了正确的字形,并且它的布局
问题内容: 我正在尝试将西里尔字母的单词写成拉丁语,以便可以在url中使用它们。我使用的是icu4j音译器,但它仍然会给出如下奇怪的字符: Vilaândimaa 。它应该更像 viljandimaa 。当我复制该网址时,这些字母会变成%..没用的东西。 有人知道如何使用icu4j将西里尔字母转化为az吗? 更新 已经无法回答自己,但是发现这个问题非常有用:将符号,重音字母转换为英文字母 问题答案
问题是Mac OSX上的Chrome似乎在基本拉丁块中渲染类型。我确实有一个使用font-face的IE条件样式表,但是我没有将font-face用于IE以外的任何东西。我猜这可能是内部系统字体问题(错误不在我自己的系统上),但我想确定一下。 这是我此文本的CSS: 以下是 IE 的条件样式表中的 CSS: 文本如下所示: