因編碼造成缺漏字的解決方法_造字碼位

2021-08-10 09:55:48.0

分類: Font Technology

在前一篇文章「字符集:Big5與Unicode的差異」提到,我們在個人電腦上無法打出想要的字元或無法正確顯示字元,大多是因為使用的字型所支援的字符集涵蓋範圍的多寡而造成的缺字情況,這是設計師或一般使用者會遇到的缺字原因;還有一種是在公家機關或是企業的資訊系統中會遇到的缺字情況_因字型編碼相容的問題所造成的缺字。

很多公司企業財會單位使用的報表系統還是封閉型的系統環境,追求的是系統的安全性、正確性與穩定性,每一次系統的更新就需要一筆龐大的費用,因此,若無重大使用上的問題,在預算考量上往往會選擇沿用現有系統,而不耗費預算升級到新系統。在這樣的情況下,使用單位/公司有可能會因為報表系統比較老舊,只能支援Big5字集,以至於開發的系統軟體無法使用Unicode字集字型顯示,造成列印、輸出漏字或亂碼的情況,此時就會需要透過Big5造字碼位來進行造字。

什麼是造字碼位,由於現在的Windows系統內碼是使用Unicode編碼,但如果我們使用的應用軟體無法直接支援Unicode編碼,就必須要將Unicode資料轉換成Big5編碼的資料,在Big5編碼的碼區裡有定義四個區域可以用來存放使用者造字,我們可以把Big5字集不包含的Unicode編碼的字,依照我們的需求將其存放在這四個造字區內。如此一來,就可以像古代倉頡造字那樣,為自己的資訊系統環境添加一些造字,解決在Big5編碼範圍內,電腦環境中無法正確顯示Unicode編碼的字之困擾。

 

不過,因為每個機關所使用到造字的時機與難字不全然相同,所以同樣的造字碼位所存放的難字在A機關與B機關通常是不一樣,因此使用造字碼位所存放的資料是無法直接互相交換,需要透過另一個CNS11643資訊交換碼來串接交換,讓資訊在交換的過程中不會缺漏。

 

造字碼位範圍

可造字數

FA40-FEFE

785

8E40-A0FE

2041

8140-8DFE

2983

C6A1-C8FE

408

總計

6217

 

 

 

 

 

微軟雖有提供造字編輯程式,可以供使用者使用,以編輯點陣圖的方式造字,雖然介面較為簡易上手,但需要以畫格子的方式逐一將字元圖像點畫出來,在美感上不是那麼好看也較費時。

文鼎了解機關企業的造字需求,開發了更為便利的造字管理系統,以解決造字編輯美觀、便利性的問題,如此一來,就可以輕鬆解決缺字的問題。資訊交換的問題,文鼎也可以協助您。


Font Technology

字符集:Big5與Unicode的差異

我們在輸入文字的時候,有時候是不是會遇到字元無法顯示的缺字情形呢?缺字有可能是許多情況造成的,但最常見的情況是缺的這個字,沒有收錄在Big-5字符集裡,這時候,使用支援Unicode 2.0或3.0字符集的字型,大多可以解決缺字的情況。

 

什麼是Big-5

Big-5 又稱為大五碼,是最常使用的繁體中文字符集,共收錄13,060 個漢字,及441 個全角符號。Big-5 普遍使用於台灣、香港與澳門等地區,唯它並非當地的國家標準,只是業界標準,最新版本是Big5-2003。

 

什麼是Unicode

Unicode 是全球通用的字元編碼,收錄了世界上所有國家及地區的文字及符號,在1991 年首次發佈了The Unicode Standard,目前最新的版本為Unicode 13。而繁體中文普遍使用的Unicode 3.0共收錄27,484 個漢字,而2005 年發佈的Unicode 4.1 已收錄超過10萬字。

 

Big-5與Unicode的差異

很多人常常會把兩者相互比較,而到底兩個的差異在哪呢,簡單來說,我們可以用支援字數多、寡來做區隔,用一個比較簡單的方式來比喻,把Unicode想像成裝雞蛋的大籃子,Big-5則是大籃子中的小籃子,而這些字碼則是籃中的雞蛋。前面我們提到,Big5-包含有13,060個漢字,其包含在Unicode的大籃子中,因此,可以解釋成Big-5是Unicode的其中一部分。所以在一般Windows作業系統中常會有打不出來的字,或是出現亂碼,很大的原因是因為Big-5的範圍內沒有支援到Unicode的字,已經做超出小籃子的負荷了。

如果出現這樣的情況,通常選擇使用援Unicode 2.0或3.0字符集的中文字型,大多可以解決缺字的情況。要如何選擇、使用文鼎公司繁體中文有支援Unicode字符集產品呢?最簡易的方式就是在iFontCloud網站字型頁面上輸入「U30」這個關鍵字,就可以看到有支援Unicode 3.0這種大字符集的字型產品,目前共有25個字型檔案可以選擇使用。

 

在產品上,Big-5與Unicode這兩個字符集的產品要如何分別呢?以文鼎UD晶熙黑體為例,在字型名稱上若有看到U30,即表示這個字型產品是支援Unicode 3.0字符集的產品,若沒有看到標示,則為Big-5字符集的產品,如文鼎UD晶熙黑體U30與文鼎UD晶熙黑體U30。

 

Font Technology

GB18030中文編碼字符集

GB18030是中國大陸規範的的漢字編碼字符集標準,GB 18030-2005共收錄漢字70,244個。

目前GB18030有GB18030-2000 及GB18030-2005兩個版本,2000年發佈的GB18030-2000,全名是《信息技術 漢字編碼字符集 基本集的擴充》。GB18030-2000僅規定了常用非漢字符號和27,533個漢字(包括部首、部件等)的編碼,GB18030-2000是一個強制性的標準,市場上銷售的產品用字必須符合其規範。而2005年發佈的GB18030-2005在GB18030-2000的基礎上增加了42,711個漢字和多種中國少數民族文字的編碼,增加的這些內容是推薦性質,無強制規範。

簡要來說,目前若提到GB18030規格的產品,其對應的標準為GB18030-2005,其中27,533個漢字為基本必要的強制規範範圍。

 

什麼時候需要使用到GB18030字集的字體/ GB18030字集的使用範圍

由於GB18030字集的字元數多達兩萬多字,一般來說,在簡體中文的使用情境,基本的GB2312規格已經足夠使用,但在需要顯示中文姓氏、人名、地名等情況時,由於中文漢字的特性,在上述情況可會出現罕用字的使用,這時候就需要使用GB18030字集的字體來做排版,避免出現缺漏字的情況。

2005年11月發佈的GB 18030-2005版本中文編碼字符集,已要求各種電腦作業系統、字型產品、輸入法、應用軟體、及內建嵌入式系統的3C電子、通信設備,如Smart Phone、Tablet、印表機等周邊設備,要支援GB 18030字集。

 

 

中國大陸編碼標準的演進

1980年頒佈了第一個漢字編碼字元集標準,為GB 2312-80《資訊交換用漢字編碼字符集基本集》。此標準總共定義8,836個碼位,收納了6,763個漢字及682個常用符號,總共有7,445個字元。此規格在早期幾乎是唯一的標準,即使到目前為止,在中國大陸也是電腦系統、軟體及各種設備使用最廣泛的中文編碼標準。

1995年中國全國信息技術標準化技術委員會公佈了【漢字內碼擴展規範(GBK)】, GBK(K是"擴展"的漢語拼音第一個字母),總共定義23,940個碼位,收錄了21,003個漢字與884個符號共21,887個字元。

2000年國際標準組織ISO又公佈了ISO 10646-1:2000(Unicode 3.0),主要是增加中日韓統一漢字Extension A的6,582個字元。大陸的GBK規格已無法容納新增的字元,因此GB18030-2000編碼標準就在原來的 GB2312-1980 編碼標準和 GBK 編碼標準的基礎上進行擴充。

 

字型產品與GB 18030的關係

中國政府對中文字型,尤其是簡體中文字型,訂定有國家檢測認證的標準,尤其是最常使用的4種造型字型:宋、仿、楷、黑,要求使用字型於產品顯示的3C通信、資訊、電子等廠商,必須使用政府認證的字型。一般常用的點陣字型(Bitmap Font),如12x12、16x16、32x32、 …等等,都有強制性標準。也就是說要向大陸官方購買取得公司使用授權,再將字型載入嵌入式系統產品上,如手機,電子字典、印表機等,這些產品才能銷售到大陸。

大陸對於向量字型的規範,採取審查核准使用的方式,簡體中文字體的認證,由中國政府的信標委及CESI (中國電子技術標準化研究所)負責,中國政府為避免各家字型公司,所開發的簡體字型品質不一,由中國官方特別指定的認證單位,訂定規範、製作、授權標準,針對在大陸地區使用之簡體字型之完整性、正確性、規範性、風格一致性、結構合理性等進行審核。因此,在中國所有使用於3C通信、資訊、電子等產品上之簡體中文字型,都必需是取得CESI認證的字型。因此對於採用TTF等向量字型的裝置設備,例如智慧手機、平板電腦、DTV/STB…等,就可以使用向量字型來取代需官方授權的點陣字型。

目前為止,文鼎已有11套字型取得CESI認證規範,分別是五套GB18030字集,六套GB2312字集,字型清單如下:

項次

字集

文鼎中文字型

1

GB18030

文鼎報宋二

2

文鼎中楷

3

文鼎晶栩楷體

4

文鼎晶栩

5

文鼎UD晶熙

6

GB2312

文鼎UD晶熙黑

7

文鼎粗黑

8

文鼎書林黑_L

9

文鼎書林黑_M

10

文鼎Mobile中黑

11

文鼎书苑黑体B

 

總結

在中國市場銷售3C電子、通信產品的國內外廠商,都已了解要進入中國市場,無論是軟體產品或硬體產品,必須採用中國政府標準規範的GB18030中文編碼字符集,及使用中國政府認證的中文字型產品才能順利做銷售。文鼎字型可以提供CESI認證的GB18030字型,授權給3C電子、通信廠商,做產品設計、製造及銷售,將字型內嵌於產品中,廠商不但不用擔心符合規範的問題,又可以取得功能上與成本上無可取代的優勢。

 

 
 
 
 
 
 
 
 

 

 

Font Technology

units per em

字體設計的工程規格中,有個較少被人提及的專有名詞「UPM」,UPM全名為units per em。Em為字體設計上的一個單位,傳統上,em指的是活字印刷鉛字字身的高度;在現今數位字體設計上,EM化身一個虛擬的數位畫布,依字體設計的精細度需要,畫分出一個座標系統網格,這個座標系統大小的設定值最常見的是1000或2048,這個設定值,就稱為units per em,它決定了字體座標網格的粒度大小。


關於UPM數值的設定,基於TrueType和OpenType TT的字體,UPM的設定值通常為2048,而OpenType PS字體UPM的設定值通常為1000,但是也有設為256或512的情況發生,這樣主要是為了達到降低字體檔案的資料量或在特殊情境所需要的設定。

這些UPM設定值的大小除了與字體應用情境搭配外,在字體品質會有差異嗎?

我們以下方的圖例做說明,我們若將這三個圖形視為「點」來看,右方的點是基於UPM 256的設計,而左方的點是以UPM 2048作設計,我們可以看出兩者都有達到一般所認知「點」的概念,但若前提是「圓點」、「正圓」,那麼就一定是左方UPM 2048所設計的圖形才能符合標準。

也就是說,UPM值設定的越高,可以獲得更多包含曲線、造型等的設計細節,反過來說,若我們想要設計一款具備高品質、有細膩曲線描繪的字體產品,在UPM就會需要相對較高的設定值。

以中文字體產品來說,無論是TrueType或OpenType PS的字體,目前大多數的UPM設定都以1000為主,這是一個在產品品質與檔案量大小可以取得平衡的設定。