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")