本帖最后由 神秘の宅叔 于 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是小写字母 预览字符编码0000到007F就可以显示数字和英文了,一般范围这样设置就行,并且这么小的范围字库占用的空间也很小。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 西班牙语采用拉丁字母,共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 特殊字符Ä Ö Ü ä ö ü ß n° 对应的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
<
<<< |