1、字库导出步骤

涉及软件:FontEditor 1.3.3

FontEditor 为一款功能强大的字体编辑和字体格式转换工具,支持制作 32*32 的全字库。能将 TTF,OTF 矢量字库转换为 BDF 字符,可以很方便的将Windows 已经安装到系统的矢量字库转换为 BDF 字库,并能将 TTF,OTF 文件直接转换成 BDF 格式,并支持 BDF,FNT,FNB 文件格式的互转换,随心所欲将 windows字体应用于各种嵌入式系统中。并支持将 GB2312,BIG5,GBK 转换为 UCS2,UTF8,并支持 UCS2,UTF8 编码的互转换。

导出步骤:

a:导入 windows 字体,选择字体大小以及字形。

b:T 出没用的字符

c:选中需要保存的字符保存,可以直接保存为bdf 或者导出位图文件(每个字符的 bmp 图,用于生成 bdf)。

步骤如下图所示:

2、字符修改
        涉及软件:MCT6.0、FontEditor 1.3.3
        a、用 MCT6.0 打开生成好的 bdf 文件,对要求不符的字库进行修改。
        b、选择 tools->font tools->font viewer 打开:

c、单击 open bdf file ,选择自己要使用的字库资源,这时候可以看到字库里包含的所有元素。                                 
     

d、点击 font edit,Edit UCS2,输入需要修改的字符的unicode 码,如下图所示:

其中,几个参数需要注意。第一是 DWIDTH 的值,此值的意思是下一个字符相对此字符的距离,举个例子,若 dwidth 是 10,字符宽度为 10,则下一个字符是紧挨着这个字符。一般 DWIDTH 的值要小于等于字符本身的宽度。第二个是 BBX,BBX 中的前 2 个参数的意思分别为字符宽高,此 2 个值要与 FONTBOUNDINGBOX 的前 2 个值进行区别,FONTBOUNDINGBOX 的前 2 个值是字库中字符的最大宽高。这几个值修改好之后,对左边框框内的字符进行重新绘制,绘制完后保存。注:修改字符不建议使用 fonteditor 软件,保存时会自动修改字符部分参数。

3、调整基准线

如上图所示:一般的字库中的字符都有一条基准线,有了这条基准线,字符显示才能有规则,显得整齐。调整方法如下:

方法一:可以直接修改 bdf 内 BITMAP 下数组:

方法二:用 fontedit 打开字符,直接上移下移调整

4、点阵字库,如何检查BDF 文件的规范性

可从以下几个方面来查看该字库文件是否有错误,bdf 文件的规范与否会直接影响字符的显示。

a 检查字符是否等高,目前mct 只支持等高的情况。查看每一个字符的BBX 第二个参数,若不相等则说明该字库不符合规范,建议更换;(目前遇到的问题主要是客户用的点阵字体是用矢量字体转换而来的,因此打开bdf 文件后很清晰地看到字符的高度不一致,这样显示多会出现乱码。)

b 查看sCustFontData 数组中第五个参数若为0 表示非等宽,若为1 表示等宽。若为等宽情况则每一个字符BBX 中的一个参数即字符宽度都应该相同;

c 检查sCustFontData 数组中信息是否正确:

如sCustFontData Pluto_Small = {

12, 12, 7, 2, 0, 14, 500,

(U8*)UH9x9_4p_Width,

(U8*)UH9x9_4p_Width, (U32*)UH9x9_4p_Offset,(U8*)UH9x9_4p_Data,

(U32*)UH9x9_4p_RangeOffset,

„„.}

此例出现的现象就是字符显示间隔较大,长宽均为12,与宽度数组、偏移量数组中9*9 的不符,第六个参数是该字符的字节数,数值上应等于(长×宽)/8.

d 若添加字库后字符间距很大,除了考虑以上几个方面外,还应查看bdf 文件中FONTBOUNDINGBOX第三个参数,应与BBX 第三个相近或相同,若相差太大,MCT 处理时会根据FONTBOUNDINGBOX 的大小进行填充,这样也会出现字符间距很大的现象。

e 若为印度语系,如泰古拉语、孟加拉语,需检查bdf文件中参数DWIDTH,该参数表示字符的显示宽度,应小于等于字符本身的宽度,否则不能正确显示出连字的效果。

通过矢量字库制作点阵字库相关推荐

  1. java中点阵字库的解析

    最近研究点阵字库的展示,搜到很多东西,而且大多都是C语言做的,作为一个Android开发的码农,整理了一篇java版的,一方面自己记录,一方面帮助有需要的人... 点阵字,顾名思义,就是用点组成一个个 ...

  2. Python 用点阵字库描绘出国庆祝福语:祝福伟大祖国,更加繁荣昌盛 我爱你,中国

    目录 ❤️一段老代码 ❤️点阵字库原理 ❤️改写C代码 ❤️改进python代码 在给网友答题时突然间想到的,要把点阵字库拿出来研究研究的.适逢国庆佳节,刚好用它来打印国庆节祝福语,以表达我对伟大祖国 ...

  3. 点阵字库的生产原理(转)

    源:点阵字库的生产原理 所有的汉字或者英文都是下面的原理, 由左至右,每8个点占用一个字节,最后不足8个字节的占用一个字节,而且从最高位向最低位排列. 生成的字库说明:(以12×12例子) 一个汉字占 ...

  4. 二 unicode字库制作(智源GM813X多国语言OSD开发)

    字库的制作关键是需要软件,文章最后会提供一种字库制作软件,此文将详细介绍怎么提取字库方法. 一 制作字库格式. (该图就是字库软件主页面,ENCODE 编码选择UNICODE ,size 可以选择小一 ...

  5. 高通针对LED应用的点阵字库解决方案 — 支持多种字号字体显示

    高通led字库方案为led显示屏提供标准,专业字库.应用于各类LED屏,包括公交车显示牌,广告牌,停车场系统,排队机显示屏等等.高通字库芯片为这些提供了专业,丰富的字库,LED显示不再有错字.漏字.字 ...

  6. 读hzk32_点阵字库HZK12 HZK16 HZK24 ASC12 ASC16 简介 及 使用方法[附源码]

    如何在嵌入式系统中使用大量的汉字和字符呢? DOS前辈们经过艰辛的努力,将制作好的字模放到了一个个标准的库中以免去后辈的麻烦,这就是点阵字库文件. 一般我们使用16*16的点阵宋体字库,所谓16*16 ...

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

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

  8. 大漠插件ocr多选字库_易语言大漠插件模块制作设置字库及OcrEx识别字符串

    本课视频演示的命令有:OcrEx.OcrExOne.FetchWord,经过测试OcrExOne返回值为空,在易语言中,OcrEx返回值也和大漠说明文档不同.具体看视频 511遇见大漠模块制作 大漠接 ...

  9. 点阵字库HZK12 HZK16 HZK24 ASC12 ASC16 简介 及 使用方法[附源码]

    字库点阵格式定义 ASC12  ' 8x12 ASCII点阵 一个字符12Byte ASC16  ' 8x16 ASCII点阵 一个字符16Byte ASC48  '24x48 ASCII点阵 一个字 ...

最新文章

  1. 【LeetCode每周算法】零钱兑换
  2. win10任务栏透明_任务栏1秒变透明,桌面瞬间高大上,美化必备!
  3. HTML中Head头
  4. TCP相关的面试内容整理
  5. python删除列表一段元素_Python基础--list列表删除元素
  6. php开发简易论坛教程,[php] 我的微型论坛的简单教程[已完成]第3/8页
  7. 神奇的不拆封读信,MIT透视技术登上nature子刊
  8. SU命令的功能及基本用法--psmerge
  9. 敏捷开发与测试(面试话题之一)
  10. git将本地项目推送到腾讯开发者平台上的步骤
  11. python坐标系教程_python Shapely使用指南详解
  12. Python编程案例:中文金额转换并计算
  13. php 连接新浪云mysql_将php代码部署到新浪云测试(简单方法,包含数据库的连接)...
  14. 计算机感染病毒正确处理方法,【安徽新华】计算机感染了病毒解决方法
  15. 数字信号处理学习笔记[1] 离散信号 奇异信号 抽样定理
  16. 专访阿里巴巴元境王矛:打造研运一体化平台,去做开创性的事
  17. Android手机投屏后没有声音,乐播投屏电视没有声音怎么办_乐播投屏电视没有声音手机有声音解决办法_3DM手游...
  18. java游戏 麦克斯 狗,奇幻射击针对兽人BOSS麦克斯的召唤兽用法
  19. OLT(光线路终端)介绍
  20. Kylin快速入门系列(1) | Kylin的简单介绍及安装部署

热门文章

  1. 运维 - 第一阶段 - linux与shell编程
  2. windows下文件夹的备份
  3. New bing 添加候选方法(附加绕过每回合条数限制,无限制的BingChat,找回Sydney,prompt 预设管理器)
  4. 基于微信电影院购票小程序系统设计与实现 开题报告
  5. JAVASCRIPT之灰色按钮
  6. Android Studio 导入项目运行按钮灰色的完美解决方法
  7. 无法启动此程序因为计算机丢失d3dx9,Win7系统电脑提示“计算机中丢失d3dx9-41.dll”怎么办?...
  8. 因计算机丢失d3dx9-30,win10安装游戏或软件后发现d3dx9_30.dll丢失打不开怎么办
  9. 【真人手指动画制作软件】万彩手影大师教程 | 添加背景
  10. Microsoft Office Word、Excel 和 PowerPoint 2007 文件格式兼容包