如何让Windows系统下的MoviePy调用自定义安装字体?
解决MoviePy TextClip无法识别Windows自定义字体的问题
可能的原因及修复步骤
1. 强制刷新ImageMagick字体缓存
Windows下ImageMagick不会自动检测新安装的字体,需要手动更新缓存:
- 打开CMD,切换到ImageMagick安装目录(比如
C:\Program Files\ImageMagick-7.1.1-Q16-HDRI) - 执行命令
magick -list font,如果这里看不到你的自定义字体,说明缓存未更新 - 执行
magick.exe -configure生成新缓存,之后重启Python环境
2. 正确指定字体文件路径
不要直接用C:\Windows\Fonts\下的路径(该目录部分字体文件实际隐藏),正确操作:
- 右键目标字体→属性→安全选项卡,复制“对象名称”里的真实路径
- 代码中用原始字符串传入路径:
clip = TextClip("text", color='black', font=r'C:\真实路径\PKMN_RBYGSC.ttf', fontsize=32)
3. 验证MoviePy的ImageMagick配置
确保MoviePy指向正确的ImageMagick执行文件:
from moviepy.config import change_settings change_settings({"IMAGEMAGICK_BINARY": r"C:\Program Files\ImageMagick-7.1.1-Q16-HDRI\magick.exe"})
配置完成后重新运行TextClip.list("font"),查看字体是否被识别
4. 手动添加字体到ImageMagick配置
- 找到ImageMagick安装目录下的
type.xml文件 - 在
<typemap>标签内添加字体条目:<type name="PKMN RBYGSC Regular" family="PKMN RBYGSC Regular" font="C:\真实路径\PKMN_RBYGSC.ttf" /> - 保存文件后重启Python,尝试直接用字体名称调用
内容的提问来源于stack exchange,提问作者eaglehuntt
相关产品推荐
相关产品推荐

