MTK点阵字库介绍

MTK点阵字库介绍:

每个字符都是由点阵组成,每个字符的每个像素由黑或者白两种点填上,假设该字符是14*14,那么

该字符由14*14=196个像素组成,其中黑色部分就型成了A这个字,比如图一所示。

 

 

用UE打开该BDF文件可以看到如下内容:

STARTFONT 2.1

COMMENT Used in M3

COMMENT Author: Wangbo(Longcheertel software department)

FONT -Longcheertel-WB medium-r-normal--14-140-75-75-c-140-GB2312-13X14

SIZE 14 75 75

FONTBOUNDINGBOX 14 14 0 -3 

STARTPROPERTIES 14

FONT_ASCENT 11

FONT_DESCENT 3

DEFAULT_CHAR 12288

COPYRIGHT "Shanghai Longcheer Telecommunication Co, Ltd."

POINT_SIZE 140

WEIGHT 10

RESOLUTION 103

RESOLUTION_X 75

RESOLUTION_Y 75

X_HEIGHT 4294967295

QUAD_WIDTH 14

ENDPROPERTIES

CHARS 7104

STARTCHAR 601

ENCODING 913

SWIDTH 560 0

DWIDTH 14 0

BBX 14 14 0 -3

BITMAP

0000

0200

0500

0500

0880

0880

1040

1FC0

2020

2020

4010

E038

0000

0000

ENDCHAR

其中

0000

0200

0500

0500

0880

0880

1040

1FC0

2020

2020

4010

E038

0000

0000

这段数据的意思是表示黑白像素的,共14行,第一行0000表示第一行全为白点无黑占,第二0200表示在七位有一个黑点,其他都为白点

 

 

 

MTK字库是由BDF文件通过MCT工具转化而来。

转化后生成一个.H和一个.C文件,其中.h文件里面有四个数组:

L_MTK_Latin_16_Width[]代表每个字符的宽度是多少,数组大小代表字符数目

L_MTK_Latin_16_Offset[]代表每个字符数据在L_MTK_Latin_16_Data里的位置,比如0x0000,0x000A,就是说该字符数据在L_MTK_Latin_16_Data第0位至第10位之间(0x000A转化成十进制后为10),

L_MTK_Latin_16_RangOffse[]

L_MTK_Latin_16_Data[]代表每个字符的实际数据内容

 

比如:字符A这个BDF文件转化成代码以后如下:

const U8 GB3212_13X14_Width[1]= {

0xE/*字符宽度为14*/

}

const U32 GB3212_13X14_Offset[7105]= {

0x0000,0x0019/*字符数据范围为0-25*/

}

const U32 GB3212_13X14_RangeOffset[3563]= {

0,

}

const U8  GB3212_13X14_Data[1]= {

0x0,0x0,0x10,0x0,0xA,0x80,0x2,0x10,0x1,0x44,0x80,0x20,0xE0,0xF,0x4,0x4,

0x1,0x21,0x80,0x1C,0x70,0x0,0x0,0x0,0x0/*字符A的位图结构*/

}

 

我们取GB3212_13X14_Data[1]的前四位数据分析一下是怎么表示字符A的

0x0,0x0,0x10,0x0展开成二进制就是:

0000 0000

0000 0000

0001 0000

0000 0000

 

高低位字节颠倒后就为:

0000 0000

0000 0000

0000 1000

0000 0000  

这里的0代表白格,1代表黑格,在第21位有一个1即有一个黑格,与图一正好吻合。

其他数据以此类推。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值