漢字細節層次技術


作者:Владимир Лесной

Lastest update : 2014/11/16


在圖學當中細節層次技術(Level Of Details)是一種通用技巧,在不同的條件下,針對同一個描述物件,使用不同的展現方法。應用到漢字字型產生時期,則有四種主要層次的細節。

  1. 圖形層次(Bitmap Level)
  2. 外框層次(Contour Level)
  3. 字素層次(Grapheme Level)
  4. 筆劃層次(Stroke Level)

中文語言方程當中,利用了構形法自動將每個漢字的「外框層次」分解到「字素層次」,先大幅度降低所需要處理的維度,然後再利用「筆劃樹」將「字素層次」分解到「筆劃層次」,利用筆劃技術來處理「字素」,如此使得整個字型編輯過程當中,只要編輯數十到數百個「筆劃」,即可自動產生十一萬漢字。用戶只要看輸出結果,再決定哪些字需要使用不同層次的技術做進一步的解決。

LOD Decision Tree

漢字細節層次技術採用多種技巧相互混合來處理漢字呈現。

圖形層次


所有的文字呈現最終都是採用「圖形層次」顯示到目標設備,因此實際上,完全採用圖片來顯示字型,也是可行的,最早期的字型顯示技術即為「圖形層次」的 字型技術,稱為「Bitmap Font」,至今為止依然有在使用。

「圖形層次」在中文語言方程當中視為Level 0。

外框層次


「外框層次」的實作技巧是目前幾乎所有的「字型技術」的基礎,一般而言即為向量字,坊間流行的各類字型檔均為此種層次的檔案格式,這種方法的最大缺點即為文字的筆劃資訊被移除而無法取得。

「外框層次」一般都是使用B Spline做為曲線描繪外框,有許多的技術可以將圖片直接轉換成B Spline的曲線,用以簡化造字時期的編輯程序。

「外框層次」在中文語言方程當中視為Level 1。

字素層次


以「字素」為基礎的文字處理技術是中文語言方程當中的主要處理技術,在中文語言方程當中視為Level 2。

「字素層次」還依據部件是否可拆分來判斷需要使用哪一種方法實現字型顯示:

部件拆解
內定處理方式
呈現技術
不可拆分
系統內定模式
筆劃層次
不可拆分 字型編輯器指定
外框層次
不可拆分 字型編輯器指定 圖形層次
可拆分 系統內定模式 字素與字素的構形組合
可拆分 字型編輯器指定 外框層次
可拆分 字型編輯器指定 圖形層次

在部件不可拆分的狀況底下,自然地,呈現的方法是由「筆劃層次」來做更進一步的處理。如果用戶覺得怎麼調整都無法處理正確,也可以透過字型編輯器設定直接採用「外框層次」及「圖形層次」來替代處理字型。

在部件可拆分的狀況底下,處理的技術即為外界所稱的「動態組字」技術,也就是「字素與字素的構形組合」。

針對漢字五十型構形,每一種構形都有內定的組合規律,不是每個構形都相同,有些必須依據內定規則自動修改「筆劃寬度」設定,有些則是直接縮放即可。此外,在泊接每個「字素」的連接位置上,還需要使用一種稱為「融合點」的技術,如此,筆劃與筆劃之間,才不會偏移的太厲害。

此外,由於構形所產生的八十個位置,在每個位置上,每個「字素」都可以指定一種代表描述(字體),用以解決不同構形位置,同一個字素展現不同書寫方式的問題。

「字群與字群的結合性」也會影響每個「字素」的展現形式,同樣地也是採用指定多個描述方式(字體),來解決特定「字群」之間組合成一字的展現形式。

不同的字體解析度,亦可以指定不同的描述方式。

同一個「字素」或「部件」,可以指定不同的字體展現形式的條件:
  1. 字型編輯器指定。
  2. 解析度不同。
  3. 構形位置不同。
  4. 字群與字群於構形上結合群不同。
如果用戶決定要採用透過字型編輯器指定細節層次,中文語言方程當中採用「決策表」來處理這種狀況,如此可以大幅度地增快判斷速度。

筆劃層次


中文語言方程當中的筆劃技術與其他的筆劃技術並不相同,主要採用「骨架結構」及「流形」來同時解決「字型顯示」及「文字辨識」兩個領域上的問題,在中文語言方程當中視為Level 3。

「漢字骨架結構」最早由中央研究院謝清俊教授所提出,中文語言方程採用類同概念。對於一般人而言,「漢字骨架結構」實際上的對應詞彙即為「筆劃」。

漢字開始有「筆劃」概念的時期,基本上是開始使用「毛筆」做為書寫工具的時期,因此,筆劃技術所能描述的是中國開始採用「毛筆」以後的漢字演變字體,使用「石刻」及「竹簡」時期,只能採用「字素層次」的技術來解決。

由於採用「毛筆」做為書寫工具,實際上,每個筆劃都應該是要跟毛筆的粗細一致,要解決在組字時期因為座標變換所造成的比例改變而導致的筆劃粗細不一致問題,技術上,中文語言方程採用「微分幾何」當中的「流形」來解決變換所造成的問題。

整個筆劃技術當中,一個關鍵的「筆劃力度」參數被引入。「筆劃力度」是依據毛筆書寫方法,進行數學化以後,所得到的一個重要轉換參數。大部分過去採用「動態組字」方法的字型技術,主要就是因為缺少「筆劃力度」參數,而無法正確轉換筆劃寬度所導致的。

整個「筆劃層次」的實現方法,大體即為中央研究院謝清俊教授所提出「漢字由骨生肉法」。