prawn:Prawn::Document#font_families

#!/usr/bin/env ruby

require "prawn"

pdf = Prawn::Document.new
p pdf.font_families

pdf.font_families.update(
   "MyTrueTypeFamily" => { :bold        => "foo-bold.ttf",
                           :italic      => "foo-italic.ttf",
                           :bold_italic => "foo-bold-italic.ttf",
                           :normal      => "foo.ttf" })
p pdf.font_families

で、

{"Courier"=>{:bold=>"Courier-Bold", :italic=>"Courier-Oblique", :normal=>"Courier", :bold_italic=>"Courier-BoldOblique"}, "Times-Roman"=>{:bold=>"Times-Bold", :italic=>"Times-Italic", :normal=>"Times-Roman", :bold_italic=>"Times-BoldItalic"}, "Helvetica"=>{:bold=>"Helvetica-Bold", :italic=>"Helvetica-Oblique", :normal=>"Helvetica", :bold_italic=>"Helvetica-BoldOblique"}}
{"MyTrueTypeFamily"=>{:bold=>"foo-bold.ttf", :italic=>"foo-italic.ttf", :bold_italic=>"foo-bold-italic.ttf", :normal=>"foo.ttf"}, "Courier"=>{:bold=>"Courier-Bold", :italic=>"Courier-Oblique", :bold_italic=>"Courier-BoldOblique", :normal=>"Courier"}, "Times-Roman"=>{:bold=>"Times-Bold", :italic=>"Times-Italic", :bold_italic=>"Times-BoldItalic", :normal=>"Times-Roman"}, "Helvetica"=>{:bold=>"Helvetica-Bold", :italic=>"Helvetica-Oblique", :bold_italic=>"Helvetica-BoldOblique", :normal=>"Helvetica"}}