diff options
Diffstat (limited to 'internal/ascii/fonts.go')
| -rw-r--r-- | internal/ascii/fonts.go | 439 |
1 files changed, 439 insertions, 0 deletions
diff --git a/internal/ascii/fonts.go b/internal/ascii/fonts.go new file mode 100644 index 0000000..daea4bb --- /dev/null +++ b/internal/ascii/fonts.go @@ -0,0 +1,439 @@ +// Package ascii provides ASCII art fonts for timer display. +// This code is adapted from https://github.com/Bahaaio/pomo +// Copyright (c) 2025 Bahaa El Deen Mohamed +// Licensed under the MIT License +package ascii + +type Font [11]string + +const ( + Mono12 = "mono12" + Rebel = "rebel" + Ansi = "ansi" + AnsiShadow = "ansiShadow" + Doom = "doom" // figlet doom font + DefaultFont = Mono12 +) + +// AllFonts returns a list of all available font names. +// This includes both ASCII art fonts and the figlet doom font. +var AllFonts = []string{Doom, Mono12, Rebel, Ansi, AnsiShadow} + +var fonts = map[string]Font{ + Mono12: { + ` + ▄▄▄▄ + ██▀▀██ + ██ ██ + ██ ██ ██ + ██ ██ + ██▄▄██ + ▀▀▀▀ +`, + ` + ▄▄▄ + █▀██ + ██ + ██ + ██ + ▄▄▄██▄▄▄ + ▀▀▀▀▀▀▀▀ +`, + ` + ▄▄▄▄▄ + █▀▀▀▀██▄ + ██ + ▄█▀ + ▄█▀ + ▄██▄▄▄▄▄ + ▀▀▀▀▀▀▀▀ +`, + ` + ▄▄▄▄▄ + █▀▀▀▀██▄ + ▄██ + █████ + ▀██ + █▄▄▄▄██▀ + ▀▀▀▀▀ +`, + ` + ▄▄▄ + ▄███ + █▀ ██ + ▄█▀ ██ + ████████ + ██ + ▀▀ +`, + ` + ▄▄▄▄▄▄▄ + ██▀▀▀▀▀ + ██▄▄▄▄ + █▀▀▀▀██▄ + ██ + █▄▄▄▄██▀ + ▀▀▀▀▀ +`, + ` + ▄▄▄▄ + ██▀▀▀█ + ██ ▄▄▄ + ███▀▀██▄ + ██ ██ + ▀██▄▄██▀ + ▀▀▀▀ +`, + ` + ▄▄▄▄▄▄▄▄ + ▀▀▀▀▀███ + ▄██ + ██ + ██ + ██ + ▀▀ +`, + ` + ▄▄▄▄ + ▄██▀▀██▄ + ██▄ ▄██ + ██████ + ██▀ ▀██ + ▀██▄▄██▀ + ▀▀▀▀ +`, + ` + ▄▄▄▄ + ▄██▀▀██▄ + ██ ██ + ▀██▄▄███ + ▀▀▀ ██ + █▄▄▄██ + ▀▀▀▀ +`, + ` + + ▄▄ + ██ + + ██ + ▀▀ + +`, + }, + + Rebel: { + ` + █████ + ███▒▒▒███ + ███ ▒▒███ +▒███ ▒███ +▒███ ▒███ +▒▒███ ███ + ▒▒▒█████▒ + ▒▒▒▒▒▒ +`, + + ` + ████ +▒▒███ + ▒███ + ▒███ + ▒███ + ▒███ + █████ +▒▒▒▒▒ +`, + + ` + ████████ + ███▒▒▒▒███ +▒▒▒ ▒███ + ███████ + ███▒▒▒▒ + ███ █ +▒██████████ +▒▒▒▒▒▒▒▒▒▒ +`, + + ` + ████████ + ███▒▒▒▒███ +▒▒▒ ▒███ + ██████▒ + ▒▒▒▒▒▒███ + ███ ▒███ +▒▒████████ + ▒▒▒▒▒▒▒▒ +`, + + ` + █████ █████ +▒▒███ ▒▒███ + ▒███ ▒███ █ + ▒███████████ + ▒▒▒▒▒▒▒███▒█ + ▒███▒ + █████ + ▒▒▒▒▒ +`, + + ` + ██████████ +▒███▒▒▒▒▒▒█ +▒███ ▒ +▒█████████ +▒▒▒▒▒▒▒▒███ + ███ ▒███ +▒▒████████ + ▒▒▒▒▒▒▒▒ +`, + + ` + ████████ + ███▒▒▒▒███ +▒███ ▒▒▒ +▒█████████ +▒███▒▒▒▒███ +▒███ ▒███ +▒▒████████ + ▒▒▒▒▒▒▒▒ +`, + + ` + ██████████ +▒███▒▒▒▒███ +▒▒▒ ███ + ███ + ███ + ███ + ███ + ▒▒▒ +`, + + ` + ████████ + ███▒▒▒▒███ +▒███ ▒███ +▒▒████████ + ███▒▒▒▒███ +▒███ ▒███ +▒▒████████ + ▒▒▒▒▒▒▒▒ +`, + + ` + ████████ + ███▒▒▒▒███ +▒███ ▒███ +▒▒█████████ + ▒▒▒▒▒▒▒███ + ███ ▒███ +▒▒████████ + ▒▒▒▒▒▒▒▒ +`, + + ` + + ██ + ▒▒ + + + ██ + ▒▒ + + +`, + }, + + Ansi: { + ` + ██████ +██ ████ +██ ██ ██ +████ ██ + ██████ +`, + + ` + ██ +███ + ██ + ██ + ██ +`, + + ` +██████ + ██ + █████ +██ +███████ +`, + + ` +██████ + ██ + █████ + ██ +██████ +`, + + ` +██ ██ +██ ██ +███████ + ██ + ██ +`, + + ` +███████ +██ +███████ + ██ +███████ +`, + + ` + ██████ +██ +███████ +██ ██ + ██████ +`, + + ` +███████ + ██ + ██ + ██ + ██ +`, + + ` + █████ +██ ██ + █████ +██ ██ + █████ +`, + + ` + █████ +██ ██ + ██████ + ██ + █████ +`, + + ` + + ██ + + ██ + +`, + }, + + AnsiShadow: { + ` + ██████╗ +██╔═████╗ +██║██╔██║ +████╔╝██║ +╚██████╔╝ + ╚═════╝ +`, + + ` + ██╗ +███║ +╚██║ + ██║ + ██║ + ╚═╝ +`, + + ` +██████╗ +╚════██╗ + █████╔╝ +██╔═══╝ +███████╗ +╚══════╝ +`, + + ` +██████╗ +╚════██╗ + █████╔╝ + ╚═══██╗ +██████╔╝ +╚═════╝ +`, + + ` +██╗ ██╗ +██║ ██║ +███████║ +╚════██║ + ██║ + ╚═╝ +`, + + ` +███████╗ +██╔════╝ +███████╗ +╚════██║ +███████║ +╚══════╝ +`, + + ` + ██████╗ +██╔════╝ +███████╗ +██╔═══██╗ +╚██████╔╝ + ╚═════╝ +`, + + ` +███████╗ +╚════██║ + ██╔╝ + ██╔╝ + ██║ + ╚═╝ +`, + + ` + █████╗ +██╔══██╗ +╚█████╔╝ +██╔══██╗ +╚█████╔╝ + ╚════╝ +`, + + ` + █████╗ +██╔══██╗ +╚██████║ + ╚═══██║ + █████╔╝ + ╚════╝ +`, + + ` + + ██╗ + ╚═╝ + ██╗ + ╚═╝ + +`, + }, +} |
