Train your typing using Typemania! A aesthetic typing test.
at main 1.4 kB view raw
1import json, os, pygame 2pygame.font.init() 3 4class Font_Handler: 5 6 fonts = { 7 "Ariel": { 8 "file": pygame.font.SysFont('Ariel', 35), 9 "size": 35 10 } 11 } 12 13 def load_font(self, font, size, name=""): 14 font_file = pygame.font.Font(os.path.join("src", "resources", self.game.current_assetpack, "assets", "fonts", font + ".ttf"), size) 15 if name == "": 16 self.fonts[font] = { 17 "file": font_file, 18 "size": size 19 } 20 else: 21 self.fonts[name] = { 22 "file": font_file, 23 "size": size 24 } 25 26 def get_font(self, font, bold=False, italic=False, underline=False): 27 if font in self.fonts: 28 font_file = self.fonts[font]["file"] 29 30 font_file.bold = bold 31 font_file.italic = italic 32 font_file.underline = underline 33 34 return font_file 35 else: 36 return self.fonts[list(self.fonts.keys())[0]]["file"] 37 38 def get_font_size(self, font): 39 if font in self.fonts: 40 return self.fonts[font]["size"] 41 else: 42 return self.fonts[list(self.fonts.keys())[0]]["size"] 43 44 def __init__(self, game): 45 self.game = game 46 47 self.load_font("default", 40) 48 self.load_font("default", 18, "default_18") 49 self.load_font("default", 15, "default_15")