summaryrefslogtreecommitdiff
path: root/fonts.lua
blob: 905b2a36a1398e7064c58e095a43f51f965d9028 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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