找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6859|回復(fù): 6
收起左側(cè)

ucgui字體詳解以及如何自己生成字體 附ucGUI-gb2312漢字生成器源碼下載

  [復(fù)制鏈接]
ID:419956 發(fā)表于 2018-11-3 11:26 | 顯示全部樓層 |閱讀模式
在使用 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 :    默認(rèn)的字體函數(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é)。

0.png

程序的源碼:
0.png

更新日志:

V1.0
用delphi寫的ucgui漢字生成器
ucgui自帶了一個,但是生成的漢字編碼是unicode
不符合我們平時的使用習(xí)慣。
所以這里我寫了一個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
加清除中文標(biāo)點

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

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

0.png

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


回復(fù)

使用道具 舉報

ID:1 發(fā)表于 2018-11-3 14:05 | 顯示全部樓層
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報

ID:294623 發(fā)表于 2020-1-13 19:42 | 顯示全部樓層
有沒有抗鋸齒
回復(fù)

使用道具 舉報

ID:764088 發(fā)表于 2020-5-29 12:00 | 顯示全部樓層
好,學(xué)習(xí)了
回復(fù)

使用道具 舉報

ID:419956 發(fā)表于 2020-12-29 21:24 | 顯示全部樓層
你好。已有新版。請看我另外的帖子。
回復(fù)

使用道具 舉報

ID:284093 發(fā)表于 2021-4-13 14:20 | 顯示全部樓層
謝謝樓主, 剛好在做 UCGUI 字型, 下載試看看可不可以使用.
回復(fù)

使用道具 舉報

ID:52721 發(fā)表于 2021-11-8 09:49 | 顯示全部樓層
好軟件,使用中。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表