一个字体库引起的坑

  前面在做开发的过程中需要将某个字体的转换成图片保存, 但是在将某gis的某一字体绘制成图片的时候,发现如何搞就是不成功,字体是这个字体: * Meteorological 01.自己用win32小程序尝试用freetype读取此字体,竟然读取不到charmap(编码和字体内的矢量图形映射表,通过编码可以找到特定的字符图元),找不到就找不到吧, 我用的默认unicode 映射表, 发现这个确实就是找不到,尝试用其他编码也是读取不到任何字符的,最后无奈请教公司大神,大神给了一工具 FontForgeBuilds,这个工具真乃字体编辑查看的神器,通过此工具打开了这个字体发现了字体格式编码还真是有问题,如图:



这真是尴尬, Windows 原始API,是可以读取此字体,word ,,execl插入符号也可以读取到此字体,但是我这要开发跨平台组件, 显然不可能用特定平台api,这里不得不佩服windows,没得编码还能读出来,并且读取的编码还是名称里面显示的F021 --> 21 ,他能读取成21. 这个可能他自己解析字体遍历读取的吧,  这个猜想我通过 直接给Freetype api给F021 是可以读取出来字体保存图片就可以知道了.  由于此字体没有Unicode 编码,所以临时想的解决方案就是把此字体的unicode编码按他给的名称添加上,具体做法:

1:FontForgeBuilds 新键一个字体库

2:将原有没有编码的字体整体复制到新的字体库上;

3:菜单 File->generate fonts  就会生成一个经过编码过的字体.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值