QT/E中的字体

QT/E支持以下四种字体文件

1.       TrueType(TTF)  可缩放的矢量字体,显示用。

2.       Postscript Type1 (PFA/PFB) 可缩放的矢量字体,打印机使用。

3.       Bitmap Distribution Format fonts (BDF) 不可缩放的像素字体。最好不要在产品系统中使用,其载入速度很慢且占用了大量的存储空间。

4.       Qt Prerendered Font (QPF) 轻量级的不可缩放字体,QT/E专用。

开启或关闭对这些字体(1-3)的支持可以参照qfeatures.h中的宏定义,4则是始终支持的。为了提高效率,可以先开启1-3的支持,然后将其保存为格式为4的文件,最后再关闭对1-3的支持。具体可参考makeqpf命令(位于tools目录下)

makeqpf [-A] [-f spec-file] [font ...]

-A - Render and save all fonts in fontdir

-f - File of lines: fontname character-ranges e.g. "smoothtimes 0-ff,20a0-20af"

font - Font to render and save

      

使用TTF字体时,每个指定大小的字符只有在第一次显示时才会被渲染。而BDF字体则是第一次使用该字体时所有字符都被渲染。使用QPF字体时,每个字符都按照Qt图形绘制的格式进行存储,在绘图时,只需要将字符数据映射过来即可,而不必像其它格式一样要先载入并转化、渲染。

TTF, PFA,QPF都能采用光滑的抗锯齿方式进行渲染。

QT/E使用的所有字体都采用Unicode方式进行编码。

当QT/E应用程序运行时,会先去找

$QTDIR/lib/fonts/fontdir  /usr/local/qt-embedded/lib/fonts/fontdir

里面定义了程序可使用的字体,定义格式为:

name file renderer italic weight size flags

name: HelveticaTimes, etc.

file:  helvR0810.bdfverdana.ttf, etc.

renderer: BDF or FT

italic: y or n

weight: 50 is normal, 75 is bold, etc.

size: 0表示可缩放120  12pt表示字体大小为12

flags:s表示抗锯齿 u/a表示保存字体时的范围为unicode还是ascii

 

上面的dd是对于TTF和BDF字体来说的,对QPF字体,它们是直接通过*.qpf文件载入的,*.qpf文件的命名格式为:

name_size_weightitalicflag.qpf

name:helvetica, times, etc

size:120 或 12pt表示字体大小为12

italicflag:i表示斜体,没有i则表示正常

weight50 is normal, 75 is bold, etc.

 

如果应用程序运行时带有-savefonts的参数,那么当一个TTF或BDF的字体被使用时,一个相应的QPF文件就会被保存。对于那些内存要求比较苛刻的程序,还可以生成只包含指定文字的QPF文件,具体参考QMemoryManager::savePrerenderedFont()

此外,还可以生成旋转后的字体,此时应用程序要加上旋转参数。

原文:http://doc.trolltech.com/3.3/emb-fonts.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值