Ubuntu系统下pygame.font.SysFont始终加载FreeSans而非指定字体
解决Ubuntu下Pygame SysFont强制使用FreeSans的问题
原因分析
Ubuntu系统默认未预装Arial这类Windows常用字体,Pygame的SysFont方法在找不到指定字体时,会自动回退到系统默认的FreeSans字体,这就是你指定任意字体最终都加载FreeSans的原因。
解决步骤
1. 安装目标字体
以Arial为例,通过以下命令安装对应字体包:
sudo apt install ttf-mscorefonts-installer
安装过程中会弹出版权协议确认窗口,按提示同意即可完成安装。
2. 验证字体安装状态
执行以下命令确认Arial已成功安装:
fc-list | grep -i arial
若输出包含Arial相关字体条目,说明安装生效。
3. 重新测试代码
此时再运行pg.font.SysFont("Arial", 20),打印字体名称即可得到预期的'Arial'。
备选方案:直接加载本地字体文件
如果不想安装系统字体,可下载Arial的.ttf文件放到项目目录,使用pygame.font.Font直接加载:
import pygame as pg pg.init() font = pg.font.Font("Arial.ttf", 20) print(font.get_name())
内容的提问来源于stack exchange,提问作者Joshua Hall
相关产品推荐
相关产品推荐

