在信息技術(shù)飛速發(fā)展的今天,新鮮事物如雨后春筍一般涌現(xiàn),科技的進步推進了人類社會的進步。SDL庫在科技中的應(yīng)用是飛躍的進步,在實際的使用過程中,應(yīng)用好各種科學(xué)技術(shù)的有效結(jié)合可以最大限度的發(fā)揮功能,造福人類。本文就基于SDL庫的嵌入式平臺中文顯示技術(shù)做以研究介紹,主要包括對SDL的介紹、中文顯示技術(shù)依托于其他技術(shù)的實現(xiàn)途徑等。
【關(guān)鍵詞】SDL庫 中文顯示技術(shù) 嵌入式平臺
科技產(chǎn)品在我們?nèi)粘I钪械膽?yīng)用已經(jīng)很普遍了,我們用的手機、電腦、電視機都是科學(xué)技術(shù)進步的產(chǎn)物,但是科技不僅僅停留于此,人們對于技術(shù)使用的要求也是越來越高了,正是由于使用的不滿足和高要求,才使得技術(shù)的應(yīng)用可以逐漸的完善。目前,嵌入式系統(tǒng)的文字庫還是以點陣字為主,隨著技術(shù)應(yīng)用的廣泛性在增大,處理器的運輸能力也在增強,逐漸出現(xiàn)了GUI系統(tǒng)。當(dāng)前的點陣字雖然在處理速度上很占優(yōu)勢,但是在分辨率的顯示方面卻存在很大的缺陷,高精度的中文顯示又存在顯示速度慢這樣的問題,目前就是這樣的狀況。在國內(nèi),目前SDL應(yīng)用的主要領(lǐng)域是游戲的編寫和數(shù)據(jù)開發(fā)等,并未致力于中文顯示的研究,由于嵌入式平臺和SDL庫系統(tǒng)應(yīng)用之間有很大的差別,所以這樣的應(yīng)用對于研究開發(fā)人員的要求也是很高的,所以,可以采取在SDL圖形庫顯示中文,可以在很大程度上避免一些問題的出現(xiàn),克服一些障礙,SDL圖形庫接口的傳輸速度相對較快,結(jié)構(gòu)相對簡單,并且可移植性強等優(yōu)先,可以改善嵌入式系統(tǒng)中SDL庫文字的顯示。
1 SDL的概述
SDL是一個用C語言編寫的免費跨平臺多媒體開發(fā)庫,使用LGPL許可證,可以應(yīng)用于游戲、游戲開發(fā)工具、數(shù)據(jù)模擬器、樣本演示、多媒體應(yīng)用等。其顯著之處在于跨平臺操作、易使用。到目前為止,SDL的版本支持Linux、Windows等多種操作系統(tǒng),但是不完全依賴于系統(tǒng)。SDL最大的特點就是跨平臺,在平臺之間進行一系列的操作,而不是僅僅依靠一個平臺的內(nèi)部操作,很大程度上減少了對操作系統(tǒng)的依賴,更加獨立,更加便捷,依賴的系統(tǒng)少,我們都知道,受到各種系統(tǒng)的限制就會減少很多,進而操作起來更容易,使用更方便。而且,SDL利用C語言編寫,原本C語言的風(fēng)格濃郁,所以SDL編寫的程序簡單容易被理解、系統(tǒng)啟動的速度較快、編寫程序很靈活、修改程序方便簡單,而且封裝性良好,這個都是SDL在利用C語言編寫的基礎(chǔ)上而存在的主要優(yōu)勢。
2 利用SDL顯示GBK點陣漢字
2.1 基本原理
GBK是一個漢字編碼標(biāo)準(zhǔn),在使用的時候,需要GBK點陣文字字庫文件,是一種操作比較復(fù)雜的文件,為了簡化在實際使用過程中的操作,將這種文件轉(zhuǎn)化為數(shù)組,在這個轉(zhuǎn)化的過程中,轉(zhuǎn)化的是文字的形式,但是文字額本身并不受影響。然后在實際應(yīng)用中,就可以把這樣轉(zhuǎn)化后的文字直接放在應(yīng)用內(nèi)存中用于顯示,因為是經(jīng)過了轉(zhuǎn)化的,所以占據(jù)的空間比較大,容量大,可見這樣的調(diào)整對于移動設(shè)備來說是不利的,不適用在移動設(shè)備中,這種程序在編寫和使用時,直接調(diào)用這樣轉(zhuǎn)化后存儲的文件,檢索出所需要的資料。
2.2 點陣漢字的顯示
(1)如果是單個漢字的讀取,則會讀取偏移量后的32 個字節(jié),經(jīng)過系統(tǒng)的映射和轉(zhuǎn)化,變?yōu)榭梢宰R別的、分辨率超高的漢字;如果是ASCII編碼的,則只需要讀取16字節(jié),就可以準(zhǔn)確利用程序顯示出點陣漢字。
(2)對于所讀取的任何字節(jié),啥要確定該字每位的字節(jié)值,如果是“1”,則會在內(nèi)存對于的位置顯示出來,如果不是的話就不會顯是出來點陣。
(3)還有一種情況是,前提是漢字,但卻不是GB點陣的漢字范圍,則需要重新計算,根據(jù)漢字內(nèi)碼在GBK擴展碼的范圍進行測算,計算出漢字的偏移量,然后根據(jù)偏移量來進行漢字的顯示。
3 利用SDL顯示Ture Type字體
Ture Type字體利用的是數(shù)學(xué)的有關(guān)知識,利用數(shù)學(xué)函數(shù)的關(guān)系來顯示漢字的外形輪廓,用函數(shù)的方式表達出漢字的外形, 每個漢字的函數(shù)曲線都是不一樣的。利用這種方式,可以準(zhǔn)確的漢字的外形,進而準(zhǔn)確的識別出不同的漢字;而且,函數(shù)的知識是一種先進的技術(shù)應(yīng)用,可以支持字體的嵌入;而且,這種方式的兼容度很高,可以避免由于操作系統(tǒng)的兼容性低而造成使用不便的問題。
利用SDL顯示Ture Type字體,就要求必須使用.ttf文件,才可以進行相應(yīng)的支持。Ture Type字體的顯示,首先要經(jīng)過TTF初始化,打開有關(guān)的程序和文件,進而打開文字的字體,對字體的屬性進行設(shè)置,包括文字的大小、字體等各種屬性,以達到.ttf文件的要求,才可以進行正常的文字轉(zhuǎn)化和識別,隨后將有關(guān)文字放在內(nèi)存中,移動文字存儲的位置和方式,以備用顯示;然后再把存儲著文字的內(nèi)存拷貝到可以顯示文字的設(shè)備上,保證文字有一定的載體,然后釋放內(nèi)存,保證文字文件已經(jīng)存儲在顯示設(shè)備中;最后釋放內(nèi)存,刷新存儲文字的顯示設(shè)備環(huán)境,為顯示文字清理環(huán)境,是文字順利的顯示出來;在完成之后,就可以關(guān)閉字體的文件了,然后清楚并銷毀TTF。本段上問敘述的就是TTF文字顯示的大致的過程。其實是一個文字的形式的轉(zhuǎn)換,并且字體的存貯載體的一個轉(zhuǎn)移過程。該過程不會改變文字的各種屬性,知識將文字進行了一次“搬運”。
4 總結(jié)
上文介紹了基于SDL庫嵌入式平臺中文顯示的的幾種依托于其他系統(tǒng)或者是轉(zhuǎn)化系統(tǒng)的方式,拓寬的研究的事業(yè),將多種先進的技術(shù)做有效的結(jié)合,從而形成新型的??梢源蠓鹊臐M足人們生活需要的技術(shù)支持。到目前為止,這些技術(shù)不僅僅是設(shè)想和理論的研究,有的已經(jīng)應(yīng)用到實踐,像利用SDL顯示GBK點陣漢字的方法已經(jīng)應(yīng)用到實驗室的GPS導(dǎo)航儀中,而且使用的效果也是很好的。我們期待著新技術(shù)給我們的日常生活帶來更多的便利,使我們的生活在科技的籠罩下更加美好。同時,我們也要盡自己最大的努力,做出有益于我們生活的事情。
參考文獻
[1]李科,李璐,蘭時勇.基于FFmpeg和SDL實現(xiàn)多路實時流變換及播放[J].計算機技術(shù)與發(fā)展,2014(04):65-68.
[2]江俊杰,王志明.基于SDL的H.264流媒體播放系統(tǒng)[J].計算機系統(tǒng)應(yīng)用,2013(12):51-54.
[3]陳飛,黃海明,楊猛,劉金剛.基于SDL和OpenGL實時繪制中文字體[J].計算機工程與設(shè)計,2011(08):2764-2767+2783.
[4]王園園,高明煜,曾毓.基于SDL庫的嵌入式平臺中文顯示技術(shù)研究[J].計算機系統(tǒng)應(yīng)用,2009(04):194-197.
[5]劉宇紅,白偉.SDL語言及其在通信系統(tǒng)中的應(yīng)用[J].通信技術(shù),2002(12):82-83.
作者簡介
楊益平(1982-),男,安徽省池州市人。碩士學(xué)歷。中國船舶重工集團公司第七二三研究所工程師。主要研究方向為人機交互技術(shù)。
許坤(1972-),男,江蘇省泰州市人。大學(xué)本科學(xué)歷。中國船舶重工集團公司第七二三研究所高級工程師。主要研究方向為計算機仿真技術(shù)。
作者單位
中國船舶重工集團公司第七二三研究所 江蘇省揚州市 225001