# File lib/cairo/paper.rb, line 31 def parse(paper_description, robust=false) case paper_description when Paper return paper_description.dup when Symbol paper = resolve_constant(paper_description) return paper.dup if paper raise UnknownPaperName.new(paper_description) when String paper = resolve_constant(paper_description) paper ||= parse_size(paper_description) return paper.dup if paper when Array return new(*paper_description) end raise UnrecognizedPaperDescription.new(paper_description) if robust nil end