找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6082|回复: 6
打印 上一主题 下一主题
收起左侧

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, 下载次数: 134)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏6 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:1 发表于 2018-11-3 14:05 | 只看该作者
好资料,51黑有你更精彩!!!
回复

使用道具 举报

板凳
ID:294623 发表于 2020-1-13 19:42 | 只看该作者
有没有抗锯齿
回复

使用道具 举报

地板
ID:764088 发表于 2020-5-29 12:00 | 只看该作者
好,学习了
回复

使用道具 举报

5#
ID:419956 发表于 2020-12-29 21:24 | 只看该作者
你好。已有新版。请看我另外的帖子。
回复

使用道具 举报

6#
ID:284093 发表于 2021-4-13 14:20 | 只看该作者
謝謝樓主, 剛好在做 UCGUI 字型, 下載試看看可不可以使用.
回复

使用道具 举报

7#
ID:52721 发表于 2021-11-8 09:49 | 只看该作者
好软件,使用中。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表