Logo image
中文點陣字旋轉與斜體演算法
Thesis

中文點陣字旋轉與斜體演算法

Chiang, Hsin Ta
Masters, 國立清華大學, 資訊工程學系
2010

Abstract

斜體 旋轉 點陣字 Italicization Rotation Bitmapped Font
摘要 視覺是我們最重要的感官之一,如果沒有健康的視覺僅管外面有繽紛的世界 也是枉然;同樣的效能再高的電腦如果沒有對等的顯示器搭配電腦的螢幕輸出將 大打折扣。逛一趟電腦賣場挑選電腦螢幕,顯示器的最高解析度是螢幕等級的指 標之一。若一款螢幕標示最高解析度為 1280*1024,代表此時有 1280*1024 個 pixels 佈滿螢幕負責顯示功能,圖型、文字、影片等等都是藉由一點一點小小 的pixel 所構成,解析度越高可以表現越精緻的畫質或越細小的字體。 字體方面主要又分為兩種:描邊字(outline fonts)與點陣字(bitmapped font)。 點陣字是將每個pixel分為著色或不著色,優點製作簡單但缺點是佔用較大的儲存空間、 且放大時容易出現鋸齒狀失真的問題、需準備不同大小的字。一個大小為 12 * 12 bit 的儲存空間,如果放大兩倍則需 24 * 24 bit 的儲存空間。儲存空間與放大倍數成平 方關係;另外無法輕易改變pixel 的排列位置,因此字體的縮放、旋轉、變形等也較難 執行。描邊字則是利用點來標示出筆劃的位置後再以函式描出筆劃,只要調整這些點的 位置即可作到縮放、旋轉、變形等動作。向量字的優點是縮放不會有失真的問題,而且 每個字只需儲存function 和一些點座標,佔用的儲存空間也筆點陣字小很多;缺點是 顯示小字時會出現粗細不均或模糊的現象,為了解決此問題可以加入小的點陣字來替 換。 字體顏色表現方面也分為若干種,我們所研究的範圍與灰階(gray-scale)與黑白 (binary)相關, 以灰階表示時每個pixel 可以有兩個以上的bit 表示不同的灰階程度, 譬如兩個bit 可以表示黑、白與兩種灰色。黑白的表示每個pixel 僅有一個bit 用來表 示顏色,黑或白是他的唯二兩種選擇。 Monotone 表示一個字體它的筆畫寬度都是由"單一pixel"所構成,也就是說只考 慮一個筆畫的前提下不會出現筆畫寬度大於一個pixel 的情形發生,在較大的字體就比 較不會是monotone。因為我們的研究將環境設定在小字體上,故僅考慮monotone。 現行字體轉換方式都是利用替代的方式,譬如12 號正體字改為斜體字是 將對應的斜體字替換掉正體字、12 號的字體改由18 號字體替代造成放大效 果。替代方式具備速度快和簡便的優點,若每個字需要32byte 的儲存空間以 中文字數千字而言需要大量硬碟儲存空間存放字型!如果想要在小型電腦或 嵌入式系統中以此方法更換字體勢必有儲存空間上的限制。圖(一)為使用現 行字型軟體BitFonter 做字體旋轉的結果,其為real time rotate 後結果。圈選處為斷裂且通常結果可進行改善。這次計畫主要目的是即時改 變bitmap 字體的pixel 位置達到文字旋轉的目標,而非使用已經旋轉好的字 型來替代,並且僅使用黑色pixel 不使用灰階pixel 來修飾。可運用在儲存 空間或顯示器較小的商業產品, 譬如手機, GPS 等。

Metrics

1 Record Views

Details

Logo image