字体可以省略空格字符吗?

时间:2016-08-26 17:58:15

标签: javascript css browser fonts whitespace

我正在开发一个字体检测库,它需要非常非常小,适合在网站的每个页面上包含内联。我已经把它变得很小(417字节gzip)。您可以在the Github repo处查看。

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

  • 在没有space字符/定义的情况下,无法定义工作字体文件(对于浏览器而言)。
  • 或者,如果可以创建这样的space - 省略字体,那么当space字符为space时,所有现代浏览器和IE9 +都将选择后备字体的space字符需要。也就是说,就font-fallback而言,space字符没有什么特别之处。
  • 而且,切向上,所有现代浏览器和IE9 +的浏览器提供的serifmonospace通用字体的space字符的宽度都不同(可能,但我需要进一步测试。)

我只是尝试使用FontSquirrel's font generator明确定义没有space字符的字体。这是通过明确省略所选子集中的空格并禁用“修复缺失字形”来完成的。为space。 FontSquirrel仍生成一个serif字符的字体,其宽度与monospacespace不同。

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

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

那怎么样,字体专家呢?是否可以定义没有testCompile 'junit:junit:4.12' testCompile 'org.powermock:powermock:1.6.5' testCompile 'org.powermock:powermock-module-junit4:1.6.5' 字符定义的有效字体?如果有这样的字体,你能提供一个例子吗?

1 个答案:

答案 0 :(得分:0)

似乎虽然有可能,但创建一个没有空格字符的字体几乎是闻所未闻的。甚至图标字体服务似乎都包含它。除了special case for a font detection library之外,没有已知的字体省略空格字符。

这项研究改善了我的onfontready library。详情here。感谢Mike 'Pomax' Kamermans的贡献。