全部博文(80)
发布时间:2013-01-07 22:12:33
矢量字体的使用不同于点阵字体,在矢量字体文件中存放的是字符的轮廓(字符关键点的相对位置),通常也称为 glyph,取得这些关键点后需要用某些数学函数将其描出。这对于普通用户的应用来说比较难,而 FreeType 库正好帮我们解决了这些问题。FreeType 库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括 TrueType、OpenType、 Type1、CID、CFF、Windows FON/FNT、X11 PCF 等。支持单色位图、反走样位图的渲染。测试 FreeType 库(下述程序只是大致流程示意......【阅读全文】
发布时间:2013-01-05 20:05:26
字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符集(Character set)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集名称:ASCII 字符集、GB2312 字符集、BIG5 字符集、 GB18030 字符集、Unicode 字符集等。 计算机要准确的处理各种字符集文字,需要进行字符编码,以便计算机能够识别和存储各种文字。例如:GB2312字符集采用的是区码+位码,Unicode字符集采用的是 UTF-8 或 UTF-16 等。&nbs......【阅读全文】
发布时间:2012-12-29 10:33:49
一般我们使用 16*16 的点阵字库,所谓 16*16,是每一个汉字在纵、横各 16 点的区域内显示的。不过后来又有了 24*24、32*32 和 48*48 点阵字库。虽然汉字库种类繁多,但都是按照区位的顺序排列的,即符合 GB2312 标准的。GB2312 汉字是由两个字节编码的,范围为 0xA1A1-0xFEFE,前一个字节为该汉字的区号,后一个字节为该字的位号。每一个区记录 94 个汉字,位号则为该字在该区中的位置。 HZK16 字库是符合 GB2312 标准的 16*16 点阵字库,下面以汉字 “中” 为例,介......【阅读全文】
发布时间:2012-12-28 10:49:42
Unicode 是一种在计算机上使用的字符编码,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。注意,Unicode 仅仅是定义了一个字符映射表,而没有实现具体的编码。例如:大写字符 ‘A' 的 Unicode 码是 0x41,汉字 “中” 的 Unicode 码是 0x4E2D,这仅仅是一种简单的对应关系,至于如何存储这些 Unicode 码,就是具体编码规则定义的。你可以用 2 个字节来表示 ‘A’ 和 “中” 的 Unicode 码,甚至可以用 3 个字节或 4 个字节,但是不同的编码规则对资源的......【阅读全文】
发布时间:2012-12-27 19:51:44
作为一个数码相框项目,显示设备当然是必不可少的。本系统中,每一个显示设备管理器对应一个 struct disp_manager 结构体对象:struct disp_manager { char *name; int xres; int yres; int bpp; int line_width; int pixel_width; &n......【阅读全文】