基于SDL库的嵌入式平台中文显示技术

2017-04-14 02:07杨益平
电子技术与软件工程 2017年6期

在信息技术飞速发展的今天,新鲜事物如雨后春笋一般涌现,科技的进步推进了人类社会的进步。SDL库在科技中的应用是飞跃的进步,在实际的使用过程中,应用好各种科学技术的有效结合可以最大限度的发挥功能,造福人类。本文就基于SDL库的嵌入式平台中文显示技术做以研究介绍,主要包括对SDL的介绍、中文显示技术依托于其他技术的实现途径等。

【關键词】SDL库 中文显示技术 嵌入式平台

科技产品在我们日常生活中的应用已经很普遍了,我们用的手机、电脑、电视机都是科学技术进步的产物,但是科技不仅仅停留于此,人们对于技术使用的要求也是越来越高了,正是由于使用的不满足和高要求,才使得技术的应用可以逐渐的完善。目前,嵌入式系统的文字库还是以点阵字为主,随着技术应用的广泛性在增大,处理器的运输能力也在增强,逐渐出现了GUI系统。当前的点阵字虽然在处理速度上很占优势,但是在分辨率的显示方面却存在很大的缺陷,高精度的中文显示又存在显示速度慢这样的问题,目前就是这样的状况。在国内,目前SDL应用的主要领域是游戏的编写和数据开发等,并未致力于中文显示的研究,由于嵌入式平台和SDL库系统应用之间有很大的差别,所以这样的应用对于研究开发人员的要求也是很高的,所以,可以采取在SDL图形库显示中文,可以在很大程度上避免一些问题的出现,克服一些障碍,SDL图形库接口的传输速度相对较快,结构相对简单,并且可移植性强等优先,可以改善嵌入式系统中SDL库文字的显示。

1 SDL的概述

SDL是一个用C语言编写的免费跨平台多媒体开发库,使用LGPL许可证,可以应用于游戏、游戏开发工具、数据模拟器、样本演示、多媒体应用等。其显著之处在于跨平台操作、易使用。到目前为止,SDL的版本支持Linux、Windows等多种操作系统,但是不完全依赖于系统。SDL最大的特点就是跨平台,在平台之间进行一系列的操作,而不是仅仅依靠一个平台的内部操作,很大程度上减少了对操作系统的依赖,更加独立,更加便捷,依赖的系统少,我们都知道,受到各种系统的限制就会减少很多,进而操作起来更容易,使用更方便。而且,SDL利用C语言编写,原本C语言的风格浓郁,所以SDL编写的程序简单容易被理解、系统启动的速度较快、编写程序很灵活、修改程序方便简单,而且封装性良好,这个都是SDL在利用C语言编写的基础上而存在的主要优势。

2 利用SDL显示GBK点阵汉字

2.1 基本原理

GBK是一个汉字编码标准,在使用的时候,需要GBK点阵文字字库文件,是一种操作比较复杂的文件,为了简化在实际使用过程中的操作,将这种文件转化为数组,在这个转化的过程中,转化的是文字的形式,但是文字额本身并不受影响。然后在实际应用中,就可以把这样转化后的文字直接放在应用内存中用于显示,因为是经过了转化的,所以占据的空间比较大,容量大,可见这样的调整对于移动设备来说是不利的,不适用在移动设备中,这种程序在编写和使用时,直接调用这样转化后存储的文件,检索出所需要的资料。

2.2 点阵汉字的显示

(1)如果是单个汉字的读取,则会读取偏移量后的32 个字节,经过系统的映射和转化,变为可以识别的、分辨率超高的汉字;如果是ASCII编码的,则只需要读取16字节,就可以准确利用程序显示出点阵汉字。

(2)对于所读取的任何字节,啥要确定该字每位的字节值,如果是“1”,则会在内存对于的位置显示出来,如果不是的话就不会显是出来点阵。

(3)还有一种情况是,前提是汉字,但却不是GB点阵的汉字范围,则需要重新计算,根据汉字内码在GBK扩展码的范围进行测算,计算出汉字的偏移量,然后根据偏移量来进行汉字的显示。

3 利用SDL显示Ture Type字体

Ture Type字体利用的是数学的有关知识,利用数学函数的关系来显示汉字的外形轮廓,用函数的方式表达出汉字的外形, 每个汉字的函数曲线都是不一样的。利用这种方式,可以准确的汉字的外形,进而准确的识别出不同的汉字;而且,函数的知识是一种先进的技术应用,可以支持字体的嵌入;而且,这种方式的兼容度很高,可以避免由于操作系统的兼容性低而造成使用不便的问题。

利用SDL显示Ture Type字体,就要求必须使用.ttf文件,才可以进行相应的支持。Ture Type字体的显示,首先要经过TTF初始化,打开有关的程序和文件,进而打开文字的字体,对字体的属性进行设置,包括文字的大小、字体等各种属性,以达到.ttf文件的要求,才可以进行正常的文字转化和识别,随后将有关文字放在内存中,移动文字存储的位置和方式,以备用显示;然后再把存储着文字的内存拷贝到可以显示文字的设备上,保证文字有一定的载体,然后释放内存,保证文字文件已经存储在显示设备中;最后释放内存,刷新存储文字的显示设备环境,为显示文字清理环境,是文字顺利的显示出来;在完成之后,就可以关闭字体的文件了,然后清楚并销毁TTF。本段上问叙述的就是TTF文字显示的大致的过程。其实是一个文字的形式的转换,并且字体的存贮载体的一个转移过程。该过程不会改变文字的各种属性,知识将文字进行了一次“搬运”。

4 总结

上文介绍了基于SDL库嵌入式平台中文显示的的几种依托于其他系统或者是转化系统的方式,拓宽的研究的事业,将多种先进的技术做有效的结合,从而形成新型的。可以大幅度的满足人们生活需要的技术支持。到目前为止,这些技术不仅仅是设想和理论的研究,有的已经应用到实践,像利用SDL显示GBK点阵汉字的方法已经应用到实验室的GPS导航仪中,而且使用的效果也是很好的。我们期待着新技术给我们的日常生活带来更多的便利,使我们的生活在科技的笼罩下更加美好。同时,我们也要尽自己最大的努力,做出有益于我们生活的事情。

参考文献

[1]李科,李璐,兰时勇.基于FFmpeg和SDL实现多路实时流变换及播放[J].计算机技术与发展,2014(04):65-68.

[2]江俊杰,王志明.基于SDL的H.264流媒体播放系统[J].计算机系统应用,2013(12):51-54.

[3]陈飞,黄海明,杨猛,刘金刚.基于SDL和OpenGL实时绘制中文字体[J].计算机工程与设计,2011(08):2764-2767+2783.

[4]王园园,高明煜,曾毓.基于SDL库的嵌入式平台中文显示技术研究[J].计算机系统应用,2009(04):194-197.

[5]刘宇红,白伟.SDL语言及其在通信系统中的应用[J].通信技术,2002(12):82-83.

作者简介

杨益平(1982-),男,安徽省池州市人。硕士学历。中国船舶重工集团公司第七二三研究所工程师。主要研究方向为人机交互技术。

许坤(1972-),男,江苏省泰州市人。大学本科学历。中国船舶重工集团公司第七二三研究所高级工程师。主要研究方向为计算机仿真技术。

作者单位

中国船舶重工集团公司第七二三研究所 江苏省扬州市 225001