標題: ucgui字體詳解以及如何自己生成字體 附ucGUI-gb2312漢字生成器源碼下載 [打印本頁]

作者: ddddgggg    時間: 2018-11-3 11:26
標題: ucgui字體詳解以及如何自己生成字體 附ucGUI-gb2312漢字生成器源碼下載
在使用 ucgui 做界面的時候。經(jīng)常碰到需要自己做字庫的情況。

網(wǎng)上已有各種字體生成工具,但在實際使用過程中,總不能那么隨心所欲的轉(zhuǎn)換,
有的需要用unicode格式,有的字體顯示不全。

ucgui 的字體,就是 GUI_FONT 結(jié)構(gòu)體
GUI_FONT 前面幾個函數(shù),是字體顯示,測量等函數(shù)
這幾個函數(shù),通常使用 GUI_FONTTYPE_PROP, GUI_FONTTYPE_PROP_SJIS 等2個宏替換。
GUI_FONTTYPE_PROP :    默認的字體函數(shù)
GUI_FONTTYPE_PROP_SJIS:寬字符通用的字體函數(shù)

GUI_FONT 緊接著指向第一個 GUI_FONT_PROP

GUI_FONT_PROP->Start, End 說明該表的起始結(jié)束字符
GUI_FONT_PROP->paCharInfo 指向第一個字符索引表

GUI_CHARINFO->XSize,XDist 字元的寬度(像素)
GUI_CHARINFO->BytesPerLine:字元的寬度(字節(jié))

為此,本人專門寫了一個字體轉(zhuǎn)換程序,希望能幫到同樣受ucgui字體困擾的同學(xué)。



程序的源碼:


更新日志:

V1.0
用delphi寫的ucgui漢字生成器
ucgui自帶了一個,但是生成的漢字編碼是unicode
不符合我們平時的使用習慣。
所以這里我寫了一個delphi版的。
運行環(huán)境:xp(win7也許可用但我沒試過)

V2.0
排版修改

V3.0
解決運行出錯Bug
支持win7

V4.0
加入static

V5.0
解決英文字符寬度相等bug
解決某些情況下中文顯示錯亂bug

V6.0
改對齊方式為手動調(diào)整偏移
修復(fù)一個bug:總字體描述 ->YSize 填寫錯誤

v7.0  (20171030)
解決清除重復(fù)的漢字會刪錯bug
加清除中文標點

v7.1 (20171220)
v7.0一個bug產(chǎn)生的Prop被錯誤的加上數(shù)組下標,此版修復(fù)

v7.2 (20181103)
優(yōu)化:字元轉(zhuǎn)換時寬度根據(jù)實際的寬度計算,非寫死,這樣gui在使用字體時能少幾個循環(huán)



全部資料51hei下載地址:
ucGUI-gb2312漢字生成器v7.2.zip (268.78 KB, 下載次數(shù): 135)



作者: admin    時間: 2018-11-3 14:05
好資料,51黑有你更精彩!!!
作者: qw520    時間: 2020-1-13 19:42
有沒有抗鋸齒
作者: MikeCai    時間: 2020-5-29 12:00
好,學(xué)習了
作者: ddddgggg    時間: 2020-12-29 21:24
你好。已有新版。請看我另外的帖子。
作者: longlongx    時間: 2021-4-13 14:20
謝謝樓主, 剛好在做 UCGUI 字型, 下載試看看可不可以使用.
作者: cjl519    時間: 2021-11-8 09:49
好軟件,使用中。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1