aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/assets/font.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/assets/font.lisp')
-rw-r--r--src/assets/font.lisp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/assets/font.lisp b/src/assets/font.lisp
new file mode 100644
index 0000000..3ff29d5
--- /dev/null
+++ b/src/assets/font.lisp
@@ -0,0 +1,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))))
+