sig
  type -'a t
  external create :
    ([> `Any ] as 'a) Cairo.font_face ->
    Cairo.matrix ->
    Cairo.matrix -> Cairo.Font_Options.t -> 'Cairo.Scaled_Font.t
    = "ml_cairo_scaled_font_create"
  val get_type :
    [> `Any ] Cairo.Scaled_Font.t -> [ `ATSUI | `Any | `FT | `TOY | `Win32 ]
  val downcast_to_toy :
    [> `Any ] Cairo.Scaled_Font.t -> [ `Any | `TOY ] Cairo.Scaled_Font.t
  external font_extents : [> `Any ] Cairo.Scaled_Font.t -> Cairo.font_extents
    = "ml_cairo_scaled_font_extents"
  external text_extents :
    [> `Any ] Cairo.Scaled_Font.t -> string -> Cairo.text_extents
    = "ml_cairo_scaled_font_text_extents"
  external glyph_extents :
    [> `Any ] Cairo.Scaled_Font.t -> Cairo.glyph array -> Cairo.text_extents
    = "ml_cairo_scaled_font_glyph_extents"
  external get_font_face :
    ([> `Any ] as 'a) Cairo.Scaled_Font.t -> 'Cairo.font_face
    = "ml_cairo_scaled_font_get_font_face"
  external get_font_matrix : [> `Any ] Cairo.Scaled_Font.t -> Cairo.matrix
    = "ml_cairo_scaled_font_get_font_matrix"
  external get_ctm : [> `Any ] Cairo.Scaled_Font.t -> Cairo.matrix
    = "ml_cairo_scaled_font_get_ctm"
  val get_font_options :
    [> `Any ] Cairo.Scaled_Font.t -> Cairo.Font_Options.t
end