标题: 开源一款UTF-8格式的点阵字库 [打印本页]

作者: bnsycmc    时间: 2020-3-13 17:29
标题: 开源一款UTF-8格式的点阵字库
本帖最后由 bnsycmc 于 2020-3-14 17:13 编辑

之前用Keil默认的编码方式是GB2312,看了下GT的字库和方正的字库都是基于GB2312或者GBK的,有时候联网时还会有转码的问题,所以开源了这个UTF-8的字库.
想了想以后UTF-8是大趋势,所以设计了基于UTF-8编码的点阵字库
使用的是16Mbits SPI FLASH 进行保存的.
GUI的显示参考代码如下:
  1. S51_GUI_Display_Str(Font_8,0,0,"ASCII Test",0,0);
  2.     S51_GUI_Display_Str(Font_16, 2, 0, "A!@中文测试", 0, 0);
  3.     S51_GUI_Display_Str(Font_16, 4, 0, "三升锡", 0, 1);
复制代码


显示效果如下



开源的地址 github.com/simple51/S51_UTF_8_FontLibrar


作者: hbcqd    时间: 2020-3-13 21:34
学习中,谢谢分享!
作者: myemcu    时间: 2020-3-14 10:26
膜拜大师。。。。。。
作者: zxy2266    时间: 2020-3-14 14:32
UTF-8的字库和GB2312编码区别在那?
作者: bnsycmc    时间: 2020-3-14 17:10
zxy2266 发表于 2020-3-14 14:32
UTF-8的字库和GB2312编码区别在那?

在点阵上显示是没有区别的,但是在编程过程中,keil的默认编码是GB2312,但是大部分的编辑器和IDE的默认编码都是UTF-8,而且在keil的编辑器中,如三升锡这样的中文编码尾字节的编码是\xfd,Keil认为不是文字编码,直接忽略掉了,会造成在编译时乱码的问题

UTF-8的应用会越来越广,在IoT中,接收数据不需要直接编码转换

The character encodings 0xFD, 0xFE, and 0xFF are used internally by the C compiler. The ANSI standard only requires support for ASCII characters in the range 0x00 - 0x7F.

You may insert these characters by using HEX encodings in the string as follows:

code char RussianString[] = "My Text" "\xFD";
作者: stlong    时间: 2020-3-16 14:35
搞不懂怎么使用呢
作者: 307939647    时间: 2020-12-9 16:08
这个字库怎么查找呀




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1