漢字顯示數(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ù)免費閱讀

下載本文檔

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

文檔簡介

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

西文字符的ASCII碼顯示存儲器顯卡的字符映射器屏幕ASCII碼的點陣字形庫ASCIIASCII圖形信息ASCII圖形信息硬件顯卡和顯示器工作字符顯示模式下西文字符的顯示流程

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

圖形模式顯示原理

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

溫馨提示

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

評論

0/150

提交評論