anchor.diff:  
   
   (defun get-layout-line-extents (line)
  -  (cffi:with-foreign-objects ((ink :pointer)
  -			      (logical :pointer))
  +  (cffi:with-foreign-objects ((ink 'PangoRectangle)
  +			      (logical 'PangoRectangle))
       (pango_layout_line_get_extents line ink logical)      
       (values (/ (cffi:foreign-slot-value logical 'PangoRectangle 'x) PANGO_SCALE)
   	    (/ (cffi:foreign-slot-value logical 'PangoRectangle 'y) PANGO_SCALE)
  
positive.code: 	    (cffi:mem-aref trailing :int))))
  
  (defun get-glyph-position (layout index)
    (cffi:with-foreign-objects ((rect :pointer))
      (pango_layout_index_to_pos layout index rect)
      (unless (cffi-sys:null-pointer-p rect)
        (list (/ (cffi:foreign-slot-value rect 'PangoRectangle 'x) PANGO_SCALE)
  
negative.code: 	    )))
  
  (defun get-layout-extents (layout)
    (cffi:with-foreign-objects ((ink 'PangoRectangle)
  			      (logical 'PangoRectangle))
      (pango_layout_get_extents layout ink logical)      
      (values (/ (cffi:foreign-slot-value logical 'PangoRectangle 'x) PANGO_SCALE)
  	    (/ (cffi:foreign-slot-value logical 'PangoRectangle 'y) PANGO_SCALE)
  