units per em

2022-04-19 09:38:01.0

分類: 字体技术

字体设计的工程规格中,有个较少被人提及的专有名词「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为主,这是一个在产品质量与档案量大小可以取得平衡的设定。


Font Technology

OpenType 1.9規格支援彩色漸變向量字型

OpenType規格上一次重大的變更是在2016年9月釋出的1.8版本,它加入了可變式字型(Variable Font)的規格,至今5年已有許多可變式字型推出上市,有些訂製字型專案客戶也會要求提供可變式字型,不過台灣的字體廠商只有文鼎有發行可變式字型產品。

2021年12月OpenType 規格再次重磅更新¬釋出1.9版本,其中最主要的是對彩色漸變向量字型的支援(縮寫為COLRv1)。以下為讀者做簡要的介紹:
(1) OpenType色彩定義表(COLR)內的顏色從原本的單一顏色擴充為可以有漸層的變化,以下範例可以很明顯地看出兩個規格版本的色彩差異:

COLRv0:

COLRv1:


(2) 另外,在COLR表的前一版COLRv0雖然也支援可變式字型(variable font),但只是字符外框可變,對於字符定義的顏色是不可以變更的;而COLRv1版本就有支援顏色可變的功能,可以在可變字體中加入調整顏色的變數軸。國外的underware字型設計公司已在2022年初發表了一組顏色可變的字體Plakato Color

由於此新的技術規格才剛發表,一般編輯軟體都尚未支援,截至此文編輯時,已支援COLRv1的應用軟體只有Chrome核心的瀏覽器,預期其他主流的瀏覽器及編輯軟體也會很快的支援這種炫彩的COLRv1彩色漸變向量字型。也可期待市場上會有更多的彩色向量字型,特別是Emoji表情符號,可以讓用戶選擇使用。
 

參考資訊:

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。