标题: ucgui字体详解以及如何自己生成字体 附ucGUI-gb2312汉字生成器源码下载 [打印本页]

作者: ddddgggg    时间: 2018-11-3 11:26
标题: ucgui字体详解以及如何自己生成字体 附ucGUI-gb2312汉字生成器源码下载
在使用 ucgui 做界面的时候。经常碰到需要自己做字库的情况。

网上已有各种字体生成工具,但在实际使用过程中,总不能那么随心所欲的转换,
有的需要用unicode格式,有的字体显示不全。

ucgui 的字体,就是 GUI_FONT 结构体
GUI_FONT 前面几个函数,是字体显示,测量等函数
这几个函数,通常使用 GUI_FONTTYPE_PROP, GUI_FONTTYPE_PROP_SJIS 等2个宏替换。
GUI_FONTTYPE_PROP :    默认的字体函数
GUI_FONTTYPE_PROP_SJIS:宽字符通用的字体函数

GUI_FONT 紧接着指向第一个 GUI_FONT_PROP

GUI_FONT_PROP->Start, End 说明该表的起始结束字符
GUI_FONT_PROP->paCharInfo 指向第一个字符索引表

GUI_CHARINFO->XSize,XDist 字元的宽度(像素)
GUI_CHARINFO->BytesPerLine:字元的宽度(字节)

为此,本人专门写了一个字体转换程序,希望能帮到同样受ucgui字体困扰的同学。



程序的源码:


更新日志:

V1.0
用delphi写的ucgui汉字生成器
ucgui自带了一个,但是生成的汉字编码是unicode
不符合我们平时的使用习惯。
所以这里我写了一个delphi版的。
运行环境:xp(win7也许可用但我没试过)

V2.0
排版修改

V3.0
解决运行出错Bug
支持win7

V4.0
加入static

V5.0
解决英文字符宽度相等bug
解决某些情况下中文显示错乱bug

V6.0
改对齐方式为手动调整偏移
修复一个bug:总字体描述 ->YSize 填写错误

v7.0  (20171030)
解决清除重复的汉字会删错bug
加清除中文标点

v7.1 (20171220)
v7.0一个bug产生的Prop被错误的加上数组下标,此版修复

v7.2 (20181103)
优化:字元转换时宽度根据实际的宽度计算,非写死,这样gui在使用字体时能少几个循环



全部资料51hei下载地址:
ucGUI-gb2312汉字生成器v7.2.zip (268.78 KB, 下载次数: 135)



作者: admin    时间: 2018-11-3 14:05
好资料,51黑有你更精彩!!!
作者: qw520    时间: 2020-1-13 19:42
有没有抗锯齿
作者: MikeCai    时间: 2020-5-29 12:00
好,学习了
作者: ddddgggg    时间: 2020-12-29 21:24
你好。已有新版。请看我另外的帖子。
作者: longlongx    时间: 2021-4-13 14:20
謝謝樓主, 剛好在做 UCGUI 字型, 下載試看看可不可以使用.
作者: cjl519    时间: 2021-11-8 09:49
好软件,使用中。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1