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}')