import os import subprocess import requests from gi.repository import PangoCairo def download_and_load_font(font_url: str, font_target_location: str): response = requests.get(font_url) response.raise_for_status() with open(font_target_location, 'wb') as file: file.write(response.content) file.flush() os.fsync(file.fileno()) out = subprocess.Popen(['sh', '-c', '/usr/bin/fc-list'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) stdout, stderr = out.communicate() print(stdout.decode()) for fam in PangoCairo.font_map_get_default().list_families(): print(fam.get_name()) if __name__ == '__main__': # Bauhaus Md BT download_and_load_font( font_url='http://yspimages.net/resourcebase/font/5.ttf', font_target_location='/tmp/fontcache/123.ttf', ) # Bello-Script download_and_load_font( font_url='http://yspimages.net/resourcebase/font/16.ttf', font_target_location='/tmp/fontcache/456.ttf', )