字符集:Big5與Unicode的差異

2021-07-20 09:51:32.0

分類: Font Technology

我們在輸入文字的時候,有時候是不是會遇到字元無法顯示的缺字情形呢?缺字有可能是許多情況造成的,但最常見的情況是缺的這個字,沒有收錄在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

我的網頁為什麼會眨眼

一招教你搞定WebFont網頁瞬閃問題

如果你的網頁使用了Web Font,你可能或多或少會收到網站的使用者告訴你:欸,為什麼你的網頁字會閃一下?這時,你可能納悶什麼叫做閃一下,開了網頁後,卻又沒看到使用者描述的狀況。這其實是CSS加上網路速度的問題:在還未將Web Font字型下載完成前,會先以系統預設字型顯示頁面,等到下載完成才套用到已顯示在瀏覽器的字型上。也因為如此,如果瀏覽網頁的電腦網路不夠快,可能會發生已經頁面載入完畢了,Web Font的內容隔了1~2秒才接著載完並套用,此時,就會發生所謂的「眨眼」現象了。

這樣的問題,我們可以透過加入以下CSS的方式,告訴網頁在確認Web Font狀態前,就算頁面內容載入完畢,也先將文字隱藏起來,直到確認了Web Font的狀態後,再將文字顯示,這樣就可以避免瀏覽網頁時出現文字瞬閃了!

 

code
.arwf-loading body { /*Web Font正在載入中,不顯示文字*/

          opacity: 0;
          visibility: hidden;
}
.arwf-active body { /*Web Font處理成功,直接顯示文字*/
          opacity: 1;
          visibility: visible;
}
.arwf-inactive body {/*如果Web Font處理失敗,直接顯示文字*/
         opacity: 1;
         visibility: visible;
}

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

字根組字

「字根組字」為開發的方式之一,顧名思義,即以「字根」為漢字的做小單位,設計出該款字體所需使用的「字根」後,在造字工具中將字根組合成漢字字元,這通稱「字根組字」字型開發方式。



字根組字技術業界稱為Radical-base,透過此技術開發出來的TrueType字型產品全名稱做Radical-base TrueType,簡稱RTT,透過字根可以重複使用的特性,來大幅降低字型的檔案大小,此種方式使用在簡體中文具有27,533個大量漢字的GB18030字符集最具有效益,以下使用黑體、楷體為例,說明筆畫組字技術與字根組字技術兩者在字型檔案量大小的差異:

  筆畫組字 字根組字
黑體 7 MB 2.5 MB
楷體 18 MB 2.5 MB

註:黑體為文鼎UD晶熙黑體G30,楷體為文鼎楷體G30 /文鼎晶栩楷體G30

有別於筆畫組字的字型產品,為何筆畫組字技術與字根組字技術兩者在字型檔案量的大小上有如此大的差異呢?除了利用字根可共用、重複使用的特性外,在字型品質上也可以定義,以常用字的字元,開發品質達到近似於筆畫組字高品質的水準,罕用字(大部分使用者一輩子幾乎不會用到的字元)使用現有字根,不特別增加字根的方式來組成,雖然定義上品質稍差,但不影響辨別與使用。

近年,以文鼎字型與Dalton Maag承製的企業訂製字體案件中,如為HP訂製的HP Simplified、為Intel訂製的Intel Clear客戶就希望字型檔案兼容嵌入式系統(embedded system)環境使用的低檔案量以及印刷的高品質需求,透過內部技術評估後,即以字根組字方式開發多字重的字型檔案交付客戶使用。

除了字型檔案量的大小外,一般使用者並不容易辨視字根組字的字型產品,目前,一般的使用者使用到透過字根組字技術所開發的產品的機會並不高,主要的原因在於此機制早期是針對嵌入式環境所設計的字體開發方式,現階段的硬體環境相對於10年前成熟,硬體中的記憶空間容許容納檔案量較大的字型,因此,廠商們開發出來的字型檔案都會是以通用的TrueType/OpenType字型為主。