原创 从TTF提取字模的方法(VC下)

2008-11-27 21:07 6256 10 10 分类: MCU/ 嵌入式

前些时间做的从HZK字库提取的点阵有个缺点字的点阵是固定的不够漂亮呵呵,后来发现还可以从windows内提取TTF文件的字体,优点是字的模型会随着点阵的大小而变化不会出现锯齿(传说中的矢量字体).并得知这是微软和苹果公司共同推出的.


下面是两个字的对比:


左边是HZK16文件提取的,右边是TTF的,明显右边的比左边的圆滑一点吧.


9c225c67-2d9c-41ac-94c7-836599e84140.jpg         d4b0b6c3-d5bf-4d51-af21-a59251ee8169.jpg


再上传两个左边的是宋体的粗体,右边的是华文彩云.


6652eafd-6c8c-4362-9be8-e1fd59afc9ec.jpg          492a550e-14a3-4fe3-b1f3-a82032283702.jpg


主要是使用了getglyphoutline()函数:


感谢N年前cyuan5提出了一个问题及所有回答者们http://topic.csdn.net/t/20050309/10/3836254.html


感谢N年两篇文章:


http://dev.21tx.com/2005/06/22/12038.html


http://www.vckbase.com/document/viewdoc/?id=1757


 


没什么说了呵呵,只是补充一点小点东西:


 我用VC9弄的,在VC9下读到的控件下内的CString变量的汉字的是GBK码的,而getglyphoutline()要的是unicode码,而wchar正好是unicode码的,因此:


CString yy="单";


a=(wchar_t *)((LPCTSTR)yy);//GBK转换为unicode,调试时见到a[0]就是unicode码
 char   str[3];
  str[0]=a[0]&0xff;
  str[1]=(a[0]>>8)&0xff;
  


因要备考提出字体后就不想费时间弄软件框架了,抓紧时间复习.........

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
10
关闭 站长推荐上一条 /3 下一条