anchor.diff:          (ascent (text-style-ascent text-style (sheet-medium stream)))
           (descent (text-style-descent text-style (sheet-medium stream)))
           (height (+ ascent descent))
  +	(transform (medium-transformation medium))
           left top right bottom)
  +   (setf (values point-x point-y)
  +	 (transform-position transform point-x point-y))
      (ecase align-x
        (:left (setq left point-x
                     right (+ point-x width)))
  
positive.code: 
  ;;;; Patterns
  
  (def-grecording draw-pattern (() pattern x y)
    (let ((width (pattern-width pattern))
          (height (pattern-height pattern)))
      (values x y (+ x width) (+ y height))))
  
  (defmethod* (setf output-record-position) :around (nx ny (record draw-pattern-output-record))
  
negative.code: 
  (def-grecording draw-rectangle ((gs-line-style-mixin)
  				left top right bottom filled)
    (let ((transform (medium-transformation medium))
  	(border (graphics-state-line-style-border graphic medium)))
      (setf (values left top) (transform-position transform left top))
      (setf (values right bottom) (transform-position transform right bottom))
      (polygon-record-bounding-rectangle
       (vector left top left bottom right bottom right top)
       t filled line-style border
  