高解析度字形在計算機中的壓縮表示(五)
仿宋體橫畫
仿宋體橫畫看似和楷體一樣形狀不太規則,但其實通過觀察即可將其近似分為兩頭粗、中間細的左右兩部分,決定其粗細的關鍵部位在中間的兩個節點上。
typedef struct tagFH {ntinttX;t// 起點水平坐標ntinttY;t// 起點垂直坐標ntinttLnHf;t// 半長ntinttLnEx;t// 追加長度ntinttWdC;t// 中央寬度ntinttnBgFtr;t// 起筆筆鋒編號ntinttnEdFtr;t// 收筆筆鋒編號ntinttSlntL;t// 左側傾斜度ntinttSlntR;t// 右側傾斜度n}FANGSONGTIHORZ;n
【說明】起筆筆鋒為一條矢量,可由字形還原裝置自動產生,不需要編碼筆段文件。
仿宋體折畫
仿宋體折畫是所有折畫中最複雜的。垂直、水平部分寬度各出現了兩次,還原時要保證它們被均勻縮放。
typedef struct tagFT {ntinttX;t// 起點水平坐標ntinttY;t// 起點垂直坐標ntinttLnH;t// 水平部分長度ntinttLnV;t// 垂直部分長度ntinttWdH;t// 水平部分寬度ntinttWdV;t// 垂直部分寬度ntinttnTnFtr;t// 折筆筆鋒編號ntBOOLtbSlntV;t// 垂直部分是否傾斜ntinttSlntH;t// 水平部分傾斜度ntinttnEdFtr;t// 收筆筆鋒編號n}FANGSONGTITURN;n
仿宋體豎畫
typedef struct tagFV {ntinttX;t// 起點水平坐標ntinttY;t// 起點垂直坐標ntinttLn;t// 長度ntinttWd;t// 寬度ntinttnBgFtr;t// 起筆筆鋒編號ntinttnEdFtr;t// 收筆筆鋒編號n}FANGSONGTIVERT;n
【例】仿宋簡體的「國」字。共有59個節點、8個筆畫,但其壓縮信息只有短短的46位元組。
推薦閱讀:
※字談字暢 034:從羅馬皇帝到泰坦尼克
※標題設計丨遊戲標題設計的六大秘訣
※赫爾辛基愛樂樂團標誌,致那些團隊真正的靈魂
※國內偏神話、仙俠一類的遊戲界面用哪種字體好呢?