19

我已经下载了DejaVu 开源字体并想使用它作为 WebFont,但即使在转换它时,我也会得到一个大文件,而且因为我将使用的网站只有几种语言(阿拉伯语、法语、amazigh ) 那么,我不需要一些字符。

那么有没有办法浏览字体文件并删除我不需要的不必要的 unicode 字符范围?

4

2 回答 2

13

使用FontForge,您可以打开Element-> Font Info-> Unicode Ranges。您将看到所有可用的范围,并且只需单击一下即可选择整个 Unicode 范围。Encoding然后,您可以使用->调整您的选择和删除Detach & Remove Glyphs

此外,您可以使用Edit-> Select-> Select by Script

于 2015-05-15T16:53:49.047 回答
9

我发现最简单的方法是使用FontToolspyftsubset中的工具。这是一个例子:

$ pyftsubset NotoSans-Regular.ttf \
      --unicodes=U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116 \
      --output-file=NotoSans-Regular.cyrillic.woff2 \
      --flavor=woff2

注意:woff2输出需要Brotli

我围绕它编写了一个简单的脚本,它可以自动执行整个过程,包括在拆分字体文件后生成 CSS 文件。你可以在这里找到它:https ://github.com/johncf/ttf2web

于 2018-01-28T22:27:38.260 回答