字体可以省略 space 字符吗?
Can a font omit the space character?
我正在开发一个字体检测库,它需要非常非常小,适合在网站的每个页面上内联。我已经把它弄得很小了(gzip 压缩后 417 字节)。您可以在 the Github repo.
查看
经过进一步思考,如果我可以做出一些基本假设,我可以再次显着减小库的大小(大约再减少 10%):
- 如果没有 space character/definition.
就无法定义工作字体文件(无论如何对于浏览器而言)
- 或者,如果可以创建这样的
space
省略字体,则所有现代浏览器和 IE9+ 将在需要 space
字符时选择后备字体的 space
字符。也就是说,就 font-fallback 而言,space
字符没有什么特别之处。
- 而且,切线地,所有现代浏览器和 IE9+ 将对浏览器提供的
serif
和 monospace
通用字体中的 space
字符具有不同的宽度(可能,但我需要进一步测试)。
我只是试图使用 FontSquirrel's font generator 明确定义没有 space
字符的字体。这是通过从所选子集中显式省略 space 并禁用 space
的 'Fix Missing Glyphs' 来完成的。 FontSquirrel 仍然生成了一个带有 space
字符的字体,其宽度不同于 serif
和 monospace
.
我知道有些语言没有传统意义上的 space
字符,但由于字体文件格式和定义的性质,我认为为这种语言量身定制的字体不能或会省略一个 space
字符。
如果这些假设都成立,则库可以消除支持自定义文本检查的需要,并将测试数量从 3 减少到 2,同时加快库的速度并减少其内存使用。压缩后的新大小约为 380 字节或更少。
怎么样,字体专家们?是否可以在没有 space
字符定义的情况下定义有效字体?如果有这样的字体,能举个例子吗?
看起来虽然有可能,但创建没有 space 字符的字体几乎是闻所未闻的。甚至图标字体服务似乎也包含它。除了 special case for a font detection library,没有已知的字体会省略 space 字符。
由于他的贡献,这项研究改进了我的 onfontready library. Details here. Thanks to Mike 'Pomax' Kamermans。
我正在开发一个字体检测库,它需要非常非常小,适合在网站的每个页面上内联。我已经把它弄得很小了(gzip 压缩后 417 字节)。您可以在 the Github repo.
查看经过进一步思考,如果我可以做出一些基本假设,我可以再次显着减小库的大小(大约再减少 10%):
- 如果没有 space character/definition. 就无法定义工作字体文件(无论如何对于浏览器而言)
- 或者,如果可以创建这样的
space
省略字体,则所有现代浏览器和 IE9+ 将在需要space
字符时选择后备字体的space
字符。也就是说,就 font-fallback 而言,space
字符没有什么特别之处。 - 而且,切线地,所有现代浏览器和 IE9+ 将对浏览器提供的
serif
和monospace
通用字体中的space
字符具有不同的宽度(可能,但我需要进一步测试)。
我只是试图使用 FontSquirrel's font generator 明确定义没有 space
字符的字体。这是通过从所选子集中显式省略 space 并禁用 space
的 'Fix Missing Glyphs' 来完成的。 FontSquirrel 仍然生成了一个带有 space
字符的字体,其宽度不同于 serif
和 monospace
.
我知道有些语言没有传统意义上的 space
字符,但由于字体文件格式和定义的性质,我认为为这种语言量身定制的字体不能或会省略一个 space
字符。
如果这些假设都成立,则库可以消除支持自定义文本检查的需要,并将测试数量从 3 减少到 2,同时加快库的速度并减少其内存使用。压缩后的新大小约为 380 字节或更少。
怎么样,字体专家们?是否可以在没有 space
字符定义的情况下定义有效字体?如果有这样的字体,能举个例子吗?
看起来虽然有可能,但创建没有 space 字符的字体几乎是闻所未闻的。甚至图标字体服务似乎也包含它。除了 special case for a font detection library,没有已知的字体会省略 space 字符。
由于他的贡献,这项研究改进了我的 onfontready library. Details here. Thanks to Mike 'Pomax' Kamermans。