;;;; asset/font.lisp

(in-package #:wheelwork)

(define-symbol-macro +standard-font-chars+
  " 
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567890\".,!?-'"  )

(defclass/std font (asset)
  ((characters :i :std +standard-font-chars+)
   (oversample :i :doc "ovesampling factor to pass to cl-fond:make-font")
   (object :with :r :doc "The font as returned from cl-fond:make-font")))

(defmethod ensure-loaded ((font font))
  (with-slots (path characters oversample object) font
    (setf object (cl-fond:make-font path characters :oversample oversample))))