aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/assets/font.lisp
blob: 3ff29d5a7a4b808fde93047e256feb3182d9d152 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
;;;; 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))))