2025-03-18 13:05:36 +03:00

86 lines
1.7 KiB
Python

# https://github.com/kelltom/OS-Bot-COLOR/
import pathlib
import customtkinter as ctk
fonts_path = pathlib.Path(__file__).parent
ctk.FontManager.load_font(str(fonts_path.joinpath("CascadiaCode.ttf")))
def get_font(family="Trebuchet MS", size=14, weight="normal", slant="roman", underline=False):
"""
Gets a font object with the given parameters. This is a wrapper for ctk.CTkFont. Provides
defaults for app theme fonts.
"""
return ctk.CTkFont(family=family, size=size, weight=weight, slant=slant, underline=underline)
def title_font():
"""
Preset for titles (largest).
"""
return get_font(size=24, weight="bold")
def heading_font(size=20):
"""
Preset for headings.
"""
return get_font(size=size, weight="bold")
def subheading_font(size=16):
"""
Preset for subheadings.
"""
return get_font(size=size, weight="bold")
def body_large_font(size=15):
"""
Preset for body text.
"""
return get_font(size=size)
def body_med_font(size=14):
"""
Preset for body text.
"""
return get_font(size=size)
def button_med_font(size=14):
"""
Preset for button text.
"""
return get_font(size=size, weight="bold")
def button_small_font(size=12):
"""
Preset for button text.
"""
return get_font(size=size, weight="bold")
def small_font(size=12):
"""
Preset for small text, such as captions or footnotes.
"""
return get_font(size=size)
def micro_font(size=10):
"""
Preset for micro text, such as version stamps.
"""
return get_font(size=size)
def log_font(size=12):
"""
Preset for log text.
"""
return get_font(family="Cascadia Code", size=size)