PDF字體介紹及字體管理 - 副本_第1頁
PDF字體介紹及字體管理 - 副本_第2頁
PDF字體介紹及字體管理 - 副本_第3頁
PDF字體介紹及字體管理 - 副本_第4頁
PDF字體介紹及字體管理 - 副本_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、電腦時(shí)代,漢字要如何“破繭而出”?縱觀漢字演進(jìn)史,技術(shù)革新多是背后推手。但無論如今電腦怎樣發(fā)達(dá),也只是一種工具,人們把漢字書寫危機(jī)歸罪于電腦,無異于走路扭了腳怪罪馬路一樣可笑。近日,一條關(guān)于“火”字該怎么寫的微博,在網(wǎng)絡(luò)上掀起了“有多少字我們沒寫對(duì)”的大討論,電腦時(shí)代“筆順”還需要嗎?這次討論又一次讓人們擔(dān)憂起漢字的未來。但縱觀漢字演進(jìn)史,技術(shù)革新多是背后推手?;蛟S在電腦時(shí)代漢字如何“進(jìn)化”更是我們最該關(guān)心的問題。計(jì)算機(jī)改變漢字生態(tài)圈曾幾何時(shí),寫一手漂亮漢字還是種令人無比欽羨的技能,而計(jì)算機(jī)的出現(xiàn)則改變了這一情況,人們通過鍵盤輸入文字,打印出來的是文件清一色的印刷體,這能有效避免手寫體時(shí)的辨識(shí)

2、錯(cuò)誤,但同時(shí)也讓文字缺少美感。美國(guó)學(xué)者杰茜卡·貝內(nèi)曾把電腦稱為“手寫體的詛咒”,那么像漢字這種象形表意的文字結(jié)構(gòu),電腦輸入對(duì)漢字手寫的沖擊就更顯嚴(yán)重?,F(xiàn)在漢字輸入的方法主要有三種,鍵盤輸入、文字識(shí)別和語音識(shí)別。其中智能手機(jī)里的手寫輸入法就屬于文字識(shí)別,蘋果設(shè)計(jì)的“siri”則屬于語音識(shí)別,另外一些專為殘障人士設(shè)計(jì)的電腦系統(tǒng)也使用語音識(shí)別。而大多數(shù)人日常最常使用的輸入方法就是鍵盤輸入。這種輸入法需要先將漢字進(jìn)行編碼,然后使用者通過鍵盤按照編碼進(jìn)行輸入即可。由于漢字?jǐn)?shù)以萬計(jì),不能像英文26個(gè)字母一樣都印在鍵盤上,所以說給漢字編碼是“迫不得已”。編碼始于1980年,此后的20年間可以說是編

3、碼爆發(fā)時(shí)期,有上千種編碼方法出現(xiàn)過。饒是如此,被編碼的漢字也不能涵蓋所有漢字。1980年中國(guó)發(fā)布的GB2312-80編碼共收錄了6763個(gè)簡(jiǎn)體漢字,GB2312-80編碼是中文信息處理的國(guó)家標(biāo)準(zhǔn),無論使用Windows還是Mac OS操作系統(tǒng),都兼容該編碼系統(tǒng)。1995年,GB2312-80編碼進(jìn)行了一次“升級(jí)”,形成了GBK編碼,其漢字收入量達(dá)到了21003個(gè),同時(shí)兼容了簡(jiǎn)、繁兩種漢字。2001年,GB8030-2000編碼生效,漢字收入量再次增加,大大改善了漢字輸入中的缺字問題。這幾次的編碼修訂,在技術(shù)上使用了不同的編碼方案,不過對(duì)使用者來說,能夠感受到的只是文字量在增加。字根VS拼音誰主

4、沉浮其實(shí),編碼這一概念對(duì)大多數(shù)電腦使用者來說無關(guān)緊要。雖然日常使用的漢字都來自編碼字庫,但敲鍵盤時(shí)使用者腦子里想的無外乎兩件事,“這個(gè)字怎么拆”“這個(gè)字怎么拼”,也就是漢字拼形編碼和漢字拼音編碼。使用漢字拼形編碼的輸入法代表自然是五筆字型。在上世紀(jì)80年代會(huì)“五筆”也算是一種資本。但隨著80后們,利用QQ和星際爭(zhēng)霸也練出用拼音一分鐘打80個(gè)漢字的本事后,五筆的優(yōu)勢(shì)也就沒那么明顯了,不過遭遇不認(rèn)識(shí)的漢字時(shí),它還是能完勝拼音的。但是,中國(guó)的漢字由8類38種筆畫500多漢字部件組成,結(jié)構(gòu)即使粗分也有四種,而其中難拆分的單體字又占到40%。讓使用者記住大部分字根已是不易,更別說還有那些特殊規(guī)則了。而在

5、現(xiàn)階段教育的“重壓”下,小學(xué)生恐怕都能認(rèn)全3000常用字,也就難怪形成漢字拼音編碼一統(tǒng)天下的局面。從最早的智能ABC到現(xiàn)在五花八門的輸入法,都分別擁有自己的粉絲。說句題外話,漢語拼音其實(shí)不是中國(guó)人發(fā)明的。1610年,一個(gè)名叫金尼格萊的中國(guó)通從法國(guó)來到中國(guó)傳教,他為了準(zhǔn)確地用拉丁拼音字母記錄漢字的讀音,編寫出中國(guó)第一部拉丁化拼音字字匯。此后,漢語拼音又經(jīng)過了多次變革,最終形成了目前我們使用的形態(tài)。漢字拼音編碼的優(yōu)點(diǎn)顯而易見,它只抽取漢字字音信息,無需考慮漢字結(jié)構(gòu),只要會(huì)拼音即可,對(duì)電腦使用者的年齡、受教育程度幾乎沒有限制。當(dāng)然,也正是這種輸入方法的盛行,電腦開始被人詬病為漢語言文化衰落的元兇。但

6、無論電腦怎樣發(fā)達(dá),也只是一種工具,人們把漢字書寫危機(jī)歸罪于電腦,無異于走路扭了腳怪罪馬路一樣可笑。人民日?qǐng)?bào)的一篇評(píng)論文章曾這樣寫到,將漢字手寫藝術(shù)的尷尬,完全歸因于新技術(shù)的罪過乃是推脫我們自身傳承文化的使命與責(zé)任。手寫識(shí)別能否“救世”?如果說拼音導(dǎo)致我們“提筆忘字”,那么大家改用手寫輸入法又如何呢?手寫輸入法和在紙上相同,人們?cè)跁鴮懓宓仍O(shè)備上書寫,通過文字識(shí)別技術(shù)采集書寫軌跡的方式輸入電腦?,F(xiàn)在的大屏幕智能手機(jī)均提供這種輸入方法,用手指在屏幕上書寫即可。不過目前來說,漢字手寫識(shí)別的技術(shù)還存在不少問題。就比如說筆順。系統(tǒng)對(duì)漢字進(jìn)行描述時(shí),如果僅有正確的筆順是不夠的,必須使用二維方法來描述。如果以

7、大家熱議的“火”字為例,除先寫兩點(diǎn)的筆順外,還要讓系統(tǒng)“認(rèn)識(shí)”先寫“人”的筆順等。人們對(duì)電腦的期待是便捷,如果軟件開發(fā)商非要設(shè)計(jì)一款,如不能使用正確筆順就不能識(shí)別的手寫識(shí)別系統(tǒng),顯然也不會(huì)有人買賬,所以期待手寫輸入改變?nèi)藗儗?duì)漢字的態(tài)度太不現(xiàn)實(shí)?,F(xiàn)在的漢字識(shí)別技術(shù)水平已大大提高,連筆字、相似字都能夠做到較好的區(qū)分。至少在手機(jī)方面大家都樂于使用手寫功能,但遇上不會(huì)寫的字?不好意思!切換拼音輸入法。技術(shù)變革影響漢字演化一直以來,人們往往從藝術(shù)或文化傳統(tǒng)的角度來思考漢字演化,其實(shí)從另一個(gè)角度來看,漢字的演進(jìn)背后,恰恰也是“技術(shù)”的進(jìn)化史。甲骨文的字體風(fēng)格,明顯帶著刻畫的痕跡,這與其刻在“甲骨”這一材質(zhì)

8、上密切相關(guān);而篆書的瘦長(zhǎng),是因?yàn)橹窈?jiǎn)是窄長(zhǎng)條,字形不能往左右橫向展開;而紙的發(fā)明打破了竹簡(jiǎn)的“禁錮”,讓書寫者在寬幅的紙張上連續(xù)運(yùn)筆,也就催生了行書、草書等新字體的出現(xiàn),紙張成為漢字書法藝術(shù)的重要技術(shù)基礎(chǔ)。而到了雕版和活字印刷時(shí)代,印刷體就應(yīng)運(yùn)而生了,也就是現(xiàn)如今大家最常使用的宋體字。方正電子高級(jí)字體設(shè)計(jì)師朱志偉介紹說,最初的雕版都是由書法好的寫手用楷書寫在木板上,再由刻工來雕刻。這些刻工為了追求快速,就將楷書不好處理的曲線變曲為直,形成了宋體。宋體字的出現(xiàn)不是為了視覺美觀,而是為了適應(yīng)活字印刷這種新技術(shù)的需要。就像現(xiàn)如今我們用電腦創(chuàng)造繪文字一樣。漢字變化的背后是如此之深的技術(shù)烙印,而身處電腦

9、時(shí)代的人們,又打算給漢字帶來怎樣的明天呢? 漢字在電腦中是如何存儲(chǔ)與編碼2012-10-12 15:58 4813人閱讀 評(píng)論(0) 收藏 舉報(bào)存儲(chǔ)輸入法圖形磁盤文檔英語文字是拼音文字,一切文字均由26個(gè)字母拼組而成,所以運(yùn)用一個(gè)字節(jié)表明一個(gè)字符足夠了。但漢字是象形文字,漢字的核算機(jī)處置技能比英文字符雜亂得多,普通用兩個(gè)字節(jié)表明一個(gè)漢字。由于漢字有一萬多個(gè),常用的也有六千多個(gè),所以編碼選用兩字節(jié)的低7位共14個(gè)二進(jìn)制位來表明。普通漢字的編碼方案要處置4種編碼問題。(1)漢字交流碼漢字交流碼主要是用作漢字信息交流的。以國(guó)家標(biāo)準(zhǔn)局1980年公布的信

10、息交流用漢字編碼字符集根本集(代號(hào)為GB2312-80)規(guī)矩的漢字交流碼作為國(guó)家標(biāo)準(zhǔn)漢字編碼,簡(jiǎn)稱國(guó)標(biāo)碼。國(guó)標(biāo)GB 2312-80規(guī)矩,一切的世界漢字和符號(hào)組成一個(gè)94×94的矩陣。在該矩陣中,每一行稱為一個(gè)“區(qū)”,每一列稱為一個(gè)“位”,這樣就構(gòu)成了94個(gè)區(qū)號(hào)(0194)和94個(gè)位號(hào)(0194)的漢字字符集。國(guó)標(biāo)碼中有6763個(gè)漢字和628個(gè)其他根本圖形字符,合計(jì)7445個(gè)字符。其間規(guī)矩一級(jí)漢字3755個(gè),二級(jí)漢字3008個(gè),圖形符號(hào)682個(gè)。一個(gè)漢字地點(diǎn)的區(qū)號(hào)與位號(hào)簡(jiǎn)略地組合在一起就構(gòu)成了該漢字的“區(qū)位碼”。在漢字區(qū)位碼中,高兩位為區(qū)號(hào),低兩位為位號(hào)。因而,區(qū)位碼與漢字或圖形符號(hào)之

11、間是一一對(duì)應(yīng)的。一個(gè)漢字由兩個(gè)字節(jié)代碼表明。(2)漢字機(jī)內(nèi)碼 核算機(jī)博客漢字機(jī)內(nèi)碼又稱內(nèi)碼或漢字存儲(chǔ)碼。該編碼的作用是共同了各種異樣的漢字輸入碼在核算機(jī)內(nèi)的表明。漢字機(jī)內(nèi)碼是核算機(jī)內(nèi)部存儲(chǔ)、處置的代碼。核算機(jī)既要處置漢字,又要處置英文,所以必須能差異漢字字符和英文字符。英文字符的機(jī)內(nèi)碼是最高位為0的8位ASCII碼。為了區(qū)別,把國(guó)標(biāo)碼每個(gè)字節(jié)的最高位由0改為1,其他位不變的編碼作為漢字字符的機(jī)內(nèi)碼。一個(gè)漢字用兩個(gè)字節(jié)的內(nèi)碼表明,核算機(jī)顯現(xiàn)一個(gè)漢字的進(jìn)程首先是依據(jù)其內(nèi)碼找到該漢字字庫中的地址,然后將該漢字的點(diǎn)陣字型在屏幕上輸出。漢 字的輸入碼是多種多樣的,同一個(gè)漢字若是選用的編碼方案異樣,則輸入

12、碼就有能夠不相同,但漢字的機(jī)內(nèi)碼是相同的。有專用的核算機(jī)內(nèi)部存儲(chǔ)漢字運(yùn)用的漢字內(nèi) 碼,用以將輸入時(shí)運(yùn)用的多種漢字輸入碼共同變換成漢字機(jī)內(nèi)碼進(jìn)行存儲(chǔ),以便利機(jī)內(nèi)的漢字處置。在漢字輸入時(shí),依據(jù)輸入碼經(jīng)過核算機(jī)或查找輸入碼表完結(jié)輸入 碼到機(jī)內(nèi)碼的變換。如漢字世界碼(H)8080(H)漢字機(jī)內(nèi)碼(H)。(3)漢字輸入碼漢字輸入碼也叫外碼,是為了經(jīng)過鍵盤字符把漢字輸入核算機(jī)而描繪的一種編碼。英 文輸入時(shí),想輸入什么字符便按什么鍵,輸入碼和內(nèi)碼是共同的。而漢字輸入規(guī)矩異樣,能夠要按幾個(gè)鍵才干輸入一個(gè)漢字。漢字和鍵盤字符組合的對(duì)應(yīng)方法稱為漢 字輸入編碼方案。漢字外碼是對(duì)準(zhǔn)異樣漢字輸入法而言的,經(jīng)過鍵盤按某種

13、輸入法進(jìn)行漢字輸入時(shí),人與核算機(jī)進(jìn)行信息交流所用的編碼稱為“漢字外碼”。關(guān)于同 一漢字而言,輸入法異樣,其外碼也是異樣的。例如,關(guān)于漢字“啊”,在區(qū)位碼輸入法中的外碼是1601,在拼音輸入中的外碼是a,而在五筆字型輸入法中的外碼是KBSK。漢字的輸入碼品種繁復(fù),大致有4品種型,即音碼、形碼、數(shù)字碼和音形碼。(4)漢字字形碼漢字在顯現(xiàn)和打印輸出時(shí),是以漢字字形信息表明的,即以點(diǎn)陣的方法構(gòu)成漢字圖形。漢字字形碼是指斷定一個(gè)漢字字形點(diǎn)陣的代碼(漢字字形碼)。普通選用點(diǎn)陣字形表明字符。當(dāng)前遍及運(yùn)用的漢字字型碼是用點(diǎn)陣方法表明的,稱為“點(diǎn)陣字模碼”。所謂“點(diǎn)陣字模碼”,就是將漢字像圖畫相同置于網(wǎng)狀方格上

14、,每格是存儲(chǔ)器中的一個(gè)位,16×16點(diǎn)陣是在縱向16點(diǎn)、橫向16點(diǎn)的網(wǎng)狀方格上寫一個(gè)漢字,有筆畫的格對(duì)應(yīng)1,無筆畫的格對(duì)應(yīng)0。這種用點(diǎn)陣方式存儲(chǔ)的漢字字型信息的調(diào)集稱為漢字字模庫,簡(jiǎn)稱漢字字庫。一般漢字顯現(xiàn)運(yùn)用16×16點(diǎn)陣,而漢字打印可選用24×24點(diǎn)陣、32×32點(diǎn)陣、64×64點(diǎn)陣等。漢字字形點(diǎn)陣中的每個(gè)點(diǎn)對(duì)應(yīng)一個(gè)二進(jìn)制位,1字節(jié)又等于8個(gè)二進(jìn)制位,所以16×16點(diǎn)陣字形的字要運(yùn)用32個(gè)字節(jié)(16×16÷8字節(jié)32字節(jié))存儲(chǔ),64×64點(diǎn)陣的字形要運(yùn)用512個(gè)字節(jié)。在16×16點(diǎn)陣字庫中的

15、每一個(gè)漢字以32個(gè)字節(jié)寄存,存儲(chǔ)一、二級(jí)漢字及符號(hào)共8836個(gè),需求282.5KB磁盤空間。而用戶的文檔假定有10萬個(gè)漢字,卻只需求200KB的磁盤空間,這是由于用戶文檔中存儲(chǔ)的僅僅每個(gè)漢字(符號(hào))在漢字庫中的地址(內(nèi)碼)漢字是如何在電腦中顯示的  (2011-08-31 14:40:04)轉(zhuǎn)載標(biāo)簽: 區(qū)位碼 漢字 字模 國(guó)標(biāo)碼 機(jī)內(nèi)碼 it分類: 電腦相關(guān)    首先來認(rèn)識(shí)字形碼。我們知道,顯示器是由一列一列的點(diǎn)陣排列而成的,為了顯示字,需要將顯示器劃分成一小塊一小塊,就像

16、小時(shí)候的語文作業(yè)本中劃出的方格一樣,每個(gè)方格中填充一個(gè)字。方格的劃分方法有很多種,如16x16點(diǎn)陣、24x24點(diǎn)陣、32x32點(diǎn)陣、48x48點(diǎn)陣等。圖1為在16x16點(diǎn)陣中顯示一個(gè)漢字“你”,位代碼“1”指示點(diǎn)亮,在不同的位置點(diǎn)亮點(diǎn)陣,可以得到不同的漢字。將位代碼中按行每8位取為一個(gè)字節(jié),就得到了漢字的字模信息。以第1行為例,0000100010000000可以表示成00001000和10000000兩個(gè)字節(jié),分別將該二進(jìn)制數(shù)表示成十六進(jìn)制數(shù)得到0x08和0x80,其他行依次類推??梢?,一個(gè)漢字的字模信息包含32字節(jié)內(nèi)容,字模信息常稱為字形碼。知道了如何獲得一個(gè)漢字的字形碼,那么,可不可以將

17、一些常見漢字的字形碼按照一定的次序保存到一個(gè)專門的文件下面,當(dāng)需要顯示某個(gè)漢字時(shí),直接到該文件中調(diào)用該漢字的字形碼來控制顯示器顯示呢?當(dāng)然可以,在UCDOS和CCDOS中,文件名為HZK16就是完成這個(gè)功能的,它包含有6763個(gè)漢字,682個(gè)符號(hào),其中一級(jí)漢字有3755個(gè),按聲序排列,二級(jí)漢字有3008個(gè),按偏旁部首排列。那么我們?nèi)绾蝸聿檎襀ZK16中的某個(gè)字呢?圖1 “你”字模圖             其次來認(rèn)識(shí)區(qū)位碼。因?yàn)镠ZK16中的字是按區(qū)位碼排列的,所以我們有必要

18、弄明白區(qū)位碼是什么。記得參加中考和高考的時(shí)候,老師拿一本厚厚的書到班上來,叫每個(gè)人把自己名字對(duì)應(yīng)的號(hào)碼查出來填到志愿表上,這個(gè)要查的號(hào)碼就是區(qū)位碼。在GB2312-80代碼表中,縱向分為093,共94行。將行號(hào)稱為區(qū)號(hào),列號(hào)稱為位號(hào),分別有94個(gè)區(qū)和94個(gè)位。區(qū)號(hào)和位號(hào)用十進(jìn)制表示,不足兩位前面補(bǔ)0。這樣每個(gè)漢字或符號(hào)都可用4位十進(jìn)制表示。每一區(qū)共有94個(gè)漢字,而位記錄該漢字在該區(qū)中的具體位置。知道了一個(gè)字的區(qū)位碼,就可以找到該字在HZK16中的排列次序:94*(區(qū)號(hào)-1)+(位號(hào)-1),因?yàn)槊總€(gè)漢字占32字節(jié),所以其起始位置為:94*(區(qū)號(hào)-1)+(位號(hào)-1)*32,從該位置依次取出32字節(jié)

19、就得到該字的字形碼。那么我們?nèi)绾蔚玫饺我庖粋€(gè)字的區(qū)位碼呢,難道叫我也拿一本厚厚的書來查不成?    再次來認(rèn)識(shí)機(jī)內(nèi)碼。相信大家都對(duì)ASCII不陌生,其實(shí)SACII就是英文字符對(duì)應(yīng)的機(jī)內(nèi)碼,由8位組成,可以保存28=256個(gè)字符。因?yàn)闈h字?jǐn)?shù)量比較多,用一個(gè)字節(jié)無法區(qū)分,因此國(guó)家標(biāo)準(zhǔn)局采用兩個(gè)字節(jié)存放一個(gè)漢字的內(nèi)碼,稱為國(guó)標(biāo)碼。國(guó)標(biāo)碼是漢字信息交換的標(biāo)準(zhǔn)編碼,但因其前后字節(jié)的最高位為0,與ASCII碼發(fā)生沖突,如“?!弊?,國(guó)標(biāo)碼為31H和23H,而西文字符“1”和“#”的SCII也為31H和23H,現(xiàn)假如內(nèi)存中有兩個(gè)字節(jié)為31H和23H,那么這到底是一個(gè)漢字

20、“?!?,還是兩個(gè)西文字符“1”和“#”,出現(xiàn)了二義性。為了避免出現(xiàn)二義性,將國(guó)標(biāo)碼每個(gè)字節(jié)最高位置1,得到機(jī)內(nèi)碼??梢?,機(jī)內(nèi)碼和國(guó)標(biāo)碼存在如下關(guān)系:機(jī)內(nèi)碼=國(guó)標(biāo)碼+8080H。那么區(qū)位碼和機(jī)內(nèi)碼是不是也存在一個(gè)類似的簡(jiǎn)單的關(guān)系式呢?當(dāng)然存在,否則也不必花這么大的功夫介紹機(jī)內(nèi)碼啊,_。機(jī)內(nèi)碼和區(qū)位碼滿足如下關(guān)系式:機(jī)內(nèi)碼=區(qū)位碼+A0A0H。(當(dāng)然,我們通過這兩個(gè)關(guān)系式,也可以得到關(guān)系式:國(guó)標(biāo)碼=區(qū)位碼+2020H。這里,區(qū)位碼加20H的原因,是因?yàn)閲?guó)標(biāo)碼只使用低7位進(jìn)行編碼,最位為0,而ASCII前32個(gè)字符為控制字符,為了避免與ASCII控制字符沖突,在區(qū)位碼的基礎(chǔ)上加上32,即20H。其實(shí)

21、,考慮到與ASCII沖突的問題,機(jī)內(nèi)碼在國(guó)標(biāo)碼的基礎(chǔ)上,已經(jīng)將最高位置1了,即加了80H,因此,機(jī)內(nèi)碼與區(qū)位碼再加20H,實(shí)屬多余。)    那么如何得到任意一個(gè)漢字的機(jī)內(nèi)碼呢?    方法一:見    方法二:下載內(nèi)碼查看器。    方法三:編程實(shí)現(xiàn),見    至此,需要準(zhǔn)備的知識(shí)全部介紹完了,下面通過一個(gè)例子演示如何通過機(jī)內(nèi)碼來顯示一個(gè)16x16的漢字。   &#

22、160;比如要顯示漢字“盧”,其機(jī)內(nèi)碼為C2ACH。根據(jù)關(guān)系式:機(jī)內(nèi)碼=區(qū)位碼+A0A0H,可得“盧”的區(qū)位碼為3412(220CH),即區(qū)號(hào)為34,位號(hào)為12。接著求出“盧”在HZK16中的排列次序?yàn)?4*(區(qū)號(hào)-1)+(位號(hào)-1)=94*(34-1)+(12-1)=3113,乘上每個(gè)漢字所占的字節(jié)數(shù)得到該字的位置為3113*32=99616,從99616依次取出32字節(jié)就得到“盧”的字形碼,根據(jù)該字形碼控制顯示器就可以顯示“盧”了。下面是C語言實(shí)現(xiàn),注意將HZK16文件放到運(yùn)行文件夾中:* C 程序得到漢字字模信息* by DreamTime 夢(mèng)想年華* fanwsp  

23、; * www.FreeA* 2007-11*#include "stdio.h"* 得到漢字字符的字模信息,存入數(shù)組* 參數(shù):*   *c:要得到字模信息的字符指針*   buffer:存儲(chǔ)字模信息的數(shù)組* 無返回值*void getHzKCode(char *c,char buff)    unsigned char qh,wh;    unsigned 

24、;long offset;    FILE *HZK;        if(HZK=fopen("hzk16","rb")=NULL)       printf("Can't open haz16,Please add it?");       get

25、ch();       exit(0);            qh     = *(c) -0xa0;                wh   &#

26、160; = *(c+1) -0xa0;              offset = (94*(qh-1)+(wh-1)*32L;    fseek(HZK,offset,SEEK_SET);        fread(buff,32,1,HZK);   &#

27、160;          printf("qh:%d,wh:%d,offset:%ldnr",qh,wh,offset);* 根據(jù)字模信息輸漢字字符* 參數(shù):*   *mat:字模指針*   *c1 :字模中為1的點(diǎn)顯示的字符,也就是前景字符*   *c2 :字模中為0的點(diǎn)顯示的字符,也就是背景字符* 無返回值*void printHzKChar(char *mat

28、,char *c1,char *c2)  int i, j, k;  for(i=0;i<16;i+)                      for(j=0;j<2;j+)        

29、60;             for(k=0;k<8;k+)                      if(mati*2+j&(0x80>>k)      &#

30、160;       printf("%s",c1);                   else printf("%s",c2);          printf("n&quo

31、t;);                     * 主函數(shù)*void main()    unsigned char *HzkC  = "盧"        unsigned c

32、har *HzkC1 = "*"    unsigned char *HzkC2 = "  "    char *hzk;    char buffer232;       getHzKCode(HzkC,buffer2);   

33、 hzk = buffer2;    printHzKChar(hzk,HzkC1,HzkC2);    getch();漢字如何在計(jì)算機(jī)內(nèi)表示?舉報(bào)|2011-12-21 11:39紫雪落塵  分類:電腦/網(wǎng)絡(luò) | 瀏覽 2328 次分享到:2011-12-21 11:43提問者采納目前在計(jì)算機(jī)中主要有兩種方式來表示漢字,分別是GB2312碼和big5碼。 GB2312碼是中華人民共和國(guó)國(guó)家漢字信息交換用編碼,全稱信息交換用漢字編碼字符集-基本

34、集,由國(guó)家標(biāo)準(zhǔn)總局發(fā)布,1981年5月1日實(shí)施,通行于大陸。新加坡等地也使用此編碼。 GB2312收錄簡(jiǎn)化漢字及符號(hào)、字母、日文假名等共7445個(gè)圖形字符,其中漢字占6763個(gè)。GB2312規(guī)定"對(duì)任意一個(gè)圖形字符都采用兩個(gè)字節(jié)表示,每個(gè)字節(jié)均采用七位編碼表示",習(xí)慣上稱第一個(gè)字節(jié)為"高字節(jié)",第二個(gè)字節(jié)為"低字節(jié)"。GB2312-80包含了大部分常用的一、二級(jí)漢字,和9區(qū)的符號(hào)。該字符集是幾乎所有的中文系統(tǒng)和國(guó)際化的軟件都支持的中文字符集,這也是最基本的中文字符集。其編碼范圍是高位0xa10xfe,低位也是0xa1-0xfe;漢字從

35、0xb0a1開始,結(jié)束于0xf7fe。 big5碼多用于港臺(tái)地區(qū)。每個(gè)字由兩個(gè)字節(jié)組成,其第一字節(jié)編碼范圍為0xA10xF9,第二字節(jié)編碼范圍為0x400x7E與0xA10xFE,總計(jì)收入13868個(gè)字(包括5401個(gè)常用字、7652 個(gè)次常用字、7個(gè)擴(kuò)充字、以及808個(gè)各式符號(hào))。 由于GB2312編碼的字?jǐn)?shù)太少,其后又對(duì)其進(jìn)行過多次擴(kuò)充,故產(chǎn)生了GB12345碼、GBK碼、GB18030碼。 Big5也作了不少擴(kuò)充,如CNS11643碼。 編碼字?jǐn)?shù)統(tǒng)計(jì): GB2312 6763個(gè)漢字 GB12345 6866個(gè)漢字 GBK 21003個(gè)漢字 GB18030 27000 Big5 13053

36、 CNS11643 48,027PDF字體介紹及字體管理字體,顧名思義是文字的外在形式特征,就是文字的風(fēng)格和外衣,是由各個(gè)字體設(shè)計(jì)師設(shè)計(jì)即繪制或構(gòu)建而成。字體的藝術(shù)性體現(xiàn)在其完美的外在形式與豐富的內(nèi)涵之中。字體是文化的載體,是社會(huì)的縮影。字體設(shè)計(jì)是技術(shù)限制與人類閱讀需求之間的不斷對(duì)話。隨著計(jì)算機(jī)時(shí)代的到來,字庫已成為人們工作生活的一部分,人們每天都會(huì)接觸它、使用它。一般來講,一款字庫的誕生,要經(jīng)過字體設(shè)計(jì)師的創(chuàng)意設(shè)計(jì)、字體制作人員一筆一劃的制作、修改,技術(shù)開發(fā)人員對(duì)字符進(jìn)行編碼、添加程序指令、裝庫、開發(fā)安裝程序,測(cè)試人員對(duì)字庫進(jìn)行校對(duì)、軟件測(cè)試、兼容性測(cè)試,生產(chǎn)部門對(duì)字庫進(jìn)行最終產(chǎn)品化和包裝上

37、市等幾個(gè)環(huán)節(jié)。對(duì)字體廠商而言,推出一款字體,還要經(jīng)歷市場(chǎng)調(diào)研、專家研討等環(huán)節(jié),以保證推出的字庫具有市場(chǎng)競(jìng)爭(zhēng)力,同時(shí),字體的字形以及編碼,也要遵循國(guó)家語言文字的相關(guān)規(guī)定,保證字庫產(chǎn)品符合標(biāo)準(zhǔn)。開發(fā)一款精品字庫,往往需要付出2-3年的艱苦努力,是一項(xiàng)需要投入各種人力、物力、財(cái)力,充滿激情和創(chuàng)造性工作。很多負(fù)責(zé)設(shè)計(jì)、出版和輸出人員都知道計(jì)算機(jī)里常見的字體格式有PostScript及TrueType字,除此之外也許接觸或使用Open Type、Multiple Master 簡(jiǎn)稱MM)、Type 0、Type 1、Type 2、Type 3、Type 4、Type 5、Type 42、CID字等等,它

38、們各有優(yōu)缺點(diǎn)。首先,在PostScript字體之前已有個(gè)人計(jì)算機(jī)及輸入/輸出設(shè)備等使用字體。在1985年Adobe公司推出PostScript頁面描述語言,使桌面出版、PostScript字體及PostScript打印設(shè)備大放異彩,也使蘋果計(jì)算機(jī)公司的Mac機(jī)得到支持及發(fā)展,八、九十年代在桌面出版一支獨(dú)秀,當(dāng)然今天已有很多人用PC機(jī)做稿或輸出。之前提及的Type 0、Type 1、Type 2、Type 3、Type 4、Type 5字等等(還有Type 32及其它不能盡錄),都屬于PostScript字,但它們的組織及用途或目的各自有分別。一般人最常遇到的PostScript字應(yīng)該是Type

39、 1,其余的例如Type 0、Type 2、Type 3等等則較少接觸。Type 1字是一種很穩(wěn)妥的格式,只用了一部份PostScript指令(subset),但已經(jīng)可以描述任何形狀的平面字體;而Type 3字則可以使用全部PostScript指令(full set),所以有人稱它是完全PostScript字,它可以描述更復(fù)雜的字體設(shè)計(jì),例如漸變及花紋等效果,Type 3字常用于花紋字及圖案。但由于Type 3字的結(jié)構(gòu)可以很復(fù)雜,字體檔案較大,所以輸出比較慢,也對(duì)舊或甚至新系統(tǒng)產(chǎn)生兼容或輸出困難。相反Type 1字比較簡(jiǎn)單,而且可附帶hints信息,無論大小字仍然保持線條優(yōu)美,但Type 3字

40、沒有hints技術(shù),如細(xì)字就會(huì)出現(xiàn)線條粗糙。Type 0是早期的一種PostScript字體,可以支持有大字表(large character set)的亞洲文字,后來出現(xiàn)表現(xiàn)更好的CID字體。另外,每個(gè)Type 1字是由一對(duì)或兩個(gè)字體文件所組成,就是所謂打印字及屏幕字。要分辨視窗系統(tǒng)及蘋果系統(tǒng)的Type 1字并不困難,在視窗系統(tǒng),打印字及屏幕字的延伸名稱(extension)分別是PFB(Printer Font Binary)及PFM(Printer Font Metrics)或AFM(Adobe Font Metrics)文件,在蘋果系統(tǒng)的Type 1字,可以憑它的圖標(biāo)或文件類別來確認(rèn),

41、Adobe Type Manager(ATM或桌面出版軟件同時(shí)需要這兩個(gè)文件才可以打印優(yōu)質(zhì)字體,如只是屏幕顯示,那只要屏幕字檔就足夠。Type 4及5字體不能安裝在工作站或個(gè)人計(jì)算機(jī),分別必須安裝到打印機(jī)的硬盤及只讀記憶(ROM)內(nèi),現(xiàn)在已很少人使用Type 4字體。其次,TrueType字體也是一種很流行的字體格式,穿梭于各種計(jì)算機(jī)系統(tǒng)。有人稱它為Type 42,也有人將Type 42歸納為PostScript字的一種。在PostScript輸出環(huán)境,當(dāng)文件有TrueType字體,桌面出版軟件會(huì)用PostScript指令將它包裝為Type 42字體,其實(shí)內(nèi)容仍然是TrueType字體,當(dāng)Po

42、stScript打印機(jī)或解釋器接收之后,其內(nèi)部的TrueType Rasterizer便解釋TrueType字體。相對(duì)來說,Type 1字體比TrueType或Type 42更兼容于PostScript作業(yè)環(huán)境,尤其多字節(jié)較復(fù)雜的文字,例如中、日、韓文字,而大部份的英文或羅馬文字只須單字節(jié)或8-bit字表便足夠安置所有字母、數(shù)字及符號(hào),所以很多出版及輸出專業(yè)人員都偏愛PostScript或Type 1字體。再次,OpenType字體TrueType及OpenType都是由Adobe及Microsoft共同合作發(fā)展的,前者早在九十年代開始出現(xiàn),后者在二十世紀(jì)出現(xiàn),是一種較新的字體技術(shù)。OpenT

43、ype包含PostScript及TrueType(早期TrueType由蘋果計(jì)算機(jī)開發(fā),后轉(zhuǎn)讓給微軟公司)字體的技術(shù)及優(yōu)點(diǎn),主要優(yōu)點(diǎn)有跨平臺(tái),兼容蘋果及視窗系統(tǒng),而且一個(gè)檔案包含所有字體數(shù)據(jù),不分打印字、屏幕字及其它有關(guān)字體的數(shù)據(jù),再者它由多字節(jié)組成,支持Unicode國(guó)際統(tǒng)一編碼,一個(gè)字體可包含多國(guó)文字或多個(gè)字體款式,也包括Opticals大小字(指不同的point size)的形態(tài),確保大字及小字同樣優(yōu)美。最后,Multiple Master字體簡(jiǎn)稱MM字體,是Type 1字體的延伸,特點(diǎn)是一個(gè)字體內(nèi)包含兩個(gè)或多個(gè)字體設(shè)計(jì),有一個(gè)或多個(gè)變化軸心,可模仿多個(gè)字款,當(dāng)缺字款時(shí)便可用MM字代替,但始終不是相同字體,字形會(huì)有分別,而且經(jīng)常制造輸出問題,不是所有軟件或系統(tǒng)支持的。CID字體則是現(xiàn)今最流行的一個(gè)多字節(jié)字體方案(例如亞洲文字),提供可靠及快速的輸出,全名是Character Identity-keyed Fonts,每個(gè)CID字體都有一個(gè)獨(dú)一無二的編號(hào),由Adobe發(fā)給字體開發(fā)公司。CID字體必須安裝在RIP伺服機(jī)或印前系統(tǒng)內(nèi),安裝程序有點(diǎn)復(fù)雜,通常由字體供貨商或系統(tǒng)管理員安裝。CID字體是PostScript Type 1字體的延伸,但也可以是CID-OpenType字體。通常CID-PostScript字體分前端字及后端字互相呼應(yīng),前端可以是Tru

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論