3629浏览
查看: 3629|回复: 1

为行空板换个字体

[复制链接]
本帖最后由 kylinpoet 于 2022-5-20 08:43 编辑

一、 项目起源

电子创客的"Hello World" 一般是点灯。但行空板有一块方便的触摸彩屏,那当然是 字体秀 了!

二、问题分析

通过阅读unihiker库的GUI类模块,我们发现,程序已经自带了安装字体的功能,这样我们就不需要手动在系统下安装了。安装字体函数如下(大概在 96 行):

    def load_font(self, path):
        import os
        from contextlib import redirect_stderr
        from fontTools import ttLib

        def font_name(font_path):
            font = ttLib.TTFont(font_path, ignoreDecompileErrors=True)
            ...
            def install_font(src_path):
                # copy the font to the Windows Fonts folder
                dst_path = os.path.join(
                                                                ...

当找不到字体时,代码会自动安装字体。

三、功能实现

那么我们只要将想要安装的字体复制到代码根目录,然后写入字体名即可,文件目录如下:

主要代码如下,

font_name = gui.load_font('fzxz.ttf')
gui.draw_text(x=20, y=88, color="#fc8c23", text="创客智造", font_size=36, font_family=font_name)

gui.draw_text(x=15, y=150, color='#5DAC81', text="Hello,UNIHIKER!", font_size=20)

四、效果展示

以下是效果图:

五、一些说明

  1. 因为第一次已经安装了字体,下次使用的时候,这句代码就可以去掉了。
    
    # font_name = gui.load_font('fzxz.ttf')
    ```然后代码可以改为:
    ```python
    gui = GUI()
    gui.draw_text(x=20, y=88, color="#fc8c23", text="创客智造", font=('方正小篆体',36))
    gui.draw_text(x=15, y=150, color='#5DAC81', text="Hello,UNIHIKER!", font_size=20)

2. 因为我们使用root账号登录系统的,所以字体是安装在 `/root/.fonts/` 目录。



Forgotten  版主

发表于 2022-5-21 14:39:33

古风满满,楼主可以分享一下字体文件是怎么搞到的
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail