4 package net.sf.openrocket.gui.print;
6 import com.itextpdf.text.PageSize;
7 import com.itextpdf.text.Rectangle;
8 import com.itextpdf.text.RectangleReadOnly;
10 import javax.print.attribute.standard.MediaSizeName;
11 import java.util.HashMap;
15 * Various mappings of paper sizes.
17 public class PaperSize {
19 private static Map<String, MediaSizeName> paperNames = new HashMap<String, MediaSizeName>();
20 private static Map<MediaSizeName, Rectangle> paperItext = new HashMap<MediaSizeName, Rectangle>();
24 populateITextSizeMap();
26 private PaperSize() {}
28 public static MediaSizeName convert(String name) {
29 return paperNames.get(name);
32 public static Rectangle convert(MediaSizeName name) {
33 return paperItext.get(name);
36 private static void populateNameMap() {
37 paperNames.put("iso-a0", MediaSizeName.ISO_A0);
38 paperNames.put("iso-a1", MediaSizeName.ISO_A1);
39 paperNames.put("iso-a2", MediaSizeName.ISO_A2);
40 paperNames.put("iso-a3", MediaSizeName.ISO_A3);
41 paperNames.put("iso-a4", MediaSizeName.ISO_A4);
42 paperNames.put("iso-a5", MediaSizeName.ISO_A5);
43 paperNames.put("iso-a6", MediaSizeName.ISO_A6);
44 paperNames.put("iso-a7", MediaSizeName.ISO_A7);
45 paperNames.put("iso-a8", MediaSizeName.ISO_A8);
46 paperNames.put("iso-a9", MediaSizeName.ISO_A9);
47 paperNames.put("iso-a10", MediaSizeName.ISO_A10);
48 paperNames.put("iso-b0", MediaSizeName.ISO_B0);
49 paperNames.put("iso-b1", MediaSizeName.ISO_B1);
50 paperNames.put("iso-b2", MediaSizeName.ISO_B2);
51 paperNames.put("iso-b3", MediaSizeName.ISO_B3);
52 paperNames.put("iso-b4", MediaSizeName.ISO_B4);
53 paperNames.put("iso-b5", MediaSizeName.ISO_B5);
54 paperNames.put("iso-b6", MediaSizeName.ISO_B6);
55 paperNames.put("iso-b7", MediaSizeName.ISO_B7);
56 paperNames.put("iso-b8", MediaSizeName.ISO_B8);
57 paperNames.put("iso-b9", MediaSizeName.ISO_B9);
58 paperNames.put("iso-b10", MediaSizeName.ISO_B10);
59 paperNames.put("na-letter", MediaSizeName.NA_LETTER);
60 paperNames.put("na-legal", MediaSizeName.NA_LEGAL);
61 paperNames.put("na-8x10", MediaSizeName.NA_8X10);
62 paperNames.put("na-5x7", MediaSizeName.NA_5X7);
63 paperNames.put("executive", MediaSizeName.EXECUTIVE);
64 paperNames.put("folio", MediaSizeName.FOLIO);
65 paperNames.put("invoice", MediaSizeName.INVOICE);
66 paperNames.put("tabloid", MediaSizeName.TABLOID);
67 paperNames.put("ledger", MediaSizeName.LEDGER);
68 paperNames.put("quarto", MediaSizeName.QUARTO);
69 paperNames.put("iso-c0", MediaSizeName.ISO_C0);
70 paperNames.put("iso-c1", MediaSizeName.ISO_C1);
71 paperNames.put("iso-c2", MediaSizeName.ISO_C2);
72 paperNames.put("iso-c3", MediaSizeName.ISO_C3);
73 paperNames.put("iso-c4", MediaSizeName.ISO_C4);
74 paperNames.put("iso-c5", MediaSizeName.ISO_C5);
75 paperNames.put("iso-c6", MediaSizeName.ISO_C6);
76 paperNames.put("iso-designated-long", MediaSizeName.ISO_DESIGNATED_LONG);
77 paperNames.put("jis-b0", MediaSizeName.JIS_B0);
78 paperNames.put("jis-b1", MediaSizeName.JIS_B1);
79 paperNames.put("jis-b2", MediaSizeName.JIS_B2);
80 paperNames.put("jis-b3", MediaSizeName.JIS_B3);
81 paperNames.put("jis-b4", MediaSizeName.JIS_B4);
82 paperNames.put("jis-b5", MediaSizeName.JIS_B5);
83 paperNames.put("jis-b6", MediaSizeName.JIS_B6);
84 paperNames.put("jis-b7", MediaSizeName.JIS_B7);
85 paperNames.put("jis-b8", MediaSizeName.JIS_B8);
86 paperNames.put("jis-b9", MediaSizeName.JIS_B9);
87 paperNames.put("jis-b10", MediaSizeName.JIS_B10);
88 paperNames.put("a", MediaSizeName.A);
89 paperNames.put("b", MediaSizeName.B);
90 paperNames.put("c", MediaSizeName.C);
91 paperNames.put("d", MediaSizeName.D);
92 paperNames.put("e", MediaSizeName.E);
95 private static void populateITextSizeMap() {
96 paperItext.put(MediaSizeName.ISO_A0, PageSize.A0);
97 paperItext.put(MediaSizeName.ISO_A1, PageSize.A1);
98 paperItext.put(MediaSizeName.ISO_A2, PageSize.A2);
99 paperItext.put(MediaSizeName.ISO_A3, PageSize.A3);
100 paperItext.put(MediaSizeName.ISO_A4, PageSize.A4);
101 paperItext.put(MediaSizeName.ISO_A5, PageSize.A5);
102 paperItext.put(MediaSizeName.ISO_A6, PageSize.A6);
103 paperItext.put(MediaSizeName.ISO_A7, PageSize.A7);
104 paperItext.put(MediaSizeName.ISO_A8, PageSize.A8);
105 paperItext.put(MediaSizeName.ISO_A9, PageSize.A9);
106 paperItext.put(MediaSizeName.ISO_A10, PageSize.A10);
107 paperItext.put(MediaSizeName.ISO_B0, PageSize.B0);
108 paperItext.put(MediaSizeName.ISO_B1, PageSize.B1);
109 paperItext.put(MediaSizeName.ISO_B2, PageSize.B2);
110 paperItext.put(MediaSizeName.ISO_B3, PageSize.B3);
111 paperItext.put(MediaSizeName.ISO_B4, PageSize.B4);
112 paperItext.put(MediaSizeName.ISO_B5, PageSize.B5);
113 paperItext.put(MediaSizeName.ISO_B6, PageSize.B6);
114 paperItext.put(MediaSizeName.ISO_B7, PageSize.B7);
115 paperItext.put(MediaSizeName.ISO_B8, PageSize.B8);
116 paperItext.put(MediaSizeName.ISO_B9, PageSize.B9);
117 paperItext.put(MediaSizeName.ISO_B10, PageSize.B10);
118 paperItext.put(MediaSizeName.NA_LETTER, PageSize.LETTER);
119 paperItext.put(MediaSizeName.NA_LEGAL, PageSize.LEGAL);
120 paperItext.put(MediaSizeName.EXECUTIVE, PageSize.EXECUTIVE);
121 paperItext.put(MediaSizeName.A, PageSize.LETTER);
122 paperItext.put(MediaSizeName.B, PageSize._11X17);
123 paperItext.put(MediaSizeName.C, new RectangleReadOnly(PrintUnit.INCHES.toPoints(17), PrintUnit.INCHES.toPoints(22)));
124 paperItext.put(MediaSizeName.D, new RectangleReadOnly(PrintUnit.INCHES.toPoints(22), PrintUnit.INCHES.toPoints(34)));
125 paperItext.put(MediaSizeName.E, new RectangleReadOnly(PrintUnit.INCHES.toPoints(34), PrintUnit.INCHES.toPoints(44)));