summaryrefslogtreecommitdiff
path: root/fonts.lua
diff options
context:
space:
mode:
Diffstat (limited to 'fonts.lua')
-rw-r--r--fonts.lua27
1 files changed, 27 insertions, 0 deletions
diff --git a/fonts.lua b/fonts.lua
new file mode 100644
index 0000000..905b2a3
--- /dev/null
+++ b/fonts.lua
@@ -0,0 +1,27 @@
+---@diagnostic disable: undefined-global
+-- Font loader for pixel-perfect 64x64 virtual screen
+local M = {}
+
+local FONT_PATH = "assets/font/font.otf"
+local DEFAULT_SIZE = 16
+
+local function setPixelFilter(font)
+ font:setFilter("nearest", "nearest")
+ return font
+end
+
+function M.load()
+ M.default = setPixelFilter(love.graphics.newFont(FONT_PATH, DEFAULT_SIZE))
+ return M.default
+end
+
+function M.get(size)
+ if not size then return M.default end
+ M.sizes = M.sizes or {}
+ if not M.sizes[size] then
+ M.sizes[size] = setPixelFilter(love.graphics.newFont(FONT_PATH, size))
+ end
+ return M.sizes[size]
+end
+
+return M