anchor.diff:  ;; 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.12 2006-08-30 11:08:13 espen Exp $
  +;; $Id: pango.lisp,v 1.13 2007-04-06 14:51:26 espen Exp $
   
   (in-package "PANGO")
   
  
positive.code: 
  (defbinding font-description-to-string () string
    (desc font-description))
  
negative.code:   (init-types-in-library #.(concatenate 'string 
  			    (pkg-variable "pango" "libdir")
  			    "/libpangoft2-1.0." asdf:*dso-extension*) 
  			 :prefix "pango_fc")
    (init-types-in-library #.(concatenate 'string 
  			    (pkg-variable "pango" "libdir")
  			    "/libpangocairo-1.0." asdf:*dso-extension*) 
  			 :prefix "pango_cairo"))
  
  
  (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))
  
  (defclass layout (gobject)
    ((context
      :allocation :virtual
      :getter "pango_layout_get_context"
      :reader layout-context
      :type context)
     (text
      :allocation :virtual
      :initarg text
      :getter "pango_layout_get_text"
      :setter %layout-set-text
      :accessor layout-text
      :type string)
     (attributes 
      :allocation :virtual
      :initarg :attributes
      :getter "pango_layout_get_attributes"
      :setter "pango_layout_set_attributes"
      :accessor layout-attributes
      :type attr-list)
     (font-description 
      :allocation :virtual
      :initarg :font-description
      :getter "pango_layout_get_font_description"
      :setter "pango_layout_set_font_description"
      :accessor layout-font-description
      :type font-description)
     (width
      :allocation :virtual
      :initarg :width
      :getter "pango_layout_get_width"
      :setter "pango_layout_set_width"
      :accessor layout-width
      :type int)
     (wrap
      :allocation :virtual
      :initarg :wrap
      :getter "pango_layout_get_wrap"
      :setter "pango_layout_set_wrap"
      :accessor layout-wrap
      :type wrap-mode)
     (ellipsize
      :allocation :virtual
      :initarg :ellipsize
      :getter "pango_layout_get_ellipsize"
      :setter "pango_layout_set_ellipsize"
      :accessor layout-ellipsize
      :type ellipsize-mode)
     (indent
      :allocation :virtual
      :initarg :indent
      :getter "pango_layout_get_indent"
      :setter "pango_layout_set_indetn"
      :accessor layout-indent
      :type int)
     (spacing
      :allocation :virtual
      :initarg :spacing
      :getter "pango_layout_get_spacing"
      :setter "pango_layout_set_spacing"
      :accessor layout-spacing
      :type int)
     (justify
      :allocation :virtual
      :initarg :justify
      :getter "pango_layout_get_justify"
      :setter "pango_layout_set_justify"
      :accessor layout-justify-p
      :type boolean)
     (auto-dir
      :allocation :virtual
      :initarg :auto-dir
      :getter "pango_layout_get_auto_dir"
      :setter "pango_layout_set_auto_dir"
      :accessor layout-auto-dir-p
      :type boolean)
     (alignment
      :allocation :virtual
      :initarg :alignment
      :getter "pango_layout_get_alignment"
      :setter "pango_layout_set_alignment"
      :accessor layout-alignment
      :type alignment)
     (tab-array
      :allocation :virtual
      :initarg :tab-array
      :getter "pango_layout_tab_array"
      :setter "pango_layout_tab-array"
      :accessor layout-tab-array
      :type tab-array)
     (single-paragraph
      :allocation :virtual
      :initarg :single-paragraph
      :getter "pango_layout_get_single_paragraph_mode"
      :setter "pango_layout_set_single_paragraph_mode"
      :accessor layout-single-paragraph-p
      :type boolean))
    (:metaclass gobject-class))
  
  (defclass cairo-font-map (interface)
    ((resolution
      :allocation :virtual
      :getter "pango_cairo_font_map_get_resolution"
      :setter "pango_cairo_font_map_set_resolution"
      :accessor cairo-font-map-resolution
      :type double-float))
    (:metaclass interface-class))
  
  
  ;;;; Font description
  
  (defmethod initialize-instance ((desc font-description) &key absolute-size)
    (call-next-method)
  