Fonts ===== Create a system font table in `fonts.html`. Requires: pip install matplotlib :: from pathlib import Path from html import escape from matplotlib import font_manager def get_system_font_names(): fonts = font_manager.findSystemFonts(fontpaths=None, fontext="ttf") fonts += font_manager.findSystemFonts(fontpaths=None, fontext="otf") names = set() for font_path in fonts: try: prop = font_manager.FontProperties(fname=font_path) name = prop.get_name() if name: names.add(name) except Exception: # Some font files may be unreadable or unsupported pass return sorted(names, key=str.casefold) def main(): font_names = get_system_font_names() html_parts = [ """