render: font: Print "?" instead of crashing when character is missing.
authorDavid Thompson <dthompson2@worcester.edu>
Sun, 22 Apr 2018 00:06:10 +0000 (20:06 -0400)
committerDavid Thompson <dthompson2@worcester.edu>
Sun, 22 Apr 2018 00:06:10 +0000 (20:06 -0400)
* chickadee/render/font.scm (draw-text*): Default to "?" character
when the desired character isn't present in the font.

chickadee/render/font.scm

index caa43ca..1a01ad4 100644 (file)
@@ -302,7 +302,8 @@ extension must be either .xml or .fnt."
     (lambda* (font text matrix #:key (blend-mode 'alpha))
       ;; TODO: Respect kerning.
       (define (render-char c)
-        (let* ((char (font-ref font c))
+        ;; TODO: What if "?" isn't in the font?
+        (let* ((char (or (font-ref font c) (font-ref font #\?)))
                (texture (font-char-texture-region char))
                (dimensions (font-char-dimensions char))
                (offset (font-char-offset char)))