diff --git a/collects/2htdp/tests/test-image.rkt b/collects/2htdp/tests/test-image.rkt index fce13bee7a..4bde5b5ddb 100644 --- a/collects/2htdp/tests/test-image.rkt +++ b/collects/2htdp/tests/test-image.rkt @@ -880,6 +880,12 @@ => (text "ab" 18 "blue")) +;; make sure this doesn't crash (there was a bug that would be triggered by drawing these guys) +(test (equal? (scale 0.1 (text "Howdy!" 12 'black)) + (scale 0.1 (text "Howdy!" 12 'red))) + => + #f) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; triangle diff --git a/collects/mrlib/image-core.rkt b/collects/mrlib/image-core.rkt index 6c15ac3ae5..5088b25205 100644 --- a/collects/mrlib/image-core.rkt +++ b/collects/mrlib/image-core.rkt @@ -905,10 +905,11 @@ the mask bitmap and the original bitmap are all together in a single bytes! (set-bitmap-rendered-mask! bitmap new-mask))) (define (text->font text) + (define adjusted-size (min (max (inexact->exact (round (text-size text))) 1) 255)) (cond [(text-face text) (send the-font-list find-or-create-font - (text-size text) + adjusted-size (text-face text) (text-family text) (text-style text) @@ -916,7 +917,7 @@ the mask bitmap and the original bitmap are all together in a single bytes! (text-underline text))] [else (send the-font-list find-or-create-font - (text-size text) + adjusted-size (text-family text) (text-style text) (text-weight text)