本帖最后由 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)
四、效果展示
以下是效果图:
五、一些说明
- 因为第一次已经安装了字体,下次使用的时候,这句代码就可以去掉了。
# 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/` 目录。
|
|
|
|
|
|