Since 1.6: 用紙を表すクラスです。
cairoにはないrcairoの拡張です。
Cairo::Paper.default_unitCairo::Paper.default_unit=(unit)Cairo::Paper.new(width, height, unit=nil, name=nil)指定した大きさの用紙を作ります。unitがnilの場合は Cairo::Paper.default_unitを使用します。
nameは人間のためのものです。省略しても問題ありません。
Cairo::Paper.parse(paper)Cairo::Paper.parse(name)Cairo::Paper.parse(description)description: 用紙表現: "#{WIDTH}#{UNIT}x#{HEIGHT}#{UNIT}\##{NAME}" "#{UNIT}"と最後の"\##{NAME}"は省略可能。"#{UNIT}"を省 略した場合はCairo::Paper.default_unitが使われる。
例: "100x200", "200mmx4inch", "841mmx1189mm#A0"
Cairo::Paper.register_unit_resolver(from_units, to_units, &resolver) {|size| ...}異なる単位間で値を変換する方法を登録します。以下はイン チをポイントに変換する方法を登録しています。ここでは、イ ンチの単位として"in", "inch"を、ポイントの単位として "pt"を登録しています。
((<Cairo::Paper.register_unit_resolver|cairo-paper.rd/Cairo::Paper.register_unit_resolver>))(["in", "inch"], "pt") do |size| size * 72 end
Cairo::Paper.resolve_unit(size, from_unit, to_unit)width(unit=nil)width=(width)height(unit=nil)height=(height)size(unit=nil)unitunit=(unit)namename=(name)to_s以下の形式の用紙の文字列表現を返します。
"#{WIDTH}#{UNIT}x#{HEIGHT}#{UNIT}\##{NAME}"
"#{UNIT}"および"\##{NAME}"はない場合があります。
Cairo::Paper.parseの入力にすることができます。
==(other)A0A0_LANDSCAPEA1A1_LANDSCAPEA2A2_LANDSCAPEA3A3_LANDSCAPEA4A4_LANDSCAPEA5A5_LANDSCAPEA6A6_LANDSCAPEA7A7_LANDSCAPEA8A8_LANDSCAPEA9A9_LANDSCAPEA10A10_LANDSCAPEB0B0_LANDSCAPEB1B1_LANDSCAPEB2B2_LANDSCAPEB3B3_LANDSCAPEB4B4_LANDSCAPEB5B5_LANDSCAPEB6B6_LANDSCAPEB7B7_LANDSCAPEB8B8_LANDSCAPEB9B9_LANDSCAPEB10B10_LANDSCAPEJAPANESE_POSTCARDJAPANESE_POSTCARD_LANDSCAPELEGALLEGAL_LANDSCAPELETTERLETTER_LANDSCAPETABLOIDTABLOID_LANDSCAPE