.pdr
fileThe usual method for creating a printer driver .pdr
file
involves coding the printer driver specification as a text file, a
.pd
file, and then compiling this file using the
pdrtran
tool. See the command line syntax and the .pdr file syntax.
As an example, the EPSON printer driver specification is coded as follows:
! EPSON.PD
! Printer driver file for Epson printers
Resources Resources
Reset "<27>@<27>T<1><27>6<27>x<1><27>R<0>"
SetPageSize "<27>C<0>%c"
! <27>l<0> left margin to zero
! <27>N<0> no bottom margin
! <27>+<2> 180 lines per inch
! <27>x<1> letter quality
PreAmble "<10><27>l<0><27>N<0><27>+<2><27>x<1>"
PostAmble "<12><27>@"
BoldOn "<27>E"
BoldOff "<27>F"
ItalicOn "<27>4"
ItalicOff "<27>5"
UnderlineOn "<27>-<1>"
UnderlineOff "<27>-<0>"
StrikethroughOn "<27>(-<03><00><01><02><01>"
StrikethroughOff "<27>(-<03><00><01><02><00>"
NewPage "<12><10>"
IncrementXPos "<27>\%w"
IncrementYPos "<27>J%c" ! maximum 255/180 of an inch
CarriageReturn "<13>"
BitmapStart "<27>*<39>%w"
BitmapEnd "<13>"
EndResources
Translates Page850ToWindows
130:44 ! low quotation mark mapped to comma
131:159
132:44 ! double low quotation marks mapped to comma
133:46 ! ellipses mapped to full stop
134:"<27>R<64><125><27>R<0>"
135:32 ! Double dagger mapped to space
136:94 ! mapped to circumflex accent
137:32 ! per mille sign mapped to space
138:83 ! S with caron mapped to S.
139:174 ! single left pointing angle quotation mark mapped to double
140:32 ! Capital OE ligature mapped to space
145:39 ! left single quotation mark mapped to apostrophe
146:39 ! right single quotation mark mapped to apostrophe
147:34 ! left double quotation mark mapped to quotation mark
148:34 ! right double quotation mark mapped to quotation mark
149:250 ! bullet
150:45 ! en-dash mapped to hyphen-minus
151:45 ! em-dash mapped to hyphen-minus
152:246 ! small tilde mapped to tilde
153:"<27>R<64><126><27>R<0>" ! Trademark symbol
154:115 ! s with caron mapped to s
155:175 ! single right pointing angle quotation mark mapped to double
156:32 ! small oe ligature mapped to space
159:89 ! Y with diaeresis mapped to Y
160:32 ! no-break space mapped to space
161:173 ! Inverted excl. mark
162:189 ! cent sign
163:156 ! Pound sign
164:"<27>R<5><36><27>R<0>" ! currency symbol
165:"<27>R<8><92><27>R<0>" ! Yen symbol
166:124 ! Vertical bar
167:"<27>R<64><64><27>R<0>" ! Section sign
168:"<27>R<1><126><27>R<0>" ! diaeresis
169:"<27>R<64><123><27>R<0>" ! Copyright symbol
170:166 ! Feminine ordinal indicator
171:174
172:170
173:45 ! Soft hyphen mapped to hyphen-minus
174:"<27>R<64><124><27>R<0>" ! Registered sign
175:238 ! Macron
176:"<27>R<64><91><27>R<0>"
177:241
178:253
179:252 ! Superscript 3
180:239 ! Acute accent
181:230 ! Micro sign
182:"<27>R<64><94><27>R<0>" ! Pilcrow sign
183:250 ! Middle dot
184:247 ! Cedilla
185:251 ! Superscript 1
186:167
187:175
188:172
189:171
190:32 ! Three quarters mapped to space
191:168
192:183 ! A grave
193:181 ! A acute
194:182 ! A circumflex
195:199 ! A tilde
196:142
197:143
198:146
199:128
200:212 ! E grave
201:144
202:210
203:211
204:73 ! I grave mapped to I
205:214 ! I acute
206:215 ! I circumflex
207:216 ! I diaeresis
208:209 ! ETH mapped to D
209:165
210:227 ! O grave
211:224 ! O acute
212:226 ! O circumflex
213:229 ! O tilde
214:153
215:158 ! Multiplication sign
216:"<27>R<9><92><27>R<0>" ! O with stroke
217:235 ! U with grave
218:233 ! U acute
219:234 ! U circumflex
220:154
221:237 ! Y acute
222:232 ! Capital thorn
223:"<27>R<2><126><27>R<0>" ! small sharp S
224:133
225:160
226:131
227:198 ! a tilde
228:132
229:134
230:145
231:135
232:138
233:130
234:136
235:137
236:141
237:161
238:140
239:139
240:208 ! Small letter eth
241:164
242:149
243:162
244:147
245:228 ! o tilde
246:148
247:246
248:"<27>R<9><124><27>R<0>" ! Small o with stroke
249:151
250:163
251:150
252:129
253:236 ! y acute
254:231 ! small letter thorn
255:152
EndTranslates
FontInfo Prop
MaxNormalCharWidth 21
Ascent 20
CodeSection 32:127
32:15
33:9 34:15 35:15 36:15 37:18 38:18 39:9 40:12
41:12 42:15 43:15 44:9 45:15 46:9 47:15 48:15
49:15 50:15 51:15 52:15 53:15 54:15 55:15 56:15
57:15 58:9 59:9 60:15 61:15 62:15 63:15 64:18
65:18 66:18 67:18 68:18 69:18 70:18 71:18 72:18
73:12 74:15 75:18 76:18 77:21 78:18 79:18 80:18
81:18 82:18 83:18 84:18 85:21 86:18 87:21 88:18
89:18 90:15 91:12 92:15 93:12 94:15 95:15 96:9
97:15 98:18 99:15 100:18 101:15 102:12 103:18 104:18
105:9 106:12 107:18 108:9 109:21 110:18 111:15 112:18
113:18 114:15 115:15 116:12 117:18 118:18 119:21 120:15
121:18 122:15 123:12 124:9 125:12 126:15 127:18
EndCodeSection
CodeSection 130:140
130:9 131:15 132:9 133:9 134:18 135:15 136:15
137:15 138:18 139:15 140:15
EndCodeSection
CodeSection 145:156
145:9 146:9 147:15 148:15 149:15 150:15 151:15
152:15 153:18 154:15 155:15 156:15
EndCodeSection
CodeSection 159:255
159:18 160:15 161:15 162:15 163:15 164:15 165:18
166:9 167:15 168:15 169:18 170:15 171:15 172:15
173:15 174:18 175:15 176:15 177:15 178:15 179:15
180:9 181:15 182:15 183:15 184:15 185:15 186:15
187:15 188:15 189:15 190:15 191:15
192:18 193:18 194:18 195:18 196:18 197:18 198:21
199:18 200:18 201:18 202:18 203:69 204:12 205:12
206:12 207:12 208:18 209:18 210:18 211:18 212:18
213:18 214:18 215:15 216:15 217:21 218:21 219:21
220:21 221:18 222:18 223:18 224:15 225:15 226:15
227:15 228:15 229:15 230:21 231:15 232:15 233:15
234:15 235:15 236:9 237:9 238:9 239:9 240:18
241:18 242:15 243:15 244:15 245:15 246:15 247:15
248:15 249:18 250:18 251:18 252:18 253:18 254:18 255:18
EndCodeSection
EndFontInfo
FontInfo DoubleProp
MaxNormalCharWidth 42
Ascent 40
CodeSection 32:127
32:30
33:18 34:30 35:30 36:30 37:36 38:36 39:18 40:24
41:24 42:30 43:30 44:18 45:30 46:18 47:30 48:30
49:30 50:30 51:30 52:30 53:30 54:30 55:30 56:30
57:30 58:18 59:18 60:30 61:30 62:30 63:30 64:36
65:36 66:36 67:36 68:36 69:36 70:36 71:36 72:36
73:24 74:30 75:36 76:36 77:42 78:36 79:36 80:36
81:36 82:36 83:36 84:36 85:42 86:36 87:42 88:36
89:36 90:30 91:24 92:30 93:24 94:30 95:30 96:18
97:30 98:36 99:30 100:36 101:30 102:24 103:36 104:36
105:18 106:24 107:36 108:18 109:42 110:36 111:30 112:36
113:36 114:30 115:30 116:24 117:36 118:36 119:42 120:30
121:36 122:30 123:24 124:18 125:24 126:30 127:36
EndCodeSection
CodeSection 130:140
130:18 131:30 132:18 133:18 134:36 135:30 136:30
137:30 138:36 139:30 140:30
EndCodeSection
CodeSection 145:156
145:18 146:18 147:30 148:30 149:30 150:30 151:30
152:30 153:36 154:30 155:30 156:30
EndCodeSection
CodeSection 159:255
159:36 160:30 161:30 162:30 163:30 164:30 165:36
166:18 167:30 168:30 169:36 170:30 171:30 172:30
173:30 174:36 175:30 176:30 177:30 178:30 179:30
180:18 181:30 182:30 183:30 184:30 185:30 186:30
187:30 188:30 189:30 190:30 191:30
192:36 193:36 194:36 195:36 196:36 197:36 198:42
199:36 200:36 201:36 202:36 203:69 204:24 205:24
206:24 207:24 208:36 209:36 210:36 211:36 212:36
213:36 214:36 215:30 216:30 217:42 218:42 219:42
220:42 221:36 222:36 223:36 224:30 225:30 226:30
227:30 228:30 229:30 230:42 231:30 232:30 233:30
234:30 235:30 236:18 237:18 238:18 239:18 240:36
241:36 242:30 243:30 244:30 245:30 246:30 247:30
248:30 249:36 250:36 251:36 252:36 253:36 254:36 255:36
EndCodeSection
EndFontInfo
FontInfo CourierC10
MaxNormalCharWidth 12
Ascent 20
CodeSection 0:255
0:12
EndCodeSection
EndFontInfo
FontInfo Courier10
MaxNormalCharWidth 15
Ascent 20
CodeSection 0:255
0:15
EndCodeSection
EndFontInfo
FontInfo CourierE10
MaxNormalCharWidth 18
Ascent 20
CodeSection 0:255
0:18
EndCodeSection
EndFontInfo
FontInfo CourierC20
MaxNormalCharWidth 24
Ascent 40
CodeSection 0:255
0:24
EndCodeSection
EndFontInfo
FontInfo Courier20
MaxNormalCharWidth 30
Ascent 40
CodeSection 0:255
0:30
EndCodeSection
EndFontInfo
FontInfo CourierE20
MaxNormalCharWidth 36
Ascent 40
CodeSection 0:255
0:36
EndCodeSection
EndFontInfo
TypefaceFonts Elite
Name "Elite" Serif
Translates Page850ToWindows
FontHeight
Height 210 ! 10 point
Normal Prop
Bold Prop
Italic Prop
BoldItalic Prop
Command "<27>k<2><27>w<0><27>W<0><27>p<1>"
EndFontHeight
FontHeight
Height 420 ! 21 point
Normal DoubleProp
Bold DoubleProp
Italic DoubleProp
BoldItalic DoubleProp
Command "<27>k<2><27>w<1><27>W<1><27>p<1>"
EndFontHeight
EndTypefaceFonts
TypefaceFonts Roman
Name "Roman" Proportional Serif
Translates Page850ToWindows
FontHeight
Height 210
Normal Prop
Bold Prop
Italic Prop
BoldItalic Prop
Command "<27>k<0><27>w<0><27>W<0><27>p<1>"
EndFontHeight
FontHeight
Height 420
Normal DoubleProp
Bold DoubleProp
Italic DoubleProp
BoldItalic DoubleProp
Command "<27>k<0><27>w<1><27>W<1><27>p<1>"
EndFontHeight
EndTypefaceFonts
TypefaceFonts SansSerif
Name "Sans Serif" Proportional
Translates Page850ToWindows
FontHeight
Height 210
Normal Prop
Bold Prop
Italic Prop
BoldItalic Prop
! sans serif single-width, single height
Command "<27>k<1><27>w<0><27>W<0><27>p<1>"
EndFontHeight
FontHeight
Height 420
Normal DoubleProp
Bold DoubleProp
Italic DoubleProp
BoldItalic DoubleProp
! sans serif double-width, double height
Command "<27>k<1><27>w<1><27>W<1><27>p<1>"
EndFontHeight
EndTypefaceFonts
TypefaceFonts Courier
Name "Courier" Serif
Translates Page850ToWindows
FontHeight
Height 200 ! 12cpi
Normal Courier10
Bold Courier10
Italic Courier10
BoldItalic Courier10
Command "<27>k<2><27>p<0><27><77><18><27>w<0><27>W<0>"
EndFontHeight
FontHeight
Height 400 ! 6cpi
Normal Courier20
Bold Courier20
Italic Courier20
BoldItalic Courier20
Command "<27>k<2><27>p<0><27><77><18><27>w<1><27>W<1>"
EndFontHeight
EndTypefaceFonts
TypefaceFonts CourierCompressed
Name "Courier (compressed)" Serif
Translates Page850ToWindows
FontHeight
Height 200 ! 15cpi
Normal CourierC10
Bold CourierC10
Italic CourierC10
BoldItalic CourierC10
Command "<27>k<2><27>p<0><27><103><18><27>w<0><27>W<0>"
EndFontHeight
FontHeight
Height 400 ! 8cpi
Normal CourierC20
Bold CourierC20
Italic CourierC20
BoldItalic CourierC20
Command "<27>k<2><27>p<0><27><103><18><27>w<1><27>W<1>"
EndFontHeight
EndTypefaceFonts
TypefaceFonts CourierExpanded
Name "Courier (expanded)" Serif
Translates Page850ToWindows
FontHeight
Height 200 ! 10cpi
Normal CourierE10
Bold CourierE10
Italic CourierE10
BoldItalic CourierE10
Command "<27>k<2><27>p<0><27><80><18><27>w<0><27>W<0>"
EndFontHeight
FontHeight
Height 400 ! 5cpi
Normal CourierE20
Bold CourierE20
Italic CourierE20
BoldItalic CourierE20
Command "<27>k<2><27>p<0><27><80><18><27>w<1><27>W<1>"
EndFontHeight
EndTypefaceFonts
Model EpsonLQ860
Name "Epson LQ-860" RequiresPrinterPort
Uid 268435817
Flags 1
! 1 Landscape not available
Resources Resources
KPixelWidth 8000 ! Twips = 180 dots per inch
KPixelHeight 8000
PortraitOffset 22 90 ! Pixels
LandscapeOffset 22 90
MinMarginLeft 22 ! Pixels
MinMarginRight 22
MinMarginTop 90
MinMarginBottom 90
DisplayMode Gray2
TypefaceFontss
Courier
CourierCompressed
CourierExpanded
Elite
Roman
SansSerif
EndTypefaceFontss
EndModel
Model CitizenPN60
Name "Citizen PN60" RequiresPrinterPort
Uid -1610611287
Flags 1
! 1 Landscape not available
Resources Resources
KPixelWidth 8000 ! Twips = 180 dots per inch
KPixelHeight 8000
PortraitOffset 22 90 ! Pixels
LandscapeOffset 22 90
MinMarginLeft 22 ! Pixels
MinMarginRight 22
MinMarginTop 90
MinMarginBottom 90
DisplayMode Gray2
TypefaceFontss
Courier
CourierCompressed
CourierExpanded
Elite
Roman
SansSerif
EndTypefaceFontss
EndModel
Model CanonBubblejetLQ
Name "Canon Bubblejet (LQ mode)" RequiresPrinterPort
Uid 268439229
Flags 1
! Landscape not available
Resources Resources
KPixelWidth 8000 ! Twips = 180 dots per inch
KPixelHeight 8000
PortraitOffset 23 90 ! Pixels
LandscapeOffset 23 90
MinMarginLeft 23 ! Pixels
MinMarginRight 23
MinMarginTop 90
MinMarginBottom 90
DisplayMode Gray2
TypefaceFontss
Courier
CourierCompressed
CourierExpanded
Elite
Roman
SansSerif
EndTypefaceFontss
EndModel
PdrStoreFile
PDLName "Epson"
PDLUid 268435820
Models
CanonBubblejetLQ
CitizenPN60
EpsonLQ860
EndModels
EndPdrStoreFile