sig
  type element =
      Text of char list
    | HGlue of float
    | VGlue of float
    | NewLine
    | NewPage
    | Font of string * Pdftext.font * float
    | BeginDest of Pdfdest.t
    | EndDest
    | BeginDocument
  type t = Cpdftype.element list
  val to_string : Cpdftype.t -> string
  val font_widths : string -> Pdftext.font -> float -> float array
  val width_of_string : float array -> char list -> float
  val typeset :
    float ->
    float ->
    float -> float -> Pdfpaper.t -> Pdf.t -> Cpdftype.t -> Pdfpage.t list
end