anchor.diff:         (incf i*)
        finally
          (setf (aref (the (simple-array (unsigned-byte 32)) glyph-ids) i*)
  -             (the (unsigned-byte 32) (glyph-info-id (font-generate-glyph* font
  -                                                                          (char-code char)
  -                                                                          glyph-transformation))))
  +             (the (unsigned-byte 32) (glyph-info-id (font-generate-glyph font
  +                                                                         (char-code char)
  +                                                                         glyph-transformation))))
        finally
        ;; rendering one glyph at a time (last glyph)
          (multiple-value-bind (current-x current-y)
  
positive.code:                                        (truncate (+ current-x 0.5))
                                         (truncate (+ current-y 0.5))
                                         glyph-ids :start i* :end (1+ i*)))
       ;; INV advance values are untransformed - see FONT-GENERATE-GLYPH*.
         (incf current-x (glyph-info-advance-width glyph-info))
         (incf current-y (glyph-info-advance-height glyph-info))
       do
  
negative.code:                               :y-advance dy)
        (let ((right (+ left (array-dimension arr 1)))
              (bottom (- top (array-dimension arr 0))))
          (if (identity-transformation-p transformation)
              (glyph-info glyph-id width height left right top bottom dx dy)
              ;; INV advance-width and advance-height are hacked here for transformed
              ;; glyph rendering. They are not transformed. See %RENDER-TRANSFORMED-GLYPHS.
              (glyph-info glyph-id width height left right top bottom udx udy))))))
  
  (defun drawable-picture (drawable)
    (or (getf (xlib:drawable-plist drawable) 'picture)
  