2019-6-19 9:18:54 星期三
思源字体是一套开源的字体, 那字体宽度是多少呢?
测试场景, 将包含汉字, 数字, 大小写字符的一段文字写到图片中去, 但不能出现超出的情况, 这就要计算出每种字符在不同字体下的宽度了
测试工具: php GD扩展, 思源字体 (注意 思源字体是otf后缀, 意思是 open tty字体, 可以用PHP的 imagettftext() 函数将文字写入到图片中去)
测试结果图:
右边的宽度是800px,
使用的字体是SourceHanSansSC-Light.otf, frontsize=10,
1. 汉字: 总共61.5个汉字, 计算下来, 每个汉字大约13px, frontSize=1时代表1.3px
2. 数字: 总共114个数字, 计算下来, 每个数字大约7.01px, frontSize=1时代表0.7px
3. 大写英文字母: 总共97.5个字符, 计算下来, 每个字符大约8.2px, frontSize=1时代表0.82px
4. 小写英文字母: 总共118个字符, 计算下来, 每个字符大约6.78px, frontSize=1时代表0.68px
使用的字体是SourceHanSansSC-Light.otf, frontsize=20,
1. 汉字: 总共29.5个汉字, 计算下来, 每个汉字大约27.12px, frontSize=1时代表1.36px
2. 数字: 总共57个数字, 计算下来, 每个数字大约14.03px, frontSize=1时代表0.7px
3. 大写英文字母: 总共49.5个字符, 计算下来, 每个字符大约16.16px, frontSize=1时代表0.8px
4. 小写英文字母: 总共59个字符, 计算下来, 每个字符大约13.56px, frontSize=1时代表0.68px
总结:
汉字: frontSize=1时代表1.36px
数字: frontSize=1时代表0.7px
大写英文字母: frontSize=1时代表0.8px
小写英文字母:frontSize=1时代表0.68px
2019-12-6 11:33:33 星期五
PHP中安装imgick扩展后, 该扩展可以自动识别字体宽度