anchor.diff:  
   (defbinding font-description-to-string () string
     (desc font-description))
  +
  +
  +;;;; Layout
  +
  +(defmethod initialize-instance ((layout layout) &key markup)
  +  (call-next-method)
  +  (when markup
  +    (layout-set-markup layout markup)))
  +
  +(defmethod allocate-foreign ((layout layout) &key context)
  +  (etypecase context
  +    (context (%layout-new context))
  +    (cairo:context (%cairo-create-layout context))))
  +
  +(defbinding %layout-new () pointer
  +  (context context))
  +
  +(defbinding layout-copy () (referenced layout)
  +  (layout layout))
  +
  +(defbinding layout-context-changed () nil
  +  (layout layout))
  +
  +(defbinding %layout-set-text () nil
  +  (layout layout)
  +  (text string)
  +  (-1 int))
  +
  +(defbinding layout-set-markup () nil
  +  (layout layout)
  +  (markup string)
  +  (-1 int))
  +
  +
  +
  +;;; Cairo Rendering
  +
  +(defbinding (cairo-create-font-map "pango_cairo_font_map_new") 
  +    () (referenced font-map))
  +
  +(defbinding cairo-font-map-get-default () font-map)
  +
  +(defbinding cairo-font-map-create-context () (referenced context)
  +  (font-map cairo-font-map))
  +
  +(defbinding (cairo-context-resolution "pango_cairo_context_get_resolution")
  +    () double-float
  +  (context context))
  +
  +(defbinding %cairo-context-set-resolution () nil
  +  (context context)
  +  (dpi double-float))
  +
  +(defun (setf cairo-context-resolution) (dpi context)
  +  (%cairo-context-set-resolution context dpi))
  +
  +(defbinding (cairo-context-font-options "pango_cairo_context_get_font_options")
  +    () cairo:font-options
  +  (context context))
  +
  +(defbinding %cairo-context-set-font-options () nil
  +  (context context)
  +  (font-options cairo:font-options))
  +
  +(defun (setf cairo-context-font-options) (font-options context)
  +  (%cairo-context-set-font-options context font-options))
  +
  +(defbinding %cairo-create-layout () pointer
  +  (cr cairo:context))
  +
  +(defbinding cairo-update-layout () nil
  +  (cr cairo:context)
  +  (layout layout))
  +
  +(defbinding cairo-show-glyph-string () nil
  +  (cr cairo:context)
  +  (font font)
  +  (glyphs glyph-string))
  +
  +(defbinding cairo-show-layout-line () nil
  +  (cr cairo:context)
  +  (line layout-line))
  +
  +(defbinding cairo-show-layout () nil
  +  (cr cairo:context)
  +  (layout layout))
  +
  +(defbinding cairo-show-error-underline () nil
  +  (cr cairo:context)
  +  (x double-float)
  +  (y double-float)
  +  (width double-float)
  +  (height double-float))
  +
  +(defbinding cairo-glyph-string-path () nil
  +  (cr cairo:context)
  +  (font font)
  +  (glyphs glyph-string))
  +
  +(defbinding cairo-layout-line-path () nil
  +  (cr cairo:context)
  +  (line layout-line))
  +
  +(defbinding cairo-layout-path () nil
  +  (cr cairo:context)
  +  (layout layout))
  +
  +(defbinding cairo-error-underline-path () nil
  +  (cr cairo:context)
  +  (x double-float)
  +  (y double-float)
  +  (width double-float)
  +  (height double-float))
  +
  
positive.code:   (init-types-in-library #.(concatenate 'string 
  			    (pkg-variable "pango" "libdir")
  			    "/libpangoft2-1.0." asdf:*dso-extension*) 
  			 :prefix "pango_fc"))
  
  
  (eval-when (:compile-toplevel :load-toplevel :execute)
    (define-types-by-introspection "Pango")
  
    (defclass font-description (boxed)
      ((family
        :allocation :virtual
        :initarg :family
        :getter "pango_font_description_get_family"
        :setter "pango_font_description_set_family"
        :boundp %font-description-family-boundp
        :makunbound %font-description-family-makunbound
        :accessor font-description-family
        :type string)
       (style
        :allocation :virtual
        :initarg :style
        :getter "pango_font_description_get_style"
        :setter "pango_font_description_set_style"
        :boundp %font-description-style-boundp
        :makunbound %font-description-style-makunbound
        :accessor font-description-style
        :type style)
       (variant
        :allocation :virtual
        :initarg :variant
        :getter "pango_font_description_get_variant"
        :setter "pango_font_description_set_variant"
        :boundp %font-description-variant-boundp
        :makunbound %font-description-variant-makunbound
        :accessor font-description-variant
        :type variant)
       (weight
        :allocation :virtual
        :initarg :weight
        :getter "pango_font_description_get_weight"
        :setter "pango_font_description_set_weight"
        :boundp %font-description-weight-boundp
        :makunbound %font-description-weight-makunbound
        :accessor font-description-weight
        :type weight)
       (stretch
        :allocation :virtual
        :initarg :stretch
        :getter "pango_font_description_get_stretch"
        :setter "pango_font_description_set_stretch"
        :boundp %font-description-stretch-boundp
        :makunbound %font-description-stretch-makbound
        :accessor font-description-stretch
        :type stretch)
       (size
        :allocation :virtual
        :initarg :size
        :setter (setf font-description-size)
        :getter "pango_font_description_get_size"
        :boundp %font-description-size-boundp
        :makunbound %font-description-size-makunbound
        :reader font-description-size
        :type integer)
       #?(pkg-exists-p "pango" :atleast-version "1.8.0")
       (absolute-size-p
        :allocation :virtual
        :getter "pango_font_description_get_size_is_absolute"
        :boundp %font-description-size-boundp
        :reader font-description-size-is-absolute-p
        :type boolean))
      (:metaclass boxed-class)))
  
  
  (defmethod initialize-instance ((desc font-description) &key absolute-size)
    (call-next-method)
  
negative.code: ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
  ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  
  ;; $Id: pango.lisp,v 1.13 2007-04-06 14:51:26 espen Exp $
  
  (in-package "PANGO")
  
  