我正在开发一个字体检测库,它需要非常非常小,适合在网站的每个页面上包含内联。我已经把它变得很小(417字节gzip)。您可以在the Github repo处查看。
进一步思考后,如果我能做出一些基本的假设,我可以再次大幅减少库的大小(大约10%):
space
- 省略字体,那么当space
字符为space
时,所有现代浏览器和IE9 +都将选择后备字体的space
字符需要。也就是说,就font-fallback而言,space
字符没有什么特别之处。serif
和monospace
通用字体的space
字符的宽度都不同(可能,但我需要进一步测试。)我只是尝试使用FontSquirrel's font generator明确定义没有space
字符的字体。这是通过明确省略所选子集中的空格并禁用“修复缺失字形”来完成的。为space
。 FontSquirrel仍生成一个serif
字符的字体,其宽度与monospace
和space
不同。
据我所知,某些语言在传统意义上没有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'
字符定义的有效字体?如果有这样的字体,你能提供一个例子吗?
答案 0 :(得分:0)
似乎虽然有可能,但创建一个没有空格字符的字体几乎是闻所未闻的。甚至图标字体服务似乎都包含它。除了special case for a font detection library之外,没有已知的字体省略空格字符。
这项研究改善了我的onfontready library。详情here。感谢Mike 'Pomax' Kamermans的贡献。