可恶的s60字模,就不信找不着你!

21 篇文章 0 订阅
18 篇文章 1 订阅

缘起:区区想用symbian系统API,把系统字体的字模实时获取出来。

 

所谓字模又叫glyph,有向量表达(paths)和位图表达(bitmap),这个之前弄freetype和ndsl编程时已经很熟悉。

关键是在处处不熟悉的S60平台,很多东西文档讲不全。如果算自然时间,我一个朋前就想实现这个功能,直到昨天才算有眉目,

BS Nokia公司的文档!!!

 

文档具体地点:S60 Developer Tools  3rd Edtion SDK / 1.1 MR/ SDK help, 索引关键字为:TPositionParam

 

这是CFont的嵌套类,文档内容为:

 

class TPositionParam;

Description

Complicated parameter block used for contextual glyph selection, ligature creation and diacritic placement when drawing text in complex scripts

This class declares a constructor, another scoped class, and several other enums. However this class is unlikely to be useful to third party developers.

 

注意最后这句However...... unlikely。。。

Nokia你要么整点有用的,要么别发布这个接口啊,从v1取v5都是这句废话,害区区找不到,搞不清。

 

 

花了一下午试验,还是没搞清其iOutput下的iBitmap是个什么结构,也许太心烦了。

 

回家后重新一想,bitmap这种结构应该有些通用习惯吧?于是问问wiki,,找到这个http://en.wikipedia.org/wiki/Glyph_Bitmap_Distribution_Format

 

里面有个'A'字模的例子:

 

STARTFONT 2.1
FONT -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1
SIZE 16 75 75
FONTBOUNDINGBOX 16 16 0 -2
STARTPROPERTIES 2
FONT_ASCENT 14
FONT_DESCENT 2
ENDPROPERTIES
CHARS 1
STARTCHAR U+0041
ENCODING 65
SWIDTH 500 0
DWIDTH 8 0
BBX 8 16 0 -2
BITMAP
00
00
00
00
18
24
24
42
42
7E
42
42
42
42
00
00
ENDCHAR
ENDFONT

我不清楚s60的会不会也是这个,明天我再试试吧!

调试脚本先准备好:

 

(defun binary-rep-text ()
  (interactive)
  (backward-word 1)
  (let* ((word (buffer-substring (point) (progn (forward-word) (point))))
         (num (string-to-int word 16)))
    (backward-kill-word 1)
    (dotimes (time 8)
      (insert (format "%d  " (logand (lsh num (- time)) 1)) )
      (backward-word)
      )))

 

睡觉睡觉,开始做symbian之后,休息显得不足^_

 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值