漢字顯示數(shù)據(jù)結(jié)構(gòu)和原理_第1頁
漢字顯示數(shù)據(jù)結(jié)構(gòu)和原理_第2頁
漢字顯示數(shù)據(jù)結(jié)構(gòu)和原理_第3頁
漢字顯示數(shù)據(jù)結(jié)構(gòu)和原理_第4頁
漢字顯示數(shù)據(jù)結(jié)構(gòu)和原理_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院第七講第七講 漢字輸出技術(shù)漢字輸出技術(shù)蘇州大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院內(nèi)容v漢字的輸出技術(shù)綜述v漢字顯示輸出原理和基本結(jié)構(gòu)v漢字顯示技術(shù)實(shí)例 v打印輸出原理和基本結(jié)構(gòu)v漢字輸出應(yīng)用一、漢字的輸出技術(shù)綜述內(nèi)容v漢字輸出技術(shù)概述v漢字輸出技術(shù)的發(fā)展?jié)h字輸出技術(shù)概述v漢字信息的輸出也主要就是漢字在顯示器上的顯示以及在打印機(jī)上的打印。 v漢字的輸出技術(shù)還包括利用通信技術(shù),漢字信息以交換碼的形式在計(jì)算機(jī)與計(jì)算機(jī)或其它電子設(shè)備之間的傳送。 漢字輸出技術(shù)的發(fā)展v1968年首先在“717計(jì)算機(jī)”上研制出了能顯示256個(gè)漢字的顯示器 v1983年開發(fā)了我國第一個(gè)漢字DOS操

2、作系統(tǒng)CCDOS (軟件方式)v1985年開發(fā)了我國的第一塊漢卡 (硬件方式)v從九十年代開始,漢字輸出又進(jìn)入了一個(gè)以軟件為主的階段 二、漢字顯示輸出原理和基本結(jié)構(gòu) 內(nèi)容 v顯示設(shè)備v漢字顯示的原理v內(nèi)碼緩沖區(qū)和字形緩沖區(qū)v漢字顯示輸出過程v漢字終端1.陰極射線管顯示器(CRT)液晶顯示器(LCD)2.顯示適配卡(Video adapter cards)v顯示適配卡上面帶著內(nèi)存和專門的處理器。該處理器是被設(shè)計(jì)為專門處理需要顯示圖像的計(jì)算。這些圖形處理器的芯片里面有特別的用于計(jì)算圖象的命令集。它通過總線連接CPU與顯示器,是CPU與顯示器之間的接口設(shè)備,即視頻控制電路。它可以將顯示存儲(chǔ)器送出的信

3、息轉(zhuǎn)換成視頻控制信號(hào),送顯示器顯示。v顯卡一般由顯示芯片、顯示存儲(chǔ)器(簡稱顯存)、計(jì)算機(jī)接口和視頻接口四個(gè)部分組成。 顯示芯片顯示存儲(chǔ)器計(jì)算機(jī)接口視頻接口3.分辨率、顏色數(shù)和顯存v分辨率(Resolution)就是屏幕圖像的精密度,是指顯示器所能顯示點(diǎn)數(shù)的多少。分辨率為1024768的屏幕來說,即每一條水平線上包含有1024個(gè)像素點(diǎn),共有768條線,即掃描列數(shù)為1024列,行數(shù)為768行。v決定分辨率的兩個(gè)因素:顯示器顯存的大小和每個(gè)點(diǎn)的顏色數(shù) v640480單色分辨率,需要的顯存為:(640480)/8=38400個(gè)字節(jié) v1024768256色的分辨率,需要的顯存為:1024768=768

4、K個(gè)字節(jié) v1280102432位色的分辨率,需要的顯存為:(12801024)4=5M字節(jié)。 4.漢字和分辨率漢字和分辨率v漢字的點(diǎn)陣大小和屏幕的分辨率決定了在屏幕上可以顯示多少行和多少列漢字 v假設(shè)漢字的點(diǎn)陣大小為DX和DY,而屏幕的分辨率為SX和SY,另外,行與行之間要有行間距,假設(shè)為K個(gè)像素點(diǎn),則每行可以顯示SX/DX個(gè)漢字,每列可以顯示SY/(DY+K)個(gè)漢字,總共可以顯示SX/DXSY/(DY+K)個(gè)漢字。 4.漢字和分辨率(續(xù))v分辨率為640480,假設(shè)漢字大小為1616點(diǎn)陣,行間距為2,則每行可以顯示的漢字?jǐn)?shù)為:640/1640個(gè)漢字可顯示的列數(shù)為:480/(16+2)26列

5、 總共可以顯示的漢字?jǐn)?shù)為:26401040個(gè)漢字v分辨率為12801024,漢字大小為2424點(diǎn)陣,行間距為4,則每行可以顯示的漢字?jǐn)?shù)為:1280/2453個(gè)漢字可顯示的列數(shù)為:1024/(24+4)36列總共可以顯示的漢字?jǐn)?shù)為:53361908個(gè)漢字5.顯示驅(qū)動(dòng)程序v驅(qū)動(dòng)程序就是用來向操作系統(tǒng)提供一個(gè)訪問、使用硬件設(shè)備的接口,實(shí)現(xiàn)操作系統(tǒng)和系統(tǒng)中所有的硬件設(shè)備的之間的通信程序,它能告訴系統(tǒng)硬件設(shè)備所包含的功能,并且在軟件系統(tǒng)要實(shí)現(xiàn)某個(gè)功能時(shí),調(diào)動(dòng)硬件并使硬件用最有效的方式來完成它。v漢字的顯示本質(zhì)就是把顯示驅(qū)動(dòng)程序漢化,使它支持漢字顯示。 內(nèi)容 v顯示設(shè)備v漢字顯示的原理v內(nèi)碼緩沖區(qū)和字形緩

6、沖區(qū)v漢字顯示輸出過程v漢字終端字符模式顯示原理 西文字符西文字符的的ASCII碼碼顯示存儲(chǔ)器顯示存儲(chǔ)器顯卡的顯卡的字符映射器字符映射器屏幕屏幕ASCII碼的點(diǎn)陣字形庫碼的點(diǎn)陣字形庫ASCIIASCII圖形信息圖形信息ASCII圖形信息圖形信息硬件顯卡和顯示器工作硬件顯卡和顯示器工作字符顯示模式下西文字符的顯示流程 1.用戶需要顯示某個(gè)字符,則把該字符的ASCII碼通過系統(tǒng)調(diào)用,并根據(jù)用戶提供的位置信息寫到顯存的相應(yīng)位置;2.顯卡定時(shí)把顯存中的信息刷新到屏幕,處理到這個(gè)字符時(shí),從顯存中獲得ASCII碼,然后通過字符映射器到顯卡ROM中的ASCII碼字形庫中找到這個(gè)ASCII碼的點(diǎn)陣信息;3.顯

7、卡把這些點(diǎn)陣信息和當(dāng)前字符的位置、顏色等屬性轉(zhuǎn)換為視頻信號(hào)送顯示器;4.顯示器顯示這個(gè)字符。字符模式下顯存結(jié)構(gòu) 圖形模式顯示原理 漢字機(jī)漢字機(jī)內(nèi)碼內(nèi)碼機(jī)內(nèi)碼機(jī)內(nèi)碼到字形碼到字形碼轉(zhuǎn)換模塊轉(zhuǎn)換模塊顯示存儲(chǔ)顯示存儲(chǔ)器器屏幕屏幕機(jī)內(nèi)機(jī)內(nèi)碼碼漢字漢字點(diǎn)陣點(diǎn)陣漢字顯示系統(tǒng)漢字顯示系統(tǒng)顯卡和顯示器顯卡和顯示器內(nèi)容 v顯示設(shè)備v漢字顯示的原理v內(nèi)碼緩沖區(qū)和字形緩沖區(qū)v漢字顯示輸出過程v漢字終端漢字漢字機(jī)內(nèi)碼機(jī)內(nèi)碼內(nèi) 碼 緩內(nèi) 碼 緩沖區(qū)沖區(qū)字形緩沖區(qū)字形緩沖區(qū)(顯存)(顯存)屏幕屏幕顯示處理程序內(nèi)容 v顯示設(shè)備v漢字顯示的原理v內(nèi)碼緩沖區(qū)和字形緩沖區(qū)v漢字顯示輸出過程v漢字終端漢字顯示輸出過程流程1.應(yīng)用程

8、序需要顯示漢字,那么它會(huì)調(diào)用系統(tǒng)提供的顯示漢字函數(shù)或中斷,調(diào)用的過程實(shí)際上僅是把漢字的內(nèi)碼和屬性寫到內(nèi)碼緩沖區(qū);2.漢字顯示處理程序從內(nèi)碼緩沖區(qū)中取出漢字的內(nèi)碼和屬性,調(diào)用地址映射模塊處理;3.地址映射模塊根據(jù)漢字內(nèi)碼和它屬性中的字體等信息,計(jì)算此漢字對(duì)應(yīng)的漢字字形碼在字形庫中的位置,即地址碼。然后把地址碼返回漢字顯示處理程序;流程(續(xù))4.漢字顯示處理程序根據(jù)返回的地址碼和字體,從相應(yīng)的字形庫中得到此漢字的字形碼,然后把字形碼和屬性作為參數(shù)調(diào)用字形變換模塊;5.字形變換模塊根據(jù)漢字的字形碼以及需要顯示的字形屬性(如字號(hào)、是否加粗、是否是斜體、是否有下劃線等),把漢字的基本字形信息變換為字形屬

9、性要求的形狀,返回給漢字顯示處理程序;6.漢字顯示處理程序把變換后的字形碼和它在屏幕上的位置(一般為X和Y坐標(biāo))送給漢字顯示驅(qū)動(dòng)程序;流程(續(xù))7.漢字顯示驅(qū)動(dòng)程序調(diào)用位置轉(zhuǎn)換模塊,把屏幕位置轉(zhuǎn)換為在顯存中對(duì)應(yīng)的地址;8.漢字顯示驅(qū)動(dòng)程序根據(jù)該點(diǎn)陣在顯存中的位置和顯存的組織形式,把漢字點(diǎn)陣寫到顯存;9.顯卡定時(shí)把顯存中的信息刷新到屏幕,此漢字就顯示在屏幕上了。內(nèi)容 v顯示設(shè)備v漢字顯示的原理v內(nèi)碼緩沖區(qū)和字形緩沖區(qū)v漢字顯示輸出過程v漢字終端漢字終端漢字終端是一個(gè)能處理漢字的固化計(jì)算機(jī)系統(tǒng)。它一般由主控漢字終端是一個(gè)能處理漢字的固化計(jì)算機(jī)系統(tǒng)。它一般由主控板、顯示器、鍵盤三大部分組成板、顯示器

10、、鍵盤三大部分組成 工作原理主機(jī)主機(jī)系統(tǒng)系統(tǒng)漢字顯漢字顯示模塊示模塊漢字字漢字字形庫形庫屏幕屏幕漢字終端三、漢字顯示技術(shù)實(shí)例 內(nèi)容vDOS下的漢字顯示技術(shù)下的漢字顯示技術(shù)vWindows的漢字顯示技術(shù)的漢字顯示技術(shù)1.顯示輸出模塊v在DOS中,I/O設(shè)備是由BIOS中斷處理程序驅(qū)動(dòng)的,那么顯示的驅(qū)動(dòng)程序就是BIOS的中斷處理程序,應(yīng)用軟件通過對(duì)BIOS的中斷處理程序的調(diào)用來使用外部設(shè)備。vDOS下顯示是通過10H號(hào)中斷處理程序來實(shí)現(xiàn)的。10號(hào)中斷處理程序功能模塊說明功能號(hào)功能說明功能號(hào)功能說明0視頻初始化8讀當(dāng)前光標(biāo)處字符和屬性1定義光標(biāo)類型9向光標(biāo)處寫字符和屬性2定義光標(biāo)位置10向光標(biāo)處寫字

11、符3讀光標(biāo)位置11定義屏幕顏色4讀光筆位置12在指定坐標(biāo)處寫點(diǎn)5定義當(dāng)前頁13在指定坐標(biāo)處讀點(diǎn)6屏幕上滾14以TTY方式顯示字符7屏幕下滾15取視頻狀態(tài)DOS下的漢字字形庫漢字字形庫v字符集:GB2312定義的6763個(gè)漢字和682個(gè)符號(hào),包括全角的字母和數(shù)字,標(biāo)點(diǎn)符號(hào)、序號(hào)和羅馬字母等。v漢字字形庫一般有兩種模式:1616的顯示用點(diǎn)陣字形庫(橫向)2424打印用點(diǎn)陣字形庫(縱向)v圖形模式下實(shí)現(xiàn)顯示,常用的圖形適配器一般為VGA,漢字一般顯示在64048016色的分辨率 每行40個(gè)漢字,共26行第26行通常作為輸入系統(tǒng)的提示行DOS下漢字顯示的實(shí)現(xiàn)原理下漢字顯示的實(shí)現(xiàn)原理v在DOS下漢字顯示

12、在圖形模式下,通過畫點(diǎn)的方式來顯示漢字點(diǎn)陣。v實(shí)現(xiàn)的基本思想是修改10H號(hào)中斷處理程序,使得這個(gè)顯示中斷能夠支持漢字的顯示。v優(yōu)點(diǎn):應(yīng)用程序不需要作任何的修改,就可以顯示漢字了。 新中斷處理程序執(zhí)行過程中斷裝置ROM中中的原來的原來的的10H中中斷處理斷處理程序程序RAM中的中的新的新的10H中斷處理中斷處理程序程序和 漢 字 顯和 漢 字 顯示 無 關(guān) 的示 無 關(guān) 的功 能 調(diào) 用功 能 調(diào) 用能 , 沿 用能 , 沿 用原來的原來的1 0 H 中 斷中 斷處理程序處理程序0號(hào)中斷地址號(hào)中斷地址1號(hào)中斷地址號(hào)中斷地址10H號(hào)中斷地址號(hào)中斷地址中斷處理程序入口地址中斷處理程序入口地址0440

13、在在16個(gè)子功能中,其中個(gè)子功能中,其中0號(hào)、號(hào)、2號(hào)、號(hào)、3號(hào)、號(hào)、6到到10號(hào)和號(hào)和14號(hào)需號(hào)需要重新編寫,其它的要重新編寫,其它的7個(gè)子功能可以沿用原來的。個(gè)子功能可以沿用原來的。 內(nèi)容vDOS下的漢字顯示技術(shù)下的漢字顯示技術(shù)vWindows的漢字顯示技術(shù)的漢字顯示技術(shù)Windows漢字字符集v在Windows中,漢字的字符集有兩種形式:Unicode和ANSI CodevWindows NT/2000/XP/2003的內(nèi)核使用Unicode作為文字信息的編碼,而應(yīng)用程序則可以同時(shí)使用Unicode和ANSI Code來表達(dá)文字。所以有關(guān)字符串的API有兩個(gè)不同字符集的版本:Unicod

14、e 版和ANSI Code版。 v而Windows 95/98/ME一直使用單(雙)字節(jié)結(jié)合的內(nèi)碼。單字節(jié)內(nèi)碼主要是ASCII,雙字節(jié)內(nèi)碼則是ANSI Code,如GB2312、GBK、BIG-5等。vWindows CE則是一個(gè)統(tǒng)一使用Unicode的操作系統(tǒng)。不管是內(nèi)核還是應(yīng)用程序,字符的內(nèi)碼就是Unicode。 Windows漢字顯示分析vWindows系統(tǒng)的核心部分管理分為核心(Kernel)、用戶管理(User)和圖形設(shè)備接口(GDI)。 vKernel完成內(nèi)存管理、程序的裝入與執(zhí)行和任務(wù)調(diào)度等功能,它需要調(diào)用原MSDOS中的文件管理、磁盤輸入輸出和程序執(zhí)行等功能 vUser是一個(gè)程

15、序庫,它用來對(duì)聲音、時(shí)鐘、鼠標(biāo)器及鍵盤輸入等操作進(jìn)行管理vGDI是一功能十分豐富的子程序庫,它提供了圖形與文字輸出、圖像操作和窗口管理等各種與顯示和打印有關(guān)的功能,GDI是實(shí)現(xiàn)漢字等字符輸出的核心模塊。 Windows漢字顯示分析(續(xù))v當(dāng)使用GDI的字符顯示函數(shù)(如Textout)在窗口的用戶區(qū)上顯示漢字時(shí),實(shí)際上是設(shè)備驅(qū)動(dòng)程序根據(jù)GDI傳遞的物理字體的信息,從TTF字形庫得到相應(yīng)字符的字形后,向顯存輸出該字符的位圖,然后GDI可以根據(jù)應(yīng)用程序的要求,將該字符的字形作為一個(gè)位圖進(jìn)行各種處理。 漢字顯示數(shù)據(jù)結(jié)構(gòu)和原理v每個(gè)TTF字庫都有一個(gè)字體信息結(jié)構(gòu)FONTINFO結(jié)構(gòu),F(xiàn)ONTINFO包含

16、了字符輸出所需的所有物理字體信息,包括字體的名稱、字體點(diǎn)的大小和字符集等信息。 v在FONTINFO結(jié)構(gòu)后,一般緊跟以下的一個(gè)或多個(gè)結(jié)構(gòu) 名稱 說明 字符寬度表保存每個(gè)字符的位圖或矢量信息的偏移;Windows中的字體一般分為矢量字體(Vector Font)和光柵字體(Raster Font),如果是光柵字體,則這個(gè)偏移是相對(duì)于位圖字形庫的偏移;如果是矢量字體,則這個(gè)偏移是相對(duì)于矢量字形庫的偏移。位圖字形庫字符集所定義的字符的位圖信息,即用位圖表示的字形信息矢量字形庫采用矢量方式定義的每個(gè)字符的字形信息字體名稱字體名稱的字符串設(shè)備名稱設(shè)備名稱的字符串windows漢字顯示輸出vWindows

17、中將中文字符和西文字符均作為一個(gè)位圖來處理和顯示。雖然不同的字形庫設(shè)計(jì)技術(shù),使得存放在字形庫中的漢字字形信息是不一樣的,如矢量字體和光柵字體的表示就不同,但最終它們都能轉(zhuǎn)換為由點(diǎn)陣構(gòu)成的位圖,從而顯示在屏幕上。vWindows中所有字符輸出的功能均是通過GDI庫函數(shù)來完成,再由GDI調(diào)用相應(yīng)設(shè)備驅(qū)動(dòng)程序?qū)崿F(xiàn)字符輸出。字符的輸出最常用的系統(tǒng)調(diào)用是ExTextOut()和TextOut()。 四、打印輸出原理和基本結(jié)構(gòu) 內(nèi)容v打印設(shè)備打印設(shè)備v漢字打印概述漢字打印概述v漢字打印原理漢字打印原理v漢字打印過程漢字打印過程v漢字打印機(jī)漢字打印機(jī)打印設(shè)備v漢字的打印設(shè)備主要是打印機(jī),一般分為三種:噴墨打

18、印機(jī)、激光打印機(jī)和針式打印機(jī)。打印機(jī)和計(jì)算機(jī)的接口一般分為并口、串口和USB接口。 v針式打印機(jī)v噴墨打印機(jī)v激光打印機(jī)激光打印機(jī)原理打印機(jī)的分辨率v分辨率的單位是DPI(dot per inch),是指在每一個(gè)平方英寸可以由多少個(gè)點(diǎn)構(gòu)成,它直接關(guān)系到產(chǎn)品輸出的文字和圖像的質(zhì)量好壞。v如一臺(tái)產(chǎn)品的分辨率表示為360dpi,就是表示在一平方英寸的區(qū)域的表現(xiàn)力最高可以達(dá)到水平360個(gè)點(diǎn),垂直360個(gè)點(diǎn),總共129600個(gè)點(diǎn)。v分辨率越高,數(shù)值越大,就意味著產(chǎn)品輸出的質(zhì)量越高。 內(nèi)容v打印設(shè)備打印設(shè)備v漢字打印概述漢字打印概述v漢字打印原理漢字打印原理v漢字打印過程漢字打印過程v漢字打印機(jī)漢字打印機(jī)

19、打印技術(shù)的發(fā)展vCC-DOS中提供了漢字的打印功能,它采用軟字庫的解決方案,利用2424的打印用點(diǎn)陣字庫來輸出漢字的字形,再進(jìn)行必要的處理后送打印機(jī)打印漢字 v硬字庫方案,典型的是漢字打印機(jī)和激光照排技術(shù) v軟字庫方案也在不斷優(yōu)化中,它利用計(jì)算機(jī)軟件技術(shù)加快了打印速度,引入了曲線和矢量字庫,從而大大提高打印質(zhì)量 vWindows采用True Type字形技術(shù)來實(shí)現(xiàn)漢字打印,以及新的噴墨、激光打印技術(shù)的出現(xiàn),使得漢字的打印質(zhì)量進(jìn)一步提高,完全可以滿足用戶對(duì)打印質(zhì)量的要求。 內(nèi)容v打印設(shè)備打印設(shè)備v漢字打印概述漢字打印概述v漢字打印原理漢字打印原理v漢字打印過程漢字打印過程v漢字打印機(jī)漢字打印機(jī)漢字打印原理v漢字的打印過程:漢字機(jī)內(nèi)碼轉(zhuǎn)換為漢字的字形碼進(jìn)行漢字字形碼的變換和輸出的格式控制漢字字形送打印機(jī) v漢字打印一般可以分為兩個(gè)部分:打印驅(qū)動(dòng):漢字機(jī)內(nèi)碼轉(zhuǎn)換為字形碼,然后把漢字字形送打印機(jī) 打印控制:根據(jù)打印的各種參數(shù)設(shè)置(如字體、字號(hào)、行間距等)對(duì)打印輸出進(jìn)行控制,使得打印結(jié)果符合用戶的要求 漢字打印原理(續(xù))v軟字庫方案操作系統(tǒng)提供各種軟字形庫,每個(gè)軟字形庫以文件形式存在,打印驅(qū)動(dòng)程序通過訪問字形庫獲得漢字的字形,從而實(shí)現(xiàn)漢字打

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論