anchor.diff:         (/ (slot (slot glyph 'freetype:advance) 'freetype:x) 64)
          (/ (slot (slot glyph 'freetype:advance) 'freetype:y) 64)))))
   
  -(defun glyph-advance (face char)
  -  (freetype:load-glyph face (freetype:get-char-index face (char-code char)) 0)
  -  (let* ((glyph (slot face 'freetype:glyph)))
  -    (values
  -     (/ (slot (slot glyph 'freetype:advance) 'freetype:x) 64)
  -     (/ (slot (slot glyph 'freetype:advance) 'freetype:y) 64))))
  -
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   
  -(defun display-glyph-cache (display)
  -  (or (getf (xlib:display-plist display) 'glyph-cache)
  -      (setf (getf (xlib:display-plist display) 'glyph-cache)
  -            (make-hash-table :test #'equalp))))
  -
  -(defun display-the-glyph-set (display)
  -  (or (getf (xlib:display-plist display) 'the-glyph-set)
  -      (setf (getf (xlib:display-plist display) 'the-glyph-set)
  -            (xlib::render-create-glyph-set
  -             (first (xlib::find-matching-picture-formats display
  -                                                         :alpha 8 :red 0 :green 0 :blue 0))))))
  +(let ((lookaside nil))
  +  (defun display-the-glyph-set (display)
  +    (if (eq (car lookaside) display)
  +        (cdr lookaside)
  +        (let ((glyph-set (or (getf (xlib:display-plist display) 'the-glyph-set)
  +                             (setf (getf (xlib:display-plist display) 'the-glyph-set)
  +                                   (xlib::render-create-glyph-set
  +                                    (first (xlib::find-matching-picture-formats display 
  +                                            :alpha 8 :red 0 :green 0 :blue 0)))))))
  +          (setf lookaside (cons display glyph-set))
  +          glyph-set))))
   
   (defun display-free-glyph-ids (display)
     (getf (xlib:display-plist display) 'free-glyph-ids))
  
positive.code:                                        (make-vague-font font))))
                       (f (make-concrete-font f.font size)))
                  (declare (type (alien freetype:face) f))
                  (make-instance 'freetype-face
                                 :display display
                                 :font font
                                 :matrix size
                                 :ascent  (/ (slot (slot (slot f 'freetype:size_s) 'freetype:metrics) 'freetype:ascender) 64)
                                 :descent (/ (slot (slot (slot f 'freetype:size_s) 'freetype:metrics) 'freetype:descender) -64)))))))
  
  
negative.code: (defclass vague-font ()
    ((lib :initarg :lib)
     (filename :initarg :filename)))
  
  ;;; I can't say I understand this vague vs. concrete font distinction,
  ;;; but I'll leave it around. -Hefner
  
  (defparameter *vague-font-hash* (make-hash-table :test #'equal))
  
  