我正在开发一款需要动态分析和应用来自 Google 字体的字体的应用程序。其中一部分包括阅读
unicode-range
CSS属性以:首先,了解给定字体包含哪些字符(这是实际的痛点/谎言);其次,用那种字体渲染那些字符。
给定的
unicode-range
可能会列出不包含/由其各自的WOFF2文件用字形覆盖的代码点。
我确实意识到通过a)视觉测试它:字符将使用给定的后备字体呈现(如果没有后备字体,通常是
serif
);或 b) 通过请求指定 included but actually missing characters 作为其 URL 上的 text
值的字体:在这种情况下,Google 字体使用返回带有损坏的 WOFF2 URL 的 CSS。
unicode-range
(s) 可能总是包含一些缺失的代码点的方式自动化其 CSS 构建过程?为了简单起见,我不会把我想出的所有代码都带到这里来自动执行以下过程,因为它超出了范围。
Roboto 在其
cyrillic-ext
子集中包含以下字符:
Ԕ ԕ Ԗ ԗ Ԙ ԙ Ԛ ԛ Ԝ ԝ Ԟ ԟ Ԡ ԡ
Ԣ ԣ Ԥ ԥ Ԧ ԧ Ԩ ԩ Ԫ ԫ Ԭ ԭ Ԯ ԯ
这里我们有那些角色(实际上不是)用 Roboto 渲染:
/* cyrillic-ext */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu72xKOzY.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
.fallback--serif {
font-family: Roboto, serif;
}
.fallback--sans-serif {
font-family: Roboto, sans-serif;
}
.fallback--monospace {
font-family: Roboto, monospace;
}
<p class="fallback--serif">
<code>serif</code> fallback<br/> Ԕ ԕ Ԗ ԗ Ԙ ԙ Ԛ ԛ Ԝ ԝ Ԟ ԟ Ԡ ԡ<br/> Ԣ ԣ Ԥ ԥ Ԧ ԧ Ԩ ԩ Ԫ ԫ Ԭ ԭ Ԯ ԯ
</p>
<p class="fallback--sans-serif">
<code>sans-serif</code> fallback<br/> Ԕ ԕ Ԗ ԗ Ԙ ԙ Ԛ ԛ Ԝ ԝ Ԟ ԟ Ԡ ԡ<br/> Ԣ ԣ Ԥ ԥ Ԧ ԧ Ԩ ԩ Ԫ ԫ Ԭ ԭ Ԯ ԯ
</p>
<p class="fallback--monospace">
<code>monospace</code> fallback<br/> Ԕ ԕ Ԗ ԗ Ԙ ԙ Ԛ ԛ Ԝ ԝ Ԟ ԟ Ԡ ԡ<br/> Ԣ ԣ Ԥ ԥ Ԧ ԧ Ԩ ԩ Ԫ ԫ Ԭ ԭ Ԯ ԯ
</p>