对于具有美国受众的美国网站,应在@font面 Web 字体中保留哪些范围的 unicode 字符



作为优化Web开发项目的一部分,我们需要去除不必要的字符,这些字符永远不会用于减小字体文件的大小。我搜索了Google,没有发现任何关于哪些字符是必需的,哪些字符可以安全删除的主题。

我发现了以下可能感兴趣的范围:

0020 — 007F     Basic Latin
00A0 — 00FF     Latin-1 Supplement
0100 — 017F     Latin Extended-A
0180 — 024F     Latin Extended-B
0250 — 02AF     IPA Extensions
02B0 — 02FF     Spacing Modifier Letters
0300 — 036F     Combining Diacritical Marks
27C0 — 27EF     Miscellaneous Mathematical Symbols-A

似乎最激进的方法是只保留"基本拉丁语",0020 - 007F,它提供大写和小写字母,数字和一些基本符号,如$,+,(,)等。

Latin-1 补充包含一些额外的好东西,如商标和版权符号和分数。

拉丁语扩展-A和-B包含带有重音符号的字母,由于我们的副本是英文的,我不确定是否需要这些。

如果我们只使用该范围(0020 - 007F)和(00A0 - 00FF),如果某些用户决定用西班牙语发表评论(例如),我们是否会遇到缺少字符的问题?或者浏览器会回退到未包含 Web 字体的字符的默认字体吗?

网络字体的目的是使文本和标题的主体看起来很漂亮,基本的拉丁语集应该涵盖这一点,但我不知道是否有隐藏的"陷阱",剥离到"基本拉丁语"范围,比如重音字符显示为菱形问号而不是回退到系统字体, 等。

@font面 Web 中应保留哪些范围的 unicode 字符拥有美国受众的美国网站的字体?是否有任何最佳实践或指南从字体中条带化不必要的字符以供 Web 使用?

我建议将子集化为支持美国/西欧的常见"代码页"定义之一。大多数代码页定义早于 Unicode,并且通常具有各种区域支持所需的位和片段,不包括整个 Unicode 块。建议:

  • 视窗代码页 1252
  • ISO/IEC 8859-1 "拉丁语 1"*
  • 国际
  • 标准化组织/国际电工委员会 8859-15

*这与 Unicode 范围 0020-007F 基本拉丁语 + 00A0-00FF 拉丁语-1 补充

相同

这些包含的比美国英语严格要求的要多得多,尽管如上所述,英语文本中通常会出现几个重音字符(é、ñ 以及其他标点符号和符号)。这些集包含这些字符,因此对于美国受众的绝大多数文本,您应该处于良好状态。另请注意,在大多数字体中,这些字符通常是"复合",这意味着它们使用对组件的引用(例如,"é"是从对"e"和"的引用构建的);因此,它们通常不需要那么大的大小来存储它们,因此保留它们通常不会招致重大尺寸损失。

如果您可能遇到欧洲金融文本,我建议您使用包含欧元符号的Windows 1252或ISO/IEC 8859-15。

我不知道是否有隐藏的"陷阱",剥离到

"基本拉丁语"范围,例如重音字符显示为菱形问号而不是回退到系统字体

您使用的字体中不存在的任何字符都将回退到浏览器可以找到的任何默认字体。当与自定义字体中的其他字符交错时,这可能会很丑陋,但现代操作系统为上述块中的常用字符提供了不错的字体覆盖率,因此通常它仍然可以阅读。

因此,您应该根据您是否认为它们会被普遍使用以丑陋的字体呈现会破坏交易来包含字符。对于它的价值,我之前用于类似目的的一个非常小的集合是¡£°±²³¿ÉËÑéëñ‘’“”–—•€™,但您网站的确切要求可能会有所不同。(例如,如果你喜欢纽约客式的diaeresis,你肯定会想要äëïöü

(默认回退字体的工作方式因浏览器而异,并且在旧版本的IE和IE Mobile中是出了名的麻烦。但是基本的拉丁重音字母非常安全。

最新更新