如何显示中文

    MaixPy 支持加载 Unicode 字库,Unicode( 统一码、万国码、单一码)是计算机科学领域里的一项业界标准。

    有如下语种支持:

    • A 大写拉丁字母"A" A
    • ß 小写拉丁字母"Sharp S" ß
    • þ 小写拉丁字母"Thorn" þ (小字库不支持)
    • Δ 大写希腊字母"Delta" Δ
    • Й 大写斯拉夫字母"Short I" Й
    • ק 希伯来字母"Qof" ק
    • م 阿拉伯字母 "Meem" م
    • ๗ 泰文数字 7 ๗
    • ቐ 埃塞俄比亚音节文字"Qha" ቐ
    • あ 日语平假名 "A" あ
    • ア 日语片假名 "A" ア
    • 叶 简体汉字 "叶" 叶
    • 轉 繁体汉字 "轉" 轉
    • 엽 韩国音节文字 " Yeob" 엽

    该功能接口均使用 image.Image() 对象完成,MaixPy 固件请使用最新版本 2020年9月2日。

    字模接口

    使用 draw_font 打印字模字符串,类似 img.draw_font(10, 20, 8, 8, b'/x20/xFC/xFC/x2C/xAC/x4C/x4D/xA3')

    import lcd, image
    lcd.init()
    img = image.Image()
    tmp = b'/x20/xFC/xFC/x2C/xAC/x4C/x4D/xA3'
    img.draw_font(10, 20, 8, 8, tmp, scale=1, color=(255, 255, 255))
    lcd.display(img)
    

    范例参考 image_draw_font.py

    字库接口

    请先使用 font_load / font_free 加载或释放字库,这将提升 draw_string 的功能,支持从 xx.Dzk 文件 与 Flash 地址加载,这之后后 draw_string 将通过字库打印字符串,目前只支持 ASCII / UTF-8 编码 。

    附带字库文件 0xA00000_font_uincode_16_16_tblr.Dzk

    import lcd, image
    lcd.init()
    img = image.Image()
    # image.font_load(image.UTF8, 16, 16, 0xA00000)
    image.font_load(image.UTF8, 16, 16, '/sd/0xA00000_font_uincode_16_16_tblr.Dzk')
    img.draw_string(20, 90, b'こんにちは、世界', x_spacing=2, mono_space=1)
    image.font_free()
    lcd.display(img)
    

    范例参考 image_draw_string.py

    显示效果

    view_image_font

    字库工具

    我们将使用根目录下的 FontGenerator.zip 导出字体对应的字库,请看下图完成导出操作。

    1. 选择字库编码类型为 Unicode 编码,这将支持绝大多数国家的语言。

      image-20200902180913322

    2. 选择扫描模式,为 5 横向、先上下后左右的字模的扫描打印方向。

      image-20200902181130459

    3. 如下图配置所需要的字体样式后创建字库。

      image-20200902181311553

    4. 保存成 DZK 格式即可,字模数据访问方法如图文字说明

      image-20200902181442677

    字模工具

    警告:不推荐使用字模工具,不了解的人请不要使用。

    使用目录下的 Pc2Lcd2002.zip 获取字模的字符串。

    1. 确认软件为字符模式。

    image-20200902175614964

    1. 设置如图即可导出想要的字符串。

      image-20200902180153452

    2. 填入文字后点击生成字模。

      image-20200902175948599

    3. 提取字模字符串即可使用。

      image-20200902180505263

     这(0) 是(1) 测(2) 试(3)
    
    /x00/x20/x10/x17/x00/x02/xF1/x10/x10/x10/x11/x12/x14/x28/x47/x00/x80/x40/x40/xFC/x10/x10/x20/xA0/x40/xA0/x10/x08/x08/x00/xFE/x00这0
    /x1F/x10/x10/x1F/x10/x10/x1F/x00/xFF/x01/x11/x11/x11/x29/x45/x83/xF0/x10/x10/xF0/x10/x10/xF0/x00/xFE/x00/x00/xF8/x00/x00/x00/xFE是1
    /x00/x27/x14/x14/x85/x45/x45/x15/x15/x25/xE5/x21/x22/x22/x24/x08/x04/xC4/x44/x54/x54/x54/x54/x54/x54/x54/x54/x04/x84/x44/x14/x08测2
    /x00/x20/x10/x10/x07/x00/xF0/x17/x11/x11/x11/x15/x19/x17/x02/x00/x28/x24/x24/x20/xFE/x20/x20/xE0/x20/x10/x10/x10/xCA/x0A/x06/x02试3
    

    可以使用图形模式绘制自己喜欢的字模图形,支持 32 * 32 的图形。

    image-20200902181645277