1 引言
目前,嵌入式系统的字库还是以点阵字为主,随
着嵌入式系统在GPS 导航、手机、机顶盒等领域中的
广泛应用,其处理器运算能力不断增强,越来越多的
嵌入式设备采用了较复杂的GUI 系统。由于用户对中
文支持与文字显示速度的要求越来越高,当前低精度
的点阵字虽然在显示速度较快,但难以满足高分辨率
的显示要求, 而高精度的点阵字库与普通的
TrueType 字库存在数据量大、显示速度慢等问题。
因此,目前中文显示存在显示速度慢、分辨率低等多
种问题。
由于国内更多的是将SDL 应用于游戏编写、多媒
体开发等,还未得到广泛应用于中文显示。同时,开
发人员设计嵌入式平台软件时,必须了解不同操作系
统的具体差别,从而影响了软件的开发周期。SDL 是
一个自由的跨平台的多媒体开发包,使用SDL 图形库
编写的程序几乎可以不用改写就可以在SDL 支持的操
作系统上编译执行。而且SDL 接口函数速度快、结构
简单、移植性强等优点可以大大改善中文显示技术。
因此,本文提出了在嵌入式平台上,利用SDL 的图形
库显示中文。通过测试多种显示汉字方法的速度比较,
证明SDL 在显示中文方面具有良好的可行性。
2 SDL
2.1 SDL 简介
SDL 是一个用C 语言编写的免费跨平台多媒体开发
库, 使用 LGPL 许可证,可用于游戏、游戏开发工具、
模拟器、样本演示、多媒体应用等。目前SDL 的版本
支持Linux、Windows、 BeOS、MacOS、MacOS X、
FreeB-SD、BSD/ OS、Solaris 和IRIX 等操作系统[1]。
对大多数情况来说,无论DirectX、OpenGL 还是SDL,
都是低层的API。SDL 与DirectX 主要对应关系如表1
所示。

表1 SDL 与DirectX 主要功能的对应关系

2.1 SDL 简介_嵌入式

2.1 SDL 简介_嵌入式


主要功能 SDL DirectX


图像、视频


SDL_Video、


SDL_Image、OpenGL


DirectDraw、


Direct3D


声音 SDL_Audio、SDL_Mixer DirectSound


输入支持 SDL_Joystick、SDL_Base DirectInput


网络 SDL_Net DirectPlay


多媒体


SDL_Video、


SDL_Audio、


SDL_Sound、SDL_Filter


DirectShow


相比较,选择SDL 就意味着跨平台,减少了对操


作系统的依赖。SDL 的C 语言风格浓郁,程序简单易


懂,封装性好,启动速度快,编程灵活性好,修改程


序方便,可移植性强。