关闭

关闭

封号提示

内容

首页 香港增补字符集--背景资料.doc

香港增补字符集--背景资料.doc

香港增补字符集--背景资料.doc

上传者: wuonm 2010-10-26 评分 5 0 175 24 794 暂无简介 简介 举报

简介:本文档为《香港增补字符集--背景资料doc》,可适用于IT/计算机领域,主题内容包含背景資料背景資料目前大部份不同語文的電腦系統都有不同的編碼標準。如中文的系統就有BIG和GBGBK。各種文字有不同的文字編碼不同系統在文字碼中轉換會符等。

背景資料背景資料目前大部份不同語文的電腦系統都有不同的編碼標準。如中文的系統就有BIG和GBGBK。各種文字有不同的文字編碼不同系統在文字碼中轉換會出現很多問題最明顯是由於系統不能正確解析造成所謂『亂碼』的現象。因此世界上主要的電腦廠商均推動利用Unicode(統一碼)將世界上幾十種文字編碼整合一起為一種編碼結果可以讓多種文字在同一文件中容易地顯示也毋須作編碼轉換。Unicode是由美國各大電腦廠商組成的Unicode策進會推動。理論上這種編碼可以將世界上常用的文字都涵蓋進去減少電腦商開發國外市場的問題。香港主要利用的傳統繁體中文電腦系統都是利用大五碼(BIG)作為編碼繁體版的Windowsx都是利用BIG作為系統的編碼BIG故此也被稱為WindowsANSIcodepageforTraditionalChinese(也就是CP)而BIG編碼利用十六進元位利用兩個bytes代表一個中文字。BIG編碼是在台灣開發故此許多香港的常用字都不包含在內。BIG編碼之內如何涵蓋特殊字一直引起不少混亂。電腦用戶如果要在電腦上使用這些所謂特殊的字符唯有在使用者造字區(UserDefinedArea,UDA)為這些字符編配內碼。用戶自行造字對獨立運作的電腦不會構成問題所以一旦涉及資料交換用戶定義造字就不能在另一方正確顯示就會引起溝通的問題。為了打破香港常用字在文字編碼的溝通限制香港政府與許多業界人士為香港常用而又不在Big內的單字製作了約五千個字的編碼簡稱為香港增補字符集(HongKongSupplementaryCharacterSet,HKSCS)。在香港增補字符集出現之前香港政府亦公佈過一套稱為政府通用字庫GovernmentChineseCharacterSet(GCCS)(或稱香港政府指定外字集)共收錄了,個常用字這些字利用BIG編碼的使用者造字字集EndUserDefinedCharacter(EUDC)內而字集的套裝包括EUDC字體和EUDC的輸入法。而新的香港增補字符集(HKSCS)更包括了Big和ISO的編碼。故此HKSCS的Big版實際上就是補充了GCCS的增強版。這些在EUDC的Big使用者造字字集按照一般Unicode的規定都已對應在Unicode的私人使用區PrivateUseArea(PUA)內。而Microsoft的NT也是如此。原則上私人使用區是供廠商和用戶自行定義字符的字區這個區域是供個人和廠商作私人用途不作資料交換用途。何以會有上述的私人使用區PrivateUseArea(PUA)在Unicode的編碼內存在?以上提及Unicode要將成千上萬的文字收進同一個共通的編碼內在兼顧經濟的原則下不管東方或西方文字每個字在Unicode的BasicMultilingualPlane(BMP)中都可一律以兩個Bytes(即Bits)進行編碼來代表。以簡單的運算就至少能有=種不同組合足以應付大多數文字編碼的需要。Unicode的技術文件大家可以經常看到ISO這個名詞。如上述HKSCS就具備一套ISO的編碼。ISO是總部設於瑞士的國際標準局的縮寫。ISO頒布的第號標準名為UCS(UniversalCharacterSet)也就是世界通用字集。ISO是由世界各地的政府代表商定國際標準的官方組織就Unicode由電腦業界組成的性質不同。但是Unicode策進會和ISO的UCS一直緊密合作讓Unicode和ISO保持一致。因此Unicode和ISO使用完全相同的字庫。可是由於漢字以方塊字構成所佔的分配空間非常驚人。Unicode只有六萬多字的分配空間實在不敷應用。故此Unicode和UCS都採用了『中日韓文整合』(CJKUnification)把中、日、韓的漢字以同一字碼來代表以節省寶貴的定址空間。CJKUnification內的漢字在Unicode中稱為Unihan(統漢字)。但是統漢字仍不能包含所有不常用的漢字其中也包括部份香港增補字符集(HKSCS)或者香港政府指定外字集(GCCS)之內的部份字符。可是事實上不少在香港增補字符集(HKSCS)或者政府通用字庫(或稱香港政府指定外字集)(GCCS)內的字符目前已經在Unicode內提供了編碼。故此當香港增補字符集的BIG內的使用者造字字集EndUserDefinedCharacter(EUDC)安裝到WindowsNT系統上利用正常的EUDCPUA對應每一個字符就會有兩個碼位(Codepoints)代表該字符的編碼。其中一個在CJK區的Unicode碼位另一個在PUA區。假設一份含GCCS的Big編碼文件轉換成Unicode編碼文件GCCS的字符就會保留在PUA區而CJK區代表該字的字形就沒有使用。反之如果文件從Unicode轉成BigCJK區代表該GCCS字符的碼位亦會因對應到Big的EUDC區而失掉再轉換成Unicode時不能找到位於CJK區的碼位。政府通用字庫(GCCS)的定義顧名思義政府通用字庫包括了,個字符。上述字符和Unicode的關係如下:已跟Unicode合併的字符,個已經ExtensionA合併的字符個須用新字符表達,個GCCS總數,個香港增補字符集的定義香港增補字符集(HKSCS)可以被視為政府通用字庫的第二版。其中包括了政府通用字庫的原用字符(其中個字符已因與現存的Big碼合併而取消)。換言之香港增補字符集包括原來的政府通用字再加上新增的字符。在二零零五年五月香港特區政府公布香港增補字符集-(HKSCS)除再加上新增的字符外,HKSCS在技術上配合國際標準化組織在二零零四年四月公布的「ISOIEC:」和其修訂本。換言之HKSCS已再沒有利用Unicode的私人使用區(PUA)。以下本文只集中解釋舊版香港增補字符集和Unicode私人使用區(PUA)的使用問題及其解決方案。Unicode和香港增補字符集的關係如下Microsoft對應Unicode及香港增補字符集解決方案的一般原則:、​ 方案將集中於儘量利用現時的Unicode來表達香港增補字符集內的字符。作業系統內會加進新的字體和編碼轉換對應表為政府通用字庫提供反向兼容。不過要將舊的政府通用字庫轉換成新的香港增補字符集則要應用程式負責。以往的政府通用字庫完全利用Unicode的私人使用區(PUA)而新的香港增補字符集則會利用所有的已定義Unicode字符(包括位於CJK區和擴充A區)、​ 新的編碼轉換對應表的內容包括了以往cp和加上香港增補字符集在Big的使用者造字區(EUA)所定義的碼位(CodePoint)。、​ 為了向香港的Big用戶和舊的Big應用程式提供反向兼容Big支援將會轉為利用新的編碼轉換對應表。Unicode及香港增補字符集的對應關係(Mapping)由於Microsoft的對應關係方案目標是促使NT的Unicode字符可以真正支援香港增補字符集因此以往Unicode和Big編碼的對應關係必須有所擴充。否則Big編碼文件內的香港增補字符集(也就是利用ANSI標準輸入方法或者ANSI應用程式所輸入的中文編碼)就會被對應到Unicode的私人使用區(PUA)的字符。為了支援政府通用字庫Unicode和Big使用者造字字集(EUDA)內的字符編碼必須可以正確互相對應。我們將香港增補字符集分為兩部份V部份及V部份。V部份是原本的政府通用字庫字符而V則是香港增補字符集新增的字符。BIGEUDCUnicodeCJKUnicodeExtAUnicodePUA己於Big內定義*其他字符CHTOfficialBIG**VinCJKXV–inExtAXXV–newXXXVinCJKXXV–inExtAXXV–newXXX代表可以在BIGEUDC及UnicodePUA互相對應代表只能從BIGEUDC轉成對應的Unicode字符代表只能從Unicode轉成對應的BIGEUDC字符x代表此範圍無從對應*對於已於Big編碼存在香港增補字符集(HKSCS)或者政府通用字庫(GCCS)的字符會單向對應到UnicodeCJK區。如此一來這些字符會對應到UnicodeCJK區當對應到Big字符時亦可以抓到正確的Big碼位。對於非Big的字符亦可以在Unicode和使用者造字字集(EUDC)的範圍之間互相對應。**官方Big編碼是指在繁體中文視窗的Big使用者造字字集(EUDA)和Unicode之間的對應。上述的對應方式優點是可以利用新的BigUnicode對應表將Big的文件規格化(Normalize)成Unicode編碼文件。所有已在Unicode內定義的政府通用字庫(GCCS)的字符經規格化後都會正確拮取到真正的Unicode在CJK範圍內的編碼只有新的字符才會對應到Unicode的私人使用區(PUA)的字符。舉例來說以下的(菁)字符已經在Unicode的CJK區存在。當這個字利用舊的政府通用字庫GCCS被輸入到文件這個字的編碼可以同時存在於PUA或者CJK區內即使指涉同一個字也可能有不同的碼位。當這份文件在BIG和NT上的Unicode環境反覆轉譯原本文件(最左文件)的同時存在於兩個編碼區的同一個字就會被『規格化』成為如最右文件只是利用其中一個碼位。以下的圖表第一個假設該字符同時在政府通用字庫GCCS和Big存在最終會『規格化』成為一個Unicode的碼位。而再下一個圖例則表達了如果一個字符只在政府通用字庫GCCS而不在Big的『規格化』情況。如何『規格化』Unicode文件所有的Unicode程式利用新的BigUnicode轉譯表都會遵照以下一般的『規格化』的邏輯來進行。.​ 檢查Unicode文件是否包含PUA區的字符。.​ 將PUA字符轉譯為Big碼位.​ 將文件從Big編碼轉譯回Unicode轉譯的過程非PUA的字符將完全不會更動。轉譯會利用新的轉譯表進行。如何『規格化』Big文件由於現存有大量Big編碼的中文文件都已經利用了政府通用字庫GCCSV的碼位因此『規格化』以往眾多以Big和政府通用字庫建立的文件至為重要。而相似的『規格化』過程亦可以應用在Big文件。.​ 檢查Big文件是否使用包含在使用者造字字集EUDC區內的字符。.​ 將使用者造字字集EUDC字符轉譯為Unicode碼位.​ 將文件編碼轉譯回Big碼位轉譯的過程必須利用新的NLS進行。上述的第二個步驟可以確保存在UnicodeCJK區內而有對應的Big碼位會被用到。而第三個步驟則是將字符轉譯回到官方的Big碼位而不會應用原本的使用者造字字集EUDC碼位。NT的解決方案繁體版的NT和Windows 將包括以下的增補軟件:.​ 新的BigUnicode對應表。.​ 新的字形將包括所有的香港增補字符集。.​ 新的倉頡和速成輸入法以支援輸入上述字符而不會像以往Big編碼系統的使用者造字字集EUDC的字符只能支援內碼輸入。.​ 國際版中文WindowsNT將會提供新的倉頡和速成輸入法。繁體中文Window的軟件增補(Package)繁體中文Window的解決方案將類似NT的解決方案.​ 繁體中文Window會推出一個全新的BigUnicode對應表。.​ mingliuttc檔案要更新以涵蓋所有香港增補字符集的字型。相互操作性(Interoperability)一般而言以上的建議是利用新的BigUnicode的轉換表作為『規格化』(Normalization)的平台以達致兩者的文件可以相互操作的目標。換言之任何在以前版本NT或者Winx制作的Unicode的文件都可以『規格化』。有關增補部份的安裝注意事項(你也可以從增補軟件Readme檔案讀到有關內容).​ 本增補部份之目標只是讓香港用戶之Windows系統可以輸入和輸出香港增補字符集的字符。安裝本系統增補部份會影響該部電腦系統私用字符(PUA)故此強烈建議非香港增補字符集之用戶切勿安裝系統之增補部份。原因分析:由於大部份之香港增補字符集皆利用PUA之碼位支援而PUAEUDC的定義已經在Windows作出調整。故此安裝這套增補的用戶可能會影響到原本系統現存在使用者造字字集EUDC區的字型。另一方面Winx系統利用使用者造字字集EUDC字型和內碼輸入法來支援香港增補字符集。.​ 本增補可以同時安裝在繁體中文版/國際版中文WindowsNT或者任何語文版本的Windows。原因分析:Winx和NT各有不同版本的增補軟件。.​ 本增補包括重要的系統設定以支援香港增補字符集。而其他的方案可能會與上述的設定有衝突。請在安裝前先諮詢有關的廠商確定產品與本增補軟件的兼容性。原因分析:香港市場現有的非Microsoft軟件方案是以EUDC為基礎。上述的方案會將字符設定在使用者造字字集EUDC區內而且會在輸入法(IME)的對應上造成重複的記錄並且會移除上述增補在Winx在使用者造字字集EUDC的設定。此外Microsoft的設計哲學是儘量利用BMP(包括擴充A區)所定義的字符。.​ 在繁體中文/國際中文版的WindowsNT系統區域設定(Locale)必須設定為『Chinese(Taiwan)』設定系統區域設定的步驟:a)按〞開始|設定〞選〞控制台〞b)選〞區域設定〞c)選『Chinese(Taiwan)』d)確定按『套用』鍵e)按『確定』後重新啟動系統。原因分析:確保系統會利用新的BigUnicode對應表。.​ Windows系統必須先安裝〞繁體中文〞(ControlPanel|RegionalOptions|General|Languagesettings)如果日後Windows的區域設定作出改變香港增補字符集的增補必須重新安裝。否則香港增補字符集的字符就無法正常顯示。原因分析:安裝NT系統提供的語言增補(LanguagePack)會改變NT上的設定並移除香港增補字符集的設定。.​ 要安裝本系統增補你必須要有系統管理的權限或者寫入WindowsNT上System和fonts資料夾的權限)原因分析:香港增補字符集增補會安裝字體、NLS、輸入法檔案到系統資料夾。.​ 本增補集乃兼容政府通用字庫(GCCS)因此安裝後不應再安裝任何其他的政府通用字庫。原因分析:其他的解決方案都是以使用者造字字集EUDC為基礎故此會造成衝突。.​ 國際中文版的WindowsNT如果要執行CommandPrompt的功能必須要再在c:的提示指令下鍵進chcp的指令才能應用香港增補字符集。原因分析:國際中文版的WindowsNT的CommandPrompt所預設的CodePage為。.​ 國際中文版的WindowsNT內繁體中文倉頡輸入法並不支援所有的香港增補字符集內的字符必須選擇本增補集內的倉頡和速成輸入法來輸入香港增補字符集的字符。加入上述的兩種輸入法的步驟如下a)按〞Start|Settings〞選〞ControlPanel〞b)開啟〞RegionalSettings〞c)Windows系統將InputLocale選定為『Chinese(Taiwan)』選定〞Chajei〞或者QuickIME(不可選NewChajei)d)按『確定』完成安裝。原因分析:香港增補字符集只支援繁體中文版的倉頡和速成輸入法。國際中文版的倉頡入法是以簡體中文的輸入法對應表為基礎。.​ 安裝其他的應用程式如如MicrosoftOffice可能會更改香港增補字符集增補的系統設定故此安裝Office等程式後建議重新安裝一次香港增補字符集增補以保存完整的支援。原因分析:MicrosoftOffice會更改系統的設定。.​ 部份支援GBK的簡體的中文字體可以會與香港增補字符集有衝突。例如Microsoft的Office套裝軟件便有可能引起上述的字符。故此建議用戶移除SimSun字型。由於細明體已包括了所有的Unicode中文字符故此你仍然可以抓到這些字符。原因分析:Excel會自動使用SimSun字型而導致問題(Office利用字型連繫(Fontlinking)的技術)。

精彩专题

职业精品

上传我的资料

热门资料

资料评价:

/ 10
所需积分:0 立即下载

意见
反馈

返回
顶部

Q