<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-gb" lang="en-gb" > <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <link rel="shortcut icon" href="images/favicon.ico" /> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta name="robots" content="index, follow" /> <meta name="keywords" content="OSSFNL242" /> <meta name="title" content="你知道嗎?漢字是組出來的(上)" /> <meta name="description" content="電腦上的漢字處理一直有著嚴重的缺字問題,這 個問題看似與你我無關,卻也讓生活平添不少困擾。幾年前常見的游錫方方土、陶吉吉,大家應該還記憶猶新,可能有人會說不要取這個名字就好啦。那就是說這個 人該死嗎?筆者過去服務過的公司名字裡剛好就有「人弟」這一個字,我可不敢說公司該死呢," /> <meta name="generator" content="" /> <title>你知道嗎?漢字是組出來的(上) - OpenFoundry</title> <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" /> <link rel="stylesheet" href="components/com_gantry/css/gantry.css" type="text/css" /> <link rel="stylesheet" href="components/com_gantry/css/grid-12.css" type="text/css" /> <link rel="stylesheet" href="components/com_gantry/css/joomla.css" type="text/css" /> <link rel="stylesheet" href="templates/rt_quantive_j15/css/joomla.css" type="text/css" /> <link rel="stylesheet" href="templates/rt_quantive_j15/css/style1.css" type="text/css" /> <link rel="stylesheet" href="templates/rt_quantive_j15/css/light-body.css" type="text/css" /> <link rel="stylesheet" href="templates/rt_quantive_j15/css/demo-styles.css" type="text/css" /> <link rel="stylesheet" href="templates/rt_quantive_j15/css/template.css" type="text/css" /> <link rel="stylesheet" href="templates/rt_quantive_j15/css/typography.css" type="text/css" /> <link rel="stylesheet" href="templates/rt_quantive_j15/css/fusionmenu.css" type="text/css" /> <style type="text/css"> <!-- #rt-main-surround ul.menu li.active > a, #rt-main-surround ul.menu li.active > .separator, #rt-main-surround ul.menu li.active > .item, #rt-main-surround .square4 ul.menu li:hover > a, #rt-main-surround .square4 ul.menu li:hover > .item, #rt-main-surround .square4 ul.menu li:hover > .separator, .roktabs-links ul li.active span {color:#0088B5;} a, #rt-main-surround ul.menu a:hover, #rt-main-surround ul.menu .separator:hover, #rt-main-surround ul.menu .item:hover {color:#0088B5;} --> </style> <script type="text/javascript" src="components/com_jcomments/js/jcomments-v2.1.js%3Fv=2"></script> <script type="text/javascript" src="components/com_jcomments/libraries/joomlatune/ajax.js"></script> <script type="text/javascript" src="media/system/js/mootools.js"></script> <script type="text/javascript" src="media/system/js/caption.js"></script> <script type="text/javascript" src="components/com_gantry/js/gantry-buildspans.js"></script> <script type="text/javascript" src="components/com_gantry/js/gantry-inputs.js"></script> <script type="text/javascript" src="templates/rt_quantive_j15/js/jquery.cookie.js"></script> <script type="text/javascript" src="modules/mod_roknavmenu/themes/fusion/js/fusion.js"></script> <script type="text/javascript" src="modules/mod_ofssologin/js/ofssologin.js"></script> <script type="text/javascript"> window.addEvent('domready', function() { var modules = ['rt-block']; var header = ['h3','h2','h1']; GantryBuildSpans(modules, header); }); InputsExclusion.push('.content_vote','#rt-popup') window.addEvent('load', function() { new Fusion('ul.menutop', { pill: 0, effect: 'slide and fade', opacity: 1, hideDelay: 500, centered: 0, tweakInitial: {'x': -2, 'y': 0}, tweakSubsequent: {'x': 0, 'y': -14}, menuFx: {duration: 200, transition: Fx.Transitions.Sine.easeOut}, pillFx: {duration: 400, transition: Fx.Transitions.Back.easeOut} }); }); </script> <!-- <script type="text/javascript" src="/sso/javascripts/langsync.js"></script> --> <!-- <script src="/templates/rt_quantive_j15/js/ossf.js"></script> --> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-4136519-1']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> </head> <body class="backgroundlevel-low backgroundstyle-style8 bodylevel-med bodystyle-light cssstyle-style1 logostyle-dark font-family-helvetica font-size-is-default menu-type-fusionmenu col12 "> <div id="rt-main-background"> <div class="rt-container"> <div id="rt-header"> <div class="rt-grid-7 rt-alpha"> <div class="rt-block"> <a href="index.html" id="rt-logo"></a> </div> </div> <div class="rt-grid-5 rt-omega"> <div class="square9"> <div class="rt-block"> <div class="rt-module-surround"> <div class="rt-module-top"><div class="rt-module-top2"><div class="rt-module-top3"></div></div></div> <div class="rt-module-inner"> <div class="module-content"> <div class="ofssologin_square9"><a href="index.html">Login</a>  | <span><a href="tw/component/content/858%3Ftask=view.html" ><span lang="tw" xml:lang="tw">繁體中文</span></a></li></ul></span><!--Joom!fish V2.0.4 (Lightning)--> <!-- © 2003-2009 Think Network, released under the GPL. --> <!-- More information: at http://www.joomfish.net --> <div class="ofssologin_search_square9"> <form id="of_search" action="https://www.openfoundry.org/of/openfoundry/search" method="get" onsubmit="of_search(); return false;"> <select id="of_search_type"> <option value="Projects"> Projects </option> <option value="Content"> Content </option> <option value="People"> People </option> </select> <input id="query" name="query" id="mod_search_searchword" maxlength="50" alt="search" class="inputbox" type="text" size="28" value="search..." onblur="if(this.value=='') this.value='search...';" onfocus="if(this.value=='search...') this.value='';" /> <input type="hidden" name="commit" value="search" /> </form> </div></div> </div> </div> <div class="rt-module-bottom"><div class="rt-module-bottom2"><div class="rt-module-bottom3"></div></div></div> </div> </div> </div> </div> <div class="clear"></div> </div> <div id="rt-navigation"><div id="rt-navigation2"><div id="rt-navigation3"> <div class="nopill"> <ul class="menutop level1 " > <li class="item1 root" > <a class="orphan item bullet" href="index.html" > <span> Home </span> </a> </li> <li class="item32 root" > <a class="orphan item bullet" href="archived.html" > <span> Projects </span> </a> </li> <li class="item186 root" > <a class="orphan item bullet" href="en/community.html" > <span> Who's Who </span> </a> </li> <li class="item4 root" > <a class="orphan item bullet" href="en/news.html" > <span> News </span> </a> </li> <li class="item5 root" > <a class="orphan item bullet" href="en/law-and-licensing.html" > <span> Law & Licensing </span> </a> </li> <li class="item3 root" > <a class="orphan item bullet" href="en/activities.html" > <span> Activities </span> </a> </li> <li class="item2 root" > <a class="orphan item bullet" href="en/resourcecatalog.html" > <span> Resource Catalog </span> </a> </li> <li class="item45 root" > <a class="orphan item bullet" href="en/about.html" > <span> About </span> </a> </li> </ul> </div> <div class="clear"></div> </div></div></div> <div class="rt-surround"><div class="rt-surround2"><div class="rt-surround3"> <div id="rt-showcase-section"> <div id="rt-showcase"> <div class="rt-grid-12 rt-alpha rt-omega"> <div class="clear"></div> <div class="close-note"> <div class="rt-block"> <div class="module-content"> <div style="font-size:medium; background-image:linear-gradient(120deg,#159957,#4298b2);color:white;padding:20px;margin:-10px -18px;">感謝您對「自由軟體鑄造場」的支持與愛護,十多年來「自由軟體鑄造場」受中央研究院支持,並在資訊科學研究所以及資訊科技創新研究中心執行,現已完成階段性的任務。 <a style="color: #45d1ff;" href="https://www.openfoundry.org/">原網站</a>預計持續維運至 2021年底,網站內容基本上不會再更動。本網站由 <a style="color: #45d1ff;" href="https://denny.one/">Denny Huang</a> 備份封存。<br />也紀念我們永遠的朋友 李士傑先生(Shih-Chieh Ilya Li)。</div> </div> </div> </div> </div> <div class="clear"></div> </div> </div> <div id="rt-main-surround"> <div id="rt-breadcrumbs"> <div class="rt-breadcrumb-surround"> <a href="index.html" id="breadcrumbs-home"></a> <span class="breadcrumbs pathway"> <span class="no-link">Previous Issue</span></span> </div> <div class="clear"></div> </div> <div id="rt-main" class="sa3-mb9"> <div class="rt-main-inner"> <div class="rt-grid-9 rt-push-3"> <div class="rt-block"> <div class="square1"> <div class="rt-module-surround"> <div class="rt-module-top"><div class="rt-module-top2"><div class="rt-module-top3"></div></div></div> <div class="rt-module-inner"> <div id="rt-mainbody"> <div class="rt-joomla "> <div class="rt-article"> <div class="rt-headline"><h1 class="rt-article-title">你知道嗎?漢字是組出來的(上)</h1> </div> <div class="clear"></div> <div class="rt-articleinfo"> <div class="rt-article-icons"> <a href="https://www.openfoundry.org/en/component/content/858-2011-01-12-11-06-02?tmpl=component&print=1&page=" title="Print" onclick="window.open(this.href,'win2','status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=640,height=480,directories=no,location=no'); return false;" rel="nofollow"><span class="icon print"></span></a> </div> <span class="rt-date-posted"> Created at Monday, 22 January 2007 08:00 Last Updated on Tuesday, 06 March 2012 17:00 </span> <span class="rt-author"> Written by 張正一 </span> </div> <p>電腦上的漢字處理一直有著嚴重的缺字問題,這 個問題看似與你我無關,卻也讓生活平添不少困擾。幾年前常見的游錫方方土、陶吉吉,大家應該還記憶猶新,可能有人會說不要取這個名字就好啦。那就是說這個 人該死嗎?筆者過去服務過的公司名字裡剛好就有「人弟」這一個字,我可不敢說公司該死呢, 在網路上跟他人介紹我們公司實在很痛苦,因為電腦裡面沒有!這個字還是小件的呢,更不要說許多更艱深的古字了,還有許許多多的地名、人名、古籍上的字都缺 了。</p> <p>那造字區造字呢?這是難以交換的,怎麼說呢?任何文字要在電腦上面表現出來,除了字形圖以外還要有個字碼,蓋電腦的積體電路其實看不懂文字,所有的文字都必須用數字編碼,電腦才看得懂,所以點好字形,然後賦予一個造字區的字碼,才能在自己電腦顯示出來了,<span style="font-weight: bold;">人看得懂字形,電腦只看得懂內碼</span>。但是,交換給別人看時,他的造字區必須跟你的一致:同樣的字形圖得對到一樣的碼,否則會得到錯誤的顯示,也就是說造字區造字難以流通交換的。也有用圖片表示缺字的方式,但除了網頁上面顯示以外,在文書編輯器裡面根本無法使用。<span style="font-family: AR PL ShanHeiSun Uni,serif;"><br /> <br /> </span>好啦,造字區造字法難以交換,可造字數又受限於編碼法的規劃,那每年改變編碼法以增加字數如何?那這表示電腦的作業系統不但年年得大修改,而且所有用舊編碼打出來的文件、必須要經過轉換才能給用新式編碼的作業系統看懂。幾年前從<span style="font-family: AR PL ShanHeiSun Uni,serif;">BIG-5</span>換成<span style="font-family: AR PL ShanHeiSun Uni,serif;">unicode</span>,這個大轉換已經夠大工程了,每一年再去改編碼,更不切實際。編碼是作業系統內很基礎的建設,變動都是一髮牽動全身的,對所有用電腦的人、作業系統廠商都是很大的負擔,<span style="font-family: AR PL ShanHeiSun Uni,serif;">unicode</span>是在<span style="font-family: AR PL ShanHeiSun Uni,serif;">1991</span>年就已經存在的,然而要一直到十年後<span style="font-family: AR PL ShanHeiSun Uni,serif;">windows 2000</span>才從收一萬五千漢字的<span style="font-family: AR PL ShanHeiSun Uni,serif;">BIG-5</span>轉到有兩萬漢字的<span style="font-family: AR PL ShanHeiSun Uni,serif;">unicode2.0</span>,這可見為了缺字累次去翻修作業系統基層的編碼,不但無法立竿見影,耗年費月,而且成本甚巨。<span style="font-family: AR PL ShanHeiSun Uni,serif;"><br /> <br /> </span>電 腦漢字缺字,這個嚴重的問題,真無好方法可解嗎?奇怪,英文的字數已將近二十五萬字(這是韋式大字典保守估計),怎麼都沒聽說過有缺字問題?書寫的時候怎 麼寫、打字機怎麼打,電腦就是可以照常打出來。那中文呢?為什麼英文字沒有缺字,漢字就是會有缺字呢?很早以前,學界就發現,這個問題,一個字對一個碼, 缺字是永遠處理不完的,正本清源之道,乃研究<strong>漢字是如何組成的</strong>。<span style="font-family: AR PL ShanHeiSun Uni,serif;"><br /> <br /> <br /> </span>什麼是漢字組成的法則?在探討這個問題之前,我們可以先看看英文字的狀況,英文表意的基本單位是一個「字」,例如說<span style="font-family: AR PL ShanHeiSun Uni,serif;">room</span>是房間,此外有多字詞,是由多個字組成的詞,如「<span style="font-family: AR PL ShanHeiSun Uni,serif;">living room</span>」是客廳、「<span style="font-family: AR PL ShanHeiSun Uni,serif;">personal computer</span>」是個人電腦 ,那一個字又是怎麼組成的呢?我們可以看到<span style="font-family: AR PL ShanHeiSun Uni,serif;">room</span>這個字,是由表音的字母排列<strong>組</strong>合而成,字母總共只有<span style="font-family: AR PL ShanHeiSun Uni,serif;">a</span>到<span style="font-family: AR PL ShanHeiSun Uni,serif;">z</span>共二十六個字母,任何英文字都是用這最基本的表音字母組合而成,不會突然有個字冒出第<span style="font-family: AR PL ShanHeiSun Uni,serif;">27</span>、<span style="font-family: AR PL ShanHeiSun Uni,serif;">28</span>個字母,這樣的字母集學術上稱為<strong>封閉集合</strong>。英文數十萬字,就是用基本的字母組合出來。作到電腦上,只要把字母編碼,無窮無盡過去的、現在的、甚至未來的英文字都可以表現。<span style="font-family: AR PL ShanHeiSun Uni,serif;"><br /> <br /> </span>看 回中文的情形,比較聰明的讀者大概已經領悟到了,中文為什麼會有缺字?前面說過,人認字形,但電腦認字的內碼。就是因為漢字的編碼是直接對字編碼,現在的 電腦能給中文字多少碼的空間,中文字就只能表現那麼多,碼的空間有限,字卻是無限,從有中文電腦開始到現在,一個字配一碼,永遠也配不完,<span style="font-weight: bold;">所以只能對特定人士認定需要的部份字作編碼</span>,大部份過去的字、未來的字就只得放棄。甚而<span style="font-family: AR PL ShanHeiSun Uni,sans-serif;">一碼又對一張字圖,漢字的電腦處理,永遠是個高成本的雞肋,設計電腦的公司企業遇到中文問題就要愁眉苦臉,缺字問題不說,字數愈來愈多,字形檔也就越來越膨脹,如今日最新的微軟正黑體光是兩萬多字就<span style="font-family: AR PL ShanHeiSun Uni,sans-serif;">要</span></span><span style="font-family: AR PL ShanHeiSun Uni,serif;">14MB</span><span style="font-family: AR PL ShanHeiSun Uni,sans-serif;">了,中文電腦先天使用上,要使用順利必須比英文電腦有更多的記憶體。</span>同樣的作法來處理英文字,如果不對<strong>英文字母</strong>編碼,而是對<strong>英文字</strong>編碼,英文字也是一字一碼的話,比起中文字,缺字問題更會嚴重,電腦裡面英文字的字形檔恐怕比中文字形檔更可觀。字是<strong>開放的集合</strong>,一個字一個字編碼,一定編不完的,要編碼,一定要找出該文字系統的<strong>基本組成元素</strong>。<span style="font-family: AR PL ShanHeiSun Uni,serif;"><br /> <br /> </span>問題來了,英文的基本組成元素是英文字母,那漢字呢?注音符號嗎?所謂注音符號並不是字母,而是用國語(或普通話)唸漢字的<strong>音標</strong>(漢 字經過所謂的書同文,所以不同的語族採用了同一套書寫系統,注音不是單一的,同個字有北京語的唸法、客家話的唸法、閩南語的唸法,甚至日語的、韓語的、越 南語的),所謂字母,字的母親是也,就是合成文字的基本單位。好啦,那中文字母是什麼?又組成一個中文字的基本法則又是什麼?找到這兩個問題的答案,缺字<span style="font-family: Bitstream Vera Sans,sans-serif;">問題</span>才有解決的<span style="font-family: AR PL ShanHeiSun Uni,sans-serif;">曙光。</span><span style="font-family: AR PL ShanHeiSun Uni,serif;"><br /> </span></p> <p>民國六十到七十年代,當年為科技界蔓延著漢字落後跟不上時代的說法,為了怕漢字無法電腦化,會造成中文文化的危機,所以政府敦促科技界儘快研究解決方案, 當初匆促在缺乏文字學家的參與之下,定出來的,就是一直用到今天的一字一碼,一字一碼是以人為的方式去界定廣大的漢字哪些該收,哪些<strong>要放棄</strong><span>,哪些放在常用區,哪些又要放在次常用區,因為是人為判定的方式,當年許多政府部會以及民間組織還各自以不同的法則,做出了一堆各不互通(少數有相容)的編碼,小小一個台灣就有</span><span style="font-family: AR PL ShanHeiSun Uni,serif;"><span><span>CCCII</span></span></span><span><span>(最早制定,現為圖書館系統使用)、</span></span><span style="font-family: AR PL ShanHeiSun Uni,serif;"><span>CNS11643</span></span><span>(國標碼)、</span><span style="font-family: AR PL ShanHeiSun Uni,serif;"><span>BIG-5</span></span><span>系列(</span><span style="font-family: AR PL ShanHeiSun Uni,serif;"><span><span style="font-size: x-small;">Big5-Eten</span></span></span><span><span style="font-size: x-small;">、</span></span><span style="font-family: AR PL ShanHeiSun Uni,serif;"><span><span style="font-size: x-small;">Big5-e</span></span></span><span><span style="font-size: x-small;">、</span></span><span style="font-family: AR PL ShanHeiSun Uni,serif;"><span><span style="font-size: x-small;">Big5+</span></span></span><span><span style="font-size: x-small;">、</span></span><span style="font-family: AR PL ShanHeiSun Uni,serif;"><span><span style="font-size: x-small;">Big5-2003</span></span></span><span><span style="font-size: x-small;">、</span></span><span style="font-family: AR PL ShanHeiSun Uni,serif;"><span><span style="font-size: x-small;">CP950</span></span></span><span>)、</span><span style="font-family: AR PL ShanHeiSun Uni,serif;"><span>MS950</span></span><span>(微軟制定,大部份與</span><span style="font-family: AR PL ShanHeiSun Uni,serif;"><span>BIG5</span></span><span><span>相容</span>,</span><span style="font-family: AR PL ShanHeiSun Uni,serif;"><span>windows</span></span><span>系統預設編碼)、</span><span style="font-family: AR PL ShanHeiSun Uni,serif;"><span>EUC</span></span><span>(</span><span style="font-family: AR PL ShanHeiSun Uni,serif;"><span>Extend Unix Code</span></span><span>,<span>全國戶政系統使用)</span>、</span><span style="font-family: AR PL ShanHeiSun Uni,serif;"><span>EBCDIC</span></span><span>(銀行使用)、財稅碼、電信碼還有今日的萬國碼:</span><span style="font-family: AR PL ShanHeiSun Uni,serif;"><span>unicode</span></span><span>等等不同編碼,這是所謂的萬碼奔騰問題,持續至今,只要讀者您的名字或團體名稱很不幸其中有字跟「人弟」這看起來不太難的字一樣,被這些制定機關團體判定成得放棄的罕用字,在</span><span style="font-family: AR PL ShanHeiSun Uni,serif;"><span>e</span></span><span>化的今天到銀行開戶、到新學校註冊、取得學生證、到稅捐處報稅、到戶政事務所申請新身份證、新健保卡、</span><span>考駕照</span><span>、創業到經濟部申請營利事業登記、申請法人團體等等諸多人生大事,工作人員受理你的案子就是處理比較慢,</span><span>對方搞不好還在櫃檯後埋怨得額外處理你的缺字哩</span><span>。</span></p> <p><span><br /> </span></p> <p>人為的方式指定一字一碼問題非常的嚴重,所以後來就有幾位不同人士試圖找出漢字構成的基本法則。最為人所知的首推中文怪傑朱邦復先生,他所發明的倉頡輸入 法,其實更是倉頡組字法,他經過數十年的時間,剪剪貼貼字典上的字,把字拆開、組合,又拆開、組合,整理出了「倉頡字母」。一開始倉頡只是一種方便的輸入 法,<span style="font-family: AR PL ShanHeiSun Uni,serif;">1990</span>年 朱老先生在新作聚珍中文系統中,做出了一個很大的創見,就是組字!何謂組字?就是漢字在字形的描繪上,擺脫了過去一個字對到一個字形圖畫(點陣圖或是向量 圖)的作法,而是複雜的合體字是由更簡單的部件組成,簡單的部件還可以一路拆開,拆到最末不能再拆的末級部件,直到這最基本的元素,才定義基本元素的筆畫 描繪方式。這是很空前的作法,漢字處理上時代的一大進步,倉頡輸入碼也就成為了其系統的內碼。</p> <p> </p> <p><span>然而朱邦復的系統有一個問題,就是雖然能很有效率的組合出字,但是,其倉頡碼仍然是個人為的編碼,本來著眼的是為了讓鍵盤好打檢索出要輸入的字,而人為拆取字的「部份」成為「輸入碼」(找到字的檢索路徑),用作內碼(電腦內部對文字的實際編號)就會有以下的問題:</span><span style="font-family: AR PL ShanHeiSun Uni,serif;"><span>yrcru</span></span><span>(卜 口金口山)的碼,為什麼是「說」這個字,就不可能是其他的字嗎?萬一真有個新字是「言金口山」該怎麼辦?使得其組字系統需不斷因應新可組的字累積許多例外 判斷。又其所取的部件,許多違逆了文字學的研究,例如說文字學上馬就是不能再拆的字了,但在他的理論下還是可以拆的。倉頡碼終究是人為,不脫一字一碼,又 因朱老的系統自成一格比較封閉,致使不能有效的廣佈於大眾。</span></p> <p><span><br /> </span></p> <p><span>在組字的研究上,另外有中研院資訊所的謝清俊教授所主導的。謝教授在</span><span style="font-family: AR PL ShanHeiSun Uni,serif;"><span>30</span></span><span>年前領導國字整理小組制定了</span><span style="font-family: AR PL ShanHeiSun Uni,serif;"><span>CCCII</span></span>中文資訊交換碼,確立了以文字學研究為基礎的方向。其後<span style="font-family: 新細明體;">周何教授</span>基於古代從說文解字到鄭樵的整理研究,分析<span style="font-family: AR PL ShanHeiSun Uni,serif;">CCCII</span>第二集<span style="font-family: AR PL ShanHeiSun Uni,serif;"><span style="font-family: 新細明體;">22394</span></span>個字,得出<span style="font-weight: bold;">漢字有</span><span style="font-weight: bold; font-family: AR PL ShanHeiSun Uni,serif;"><span style="font-family: 新細明體;">869</span></span><span style="font-weight: bold; font-family: 新細明體;">個聲母及</span><span style="font-weight: bold; font-family: AR PL ShanHeiSun Uni,serif;"><span style="font-family: 新細明體;">265</span></span><span style="font-weight: bold; font-family: 新細明體;">個形母、共計</span><span style="font-weight: bold; font-family: AR PL ShanHeiSun Uni,serif;"><span style="font-family: 新細明體;">1134</span></span><span style="font-family: 新細明體;"><span style="font-weight: bold;">個基本元素</span>,稱為末級部件或是字根、字母,為任何漢字的共有基本元素(字根,容易跟輸入法的字根搞混,後續不再作此稱),<span style="font-family: 新細明體;">末級部件</span>的分析整理,是歷史上重要的一頁,這表示任何漢字確實是由部件逐層合成的,也表示在<span style="font-weight: bold;">漢字的學習上,有更有結構、合理的學習法</span>。</span></p> <p><span style="font-family: 新細明體;"><br /> </span></p> <p><span style="font-family: 新細明體;"><span>謝教授的缺字解決方案的重點在於</span><span>構字式</span></span>,構字式是由有限的構字部件及符號組成,是描述字形結構的式子。<span style="font-family: 新細明體;">英文是一維,由左而右的組字,</span><span style="font-family: 新細明體;"><span style="font-weight: bold;">漢字是以二維的方式</span><span style="font-weight: bold;">由部件組成</span><span style="font-weight: bold; font-family: 新細明體;">;</span><span style="font-weight: bold;">部件也是用二維的方式一層一層組,最後用最基礎的末級部件組成</span><span style="font-weight: bold; font-family: 新細明體;">;</span><span style="font-weight: bold;">最終的末級部件,才由筆畫畫成。</span>這</span>比起一字一碼是非常大的進步,為數眾多古文缺字迎刃而解,所有古文字的構字式被整理成漢字構形資料庫,在現有電腦環境下中文字不再有數量限制。然而,漢字構形資料庫只是個資料庫,目前只有在<span style="font-family: AR PL ShanHeiSun Uni,serif;">MSOffice</span>上作了個展示性的應用,此外構字式有個缺憾,就是一個構字式只能使用一種組字符,例如說有左右組就不能有上下組,這樣無法作巢狀的處理,在作複雜的新字時會有困難。這資料庫是很好的學術研究資源,但還不足以應用在通用用途。(下期待續)</p> <p>◎ 關於本文</p> <p>本文由張正一維護,本著作係採用創用 CC 「姓名標示─非商業性 2.5 台灣版」授權條款釋出。初載於:資訊與電腦雜誌 2007 年三月號,若有疑問,請不吝指教: <script language='JavaScript' type='text/javascript'> <!-- var prefix = 'mailto:'; var suffix = ''; var attribs = ''; var path = 'hr' + 'ef' + '='; var addy5948 = 'shoichi.chou' + '@'; addy5948 = addy5948 + 'gmail' + '.' + 'com'; var addy_text5948 = 'shoichi.chou {at} gmail.com'; document.write( '<a ' + path + '\'' + prefix + addy5948 + suffix + '\'' + attribs + '>' ); document.write( addy_text5948 ); document.write( '<\/a>' ); //--> </script> <script language='JavaScript' type='text/javascript'> <!-- document.write( '<span style=\'display: none;\'>' ); //--> </script>This e-mail address is being protected from spambots. You need JavaScript enabled to view it <script language='JavaScript' type='text/javascript'> <!-- document.write( '</' ); document.write( 'span>' ); //--> </script></p> <!-- Show relate article --> <br><br><h4>You may be interested in the following articles:</h4><ul><li><a href='foss-forum/892.html'>你知道嗎?漢字是組出來的(下)</a> - <span class='date-posted'>2007-01-22</span></li></ul> <!-- end --> <div class="article_note"> <!-- Add tags use metakey, and show OSSF Newsletter tag: OSSFNL+NUM--> <br><br> <hr style='border: 1px dashed #D2DADB;'><b>OSSF Newsletter :</b> <a href='previous-issue%3Ftask=view&id=242.html'>第 76 期 各國政府採用自由軟體現況</a><br> <!-- End --> <br> <b>Category: </b><a href="en/foss-forum.html"> FOSS Forum </a> </div> <!-- AddThis Button BEGIN ID 3001 is the front page article --> <br><br> <div class="addthis_toolbox addthis_default_style addthis_32x32_style"> <a class="addthis_button_preferred_1"></a> <a class="addthis_button_preferred_2"></a> <a class="addthis_button_preferred_3"></a> <a class="addthis_button_preferred_4"></a> <a class="addthis_button_compact"></a> <a class="addthis_counter addthis_bubble_style"></a> </div> <script type="text/javascript">var addthis_config = {"data_track_clickback":true};</script> <script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=openfoundry"></script> <!-- AddThis Button END --> <br> <div class="totop" ><a class="rt-totop" href="index.php%3Foption=com_content&task=view&id=858&Itemid=56.html#" style="outline: medium none;">↑ Top</a></div> <!-- AddThis Button END --> </div> </div> </div> <div class="clear"></div> </div> <div class="rt-module-bottom"><div class="rt-module-bottom2"><div class="rt-module-bottom3"></div></div></div> </div> </div> </div> </div> <div class="rt-grid-3 rt-pull-9"> <div id="rt-sidebar-a"> <div class="square4"> <div class="rt-block"> <div class="rt-module-surround"> <div class="rt-module-top"><div class="rt-module-top2"><div class="rt-module-top3"></div></div></div> <div class="rt-module-inner"> <div class="module-content"> <ul class="menu"><li id="current" class="active item56"><a href="en/previous-issue.html"><span>Previous Issue</span></a></li><li class="item55"><a href="en/about-newsletter.html"><span>About Newsletter</span></a></li></ul> </div> </div> <div class="rt-module-bottom"><div class="rt-module-bottom2"><div class="rt-module-bottom3"></div></div></div> </div> </div> </div> <div class="rt-block"> <div class="rt-module-surround"> <div class="rt-module-top"><div class="rt-module-top2"><div class="rt-module-top3"></div></div></div> <div class="rt-module-inner"> <div class="module-content"> <ul class="menu"><li class="item115"><a href="en/foss-news.html"><span>FOSS News</span></a></li><li class="item141"><a href="en/case-job.html"><span>Case and Jobs</span></a></li></ul> </div> </div> <div class="rt-module-bottom"><div class="rt-module-bottom2"><div class="rt-module-bottom3"></div></div></div> </div> </div> <div class="square1"> <div class="rt-block"> <div class="rt-module-surround"> <div class="rt-module-top"><div class="rt-module-top2"><div class="rt-module-top3"></div></div></div> <div class="rt-module-inner"> <div class="module-title"><h2 class="title">Special</h2></div> <div class="clear"></div> <div class="module-content"> <ul class="menu"><li class="item37"><a href="en/tech-column.html"><span>Tech Column</span></a></li><li class="item40"><a href="en/foss-programs.html"><span>FOSS Programs</span></a></li><li class="item35"><a href="en/legal-column.html"><span>Legal Column</span></a></li><li class="item154"><a href="en/foss-forum.html"><span>FOSS Forum</span></a></li><li class="item162"><a href="en/enterprise-application.html"><span>Enterprise Application</span></a></li><li class="item44"><a href="en/foss-projects.html"><span>FOSS Projects</span></a></li></ul> </div> </div> <div class="rt-module-bottom"><div class="rt-module-bottom2"><div class="rt-module-bottom3"></div></div></div> </div> </div> </div> <div class="square1"> <div class="rt-block"> <div class="rt-module-surround"> <div class="rt-module-top"><div class="rt-module-top2"><div class="rt-module-top3"></div></div></div> <div class="rt-module-inner"> <div class="module-content"> <p style="text-align: center;"><a href="news%3Fformat=feed&type=rss" target="_black"><img src="images/M_images/news-rss-feed.png" border="0" /></a><br /><a href="https://www.openfoundry.org/rss-feed/Newsletter" target="_black"><img src="images/M_images/newsletter-rss-feed.png" border="0" /></a></p> </div> </div> <div class="rt-module-bottom"><div class="rt-module-bottom2"><div class="rt-module-bottom3"></div></div></div> </div> </div> </div> </div> </div> <div class="clear"></div> </div> </div> </div> <div id="rt-copyright"> <div class="rt-grid-12 rt-alpha rt-omega"> <div class="rt-block"> <div class="rt-module-surround"> <div class="rt-module-top"><div class="rt-module-top2"><div class="rt-module-top3"></div></div></div> <div class="rt-module-inner"> <div class="module-content"> <span class="nowrap">Open Source Software Foundry</span><span class="nowrap">‧</span><span class="nowrap"> </span><span class="nowrap">Best Viewed with IE7.0 or Firefox2.0 above, 1024x768 Resolution. </span><strong>E-Mail</strong>:<a href="mailto:contact@openfoundry.org">contact@openfoundry.org</a> <br /><strong>Address</strong>:No.128, Sec.2, Academia Rd., Institute of Information Science, Academia Sinica, Nangang District, Taipei City 11529, Taiwan (R.O.C). <br /><a href="en/privacy-policy.html">Privacy Policy</a>. <a href="en/terms-of-use.html">Terms-of-use</a> <span style="position: relative; top: 8px; margin-top: -8px;"> <a href="about/8101.html"><img src="images/M_images/rss-feed-all.png" border="0" /></a></span> </div> </div> <div class="rt-module-bottom"><div class="rt-module-bottom2"><div class="rt-module-bottom3"></div></div></div> </div> </div> </div> <div class="clear"></div> </div> <div class="rt-footer-bottom-wrap"><div class="rt-footer-bottom"><div class="rt-footer-bottom2"><div class="rt-footer-bottom3"></div></div></div></div> </div></div></div> <div class="rt-surround-bottom"><div class="rt-surround-bottom2"><div class="rt-surround-bottom3"></div></div></div> </div> </div> <!-- <script id="aptureScript"> (function (){var a=document.createElement("script");a.defer="true";a.src="http://www.apture.com/js/apture.js?siteToken=vsJttrn";document.getElementsByTagName("head")[0].appendChild(a);})(); </script> --> <!-- Piwik --> <!-- <script type="text/javascript"> var _paq = _paq || []; _paq.push(["trackPageView"]); _paq.push(["enableLinkTracking"]); (function() { var u=(("https:" == document.location.protocol) ? "https" : "https") + "://www.openfoundry.org/piwik/"; _paq.push(["setTrackerUrl", u+"piwik.php"]); _paq.push(["setSiteId", "1"]); var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript"; g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s); })(); </script> --> <!-- End Piwik Code --> </body> </html>