(parse_rank_function) Fix msg() bug found by -Wformat.
[pspp] / config / devices
1 # PSPP's standard output drivers.
2 #
3 # An introduction to the use of PSPP output drivers and this file
4 # follows.  However, refer to PSPP's Texinfo documentation for full
5 # information.
6 #
7 # Each output driver specification must be on a single line; however,
8 # lines may be spliced with a \ at the end of a line.  Line splicing
9 # is performed *before* comments (introduced by `#') are removed.
10 #
11 # Format is `DRIVERNAME:CLASSNAME:DEVICETYPE:OPTIONS'.
12 #
13 # DRIVERNAME is the name that identifies the driver to the user.  It
14 # is the name used on the -o command-line option.
15 #
16 # CLASSNAME is the internal name of the type of driver.  Device
17 # classes can be listed with `pspp -l'.
18 #
19 # DEVICETYPE identifies what type or types the devices is.  Zero or
20 # more of the following keywords may be given here: screen, printer,
21 # or listing.
22 #
23 # OPTIONS is a list of key/value pairs to pass to the driver.  Use
24 # spaces to separate pairs, and '=' to separate keys and values.
25 # Quotes " or ' can be used to delimit values that contain spaces.
26 # Example: paper-size="Envelope #10" charset=latin1
27 #
28 # Driver categories may be defined with lines of the form:
29 #
30 #   category=driver1 driver2 driver3 ... driverN
31 #
32 # To disable a driver, define a category with nothing on the right
33 # side.
34 #
35 # Macros may be defined with lines of the form:
36 #
37 #   define macro-name definition
38 #
39 # Macros may not be recursive; they may not take arguments.  (However,
40 # `definition' is macro-expanded *at time of definition*.)  Macros are
41 # referenced with $var or ${var} syntax; the latter is preferred.
42 # Macro definitions on the PSPP command-line take precedence without
43 # warning.
44
45 # Preferred devices.
46 default=tty list
47 tty=#tty-ibmpc
48 list=list-ascii
49
50 # Output files.
51 define tty-output-file "/dev/tty"
52 define list-output-file "pspp.list"
53
54 define no-attributes bold-on="" italic-on="" bold-italic-on=""
55
56 # Generic ASCII devices
57 tty-ascii:ascii:screen:char-set=ascii output-file=${tty-output-file} \
58   ${no-attributes}
59 list-ascii:ascii:listing:length=66 width=79 char-set=ascii \
60   output-file=${list-output-file} ${no-attributes}
61 raw-ascii:ascii:screen:width=9999 length=9999 char-set=ascii \
62   output-file=${list-output-file} ${no-attributes} headers=off paginate=off \
63   squeeze=on top-margin=0 bottom-margin=0
64
65 # ASCII devices that support bold & underline via backspacing.
66 tty-ascii-bi:ascii:screen:char-set=ascii output-file=${tty-output-file}
67 list-ascii-bi:ascii:listing:length=66 width=79 char-set=ascii \
68   output-file=${list-output-file}
69
70 # HTML device.
71 html:html::
72
73 # Devices that support the IBM PC line-drawing characters.
74 define ibmpc-graphics \
75   box[0000]='\x20' box[0001]='\xb3' box[0002]='\xba' box[0003]='\xba' \
76   box[0010]='\xc4' box[0011]='\xd9' box[0012]='\xbd' box[0013]='\xbd' \
77   box[0020]='\xcd' box[0021]='\xbe' box[0022]='\xbc' box[0023]='\xbc' \
78   box[0030]='\xf0' box[0031]='\xbe' box[0032]='\xbc' box[0033]='\xbc' \
79   box[0100]='\xb3' box[0101]='\xb3' box[0102]='\xc4' box[0103]='\xf0' \
80   box[0110]='\xbf' box[0111]='\xb4' box[0112]='\xb6' box[0113]='\xb6' \
81   box[0120]='\xb8' box[0121]='\xb5' box[0122]='\xb9' box[0123]='\xb9' \
82   box[0130]='\xb8' box[0131]='\xb5' box[0132]='\xb9' box[0133]='\xb9' \
83   box[0200]='\xba' box[0201]='\xba' box[0202]='\xba' box[0203]='\xba' \
84   box[0210]='\xb7' box[0211]='\xb6' box[0212]='\xb6' box[0213]='\xb6' \
85   box[0220]='\xbb' box[0221]='\xb9' box[0222]='\xb9' box[0223]='\xb9' \
86   box[0300]='\xb3' box[0301]='\xba' box[0302]='\xba' box[0303]='\xba' \
87   box[0310]='\xb7' box[0311]='\xb6' box[0312]='\xb6' box[0313]='\xb6' \
88   box[0320]='\xbb' box[0321]='\xb9' box[0322]='\xb9' box[0323]='\xb9' \
89   box[0330]='\xbb' box[0331]='\xb9' box[0332]='\xb9' box[0333]='\xb9' \
90   box[1000]='\xc4' box[1001]='\xc0' box[1002]='\xd3' box[1003]='\xd3' \
91   box[1010]='\xc4' box[1011]='\xc1' box[1012]='\xd0' box[1013]='\xd0' \
92   box[1020]='\xcd' box[1021]='\xcf' box[1022]='\xca' box[1023]='\xca' \
93   box[1030]='\xf0' box[1031]='\xcf' box[1032]='\xca' box[1033]='\xca' \
94   box[1100]='\xda' box[1101]='\xc3' box[1102]='\xc7' box[1103]='\xc7' \
95   box[1110]='\xc2' box[1111]='\xc5' box[1112]='\xd7' box[1113]='\xd7' \
96   box[1120]='\xd1' box[1121]='\xd8' box[1122]='\xce' box[1123]='\xce' \
97   box[1130]='\xd1' box[1131]='\xd8' box[1132]='\xce' box[1133]='\xce' \
98   box[1200]='\xd6' box[1201]='\xc7' box[1202]='\xc7' box[1203]='\xc7' \
99   box[1210]='\xd2' box[1211]='\xd7' box[1212]='\xd7' box[1213]='\xd7' \
100   box[1220]='\xca' box[1221]='\xce' box[1222]='\xce' box[1223]='\xce' \
101   box[1230]='\xca' box[1231]='\xce' box[1232]='\xce' box[1233]='\xce' \
102   box[1300]='\xd6' box[1301]='\xc7' box[1302]='\xc7' box[1303]='\xc7' \
103   box[1310]='\xd2' box[1311]='\xd7' box[1312]='\xd7' box[1313]='\xd7' \
104   box[1320]='\xca' box[1321]='\xce' box[1322]='\xce' box[1323]='\xce' \
105   box[1330]='\xca' box[1331]='\xce' box[1332]='\xce' box[1333]='\xce' \
106   box[2000]='\xcd' box[2001]='\xd4' box[2002]='\xc8' box[2003]='\xc8' \
107   box[2010]='\xcd' box[2011]='\xcf' box[2012]='\xca' box[2013]='\xca' \
108   box[2020]='\xcd' box[2021]='\xcf' box[2022]='\xca' box[2023]='\xca' \
109   box[2030]='\xf0' box[2031]='\xcf' box[2032]='\xca' box[2033]='\xca' \
110   box[2100]='\xd5' box[2101]='\xc6' box[2102]='\xcc' box[2103]='\xcc' \
111   box[2110]='\xd1' box[2111]='\xd8' box[2112]='\xce' box[2113]='\xce' \
112   box[2120]='\xd1' box[2121]='\xd8' box[2122]='\xce' box[2123]='\xce' \
113   box[2130]='\xd1' box[2131]='\xd8' box[2132]='\xce' box[2133]='\xce' \
114   box[2200]='\xc9' box[2201]='\xcc' box[2202]='\xcc' box[2203]='\xcc' \
115   box[2210]='\xcb' box[2211]='\xce' box[2212]='\xce' box[2213]='\xce' \
116   box[2220]='\xcb' box[2221]='\xce' box[2222]='\xce' box[2223]='\xce' \
117   box[2230]='\xcb' box[2231]='\xce' box[2232]='\xce' box[2233]='\xce' \
118   box[2300]='\xc9' box[2301]='\xcc' box[2302]='\xcc' box[2303]='\xce' \
119   box[2310]='\xcb' box[2311]='\xce' box[2312]='\xce' box[2313]='\xce' \
120   box[2320]='\xcb' box[2321]='\xce' box[2322]='\xce' box[2323]='\xce' \
121   box[2330]='\xcb' box[2331]='\xce' box[2332]='\xce' box[2333]='\xce' \
122   box[3000]='\xcd' box[3001]='\xd4' box[3002]='\xc8' box[3003]='\xc8' \
123   box[3010]='\xcd' box[3011]='\xcf' box[3012]='\xca' box[3013]='\xca' \
124   box[3020]='\xcd' box[3021]='\xcf' box[3022]='\xca' box[3023]='\xca' \
125   box[3030]='\xcd' box[3031]='\xcf' box[3032]='\xca' box[3033]='\xca' \
126   box[3100]='\xd5' box[3101]='\xc6' box[3102]='\xcc' box[3103]='\xcc' \
127   box[3110]='\xd1' box[3111]='\xd8' box[3112]='\xce' box[3113]='\xce' \
128   box[3120]='\xd1' box[3121]='\xd8' box[3122]='\xce' box[3123]='\xce' \
129   box[3130]='\xd1' box[3131]='\xd8' box[3132]='\xce' box[3133]='\xce' \
130   box[3200]='\xc9' box[3201]='\xcc' box[3202]='\xcc' box[3203]='\xcc' \
131   box[3210]='\xcb' box[3211]='\xce' box[3212]='\xce' box[3213]='\xce' \
132   box[3220]='\xcb' box[3221]='\xce' box[3222]='\xce' box[3223]='\xce' \
133   box[3230]='\xcb' box[3231]='\xce' box[3232]='\xce' box[3233]='\xce' \
134   box[3300]='\xc9' box[3301]='\xcc' box[3302]='\xcc' box[3303]='\xce' \
135   box[3310]='\xcb' box[3311]='\xce' box[3312]='\xce' box[3313]='\xce' \
136   box[3320]='\xcb' box[3321]='\xce' box[3322]='\xce' box[3323]='\xce' \
137   box[3330]='\xcb' box[3331]='\xce' box[3332]='\xce' box[3333]='\xce'
138
139 tty-ibmpc:ascii:screen:length=$viewlength width=$viewwidth ${ibmpc-graphics} \
140   output-file=${tty-output-file}
141 list-ibmpc:ascii:listing:length=66 width=79 output-file=${list-output-file} \
142   ${ibmpc-graphics}
143
144 # PostScript device.  Tested with HP LaserJet 6MP.
145 list-ps:postscript::
146
147 # Okidata Microline 520 (these use the Microline emulation mode).
148 define ml520-common output-file=${list-output-file} ${ibmpc-graphics} \
149   bold-on='\x1b\x54' bold-off='\x1b\x49' init='\x1b\x7b\x21\x1b\x23\x30'
150 define ml520-italic italic-on='\x1b\x21\x2f' italic-off='\x1b\x21\x2a' \
151   bold-italic-on='\x1b\x21\x2f\x1b\x54' bold-italic-off='\x1b\x21\x2a\x1b\x49'
152 define ml520-ul italic-on='\x1b\x43' italic-off='\x1b\x44' \
153   bold-italic-on='\x1b\x43\x1b\x54' bold-italic-off='\x1b\x44\x1b\x49'
154 ml520=ml520-10cpi
155 ml520-10cpi:ascii:printer:length=66 width=79 ${ml520-common} ${ml520-italic}
156 ml520-10cpi-ul:ascii:printer:length=66 width=79 ${ml520-common} ${ml520-ul}
157 ml520-17cpi:ascii:printer:length=66 width=144 ${ml520-common} ${ml520-italic} \
158   cpi=17 init='\x1b\x7b\x21\x1b\x23\x30\x1d'
159 ml520-17cpi-ul:ascii:printer:length=66 width=144 ${ml520-common} ${ml520-ul} \
160   cpi=17 init='\x1b\x7b\x21\x1b\x23\x30\x1d'
161 ml520-20cpi:ascii:printer:length=66 width=160 ${ml520-common} ${ml520-italic} \
162   cpi=17 init='\x1b\x7b\x21\x1b\x23\x30\x1b\x23\x33'
163 ml520-20cpi-ul:ascii:printer:length=66 width=160 ${ml520-common} ${ml520-ul} \
164   cpi=17 init='\x1b\x7b\x21\x1b\x23\x30\x1b\x23\x33'
165
166 # Local Variables:
167 # fill-prefix: "# "
168 # End: