sig
  type t
  val createFromFile : filename:string -> SFFont.t
  val createFromMemory : data:string -> SFFont.t
  val copy : SFFont.t -> SFFont.t
  type glyph = {
    advance : int;
    bounds : int SFRect.t;
    textureRect : int SFRect.t;
  }
  val getGlyph :
    SFFont.t ->
    codePoint:int32 -> characterSize:int -> bold:bool -> SFFont.glyph
  val getKerning :
    SFFont.t -> first:int32 -> second:int32 -> characterSize:int -> int
  val getLineSpacing : SFFont.t -> characterSize:int -> int
end