登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
签到
每天签到奖励2-10圆
导读
排行榜
TG频道
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
VIP申请
VIP网盘
网盘
联系我们
发帖说明
每日签到
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
点阵字体BDF的生成
点阵字体BDF的生成
[ 复制链接 ]
终秀敏
2025-8-8 14:57:12
做点阵字体的原因,是我觉得Windows下的16点阵的宋体不如原来DOS下的好看。在分析点阵字体的时候,就萌生了要把Windows下的TTF字体转成点阵字体的想法。
在网上查了一些资料,TTF转点阵字体,绕不开的就是描边矢量化。这个倒是有工具Potrace可以做。但是转成的点阵字,是按比例缩放的,在特定的字体大小下,可能会显得模糊,那么就需要针对这个大小的字体,制作BDF格式的字体。比如我们编辑一个带有点阵字体的TTF文件,会发现它有一个或多个BMP字体。
如下图:
于是,我就开始研究BDF文件格式。在网上搜索资料,得到以下的内容:
//一个BDF字体文件,首先需要确定分辨率DPI,一般我们设置为96,符合大部分显示器的分辨率
STARTFONT 2.1 //BDF版本号
COMMENT 该字体来自于宋体 //注释
FONT Song //字体名
SIZE 12 96 96 //字体大小,格式SIZE <磅数> <X分辨率> <Y分辨率>
//磅数=像素*72/DPI,16像素点阵,磅数就是12
FONTBOUNDINGBOX 16 16 0 0 //字体外围大小,<宽度> <高度> <X偏移量> <Y偏移量>
STARTPROPERTIES 12 //这里开始属性定义,数字代表有多少条属性
COPYRIGHT 版权所有 (c) 2025 www.51xiazai.com //版权定义
FOUNDRY "www.51xiazai.com" //发行商,还是版权定义
FAMILY_NAME Song //字体家族,在Windows中,同家族的字体会合并管理
SEWINDTH_NAME "Normal" //字体的水平宽度,也就是字符的相对间距
//例如 "Normal"(正常)、"Condensed"(紧缩)、"Expanded"(扩展)等。
//这个属性对于等宽字体(Monospace)和可变宽度字体(Proportional)的分类很有用
AVERAGE_WIDTH 16 //字体的平均宽度
PIXEL_SIZE 16 //字体的平均高度
RESOLUTION_X 96 //X分辨率
RESOLUTION_Y 96 //Y分辨率
CHARSET_REGISTRY "gb2312" //字符集 CHARSET_REGISTRY 通常会和 CHARSET_ENCODING 一起出现
CHARSET_ENCODING "O" //CHARSET_ENCODING 指定了注册机构下的具体编码版本
FONT_ASCENT 12 //上升线:基线到最高点的距离
FONT_DESCENT 4 //下降线:基线到最低点的距离
ENDPROPERTIES //属性定义结束
CHARS 21126 //本BDF文件一共描述的字符数量
//每一个字符的具体描述
STARTCHAR U+554A //定义要描述的字符UNICODE
ENCODING 21834 //字符的编码
SWIDTH 16000 0 //字符的可伸缩宽度,这个值通常为DWIDTH值的1000倍
DWIDTH 16 0 //字符宽度
BBX 16 16 0 0 //单个字符的边界框 BBX <宽度> <高度> <X偏移量> <Y偏移量>
//字符的点阵描述
BITMAP
0000
0EFC
EA08
AA08
AAE8
AAA8
ACA8
AAA8
AAA8
AAA8
EAE8
AAA8
0C08
0808
0828
0810
ENDCHAR
复制代码
上面的点阵字符,描述的是汉字“啊”,它的点阵用二进制表示就是如下的样子:
看明白了吗?所以BDF的字体格式很简单。
上面的字体大小是16*16,正好是8的倍数,那么,如果字体的大小不是8的倍数怎么办呢?
看下面的例子:
横向扩展成8的倍数,末位补0即可。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
点阵
字体
BDF
生成
相关帖子
介绍几款文字生成视频的开源框架
用Google的DeepResearch+音频生成功能生成自己感兴趣内容的Podcast
全能代码生成器,自动生成前后端代码、生成项目框架、生成JavaBean
Google Gemini 2.5 Nano banana生成东方女性
[计算机组成] 计算机字体文件及其运行原理
生成项目框架、生成JavaBean、生成数据库文档、自动化部署项目
生成JavaBean、生成数据库文档、自动化部署项目
AI图片生成思路
Google Veo3生成跳舞视频
文字生成视频开源AI大模型项目
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
介绍几款文字生成视频的开源框架
0
59
任静柔
2025-10-06
科技
用Google的DeepResearch+音频生成功能生成自己感兴趣内容的Podcast
1
755
庞环
2025-10-07
代码
全能代码生成器,自动生成前后端代码、生成项目框架、生成JavaBean
0
766
莘度
2025-10-09
科技
Google Gemini 2.5 Nano banana生成东方女性
0
936
染罕习
2025-10-09
业界
[计算机组成] 计算机字体文件及其运行原理
0
194
嶝扁
2025-10-10
代码
生成项目框架、生成JavaBean、生成数据库文档、自动化部署项目
0
391
汹萃热
2025-10-11
代码
生成JavaBean、生成数据库文档、自动化部署项目
0
519
贼瘁
2025-10-12
科技
AI图片生成思路
0
667
寨亳
2025-10-13
科技
Google Veo3生成跳舞视频
0
315
接快背
2025-10-13
安全
文字生成视频开源AI大模型项目
0
905
缍米
2025-10-13
回复
(1)
山芷兰
4 天前
回复
使用道具
举报
照妖镜
新版吗?好像是停更了吧。
vip免费申请,1年只需15美金$
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
安全
签约作者
程序园优秀签约作者
发帖
终秀敏
4 天前
关注
0
粉丝关注
17
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
dage888
999994
3934307807
992122
4
富账慕
9983
5
邹语彤
9985
6
刎唇
9993
7
匝抽
9986
8
聚怪闩
9960
9
烯八
9957
10
孙淼淼
9977
查看更多