LGJ Notes

蒙古大夫 2.0。 這裡紀錄的都不是我的專業,我的專業就是不專業。別傻了,什麼是專業?

« 兩岸字體上的差異性 | Main | GNU/Linux mozilla/firefox 的列印 »

如何從 TTF 制作 bdf/pcf 點陣字?
2005/01/24,21:42 :: 點閱次數 (12480)
除非我們所使用的 TTF 有內嵌點陣字,不然在螢幕低解析度的情形下,在小字的時候很容易就變得很醜。縱使有 Anti Alias 的平滑字功能,也會使得字變得朦朧、模糊,在長期看螢幕的情形下,會很傷眼睛。也因此,有許多朋友寧願使用點陣字來當做螢幕顯示用。那麼我們就來 DIY 一下製作自己喜歡的點陣字吧!


在 X Window System 下的點陣字規格是 bdf/pcf,這兩種其實是一樣的,只不過 pcf 是經過編碼壓縮,是二位元檔,檔案可能會比較小,載入的時候效率也會比較好。bdf 的話是純文字檔,可以使用一般的文字編輯器就可以編修。

bdf 的規格,我們可以在此下載:
http://partners.adobe.com/public/developer/en/font/5005.BDF_Spec.pdf

我們使用的工具是 xmbdfed,他可以從 X server 或沒有載入的 TrueType 字型來載入後,轉出所指定的 size 的 bdf 字型。這個 bdf 就可以使用 bdftopcf 來轉換成 pcf 檔,然後經過 gzip 的壓縮就可以拿來使用了。

把做好的 yourfont.pcf.gz 置於 X font path 路徑可達之處,執行:

mkfontdir
xset fp rehash
之後就可以使用了。

就這麼簡單。當然,有些轉出來的點陣字,覺得不滿意的話,也是可以利用 xmbdfed 來載入後自行編修成自己滿意的形狀。

迴響

Comment Icon bdf format

請問 bdf format的 SWIDTH是要做什麼呢? SWIDTH是如何計算呢?

Posted by: JJ at 2006/07/21, 10:55
Comment Icon re: bdf format

SWIDTH 一般上的認知上就是換算過後的 character/glyph width。而 DWIDTH 則是精確的 pixel width。

我對 pdf 格式不是很熟悉。據我所知,pdf 格式將來會漸漸的被淘汰。據我所知,像目前的 X 就不取用 SWIDTH 的值。而且,將來的 X 有可能不再使用 pdf 字型。

如果你需要精確的計算方法,可能要看你是用在什麼地方,這個請教 Werner LEMBERG 可能會比較清楚。

wl_AT_gnu dot org

Posted by: LGJ at 2006/07/21, 20:03
Comment Icon

非常感謝回答,所以如果我要讀取 bdf字型檔做轉換的動作,
SWIDTH的值我可以忽略它,
我只需要知道ENCODING、BBX、BITMAP,這些就足夠了,謝謝!

Posted by: JJ at 2006/07/24, 11:21
Comment Icon

Well,我好像把 bdf 打成 pdf 了。@@

據我所知 SWIDTH 的值的確是可以忽略的。除非有些程式碼,他就是要這個不精確的 SWIDTH(一些老舊程式有可能)。

Posted by: LGJ at 2006/07/30, 21:44
 
Accessible and Valid XHTML 1.0 Strict and CSS Powered by BS2 Blog