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

下載本文檔

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

文檔簡(jiǎn)介

第七講漢字輸出技術(shù)蘇州大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院內(nèi)容漢字的輸出技術(shù)綜述漢字顯示輸出原理和基本結(jié)構(gòu)漢字顯示技術(shù)實(shí)例打印輸出原理和基本結(jié)構(gòu)漢字輸出應(yīng)用一、漢字的輸出技術(shù)綜述內(nèi)容漢字輸出技術(shù)概述漢字輸出技術(shù)的發(fā)展?jié)h字輸出技術(shù)概述漢字信息的輸出也主要就是漢字在顯示器上的顯示以及在打印機(jī)上的打印。漢字的輸出技術(shù)還包括利用通信技術(shù),漢字信息以交換碼的形式在計(jì)算機(jī)與計(jì)算機(jī)或其它電子設(shè)備之間的傳送。漢字輸出技術(shù)的發(fā)展1968年首先在“717計(jì)算機(jī)”上研制出了能顯示256個(gè)漢字的顯示器1983年開(kāi)發(fā)了我國(guó)第一個(gè)漢字DOS操作系統(tǒng)——CC-DOS(軟件方式)1985年開(kāi)發(fā)了我國(guó)的第一塊漢卡(硬件方式)從九十年代開(kāi)始,漢字輸出又進(jìn)入了一個(gè)以軟件為主的階段二、漢字顯示輸出原理和基本結(jié)構(gòu)內(nèi)容顯示設(shè)備漢字顯示的原理內(nèi)碼緩沖區(qū)和字形緩沖區(qū)漢字顯示輸出過(guò)程漢字終端1.陰極射線管顯示器(CRT)液晶顯示器(LCD)2.顯示適配卡(Videoadaptercards)顯示適配卡上面帶著內(nèi)存和專門(mén)的處理器。該處理器是被設(shè)計(jì)為專門(mén)處理需要顯示圖像的計(jì)算。這些圖形處理器的芯片里面有特別的用于計(jì)算圖象的命令集。它通過(guò)總線連接CPU與顯示器,是CPU與顯示器之間的接口設(shè)備,即視頻控制電路。它可以將顯示存儲(chǔ)器送出的信息轉(zhuǎn)換成視頻控制信號(hào),送顯示器顯示。顯卡一般由顯示芯片、顯示存儲(chǔ)器(簡(jiǎn)稱顯存)、計(jì)算機(jī)接口和視頻接口四個(gè)部分組成。顯示芯片顯示存儲(chǔ)器計(jì)算機(jī)接口視頻接口3.分辨率、顏色數(shù)和顯存分辨率(Resolution)就是屏幕圖像的精密度,是指顯示器所能顯示點(diǎn)數(shù)的多少。分辨率為1024×768的屏幕來(lái)說(shuō),即每一條水平線上包含有1024個(gè)像素點(diǎn),共有768條線,即掃描列數(shù)為1024列,行數(shù)為768行。決定分辨率的兩個(gè)因素:顯示器顯存的大小和每個(gè)點(diǎn)的顏色數(shù)640×480×單色分辨率,需要的顯存為:(640×480)/8=38400個(gè)字節(jié)1024×768×256色的分辨率,需要的顯存為:1024×768=768K個(gè)字節(jié)1280×1024×32位色的分辨率,需要的顯存為:(1280×1024)×4=5M字節(jié)。4.漢字和分辨率漢字的點(diǎn)陣大小和屏幕的分辨率決定了在屏幕上可以顯示多少行和多少列漢字假設(shè)漢字的點(diǎn)陣大小為DX和DY,而屏幕的分辨率為SX和SY,另外,行與行之間要有行間距,假設(shè)為K個(gè)像素點(diǎn),則每行可以顯示[SX/DX]個(gè)漢字,每列可以顯示[SY/(DY+K)]個(gè)漢字,總共可以顯示[SX/DX]×[SY/(DY+K)]個(gè)漢字。4.漢字和分辨率(續(xù))分辨率為640×480,假設(shè)漢字大小為16×16點(diǎn)陣,行間距為2,則每行可以顯示的漢字?jǐn)?shù)為:[640/16]=40個(gè)漢字可顯示的列數(shù)為:[480/(16+2)]=26列總共可以顯示的漢字?jǐn)?shù)為:26×40=1040個(gè)漢字分辨率為1280×1024,漢字大小為24×24點(diǎn)陣,行間距為4,則每行可以顯示的漢字?jǐn)?shù)為:[1280/24]=53個(gè)漢字可顯示的列數(shù)為:[1024/(24+4)]=36列總共可以顯示的漢字?jǐn)?shù)為:53×36=1908個(gè)漢字5.顯示驅(qū)動(dòng)程序驅(qū)動(dòng)程序就是用來(lái)向操作系統(tǒng)提供一個(gè)訪問(wèn)、使用硬件設(shè)備的接口,實(shí)現(xiàn)操作系統(tǒng)和系統(tǒng)中所有的硬件設(shè)備的之間的通信程序,它能告訴系統(tǒng)硬件設(shè)備所包含的功能,并且在軟件系統(tǒng)要實(shí)現(xiàn)某個(gè)功能時(shí),調(diào)動(dòng)硬件并使硬件用最有效的方式來(lái)完成它。漢字的顯示本質(zhì)就是把顯示驅(qū)動(dòng)程序漢化,使它支持漢字顯示。內(nèi)容顯示設(shè)備漢字顯示的原理內(nèi)碼緩沖區(qū)和字形緩沖區(qū)漢字顯示輸出過(guò)程漢字終端字符模式顯示原理

西文字符的ASCII碼顯示存儲(chǔ)器顯卡的字符映射器屏幕ASCII碼的點(diǎn)陣字形庫(kù)ASCIIASCII圖形信息ASCII圖形信息硬件顯卡和顯示器工作字符顯示模式下西文字符的顯示流程

用戶需要顯示某個(gè)字符,則把該字符的ASCII碼通過(guò)系統(tǒng)調(diào)用,并根據(jù)用戶提供的位置信息寫(xiě)到顯存的相應(yīng)位置;顯卡定時(shí)把顯存中的信息刷新到屏幕,處理到這個(gè)字符時(shí),從顯存中獲得ASCII碼,然后通過(guò)字符映射器到顯卡ROM中的ASCII碼字形庫(kù)中找到這個(gè)ASCII碼的點(diǎn)陣信息;顯卡把這些點(diǎn)陣信息和當(dāng)前字符的位置、顏色等屬性轉(zhuǎn)換為視頻信號(hào)送顯示器;顯示器顯示這個(gè)字符。字符模式下顯存結(jié)構(gòu)

圖形模式顯示原理

漢字機(jī)內(nèi)碼機(jī)內(nèi)碼到字形碼轉(zhuǎn)換模塊顯示存儲(chǔ)器屏幕機(jī)內(nèi)碼漢字點(diǎn)陣漢字顯示系統(tǒng)顯卡和顯示器內(nèi)容顯示設(shè)備漢字顯示的原理內(nèi)碼緩沖區(qū)和字形緩沖區(qū)漢字顯示輸出過(guò)程漢字終端漢字機(jī)內(nèi)碼內(nèi)碼緩沖區(qū)字形緩沖區(qū)(顯存)屏幕顯示處理程序內(nèi)容顯示設(shè)備漢字顯示的原理內(nèi)碼緩沖區(qū)和字形緩沖區(qū)漢字顯示輸出過(guò)程漢字終端漢字顯示輸出過(guò)程流程應(yīng)用程序需要顯示漢字,那么它會(huì)調(diào)用系統(tǒng)提供的顯示漢字函數(shù)或中斷,調(diào)用的過(guò)程實(shí)際上僅是把漢字的內(nèi)碼和屬性寫(xiě)到內(nèi)碼緩沖區(qū);漢字顯示處理程序從內(nèi)碼緩沖區(qū)中取出漢字的內(nèi)碼和屬性,調(diào)用地址映射模塊處理;地址映射模塊根據(jù)漢字內(nèi)碼和它屬性中的字體等信息,計(jì)算此漢字對(duì)應(yīng)的漢字字形碼在字形庫(kù)中的位置,即地址碼。然后把地址碼返回漢字顯示處理程序;流程(續(xù))漢字顯示處理程序根據(jù)返回的地址碼和字體,從相應(yīng)的字形庫(kù)中得到此漢字的字形碼,然后把字形碼和屬性作為參數(shù)調(diào)用字形變換模塊;字形變換模塊根據(jù)漢字的字形碼以及需要顯示的字形屬性(如字號(hào)、是否加粗、是否是斜體、是否有下劃線等),把漢字的基本字形信息變換為字形屬性要求的形狀,返回給漢字顯示處理程序;漢字顯示處理程序把變換后的字形碼和它在屏幕上的位置(一般為X和Y坐標(biāo))送給漢字顯示驅(qū)動(dòng)程序;流程(續(xù))漢字顯示驅(qū)動(dòng)程序調(diào)用位置轉(zhuǎn)換模塊,把屏幕位置轉(zhuǎn)換為在顯存中對(duì)應(yīng)的地址;漢字顯示驅(qū)動(dòng)程序根據(jù)該點(diǎn)陣在顯存中的位置和顯存的組織形式,把漢字點(diǎn)陣寫(xiě)到顯存;顯卡定時(shí)把顯存中的信息刷新到屏幕,此漢字就顯示在屏幕上了。內(nèi)容顯示設(shè)備漢字顯示的原理內(nèi)碼緩沖區(qū)和字形緩沖區(qū)漢字顯示輸出過(guò)程漢字終端漢字終端漢字終端是一個(gè)能處理漢字的固化計(jì)算機(jī)系統(tǒng)。它一般由主控板、顯示器、鍵盤(pán)三大部分組成工作原理主機(jī)系統(tǒng)漢字顯示模塊漢字字形庫(kù)屏幕漢字終端三、漢字顯示技術(shù)實(shí)例內(nèi)容DOS下的漢字顯示技術(shù)Windows的漢字顯示技術(shù)1.顯示輸出模塊在DOS中,I/O設(shè)備是由BIOS中斷處理程序驅(qū)動(dòng)的,那么顯示的驅(qū)動(dòng)程序就是BIOS的中斷處理程序,應(yīng)用軟件通過(guò)對(duì)BIOS的中斷處理程序的調(diào)用來(lái)使用外部設(shè)備。DOS下顯示是通過(guò)10H號(hào)中斷處理程序來(lái)實(shí)現(xiàn)的。10號(hào)中斷處理程序功能模塊說(shuō)明功能號(hào)功能說(shuō)明功能號(hào)功能說(shuō)明0視頻初始化8讀當(dāng)前光標(biāo)處字符和屬性1定義光標(biāo)類型9向光標(biāo)處寫(xiě)字符和屬性2定義光標(biāo)位置10向光標(biāo)處寫(xiě)字符3讀光標(biāo)位置11定義屏幕顏色4讀光筆位置12在指定坐標(biāo)處寫(xiě)點(diǎn)5定義當(dāng)前頁(yè)13在指定坐標(biāo)處讀點(diǎn)6屏幕上滾14以TTY方式顯示字符7屏幕下滾15取視頻狀態(tài)DOS下的漢字字形庫(kù)字符集:GB2312定義的6763個(gè)漢字和682個(gè)符號(hào),包括全角的字母和數(shù)字,標(biāo)點(diǎn)符號(hào)、序號(hào)和羅馬字母等。漢字字形庫(kù)一般有兩種模式:16×16的顯示用點(diǎn)陣字形庫(kù)(橫向)24×24打印用點(diǎn)陣字形庫(kù)(縱向)圖形模式下實(shí)現(xiàn)顯示,常用的圖形適配器一般為VGA,漢字一般顯示在640×480×16色的分辨率每行40個(gè)漢字,共26行第26行通常作為輸入系統(tǒng)的提示行DOS下漢字顯示的實(shí)現(xiàn)原理在DOS下漢字顯示在圖形模式下,通過(guò)畫(huà)點(diǎn)的方式來(lái)顯示漢字點(diǎn)陣。實(shí)現(xiàn)的基本思想是修改10H號(hào)中斷處理程序,使得這個(gè)顯示中斷能夠支持漢字的顯示。優(yōu)點(diǎn):應(yīng)用程序不需要作任何的修改,就可以顯示漢字了。新中斷處理程序執(zhí)行過(guò)程中斷裝置ROM中的原來(lái)的10H中斷處理程序RAM中的新的10H中斷處理程序和漢字顯示無(wú)關(guān)的功能調(diào)用能,沿用原來(lái)的10H中斷處理程序0號(hào)中斷地址1號(hào)中斷地址……10H號(hào)中斷地址…………中斷處理程序入口地址0440在16個(gè)子功能中,其中0號(hào)、2號(hào)、3號(hào)、6到10號(hào)和14號(hào)需要重新編寫(xiě),其它的7個(gè)子功能可以沿用原來(lái)的。內(nèi)容DOS下的漢字顯示技術(shù)Windows的漢字顯示技術(shù)Windows漢字字符集在Windows中,漢字的字符集有兩種形式:Unicode和ANSICodeWindowsNT/2000/XP/2003的內(nèi)核使用Unicode作為文字信息的編碼,而應(yīng)用程序則可以同時(shí)使用Unicode和ANSICode來(lái)表達(dá)文字。所以有關(guān)字符串的API有兩個(gè)不同字符集的版本:Unicode版和ANSICode版。而Windows95/98/ME一直使用單(雙)字節(jié)結(jié)合的內(nèi)碼。單字節(jié)內(nèi)碼主要是ASCII,雙字節(jié)內(nèi)碼則是ANSICode,如GB2312、GBK、BIG-5等。WindowsCE則是一個(gè)統(tǒng)一使用Unicode的操作系統(tǒng)。不管是內(nèi)核還是應(yīng)用程序,字符的內(nèi)碼就是Unicode。Windows漢字顯示分析Windows系統(tǒng)的核心部分管理分為核心(Kernel)、用戶管理(User)和圖形設(shè)備接口(GDI)。Kernel完成內(nèi)存管理、程序的裝入與執(zhí)行和任務(wù)調(diào)度等功能,它需要調(diào)用原MS―DOS中的文件管理、磁盤(pán)輸入輸出和程序執(zhí)行等功能User是一個(gè)程序庫(kù),它用來(lái)對(duì)聲音、時(shí)鐘、鼠標(biāo)器及鍵盤(pán)輸入等操作進(jìn)行管理GDI是一功能十分豐富的子程序庫(kù),它提供了圖形與文字輸出、圖像操作和窗口管理等各種與顯示和打印有關(guān)的功能,GDI是實(shí)現(xiàn)漢字等字符輸出的核心模塊。Windows漢字顯示分析(續(xù))當(dāng)使用GDI的字符顯示函數(shù)(如Textout)在窗口的用戶區(qū)上顯示漢字時(shí),實(shí)際上是設(shè)備驅(qū)動(dòng)程序根據(jù)GDI傳遞的物理字體的信息,從TTF字形庫(kù)得到相應(yīng)字符的字形后,向顯存輸出該字符的位圖,然后GDI可以根據(jù)應(yīng)用程序的要求,將該字符的字形作為一個(gè)位圖進(jìn)行各種處理。漢字顯示數(shù)據(jù)結(jié)構(gòu)和原理每個(gè)TTF字庫(kù)都有一個(gè)字體信息結(jié)構(gòu)FONTINFO結(jié)構(gòu),F(xiàn)ONTINFO包含了字符輸出所需的所有物理字體信息,包括字體的名稱、字體點(diǎn)的大小和字符集等信息。在FONTINFO結(jié)構(gòu)后,一般緊跟以下的一個(gè)或多個(gè)結(jié)構(gòu)名稱說(shuō)明字符寬度表保存每個(gè)字符的位圖或矢量信息的偏移;Windows中的字體一般分為矢量字體(VectorFont)和光柵字體(RasterFont),如果是光柵字體,則這個(gè)偏移是相對(duì)于位圖字形庫(kù)的偏移;如果是矢量字體,則這個(gè)偏移是相對(duì)于矢量字形庫(kù)的偏移。位圖字形庫(kù)字符集所定義的字符的位圖信息,即用位圖表示的字形信息矢量字形庫(kù)采用矢量方式定義的每個(gè)字符的字形信息字體名稱字體名稱的字符串設(shè)備名稱設(shè)備名稱的字符串windows漢字顯示輸出Windows中將中文字符和西文字符均作為一個(gè)位圖來(lái)處理和顯示。雖然不同的字形庫(kù)設(shè)計(jì)技術(shù),使得存放在字形庫(kù)中的漢字字形信息是不一樣的,如矢量字體和光柵字體的表示就不同,但最終它們都能轉(zhuǎn)換為由點(diǎn)陣構(gòu)成的位圖,從而顯示在屏幕上。Windows中所有字符輸出的功能均是通過(guò)GDI庫(kù)函數(shù)來(lái)完成,再由GDI調(diào)用相應(yīng)設(shè)備驅(qū)動(dòng)程序?qū)崿F(xiàn)字符輸出。字符的輸出最常用的系統(tǒng)調(diào)用是ExTextOut()和TextOut()。四、打印輸出原理和基本結(jié)構(gòu)內(nèi)容打印設(shè)備漢字打印概述漢字打印原理漢字打印過(guò)程漢字打印機(jī)打印設(shè)備漢字的打印設(shè)備主要是打印機(jī),一般分為三種:噴墨打印機(jī)、激光打印機(jī)和針式打印機(jī)。打印機(jī)和計(jì)算機(jī)的接口一般分為并口、串口和USB接口。針式打印機(jī)噴墨打印機(jī)激光打印機(jī)激光打印機(jī)原理打印機(jī)的分辨率分辨率的單位是DPI(dotperinch),是指在每一個(gè)平方英寸可以由多少個(gè)點(diǎn)構(gòu)成,它直接關(guān)系到產(chǎn)品輸出的文字和圖像的質(zhì)量好壞。如一臺(tái)產(chǎn)品的分辨率表示為360dpi,就是表示在一平方英寸的區(qū)域的表現(xiàn)力最高可以達(dá)到水平360個(gè)點(diǎn),垂直360個(gè)點(diǎn),總共129600個(gè)點(diǎn)。分辨率越高,數(shù)值越大,就意味著產(chǎn)品輸出的質(zhì)量越高。內(nèi)容打印設(shè)備漢字打印概述漢字打印原理漢字打印過(guò)程漢字打印機(jī)打印技術(shù)的發(fā)展CC-DOS中提供了漢字的打印功能,它采用軟字庫(kù)的解決方案,利用24×24的打印用點(diǎn)陣字庫(kù)來(lái)輸出漢字的字形,再進(jìn)行必要的處理后送打印機(jī)打印漢字硬字庫(kù)方案,典型的是漢字打印機(jī)和激光照排技術(shù)軟字庫(kù)方案也在不斷優(yōu)化中,它利用計(jì)算機(jī)軟件技術(shù)加快了打印速度,引入了曲線和矢量字庫(kù),從而大大提高打印質(zhì)量Windows采用TrueType字形技術(shù)來(lái)實(shí)現(xiàn)漢字打印,以及新的噴墨、激光打印技術(shù)的出現(xiàn),使得漢字的打印質(zhì)量進(jìn)一步提高,完全可以滿足用戶對(duì)打印質(zhì)量的要求。內(nèi)容打印設(shè)備漢字打印概述漢字打印原理漢字打印過(guò)程漢字打印機(jī)漢字打印原理漢字的打印過(guò)程:漢字機(jī)內(nèi)碼轉(zhuǎn)換為漢字的字形碼進(jìn)行漢字字形碼的變換和輸出的格式控制漢字字形送打印機(jī)漢字打印一般可以分為兩個(gè)部分:打印驅(qū)動(dòng):漢字機(jī)內(nèi)碼轉(zhuǎn)換為字形碼,然后把漢字字形送打印機(jī)打印控制:根據(jù)打印的各種參數(shù)設(shè)置(如字體、字號(hào)、行間距等)對(duì)打印輸出進(jìn)行控制,使得打印結(jié)果符合用戶的要求漢字打印原理(續(xù))軟字庫(kù)方案操作系

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論