请教字体应用原理
最近项目里需要用到字体相关的东西,也看了一些freetype库的reference,关于字体原理还是理解的不太透彻,想请教几个问题:
1.一个字体文件,如ttf文件,里面除了包含该字体支持的所有字符图像,还有什么别的信息?
2.在绘制某个字符的时候,该字符在字体文件里面所对应的图像区域是如何计算出来的?
3.绘制字符的时候指定了颜色和背景色是如何实现的,难道还能计算出字体文件原图里哪些像素是背景色,哪些是字符所占的像素,然后重新填色??
小弟万分疑惑,求赐教
[解决办法]
ttf 文件里面除了图片信息,应该还有 UV坐标等信息,用来给字符定位。
为了把字体画出来,最好自己定一个Font 类,用来影射某个ttf,解析里面每个字符的UV,UL,VL.
应该找一份 ttf 格式的文档,自己写代码解析。
Font 类还应该包括许多属性,
比如 行间距,字间距 , 字符映射 .
绘制还要考虑换行问题,
如果支持多语言的话,还要考虑那些语言哪些单词不能拆分,那些标点不能在行尾等等等等。
底层工具性的函数代码一定要写好,否则会非常混乱。
[解决办法]
字体试衣间