Implement false groff:[09040dbf] used to fix #47161
[s-roff.git] / tmac / papersize.tmac
blob77a46f239d3b42ebfef8875951b6061ad4b0ab86
1 .\"@ papersize.tmac
2 .\"@ Set up groff for various paper sizes.
3 .\"@ Synopsis:
4 .\"@   groff ... -dpaper=<format> ...
5 .\"@ Possible values for `format' are the same as the predefined `papersize'
6 .\"@ values (see the groff_font man page) except a7-d7.  An appended `l'
7 .\"@ (ell) character denotes landscape orientation.  Examples: `a4', `c3l',
8 .\"@ `letterl'.
9 .\"@
10 .\"@ Most output drivers need additional command line switches `-p' and
11 .\"@ `-l' to override the default paper length and orientation as set in
12 .\"@ the driver specific DESC file.
13 .\"@ For example, use the following for PS output on A4 paper in landscape
14 .\"@ orientation::
15 .\"@  groff -Tps -dpaper=a4l -P-pa4 -P-l -ms foo.ms > foo.ps
16 .\"
17 .\" Adapted to S-roff by Steffen (Daode) Nurpmeso <steffen@sdaoden.eu>.
19 .nr _C \n(.C
20 .cp 0
22 .if d paper \{\
23 .  ds paper-a0-length 118.9c
24 .  ds paper-a0-width 84.1c
25 .  ds paper-a1-length 84.1c
26 .  ds paper-a1-width 59.4c
27 .  ds paper-a2-length 59.4c
28 .  ds paper-a2-width 42c
29 .  ds paper-a3-length 42c
30 .  ds paper-a3-width 29.7c
31 .  ds paper-a4-length 29.7c
32 .  ds paper-a4-width 21c
33 .  ds paper-a5-length 21c
34 .  ds paper-a5-width 14.8c
35 .  ds paper-a6-length 14.8c
36 .  ds paper-a6-width 10.5c
38 .  ds paper-b0-length 141.4c
39 .  ds paper-b0-width 100c
40 .  ds paper-b1-length 100c
41 .  ds paper-b1-width 70.7c
42 .  ds paper-b2-length 70.7c
43 .  ds paper-b2-width 50c
44 .  ds paper-b3-length 50c
45 .  ds paper-b3-width 35.3c
46 .  ds paper-b4-length 35.3c
47 .  ds paper-b4-width 25c
48 .  ds paper-b5-length 25c
49 .  ds paper-b5-width 17.6c
50 .  ds paper-b6-length 17.6c
51 .  ds paper-b6-width 12.5c
53 .  ds paper-c0-length 129.7c
54 .  ds paper-c0-width 91.7c
55 .  ds paper-c1-length 91.7c
56 .  ds paper-c1-width 64.8c
57 .  ds paper-c2-length 64.8c
58 .  ds paper-c2-width 45.8c
59 .  ds paper-c3-length 45.8c
60 .  ds paper-c3-width 32.4c
61 .  ds paper-c4-length 32.4c
62 .  ds paper-c4-width 22.9c
63 .  ds paper-c5-length 22.9c
64 .  ds paper-c5-width 16.2c
65 .  ds paper-c6-length 16.2c
66 .  ds paper-c6-width 11.4c
68 .  ds paper-d0-length 109.0c
69 .  ds paper-d0-width 77.1c
70 .  ds paper-d1-length 77.1c
71 .  ds paper-d1-width 54.5c
72 .  ds paper-d2-length 54.5c
73 .  ds paper-d2-width 38.5c
74 .  ds paper-d3-length 38.5c
75 .  ds paper-d3-width 27.2c
76 .  ds paper-d4-length 27.2c
77 .  ds paper-d4-width 19.2c
78 .  ds paper-d5-length 19.2c
79 .  ds paper-d5-width 13.6c
80 .  ds paper-d6-length 13.6c
81 .  ds paper-d6-width 9.6c
83 .  ds paper-letter-length 11i
84 .  ds paper-letter-width 8.5i
85 .  ds paper-legal-length 14i
86 .  ds paper-legal-width 8.5i
87 .  ds paper-tabloid-length 17i
88 .  ds paper-tabloid-width 11i
89 .  ds paper-ledger-length 11i
90 .  ds paper-ledger-width 17i
91 .  ds paper-statement-length 8.5i
92 .  ds paper-statement-width 5.5i
93 .  \" These dimensions for executive paper format is what all
94 .  \" printer manufacturers use.
95 .  ds paper-executive-length 10.5i
96 .  ds paper-executive-width 7.25i
98 .  ds paper-com10-length 9.5i
99 .  ds paper-com10-width 4.125i
100 .  ds paper-monarch-length 7.5i
101 .  ds paper-monarch-width 3.875i
102 .  ds paper-dl-length 22c
103 .  ds paper-dl-width 11c
105 .  \" We assume that letters a-z and A-Z aren't mapped during start-up.
106 .  tr AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
107 .  di lowercase
108 .    nop \*[paper]
109 .    br
110 .  di
111 .  asciify lowercase
112 .  chop lowercase
113 .  tr AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ
114 .  ds paper \*[lowercase]
115 .  rm lowercase
117 .  ds paper-p \*[paper]
118 .  ds paper-l \*[paper]
119 .  length paper-n \*[paper]
120 .  if (\n[paper-n] > 1) \{\
121 .    substring paper-p 0 -2
122 .    substring paper-l -1 -1
123 .    if !d paper-\*[paper-p]-length \{\
124 .      ds paper-p \*[paper]
125 .      ds paper-l
126 .    \}
127 .  \}
129 .  nr paper-w 0
131 .  ie d paper-\*[paper-p]-length \{\
132 .    ie '\*[paper-l]'l' \{\
133 .      pl \*[paper-\*[paper-p]-width]
134 .      ll (\*[paper-\*[paper-p]-length] - 2i)
135 .    \}
136 .    el \{\
137 .      ie '\*[paper-l]'' \{\
138 .        pl \*[paper-\*[paper-p]-length]
139 .        ll (\*[paper-\*[paper-p]-width] - 2i)
140 .      \}
141 .      el \
142 .        nr paper-w 1
143 .    \}
144 .  \}
145 .  el \
146 .    nr paper-w 1
148 .  ie \n[paper-w] \
149 .    tm warning: Unknown paper size `\*[paper]'
150 .  el \
151 .    if !r LL \
152 .      nr LL \n[.l]u  \" for ms, mdoc, man
155 .cp \n[_C]
157 .\" s-ts-mode