[英]How to get font path from font name [python]?
我的目標是從它們的通用字體名稱中獲取字體路徑,然后將它們與PIL.ImageFont
一起使用。
我通過使用tkinter.font.families()
獲得了所有已安裝 fonts 的名稱,但我想獲得每種字體的完整路徑,以便我可以將它們與PIL.ImageFont
一起使用。 有沒有其他方法可以通過ImageFont.truetype()
方法使用通用字體名稱?
我不太確定你真正想要什么 - 但這里有一種方法可以獲取系統上所有 fonts 的完整路徑及其名稱和權重的列表:
#!/usr/bin/env python3
import matplotlib.font_manager
from PIL import ImageFont
# Iterate over all font files known to matplotlib
for filename in matplotlib.font_manager.findSystemFonts():
# Avoid these two trouble makers - don't know why they are problematic
if "Emoji" not in filename and "18030" not in filename:
# Look up what PIL knows about the font
font = ImageFont.FreeTypeFont(filename)
name, weight = font.getname()
print(f'File: {filename}, fontname: {name}, weight: {weight}')
樣品 Output
File: /System/Library/Fonts/Supplemental/NotoSansLepcha-Regular.ttf, fontname: Noto Sans Lepcha, weight: Regular
File: /System/Library/Fonts/ZapfDingbats.ttf, fontname: Zapf Dingbats, weight: Regular
File: /System/Library/Fonts/Supplemental/Zapfino.ttf, fontname: Zapfino, weight: Regular
File: /System/Library/Fonts/Supplemental/NotoSansMultani-Regular.ttf, fontname: Noto Sans Multani, weight: Regular
File: /System/Library/Fonts/Supplemental/NotoSansKhojki-Regular.ttf, fontname: Noto Sans Khojki, weight: Regular
File: /System/Library/Fonts/Supplemental/Mishafi Gold.ttf, fontname: Mishafi Gold, weight: Regular
File: /System/Library/Fonts/Supplemental/NotoSansMendeKikakui-Regular.ttf, fontname: Noto Sans Mende Kikakui, weight: Regular
File: /System/Library/Fonts/MuktaMahee.ttc, fontname: Mukta Mahee, weight: Regular
File: /Users/mark/Library/Fonts/JetBrainsMonoNL-Italic.ttf, fontname: JetBrains Mono NL, weight: Italic
...
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.