字体可以省略 space 字符吗?

Can a font omit the space character?

我正在开发一个字体检测库,它需要非常非常小,适合在网站的每个页面上内联。我已经把它弄得很小了(gzip 压缩后 417 字节)。您可以在 the Github repo.

查看

经过进一步思考,如果我可以做出一些基本假设,我可以再次显着减小库的大小(大约再减少 10%):

我只是试图使用 FontSquirrel's font generator 明确定义没有 space 字符的字体。这是通过从所选子集中显式省略 space 并禁用 space 的 'Fix Missing Glyphs' 来完成的。 FontSquirrel 仍然生成了一个带有 space 字符的字体,其宽度不同于 serifmonospace.

我知道有些语言没有传统意义上的 space 字符,但由于字体文件格式和定义的性质,我认为为这种语言量身定制的字体不能或会省略一个 space 字符。

如果这些假设都成立,则库可以消除支持自定义文本检查的需要,并将测试数量从 3 减少到 2,同时加快库的速度并减少其内存使用。压缩后的新大小约为 380 字节或更少。

怎么样,字体专家们?是否可以在没有 space 字符定义的情况下定义有效字体?如果有这样的字体,能举个例子吗?

看起来虽然有可能,但创建没有 space 字符的字体几乎是闻所未闻的。甚至图标字体服务似乎也包含它。除了 special case for a font detection library,没有已知的字体会省略 space 字符。

由于他的贡献,这项研究改进了我的 onfontready library. Details here. Thanks to Mike 'Pomax' Kamermans