漢字顯示數據結構和原理_第1頁
漢字顯示數據結構和原理_第2頁
漢字顯示數據結構和原理_第3頁
漢字顯示數據結構和原理_第4頁
漢字顯示數據結構和原理_第5頁
已閱讀5頁,還剩58頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

用戶需要顯示某個字符,則把該字符的ASCII碼通過系統調用,并根據用戶提供的位置信息寫到顯存的相應位置;顯卡定時把顯存中的信息刷新到屏幕,處理到這個字符時,從顯存中獲得ASCII碼,然后通過字符映射器到顯卡ROM中的ASCII碼字形庫中找到這個ASCII碼的點陣信息;顯卡把這些點陣信息和當前字符的位置、顏色等屬性轉換為視頻信號送顯示器;顯示器顯示這個字符。字符模式下顯存結構

圖形模式顯示原理

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

溫馨提示

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

最新文檔

評論

0/150

提交評論