> 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<0>" ; 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_char163:         "<27>R<3>#<27>R<0>" ; print char 163 as pound
 
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:    0000000070
text_bottom:    0000000008
text_top:       0000000002
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:           1 ;0/1 0=>text printer newline is cr, 1=>lf+cr
feed:           0 ;0/1 1=>text manual (prompted) form-feed
quality:        0 ;0/1 0=>text draft, 1=>NLQ
controls:       0 ;0-2 0=>text standard, 1=>display, 2=>ignore
