軍事指揮系統中VxWorks下漢字顯示技術(shù)
WindML的主要功能有二維圖形API、事件服務(wù)、區域和視窗管理、多媒體API和資源管理。其中,二維圖形API是最常用的部分,包括基本繪圖操作 (如畫(huà)線(xiàn)、矩形、橢圓、多邊形、點(diǎn)等),選擇字體輸出文本、位圖管理、光標管理、批量繪圖操作、圖形上下文、色彩管理和雙緩沖等。事件服務(wù)程序用來(lái)處理輸入設備的輸入請求。它會(huì )把鍵盤(pán)、鼠標等輸入數據轉化為事件并加入應用隊列;區域和視窗管理可以在界面上定義一個(gè)區域或多線(xiàn)程之間共享的窗口,以進(jìn)行繪圖操作;多媒體APl支持NTSC,PAL,SECAM等視頻制式下DSP或混頻器兩種設備的音頻輸出,也支持JPEG圖形格式;資源管理器是指常規的 WindML資源(例如設備和事件隊列)、內存管理和驅動(dòng)器注冊等資源的建立、控制和刪除。
2.2 WindML字體驅動(dòng)體系結構
WindML字體驅動(dòng)在WindML 2D API上提供了一個(gè)通用的抽象層,允許應用程序通過(guò)一個(gè)通用2D字體API庫使用不同的字體引擎。通用2D字體API是提供給應用程序使用字體API的公共接口。字體驅動(dòng)不同于VxWorks中的其他驅動(dòng),它不允許執行或使用任何圖形驅動(dòng)接口以下的程序,也就是說(shuō)它不直接訪(fǎng)問(wèn)硬件,只訪(fǎng)問(wèn)系統所使用的圖形驅動(dòng)或間接通過(guò)UGL圖形驅動(dòng)結構來(lái)訪(fǎng)問(wèn)硬件。這就允許字體驅動(dòng)可以運行在任何圖形驅動(dòng)之上,與字體引擎硬件無(wú)關(guān)。WindML字體驅動(dòng)體系結構如圖2所示。本文引用地址:http://dyxdggzs.com/article/152394.htm
2.3 點(diǎn)陣漢字輸出過(guò)程
點(diǎn)陣漢字的顯示是利用WindML的圖形輸出功能來(lái)實(shí)現的。設計開(kāi)發(fā)中利用WindML對位圖字符顯示和雙字節編碼的支持,按照WindML位圖字體文件的格式完成漢字點(diǎn)陣的轉換存儲,并使用WindML的雙字節顯示函數實(shí)現點(diǎn)陣獲取、點(diǎn)陣顯示,將漢字顯示出來(lái)。
WindML有很多字庫文件,原始安裝狀態(tài)下都是西文字庫文件,要在VxWorks系統中顯示中文漢字,解決方案是將西文字庫文件修改成為中文字庫文件,即設計一種類(lèi)似西文字庫格式的C語(yǔ)言文件,文件中存儲雙字節的漢字編碼、點(diǎn)陣信息及字體的控制信息等。字庫文件經(jīng)過(guò)系統配置、編譯后生成點(diǎn)陣字庫文件目標代碼,點(diǎn)陣驅動(dòng)程序從目標代碼中獲取點(diǎn)陣信息傳遞給應用程序編程接口,應用程序調用圖形顯示函數輸出漢字。WindML下漢字顯示處理過(guò)程如圖3所示。
評論