typo.lua 733 B

12345678910111213141516171819202122232425
  1. Typo = {}
  2. Typo.fonts = {}
  3. local setFont = love.graphics.setFont
  4. Typo.font = function(name, size)
  5. if not name then
  6. Typo.fonts.default[size] = Typo.fonts.default[size] or love.graphics.newFont(size)
  7. return Typo.fonts.default[size]
  8. end
  9. if Typo.fonts[name] and Typo.fonts[name][size] then return Typo.fonts[name][size] end
  10. Typo.fonts[name] = Typo.fonts[name] or {}
  11. Typo.fonts[name][size] = Typo.fonts[name][size] or love.graphics.newFont('data/media/fonts/' .. name .. '.ttf', size)
  12. return Typo.fonts[name][size]
  13. end
  14. love.graphics.setFont = function(name, size)
  15. if type(name) ~= 'string' then return setFont(name) end
  16. setFont(Typo.font(name, size))
  17. end
  18. Typo.resize = function()
  19. table.clear(Typo.fonts)
  20. end