> PrData *** dot matrix printer configuration ***

Header   must appear first, with items in correct order
======

version:               2  ;  Don't change this. It is used to detect
                          ;  incompatible old "PrData" files.

total_printers:        9  ; printers in file including default
total_draft_printers:  2  ; distinct draft text definitions including default
total_nlq_printers:    2  ; distinct NLQ text definitions including default

Default printer definition
==========================

nlq_mode:       0 ; 0 => text draft only, 1 => NLQ too

Default graphics resolutions
----------------------------
pxres:          180    ; dots per inch
pyres:          180
pxres_halftone: 180/8
pyres_halftone: 180/8

Graphics job control
--------------------
features:       16_00000000  ; doesn`t support arbitrary transformation
dump_depth:     24
interlace:      0
line_prologue:  ""
line_epilogue:  ""
line_interlace: ""
job_epilogue:   ""
job_prologue:   ""

Text job control
----------------
draft_job_prologue:   "<18><27>W<0><27>P<27>R<1>" ; sent at start of document, nlq_job_prologue:     ""                         
; this e.g. sets Pica text,
                                                  ; and USA character set.
                                                  ; could also pick line-spacing , etc.

draft_job_epilogue:   "<12><27>@"          ; sent at end of document,
nlq_job_epilogue:     "<12><27>@"          ; this e.g. formfeeds and resets printer.
                                           ; (formfeed must be at front of
                                           ;  sequence if it is included)

text_page_lines:      "<27>C"              ; this + CHR$(n) sets n lines per page
                                           ; (set this to empty string if not supported).
text_backspace:       "<8>"
text_tab:             "<9>"
text_formfeed:        "<12>"
text_return:          "<13>"
text_return_lf:       "<10><13>"

Printable character translations
--------------------------------
text_char160: "<32>"                           ;hard space
text_char161: "<27>R<7>[<27>R<0>"                       ;
text_char162: "c<8>/"                                   ;
text_char163: "<27>R<3>#<27>R<0>"                       ;
text_char164: "<27>R<9>$<27>R<0>"                       ;
text_char165: "<27>R<8>\<27>R<0>"                       ; 
text_char167: "<27>R<1>]<27>R<0>"                       ;
text_char168: "<27>R<7>{<27>R<0>"                       ;
text_char169: "<32>"                                    ;
text_char170: "<15><27>S<0>a<8>_<27>T<18>"              ;
text_char171: "<27>p<1><60><60><27>p<0>"                ;
text_char172: "<32>"                                    ;
text_char173: "<45>"                                    ;
text_char174: "<32>"                                    ;
text_char175: "<15><27>S<0>-<27>T<18>"                  ;
text_char176: "<27>R<1>[<27>R<0><18>"                   ;
text_char177: "+<8>_"                                   ;
text_char178: "<15><27>S<0>2<27>T<18>"                  ;
text_char179: "<15><27>S<0>3<27>T<18>"                  ;
text_char180: "<39>"                                    ;
text_char181: "<32>"                                    ;
text_char182: "<32>"                                    ;
text_char183: "<27>S<0>.<27>T<18>"                      ;
text_char184: "<32>"                                    ;
text_char185: "<15><27>S<0>1<27>T<18>"                  ;
text_char186: "<15><27>S<0>o<27>S<1)<8>-<27>T<18>"      ;
text_char187: "<27>p<1>>><27>p<0>"                      ;
text_char188: "<15><27>S<0>1<27>S14<27>T<18>"           ;
text_char189: "<15><27>S<0>1<27>S12<27>T<18>"           ;
text_char190: "<15><27>S<0>3<27>S14<27>T<18>"           ;
text_char191: "<27>R<7>]<27>R<0>"                       ;
text_char193: "A"                                       ;
text_char196: "<27>R<2>[<27>R<0>"                       ;
text_char197: "<27>R<5>]<27>R<0>"                       ; 
text_char198: "<27>R<4>[<27>R<0>"                       ;
text_char199: "C"                                       ;
text_char201: "<27>R<5>@<27>R<0>"                       ;
text_char205: "I"                                       ;
text_char208: "<68><8>-"                                ;
text_char215: "<88>"                                    ;
text_char216: "<27>R<4>\<27>R<0>"                       ;
text_char218: "U"                                       ;
text_char220: "<27>R<5>^<27>R<0>"                       ;
text_char221: "Y"                                       ;
text_char222: "<32>"                                    ;
text_char223: "<32>"                                    ;
text_char224: "<27>R<1><64><27>R<0>"                    ;
text_char228: "<27>R<2>{<27>R<0>"                       ;
text_char229: "<27>R<5>}<27>R<0>"                       ;
text_char230: "<27>R<4>{<27>R<0>"                       ;
text_char231: "<27>R<1>\<27>R<0>"                       ;
text_char232: "<27>R<1>}<27>R<0>"                       ;
text_char233: "<27>R<1>{<27>R<0>"                       ;
text_char235: "e<8><27>R<7>{<27>R<0>"                   ;
text_char236: "<27>R<6>~<27>R<0>"                       ;
text_char239: "i<8><27>R<7>{<27>R<0>"                   ;
text_char241: "<27>R<7><124><27>R<0>"                   ;
text_char243: "o<8><27>I<1><39><27>I0"                  ;
text_char245: "o<8><27>R<3><126><27>R<0>"               ;
text_char246: "<27)R<5><124><27>R<0>"                   ;
text_char248: "<27>R<9><124><27>R<0>"                   ;
text_char252: "<27>R<2><125><27>R<0>"                   ;
text_char254: "<32>"                                    ;
text_char255: "y<8><27>R<7>{<27>R<0>"                   ;

Codes for printers with fractional reverse feed
-----------------------------------------------
text_char192: "A<8><27>j<10>`<27>J<10>"                 ;
text_char194: "A<8><27>j<10>^<27>J<10>"                 ;
text_char195: "A<8><27>j<10>~<27>J<10>"                 ;
text_char200: "E<8><27>j<10>`<27>J<10>"                 ;
text_char202: "E<8><27>j<10>^<27>J<10>"                 ;
text_char203: "E<8><27>j<8><27>R<7>{<27>R<0><27>J<8>"   ;
text_char204: "I<8><27>j<10>`<27>J<10>"                 ; 
text_char206: "I<8><27>j<10>^<27>J<10>"                 ;
text_char207: "I<8><27>j<8><27>R<7>{<27>R<0><27>J<8>"   ;
text_char209: "N<8><27>j<10>~<27>J<10>"                 ;
text_char210: "O<8><27>j<10>`<27>J<10>"                 ;
text_char211: "O<8><27>j<10>'<27>J<10>"                 ;
text_char212: "O<8><27>j<10>^<27>J<10>"                 ;
text_char213: "O<8><27>j<10>~<27>J<10>"                 ;
text_char214: "O<8><27>j<8><27>R<7>{<27>R<0><27>J<8>"   ;
text_char217: "U<8><27>j<10>`<27>J<10>"                 ;
text_char219: "U<8><27>j<10>^<27>J<10>"                 ;
text_char225: "a<8><27>j<5><39><27>J<5>"                ; 
text_char226: "a<8><27>j<5>^<27>J<5>"                   ; 
text_char227: "a<8><27>j<5>~<27>J<5>"                   ; 
text_char234: "e<8><27>j<5>^<27>J<5>"                   ; 
text_char244: "o<8><27>j<5>^<27>J<5>"                   ;
text_char247: ".<8>-<8><27>j<18>.<27>J<18>"             ; 
text_char249: "u<8><27>j<5>`<27>J<5>"                   ; 
text_char250: "u<8><27>j<5><39><27>J<5>"                ; 
text_char251: "u<8><27>j<5>^<27>J<5>"                   ; 
text_char253: "y<8><27>j<5><39><27>J<5>"                ;

Text font selection
-------------------
draft_pica:           "<18><27>W<0><27>P"
nlq_pica:             ""
draft_elite:          "<18><27>W<0><27>M"
nlq_elite:            ""
draft_condensed:      "<27>W<0><27>P<15>"
nlq_condensed:        ""
draft_expanded:       "<18><27>M<27>W<1>"
nlq_expanded:         ""

General text highlights
-----------------------
draft_bold_on:        "<27>G"
nlq_bold_on:          ""
draft_bold_off:       "<27>H"
nlq_bold_off:         ""
draft_italic_on:      "<27>4"
nlq_italic_on:        ""
draft_italic_off:     "<27>5"
nlq_italic_off:       ""
draft_light_on:       ""
nlq_light_on:         ""
draft_light_off:      ""
nlq_light_off:        ""
draft_superscript_on: "<27>S<0>"
nlq_superscript_on:   ""
draft_superscript_off:"<27>T"
nlq_superscript_off:  ""
draft_subscript_on:   "<27>S<1>"
nlq_subscript_on:     ""
draft_subscript_off:  "<27>T"
nlq_subscript_off:    ""
draft_underline_on:   "<27>-<1>"
nlq_underline_on:     ""
draft_underline_off:  "<27>-<0>"
nlq_underline_off:    ""
                  
Real printer definitions
========================

After 'printer_name' and 'printer_number', either 'text_alias'
is used to indicate that all text entries are the same as a 
previously defined printer or default (-1); or 'nlq_mode' is
used to indicate whether printer supports NLQ text, and
subsequent "text...", "draft..." and "nlq..." entries
override the default ones.  For draft-only printers, "nlq..."
values are ignored.  If you change/add printers, alter the
'total...' values at start of the file too.

.............................................................
; 60 by 60dpi
printer_name:    EPSON LQ compatible (Low)
printer_number:  0
nlq_mode:        1

pxres:          60                      ; dots per inch
pyres:          60
pxres_halftone: 60/4
pyres_halftone: 60/4

dump_depth:     8                       ; 8 pin mode
line_prologue:  "<27>K"                 ; select appropriate mode
line_epilogue:  "<27>$<0><0><27>J<24>"  ; move down 24/180 inch

draft_job_prologue:   "<27>x<0><18><27>W<0><27>P<27>R<0>"  ; draft Pica, USA chars
nlq_job_prologue:     "<18><27>W<0><27>P<27>x<1><27>R<0>"  ; NLQ Pica, USA chars

draft_pica:           "<27>x<0><18><27>W<0><27>P"
nlq_pica:             "<18><27>W<0><27>P<27>x<1>"
draft_elite:          "<27>x<0><18><27>W<0><27>M"
nlq_elite:            "<18><27>W<0><27>M<27>x<1>"
draft_condensed:      "<27>x<0><27>W<0><27>P<15>"
nlq_condensed:        "<27>W<0><27>P<15><27>x<1>"
draft_expanded:       "<27>x<0><18><27>M<27>W<1>"
nlq_expanded:         "<18><27>M<27>W<1><27>x<1>"

draft_bold_on:        "<27>E"
nlq_bold_on:          "<27>E"
draft_bold_off:       "<27>F"
nlq_bold_off:         "<27>F"
nlq_italic_on:        "<27>4"
nlq_italic_off:       "<27>5"
nlq_light_on:         "<27>x<0>"
nlq_light_off:        "<27>x<1>"
nlq_superscript_on:   "<27>S<0>"
nlq_superscript_off:  "<27>T"
nlq_subscript_on:     "<27>S<1>"
nlq_subscript_off:    "<27>T"
nlq_underline_on:     "<27>-<1>"
nlq_underline_off:    "<27>-<0>"
.............................................................
; 180 by 180dpi
printer_name:    EPSON LQ compatible (Medium)
printer_number:  1
text_alias:      0

pxres:          180                     ; dots per inch
pyres:          180
pxres_halftone: 180/8
pyres_halftone: 180/8

dump_depth:     24                      ; 24 pin printer
line_prologue:  "<27>*<39>"             ; select appropriate mode
line_epilogue:  "<27>$<0><0><27>J<24>"  ; move down 24/180 inch

.............................................................
; 360 by 180dpi
printer_name:    EPSON LQ compatible (High)
printer_number:  2
text_alias:      0  ; => text same as printer number 0

pxres:          360                     ; dots per inch
pyres:          180
pxres_halftone: 360/8
pyres_halftone: 180/8

dump_depth:     24                      ; 24 pin printer
line_prologue:  "<27>*<40>"             ; select appropriate mode
line_epilogue:  "<27>$<0><0><27>J<24>"  ; move down 24/180 inch

.............................................................
; 60 by 72dpi
printer_name:    EPSON FX compatible (Low)
printer_number:  3
text_alias:      -1 ; => text same as default

pxres:          60                      ; dots per inch
pyres:          72
pxres_halftone: 60/4
pyres_halftone: 72/4

dump_depth:     8                       ; 8 pin printer
line_prologue:  "<27>K"                 ; select appropriate mode
line_epilogue:  "<27>A<0><13><27>2<27>J<24>"
                                        ; move down 8*3/216 inch
job_epilogue:   "<27>@"

.............................................................
; 120 by 144dpi
printer_name:    EPSON FX compatible (Medium)
printer_number:  4
text_alias:      -1

pxres:          120                     ; dots per inch
pyres:          144                     ; not regularly spaced
pxres_halftone: 120/8
pyres_halftone: 144/8

dump_depth:     16                      ; 8 pin printer, interlaced
line_prologue:  "<27>Y"                 ; select appropriate mode
line_epilogue:  "<27>A<0><13><27>2<27>J<22>"
                                        ; move down (8*3-2)/216 inch
interlace:      1
line_interlace: "<27>A<0><13><27>2<27>J<2>"
       ; move down 2/216 inch: note accuracy not guaranteed on this.
job_epilogue:   "<27>@"

.............................................................
; 240 by 216dpi
printer_name:    EPSON FX compatible (High)
printer_number:  5
text_alias:      -1

pxres:          240                     ; dots per inch
pyres:          216
pxres_halftone: 240/8
pyres_halftone: 216/8

dump_depth:     24                      ; 8 pin printer, doubly interlaced
line_prologue:  "<27>Z"                 ; select appropriate mode
line_epilogue:  "<27>A<0><13><27>2<27>J<22>"
                                        ; move down (8*3-2)/216 inch
interlace:      2
line_interlace: "<27>A<0><13><27>2<27>J<1>"
              ; move down 1/216 inch: note accuracy not guaranteed on this.
job_epilogue:   "<27>@"

.............................................................
; 360 by 360dpi
printer_name:    EPSON LQ-850 compatible (Very high)
printer_number:  6
text_alias:      0

pxres:          360                     ; dots per inch
pyres:          360
pxres_halftone: 360/8
pyres_halftone: 360/8

dump_depth:     48                      ; 24 pin printer, interlaced
line_prologue:  "<27>*<40>"             ; select appropriate mode
line_epilogue:  "<27>+<47><10><27>2<27>$<0><0>"
                                        ; move down 47/360 inch
interlace:      1
line_interlace: "<27>+<1><10><27>2<27>$<0><0>"
                                        ; move down  1/360 inch
job_epilogue:   "<27>@"

.............................................................
; 360 by 360dpi
printer_name:    NEC PinWriter P6 plus (Very high)
printer_number:  7
text_alias:      0

pxres:          360                     ; dots per inch
pyres:          360
pxres_halftone: 360/8
pyres_halftone: 360/8

dump_depth:     48                      ; 24 pin printer, interlaced
line_prologue:  "<27>*<40>"             ; select appropriate mode
line_epilogue:  "<28>3<47><10><27>2<27>$<0><0>"
                                        ; move down 47/360 inch
interlace:      1
line_interlace: "<28>3<1><10><27>2<27>$<0><0>"
                                        ; move down  1/360 inch
job_epilogue:   "<27>@"

.............................................................
;
;printer_name:    EPSON FX compatible (90 by 72 dpi)
;printer_number:  7
;text_alias:      -1
;
;pxres:          90                       ; dots per inch
;pyres:          72
;pxres_halftone: 90/8
;pyres_halftone: 72/4
;
;dump_depth:     8                        ; 8 pin printer
;line_prologue:  "<27>*<6>"               ; select appropriate mode
;line_epilogue:  "<27>A<0><13><27>2<27>J<24>"
;                                         ; move down 8*3/216 inch
;job_epilogue:   "<27>@"
;
;.............................................................
;
;printer_name:    EPSON FX compatible (240 by 144 dpi)
;printer_number:  9
;text_alias:      -1
;
;pxres:          240                     ; dots per inch
;pyres:          144                     ; not regularly spaced
;pxres_halftone: 240/8
;pyres_halftone: 144/8
;
;dump_depth:     16                      ; 8 pin printer, interlaced
;line_prologue:  "<27>Z"                 ; select appropriate mode
;line_epilogue:  "<27>A<0><13><27>2<27>J<22>"
;                                        ; move down (8*3-2)/216 inch
;interlace:      1
;line_interlace: "<27>A<0><13><27>2<27>J<2>"
;              ; move down 2/216 inch: note accuracy not guaranteed on this.
;job_epilogue:   "<27>@"
;
;.............................................................
;
;printer_name:    EPSON LQ compatible (90 by 180 dpi)
;printer_number:  2
;text_alias:      0
;
;pxres:          90                      ; dots per inch
;pyres:          180
;pxres_halftone: 90/4
;pyres_halftone: 180/8
;
;dump_depth:     24                      ; 24 pin printer
;line_prologue:  "<27>*<38>"             ; select appropriate mode
;line_epilogue:  "<27>$<0><0><27>J<24>"  ; move down 24/180 inch
;
;.............................................................
;
;printer_name:    EPSON LQ compatible (120 by 180 dpi)
;printer_number:  3
;text_alias:      0
;
;pxres:          120                     ; dots per inch
;pyres:          180
;pxres_halftone: 120/8
;pyres_halftone: 180/8
;
;dump_depth:     24                      ; 24 pin printer
;line_prologue:  "<27>*<33>"             ; select appropriate mode
;line_epilogue:  "<27>$<0><0><27>J<24>"  ; move down 24/180 inch
;
;.............................................................
;
;printer_name:    EPSON LQ compatible (120 by 60 dpi)
;printer_number:  5
;text_alias:      0
;
;pxres:          120                     ; dots per inch
;pyres:          60
;pxres_halftone: 120/8
;pyres_halftone: 60/4
;
;dump_depth:     8                       ; 8 pin mode
;line_prologue:  "<27>L"                 ; select appropriate mode
;line_epilogue:  "<27>$<0><0><27>J<24>"  ; move down 24/180 inch
;
.............................................................

Page size settings
==================

These are written back to this file when the "Save" entry is clicked;
therefore they are all fixed size fields.

page_number:    0 ; the number of the page size table entry we want to do
                  ; don't need to write this back!
page_name:      A4 paper;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; pad names to 80 characters with ;
page_width:     0000595350; Pad (decimal) numbers to 10 chars with leading 0s
page_height:    0000841995
page_bottom:    0000056700
page_top:       0000819882
page_left:      0000017293
page_right:     0000578057
text_height:    0000000072
text_bottom:    0000000000
text_top:       0000000000
text_left:      0000000000

page_number:    1
page_name:      Letter;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
page_width:     0000612076
page_height:    0000792099
page_bottom:    0000002835
page_top:       0000789264
page_left:      0000017860
page_right:     0000594216
text_height:    0000000066
text_bottom:    0000000006
text_top:       0000000000
text_left:      0000000000

page_number:    2
page_name:      Legal;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
page_width:     0000612076
page_height:    0001008126
page_bottom:    0000036004
page_top:       0000972122
page_left:      0000064071
page_right:     0000548005
text_height:    0000000084
text_bottom:    0000000008
text_top:       0000000002
text_left:      0000000000

page_number:    3
page_name:      User;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
page_width:     0000595350
page_height:    0000841995
page_bottom:    0000056700
page_top:       0000819882
page_left:      0000017293
page_right:     0000578057
text_height:    0000000070
text_bottom:    0000000008
text_top:       0000000002
text_left:      0000000000


Configured options    (also written back to file on "Save")
==================
start_page_number: 00  ;page description - pad to two chars with 0
printer:       01 ;printer number - pad to two chars with 0
location:       1 ;1 - parallel, 2 - serial, 4 - net
baud:          03 ; pad to two chars with 0
                  ; 0 -   75,  1 -  150,  2 -  300  ,  3 -  1200 
                  ; 4 - 2400,  5 - 4800,  6 - 9600  ,  7 - 19200
                  ; 8 -   50,  9 -  110, 10 -  134.5, 11 -   600
                  ;12 - 1800, 13 - 3600, 14 - 7200
data:         &24 ;serial data format - pad to two hex chars after & with 0
                  ;b0-b1 0,1,2,3 => 8,7,6,5 bits
                  ;b2 0=>1 stop bit, 1=>2 stop bits OR 1.5 stop bits if 5 bits
                  ;without parity, OR 1 stop bit if 8 bits with parity
                  ;b3 0/1 => parity off/on
                  ;b4-b5 0,1,2,3 => parity odd, even, 1 on Tx, 0 on Tx
xon:            0 ;XON/XOFF 0 off 1 on
server:   0.235;;; either [<net>.]<station>   eg `235;;;;;` or `123.235;`
                  ;or up to 6 char name       eg `blue;;;;` or `yellow;;`
                  ;must be padded to 8 chars with ; in either case
file: null:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;filename to use, padded to 80 characters.
nfserver: ;;;;;;;;;;;;;;;;NFS printer server, padded to 16 characters
nfprinter: lp;;;;;;;;;;;;;;NFS printer name, padded to 16 characters
nfuser: nobody;;;;;;;;;;NFS username, padded to 16 characters
nfoption: ;;;;;;;;NFS printer options, padded to 8 characters

mono:           0 ;0/1 1=>use monochrome output buffer. Sprites/fonts will
                  ; not be greyscaled.
title:          0 ;0/1 1=>title text pages
number:         0 ;0/1 1=>number text lines
map:            1 ;0/1 0=>text input newline is lf, 1=> cr, lf, cr/lf or lf/cr
line:           0 ;0/1 0=>text printer newline is cr, 1=>lf+cr
feed:           0 ;0/1 1=>text manual (prompted) form-feed
quality:        1 ;0/1 0=>text draft, 1=>NLQ
controls:       0 ;0-2 0=>text standard, 1=>display, 2=>ignore
