defmodule Pdf.Paper do @moduledoc false [ a0: [2380, 3368], a1: [1684, 2380], a2: [1190, 1684], a3: [842, 1190], a4: [595, 842], a5: [421, 595], a6: [297, 421], a7: [210, 297], a8: [148, 210], a9: [105, 148], b0: [2836, 4008], b1: [2004, 2836], b2: [1418, 2004], b3: [1002, 1418], b4: [709, 1002], b5: [501, 709], b6: [355, 501], b7: [250, 355], b8: [178, 250], b9: [125, 178], b10: [89, 125], c5e: [462, 649], comm10e: [298, 683], dle: [312, 624], executive: [542, 720], folio: [595, 935], ledger: [1224, 792], legal: [612, 1008], letter: [612, 792], tabloid: [792, 1224] ] |> Enum.each(fn {size, dimensions} -> def size(unquote(size)), do: [0, 0 | unquote(dimensions)] def size({unquote(size), :landscape}), do: [0, 0 | unquote(Enum.reverse(dimensions))] end) def size([_width, _height] = dimensions), do: [0, 0 | dimensions] end