虽然点阵提取工具,网上有很多了,但是找来找去,没找到我满意的工具,于是自己写了一个小工具。
点阵字体,在嵌入式GUI开发中,用得也是非常频繁的。

主要有两种使用场景:

1.生成某种编码的全部点阵,以BIN的形式放在FLASH中加载。

2.生成部份文字的点阵,以C文件的方式,写在代码里。

本工具的特点:

1.完全免费,不用到处找破解工具;

2.通用性好,支持任意编码,任意语言,可以自定义编码;

3.可以生成BIN和C文件;

4.可以使用WINDOWS全部字体;

5.使用方便,界面整洁;

界面效果图:

作者:星沉地动

//————————————————————————————————————————-

2017.09.02 (V1.1)

添加高位在前和低位在前的选项;

调整预览界面;

下载地址1:http://446252221.ys168.com/ (我的工具/通用点阵提取工具V1.1.zip 247KB)

下载地址2:https://pan.baidu.com/s/1kVBUGbt

//————————————————————————————————————————-

2017.09.15

公开此工具源代码:

https://github.com/Jiangxiaogang/FontMaker

//————————————————————————————————————————

2017.10.12(V1.1.2)

优化输出C文件数据格式;

下载地址1:http://446252221.ys168.com/ (我的工具/通用点阵提取工具-V1.1.2.zip 247KB)

下载地址2:https://pan.baidu.com/s/1geZ51rt

常见问题:

1.如何使用其它标准字符集?

在软件目录下有一个”charset”文件夹,程序启动的时候会扫描该文件夹下面的*.cst文件,并加入标准字库列表中;

cst文件就是码表文件,每个CST文件代表一种字符编码表,CST文件的数据格式为字符集中所有字符的UNICODE编码,2字节为一个单位,低字节在前。

该文件夹下面有一个“charset.exe”的程序,可以方便地生成大多数标准码表.

2.字符集中的“用户定义”是什么意思?

使用非标准字符集的使用可以使用自定义码表,比如简体中文的编码是GB2312,有6000多文字,但如果实际项目中你只想要“中华人民共和国”这7个汉字,

就可以在输入框中输入你需要的文字,生成一个特殊应用的字库,当然这个字库中的文字的排列顺序与你输入的顺序保持一致。

3.如何使用生成的BIN文件?

本工具生成的BIN数据格式为最常用的数据格式,一般情况下兼容其它字库文件;

对于水平扫描方式,8bit对齐格式,比如12x12像素的字库,每一行有12个点,但是会占用16bit即2个字节来表示;

那么一个文字占用2x12=24字节,读取BIN的时候以24字节为单位读取即可;

4.生成BIN文件与生成C文件有什么区别?

BIN文件一般用在通过文件读取字库,C文件是嵌入到代码里的数据。

5.为什么有很多字体的中文文字看上去是一样的?

这是因为Windows自带的字体,大多数都不是中文字体,当显示中文的时候,系统会自动映射到默认的中文字体来显示,比如“宋体”,
宋体是使用点阵最清晰,最常规的字体,推荐使用宋体来做中文字库。

转载 :
https://blog.csdn.net/qq446252221/article/details/53188278

源码:
https://download.csdn.net/download/wowocpp/10513893

最好是用vs2010 打开

void CBitFont::UpdateBitmap(void)
{HBITMAP hBitmap;BITMAPINFO bmi;ZeroMemory(&bmi,sizeof(bmi));bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);bmi.bmiHeader.biWidth = m_nWidth;bmi.bmiHeader.biHeight = m_nHeight;bmi.bmiHeader.biPlanes = 1;bmi.bmiHeader.biBitCount = 8;bmi.bmiHeader.biCompression = BI_RGB;hBitmap = ::CreateDIBSection(m_hdc,&bmi,DIB_RGB_COLORS,(void**)&m_pPixels,NULL,0);if(hBitmap != NULL){if(m_hBitmap != NULL){::DeleteObject(m_hBitmap);}::SelectObject(m_hdc,hBitmap);m_hBitmap = hBitmap;}
}CBitFont::CBitFont(void)
{HDC hdc;m_nOffsetX = 0;m_nOffsetY = 0;m_nWidth = 1;m_nHeight= 1;m_hBitmap = NULL;hdc = ::GetDC(NULL);m_hdc = ::CreateCompatibleDC(hdc);::ReleaseDC(NULL,hdc);::SetTextColor(m_hdc,RGB(255,255,255));::SetBkColor(m_hdc,RGB(0,0,0));
}void CBitFont::PaintFont(WCHAR ch)
{RECT rc;SetRect(&rc,0,0,m_nWidth,m_nHeight);::FillRect(m_hdc,&rc, (HBRUSH)GetStockObject(BLACK_BRUSH));::TextOut(m_hdc,m_nOffsetX,m_nOffsetY,&ch,1);
}

这个里面的CreateDIBSection 的作用是什么?
CreateDIBSection 与m_hdc 结合之后,在m_hdc 中绘图,数据会实时的反应到CreateDIBSection 返回的hBitmap 中去吗?

通用点阵字库生成工具相关推荐

  1. 如何将字库生成工具生成的 .DZK/ . bin格式的文件转成.c格式文件

    如何将字库生成工具生成的 .DZK/ . bin格式的文件转成.c格式文件 在我们项目开发的过程中,特别是做界面显示的时候,经常会遇到如 :多国文字点阵字库生成器TS3等软件其生成的.DZK格式文件, ...

  2. 【DataProcessor】简易的通用多进程数据生成工具类(Advanced for HVD)

    0x00 前言 基于先前实现的Python多进程共享内存队列实现的SMQueue(原文地址), 认真思考了一下,虽说prototype类的东西写起来很酷,但无法产生太大的使用价值, 为了方便调用和扩展 ...

  3. C# 转换TTF为GB2312点阵字库

    C# 转换TTF为GB2312点阵字库 前段时间碰到的一个项目要求在LCD上显示收到的短信,需要12×12的GB2312点阵字库.因为板子上已经放了块W25Q64了,就想着找个字库烧进去.最后虽然是用 ...

  4. STM32点阵字库-ASII字符集

    STM32点阵字库-ASII字符集 Fang XS. 1452512966@qq.com 如果有错误,希望被指出 前言 STM32使用LCD显示时,使用带字库的LCD可以直接用.但是项目上,可能需要多 ...

  5. DW字库生成以及ts3使用

    1. 16级灰度字库生成工具 灰度字库字体边缘使用灰度色阶补偿,生成的字体显示流畅,无锯齿,且一个字库可包含不同字体,避免多个 字库占用较多字库空间. 点击16级回复字库生成工具,在字库生成软件中选择 ...

  6. ffmpegguitool下载不了_MTK点阵字库(BDF) 生成工具GuiTool1.10

    v1.06 (20120410) FontMaker(点阵字库) 1. 增加系统字体支持,操作更简单,快捷. v1.05 (20120324) FontMaker(点阵字库) 1. 修正了字符对齐问题 ...

  7. ffmpegguitool下载不了_-非等宽unicode 点阵字库工具(GuiTool)下载1.06 -旋风软件园...

    v1.06 (20120410) FontMaker(点阵字库) 1. 增加系统字体支持,操作更简单,快捷. v1.05 (20120324) FontMaker(点阵字库) 1. 修正了字符对齐问题 ...

  8. DGUS屏如何实现超大点阵字库显示?

    有个别需求要实现超大的汉字显示,DGUS屏内部字库空间比较小,一个大点阵全编码字体占用的空间太大,甚至有时候生成超过了32M,对于其他字库空间需要利用的就非常不方便,而且点阵越大生成字库特别浪费时间. ...

  9. ARM实验板移植,linux点阵字库的使用

    不说原理,只讲步骤.包括所有自用包以及实验中遇到问题的解决办法. 想知道HZK16原理的直接搜关键词:HZK16汉字16*16点阵字库的使用 XMware:(14条消息) 小白如何在window电脑上 ...

  10. 点阵字库生成器破解版下载地址

    本工具可以生成/编辑任意大小的点阵字库.源字体取自于Windows的TTF字体,可添加生僻汉字,嵌入式小系统开发必备软件. 华为网盘统一提取密码为52coder 下载地址:http://s.dbank ...

最新文章

  1. [转]苹果iOS 5限制应用本地存储问题
  2. nfc pm3 模拟加密门禁卡_华为手机NFC的妙用,模拟门禁卡、公交卡、银行卡,电子证件等...
  3. Navicat for Oracle实现连接Oracle
  4. OC中数组排序的3种方法
  5. 【数据结构与算法】之深入解析“UTF-8编码验证”的求解思路与算法示例
  6. 简单入门——深度学习笔记(Part II)
  7. python代理charles_Mitmproxy + Python 做拦截代理
  8. [html] html的img标签为什么要添加alt属性呢?
  9. Ubuntu部署Java项目
  10. 计算机丨浏览器访问出现DNS_PROBE_POSSIBLE解决方法
  11. PCL三维点云拼接融合
  12. Android 客户端上开发人人客户端系列教程
  13. 上海产品运营招聘面试技巧分析
  14. 微信朋友圈能评论表情包了,来斗图啊!
  15. 七夕情人节表白网站代码 3D流星雨旋转相册 程序员专属情人节表白网站
  16. ye321片库_jQuery的简约幻灯片库
  17. jQuery ajax请求两次问题,jquery ajax请求了两次问题
  18. 小白记录:1、scrapy的基础操作
  19. 人生理财规划必备的“四笔钱”,你知道吗?
  20. 性能指标:队列深度、IOPS与时延

热门文章

  1. 初识 Speex 语音压缩
  2. 对大数据 数据挖掘和机器学习的认识和理解
  3. 如何制作WIFI二维码,实现手机扫一扫快速连接
  4. MongoDB下载速度慢的解决办法
  5. Win10驱动数字签名的解决办法
  6. Spark大数据平台
  7. python成绩分析系统_用Python编写学生成绩分析系统
  8. 一款全面超越ps3的国产游戏机
  9. 软件项目管理 实验二
  10. 测试进阶必备,这5款http接口自动化测试工具真的很香