Chinaunix首页 | 论坛 | 博客
  • 博客访问: 661108
  • 博文数量: 810
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5025
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-22 11:41
文章分类

全部博文(810)

文章存档

2011年(1)

2008年(809)

我的朋友

分类: LINUX

2008-08-22 11:43:21


QT是目前在Linux操作系统平台下应用最多的图形用户界面的底层库,由其派生出的QT/Embedded大量用于嵌入式系统开发和研制中。实际上,QT/Embedded提供给用户的非ASCII码的字库一般比较少,在我们开发过程中用的嵌入式Linux系统中中文和日文的字库都只有一个(不算不同的旋转角),其中还存在字体大小不一样的问题,因此在实际开发过程中我们在处理中文字体显示时,最终使用这些工具开发出来的软件的用户就经常抱怨字体很难看,字体大小有时都不一致,因此定制自己的字库,以便使得最终用户能够看到漂亮的中文显示,这是使用QT/Embedded开发各种程序急需解决的一个问题。下面龙人嵌入式开发工作这首先向您介绍如何在嵌入式Linux及下制作QPF字库:

首先定制自己的字库需要修改两个文件,一个是FONTDIR,它是应用程序寻找当前系统中最适合自己需要的字库的索引;另一个就是字库文件了,可以有一个或者多个字库文件,字库文件是最终显示的字的位图或者矢量。它们都必须放在目录/usr/qt/lib/fonts下(基于我们的平台QT/Embedded,其它平台可能有区别,下同)。

其次编写具体的FONTDIR文件的内容如下所示:

fixedfixed_120_50.qpfQPFn50120helveticahelvetica_80_50.qpfQPFn5080helveticahelvetica_120_50.qpfQPFn50120uhelveticahelvetica_120_75.qpfQPFn75120uhelveticahelvetica_140_75.qpfQPFn75140helveticahelvetica_180_75.qpfQPFn75180

文件中每行都标识一个特定的字库,每个段的含义是:第一列为name,第二列为file,第三列为renderer,相当于字型格式,所以有BDF,TTT,QPF等选择。第四列n表示iitalic,表示是否为斜体字。第五列表示weight,其中50表示Normal,75表示Bold。第六列表示size,例如:120表示12pt。第七列为flags,有下面三个选择:s=smooth(anti-aliased)u=unicoderangewhensaving(defaultisLatin1a=ASCIIrangewhensaving(defaultisLatin1))

这样一个QPF字库就嵌入式Linux环境中生成了。

下载本文示例代码
阅读(254) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~