anchor.diff:  	      (let ((h (tt:scale-for-pixel-height baked 15))
   		    (codept (cast 0xb5 i32)))
   		(print newline "codepoint:" codept newline)
  -		(let ((s (get-text-size "hello!" 16
  -				      100 baked)))
  -		  (print "Writing bitmap..
  -")
  -		  (let ((r (write-text-to-buffer s "hello!"
  -					16 100 baked)))
  -		    (print (cast r i64) newline)
  -		    (range y 0 (member s height)
  -			   (range x 0 (member s width)
  -				  (var ((v (deref (ptr+ r (.+ x (.* y (member s width)))))))
  -				    ;(print (cast v i64) newline)
  -				    (if (< (cast v i64) 0)
  -					(printstr " ")
  -					(printstr "#")
  -					)
  -				  ))
  -			   (printstr newline))
  -		))))))))
  -;(test)
  -;(exit 0)
  +		(let ((s (get-text-size str 16
  +				      100 baked))
  +		      (s2 :type size))
  +		  (setf (member s2 width) 0)
  +		  (setf (member s2 height) 0)
  +		  (tt:iterate str 16 100 baked rect-calc-callback (cast (addrof s2) (ptr void)))
  +		  (print s2 newline)
  +		  (print s newline)
  +		  
  +		  )))))))
  +
  +(defun defer-test (void (a (fcn void (userdata (ptr void)))) (userdata (ptr void)))
  +  (a userdata))
  +
  +(defun printhi (void (a (ptr void)))
  +    (print "Hi, im davey! " (cast a (ptr char)) newline))
  +;(defer-test printhi (cast (+ " hello ddd-dd-davey? " 2) (ptr void)))
  +(test)
  +(exit 0)
  
positive.code:        	     (setf xpos (+ xpos (* scale (cast advance f32))))
  	       )))
      buffer))
  	  
  	     
  ;; (defun write-text ((ptr char) (out-size (ptr size)) (text (ptr char)))
  
negative.code: 	(max-width-reached (the 0 i64))
  	(scale (tt:scale-for-pixel-height font (cast font-size f32))))
      (tt:get-font-v-metrics font (addrof ascent) (cast 0 (ptr i32)) (cast 0 (ptr i32)))
      (let ((baseline (cast (* (cast ascent f32) scale) i32)))
         (range it 0 len ;x0,y0,x1,y1
        	     (let ((advance :type i32)
        		   (lsb :type i32)
  