迪文科技论坛

 找回密码
 立即注册
搜索
查看: 11653|回复: 19

迪文屏黑体字库怎么生成?(标题修改新增附unicode编码字库)

[复制链接]

1

主题

7

回帖

28

积分

新手上路

Rank: 1

积分
28
发表于 2019-6-13 16:41:57 | 显示全部楼层 |阅读模式
字库生成器右侧怎么设置,能不能说一下具体的步骤,谢谢!!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

94

主题

138

回帖

1300

积分

超级版主

Rank: 8Rank: 8

积分
1300
发表于 2019-6-13 17:46:05 | 显示全部楼层
本帖最后由 十五 于 2019-6-13 17:55 编辑

楼主如果只需要显示汉字可以编码方式选择GBK,以便调用,设置可以参照如下34*34点阵字库图。
如果Unicode 字符从4e00生成,写指令时需要用相应字符编码减去4e00,所得值为实际显示字符。





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

82

主题

150

回帖

2626

积分

超级版主

Rank: 8Rank: 8

积分
2626
发表于 2019-6-13 19:04:40 | 显示全部楼层
本帖最后由 神秘の宅叔 于 2021-11-19 15:33 编辑

我再补充一下。
如果是第一次使用这个字库生成工具是容易被一些选项误导。
其实软件里面设置选择的字体大小就是宽、高的点阵数。
而右上角的字体大小是预览图调整到黑色的框填满就差不多了

汉字字库制作注意配合文本显示,选择01GBK2312和02GBK编码方式,
GBK和GB2312编码可以百度详细了解下,简单来说就是GBK编码范围广些,GBK包含了繁体字等。但占用体积大些,

TS3字库制作:
调节预览至饱满,汉字字库y点阵也就是高不能为奇数,以 宽 高 的点阵数即为 xy大小 点阵 ,建议命名的时候,后面命名加以注释 便于识别如:66_GBK24_宋体.HZK。命名情况同样是依照迪文DGUS屏的字库要求命名规则,每个序号管用256k的字库空间,超过之后需要预留。

附1:unicode编码字库的制作
UNICODE字库通常被DGUS屏应用于 数据变量 显示,做一个小型的编码范围0000-007F的字体,例如:xy分别为20x40然后命名为24-xxx,放到DWIN_SET里面 设置数据变量显示字体位置选择24 字体大小选24,那么就可以显示了,这里字库命名从24-127之间,每个位置管用256k的大小,具体就不在赘述,用unicode做的数据变量显示字库,这样避免更改0号字库的字体,因为一般用户他们做的很多显示控件需要,有些字库可能要用到0号字库默认的宋体格式,这个大环境是不想去更改的。
数据变量显示能自动处理ucnicode码,尤其对数码管字体非常有效。

0030~0039是阿拉伯数字的编码
0041~005A是大写字母
0061~007A是小写字母
预览字符编码0000007F就可以显示数字和英文了,一般范围这样设置就行,并且这么小的范围字库占用的空间也很小。Unicode字体对于数字和英文宽高不如设置两倍形式,另外注意汉字字库的宽高点阵数要为偶数,这个可以是理解半角和全角的关系,特殊型号例子mini(DGUSM系列)屏的uicode字库用文本显示,制作的时候需要数字都宽高做成一样,mini屏底层的字符间距处理是自带自动调整的。
软件里面设置选择的字体大小就是宽的点阵数。而右上角的字体大小是预览图调整到黑色的框填满就差不多了位置选择是自己定义的,命名序号从24开始

如果是数据变量显示,DGUS屏可以直接调用unicode处理,
例如选择字库位置选24,字体大小选20,就能像是上图的unicode字体,当然这个字体不一定是宋体,可以换成黑体、微软雅黑、数码管字体等。

如果是文本变量显示,需要设置unocode,注意发送的编码只能是unicode形式,如果显示12 发送5A A5 07 82 0001 0031 0032  而不是5A A5 05 82 0001 3132

数码管字体生成原理一样,不要把数码管字体理解错是一个字库,他只是一种字体而已,和宋体,黑体,微软雅黑这些字体是一样的。
只不过字体需要更改,编码方式和ASCII码是不一样的,所以只能发相应的编码指令来显示,需要安装数码管字体到计算机,xp的在控制面板里面选择字体,win7的系统是进C盘的font安装字体如不会可以看看百度经验步骤很简单,把数码管字体复制进去就行,然后ts3里面选择字体就会找到相对应的数码管字体比如了一个UnidreamLED.ttf这个字体,这个是数码管字体的一种,当然可以到网上下载更多的数码管字体(有些字体有版权,商业使用需谨慎)。


附2:
UNICODE编码可以在百度搜索例如:“俄语unicode编码范围”,

如果不知道该国语言的字符是什么,可以百度“打外语” 在该网站上面获取字符

UNICODE码转换,可以用下面的这个网站处理。http://tool.chinaz.com/tools/unicode.aspx?qq-pf-to=pcqq.group

------------------------------------------------------------------------------
英语English字母编码:ABCDEFGHIJKLMLOPQRSTUVWXYZ
u0041\u0042\u0043\u0044\u0045\u0046\u0047\u0048\u0049\u004a\u004b\u004c\u004d\u004c\u004f\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057\u0058\u0059\u005a
abcdefghijklmlopqrstuvwxyz
u0061\u0062\u0063\u0064\u0065\u0066\u0067\u0068\u0069\u006a\u006b\u006c\u006d\u006c\u006f\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077\u0078\u0079\u007a
荷兰语Dutch荷兰语的字母与英文相同,但荷兰语中并不使用Q、X、Y这三个字母
具体字母表和重复的不再累述,只写出区别英语字母之外的字母,下面的都略写)
------------------------------------------------------------------------------
西班牙语Spanish
A
a
B
b
C
c
Ch
ch
D
d
E
e
F
f
G
g
H
h
I
i
J
j
K
k
L
l
LL
ll
M
m
N
n
Ñ
ñ
O
o
P
p
Q
q
R
r
S
s
T
t
U
u
V
v
W
w
X
x
Y
y
Z
z


西班牙语采用拉丁字母,共29个字母;a、b、c、ch、d、e、f、g、h、i、j、k、l、ll、m、n、ñ 、o、p、q、r、s、t、u、v、w、x、y、z ,大写字母:如上图
西班牙区别英语的两个特别的字母,对应的Uncodeb编码是:
Ñ 00D1 ñ00F1
------------------------------------------------------------------------------
意大利语Italian,只有英文里面21个字母,其他的相比英文之外,稍微多了几个字母,常用到的也就à é è É
特殊的字母一般是小写的拼音注音二声和四声,大写的只有在首字母才会用,不常见。
特殊字符À É È Í Ì Ó Ò Ú Ù à é è í ì ó ò ú ù,
对应的unicode码
\u00c0\u00c9\u00c8\u00cd\u00cc\u00d3\u00d2\u00da\u00d9\u00e0\u00e9\u00e8\u00ed\u00ec\u00f3\u00f2\u00fa\u00f9
------------------------------------------------------------------------------
葡萄牙语Portuguese
特殊字符 í ú À à Ã ã Ç ç Ê ê é É á Õ õ ó
对应的unicode码\u00ed\u00fa\u00c0\u00e0\u00c3\u00e3\u00c7\u00e7\u00ca\u00ea\u00e9\u00c9\u00e1\u00d5\u00f5\u00f3
------------------------------------------------------------------------------
丹麦语Danish
特殊字符Å Æ Ø å æ ø
对应的unicode码
\u00c5\u00c6\u00d8\u00e5\u00e6\u00f8
------------------------------------------------------------------------------
德语German
特殊字符Ä Ö Ü ä ö ü ß
对应的unicode码
\u00c4\u00d6\u00dc\u00e4\u00f6\u00fc\u00df\u006e\u00b0\
------------------------------------------------------------------------------
芬兰语Finnish
特殊字符Å Ä Ö ä ö
对应的unicode码
\u00c5\u00c4\u00d6\u00e4\u00f6
------------------------------------------------------------------------------
挪威语Norwegian
特殊字符Å Æ Ø å æ ø
对应的unicode码
\u00c5\u00c6\u00d8\u00e5\u00e6\u00f8
------------------------------------------------------------------------------
瑞典语Swedish
特殊字符Å Ä Ö å ä ö
对应的unicode码
\u00c5\u00c4\u00d6\u00e5\u00e4\u00f6
------------------------------------------------------------------------------
法语French
特殊字符À Â Ç É È Ê Ë Î Ï Ô Œ Ù Û à â ç é è ê ë î ï ô œ ù û
对应的unicode码
\u00c0\u00c2\u00c7\u00c9\u00c8\u00ca\u00cb\u00ce\u00cf\u00d4\u0152\u00d9\u00db\u00e0\u00e2\u00e7\u00e9\u00e8\u00ea\u00eb\u00ee\u00ef\u00f4\u0153\u00f9\u00fb
------------------------------------------------------------------------------
土耳其语Turkish,土耳其语的范围突破了00FF了
特殊字符Ç ĞIİ Ö Ş Ü Ə ç ğ ı I ö ş ü ə  <对应的unicode码\u00c7\u011e\u0049\u0130\u00d6\u015e\u00dc\u018f\u00e7\u011f\u0131\u0069\u00f6\u015f\u00fc\u0259 土耳其语最后一个字符不会被用到 实际范围我们可以做一个大字库从0000到01FF的编码为止已经够用显示前面的12种语言了,
指令集产品测试:将生成的字库下载到02位置发送如下的指令指令:AA 98 0000 0000 02 C5 06 001F F800 0041 0061 00D1 00F1 015F 00E8 CC33C33C 如果是DGUS屏,用户下载到24-127之间的位置,发送指令:5A A5 07 82 0001 0031 0032 0033 0034文本地址1显示1234,
  *****俄语是一个有点方形的书写样式,和前面的字库同一做的话,密度会生成不和谐,所以如果遇到这种情况,一般需要另外做一个字库。***** 俄语Russian 编码也稍微靠后一点了,从0410开始了。АБВГДЕЁЖЗИЙКЛМабвгдеёжзийклмНОПРСТУФХЦЧШЩЪЫЬЭЮЯнопрстуфхцчшщъыьэюяІЇЎ́ІЇЎіїўіїў \u0410\u0411\u0412\u0413\u0414\u0415\u0401\u0416\u0417\u0418\u0419\u041a\u041b\u041c\u0430\u0431\u0432\u0433\u0434\u0435\u0451\u0436\u0437\u0438\u0439\u043a\u043b\u043c\u041d\u041e\u041f\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042a\u042b\u042c\u042d\u042e\u042f\u043d\u043e\u043f\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044a\u044b\u044c\u044d\u044e\u044f\u0406\u0407\u040e\u0301\u0406\u0407\u040e\u0456\u0457\u045e\u0456\u0457\u045e  
为了和前面的编码表一致,那个字库特意也从0000开始编码,这样方便和网络上面的编码统一。注意:如果编码方式开始字符不从0000开始,假设TS3生成编码方式从0030-0039,那么生成的字库编码发送指令的时候,会默认0000是0030,0001是0031,

测试:将生成的字库下载到24位置发送如下的指令AA 98 0000 0000 24 C5 06 001F F800 0410 0411 0412 0413 0414 0446 CC33C33C 如果是DGUS屏,用户下载到24-127之间的位置,发送指令例如5A A5 0F 82 0001 0410 0411 0412 0413 0414 0446

<
<<<
回复

使用道具 举报

1

主题

7

回帖

28

积分

新手上路

Rank: 1

积分
28
 楼主| 发表于 2019-6-14 12:11:47 | 显示全部楼层
神秘の宅叔 发表于 2019-6-13 19:04
我再补充一下。
如果是第一次使用这个字库生成工具是容易被一些选项误导。
其实软件里面设置选择的字体 ...

按照你们说的方法我试了好几次,还是没有成功,帮忙看看是怎么回事吧

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

1

主题

7

回帖

28

积分

新手上路

Rank: 1

积分
28
 楼主| 发表于 2019-6-14 12:12:28 | 显示全部楼层
雾忆X小霸王 发表于 2019-6-14 12:11
按照你们说的方法我试了好几次,还是没有成功,帮忙看看是怎么回事吧

主要是我想显示数字,但是出来的是乱码
回复

使用道具 举报

1

主题

7

回帖

28

积分

新手上路

Rank: 1

积分
28
 楼主| 发表于 2019-6-14 12:21:21 | 显示全部楼层
雾忆X小霸王 发表于 2019-6-14 12:12
主要是我想显示数字,但是出来的是乱码

还有一个按键的问题就是使用按压状态同步数据返回实现长按键功能,但是这个控件的按压模式0X02是无效功能,是根据http://inforum.dwin.com.cn:20080 ... p;tid=33&extra=这个帖子进行的操作
回复

使用道具 举报

94

主题

138

回帖

1300

积分

超级版主

Rank: 8Rank: 8

积分
1300
发表于 2019-6-14 13:30:36 | 显示全部楼层
本帖最后由 十五 于 2019-6-14 13:33 编辑
雾忆X小霸王 发表于 2019-6-14 12:12
主要是我想显示数字,但是出来的是乱码

数字可以使用0号字库,生成见如下图。屏如果没有格式化,出厂自带0号字库,Fount0位置写0即可调用。

T5屏同步按压返回只支持模式一,可返回到串口。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

1

主题

7

回帖

28

积分

新手上路

Rank: 1

积分
28
 楼主| 发表于 2019-6-14 13:51:33 | 显示全部楼层
十五 发表于 2019-6-14 13:30
数字可以使用0号字库,生成见如下图。屏如果没有格式化,出厂自带0号字库,Fount0位置写0即可调用。

T5屏 ...

我想用粗体。0号字库也可以但是做产品界面,字体比较细,有点不太协调
回复

使用道具 举报

27

主题

75

回帖

913

积分

高级会员

Rank: 4

积分
913
发表于 2019-6-14 14:33:11 | 显示全部楼层
雾忆X小霸王 发表于 2019-6-14 13:51
我想用粗体。0号字库也可以但是做产品界面,字体比较细,有点不太协调

乱码有可能是DGUS里设置的点阵数和字库不一致,或者编码选择不一致。
回复

使用道具 举报

94

主题

138

回帖

1300

积分

超级版主

Rank: 8Rank: 8

积分
1300
发表于 2019-6-14 14:38:47 | 显示全部楼层
雾忆X小霸王 发表于 2019-6-14 13:51
我想用粗体。0号字库也可以但是做产品界面,字体比较细,有点不太协调

见如图,字体和字形都是可以选择的,最终生成的0号字库在软件根目录下。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2024-12-5 10:41 , Processed in 0.088908 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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