;
; Plotter GPC data file format
;
;  1. All key value(s) for the keyword must enclose by {} brace pair.
;  2. The String must enclosed by ""
;  3. a ';' denote comment to the end of the line
;  4. Types
;      a. FLAG      - 1 or 0
;      b. WORD      - 16 bit number
;      c. DWORD     - 32 bit number
;      d. STRING    - ANSI character string, maximum size depends on keyword
;      e. FORMSRC   - 1. 31 byte string for the name
;                     2. 2 DWORDs: size width/height (SIZEL) 1/1000mm
;                           ** if height is <= 25400 (1 inch) or it greater
;                              then DeviceSize CY then it assumes that the form
;                              is variable length and will reset height to
;                              zero (0)
;                     3. 4 DWORDs: Left/Top/Right/Bottom margins in 1/1000mm
;      f. CONSTANT  - Pick from a set of predefined string in header file
;      g. COLORINFO - Windows NT DDI COLORINFO data structure (30 DWORDs)
;      h. PENDATA   - 1. One word specified 1 based pen number
;                     2. constant specified predefined pen color PC_IDX_xxxx
;
;                        Index            R   G   B
;                       ------------------------------
;                       PC_IDX_WHITE     255 255 255
;                       PC_IDX_BLACK       0   0   0
;                       PC_IDX_RED       255   0   0
;                       PC_IDX_GREEN       0 255   0
;                       PC_IDX_YELLOW    255 255   0
;                       PC_IDX_BLUE        0   0 255
;                       PC_IDX_MAGENTA   255   0 255
;                       PC_IDX_CYAN        0 255 255
;                       PC_IDX_ORANGE    255 128   0
;                       PC_IDX_BROWN     255 192   0
;                       PC_IDX_VIOLET    128   0 255
;
;       i. ROPLEVEL - One of following level
;
;                       ROP_LEVEL_0 - No Rop supports
;                       ROP_LEVEL_1 - ROP1 support (SRC)
;                       ROP_LEVEL_2 - ROP2 support (SRC/DEST)
;                       ROP_LEVEL_3 - ROP3 support (SRC/DEST/PAT)
;
;  *** if DeivceSize' height is <= 25400 (1 inch) then it assume that the
;      device can handle variable length paper and will reset height to
;      zero (0)
;
;  *** RasterDPI must defined regardless if a pen or raster plotter, for
;      raster plotter this is the raster resolutions, for pen plotter this is
;      the ideal resolution which device will report back to the GDI
;
;
;  Keyword           Type    Count          Range/Size
; -------------------------------------------------------------------------
;  DeviceName        STRING    31           Device name
;  DeviceSize        DWORD     2            Device cx/cy in 1/1000mm
;  DeviceMargin      DWORD     4            Device L/T/R/B margin in 1/1000mm
;  RasterCap         Flag      1            0/1
;  ColorCap          Flag      1            0/1
;  BezierCap         Flag      1            0/1
;  RasterByteAlign   Flag      1            0/1
;  PushPopPal        Flag      1            0/1
;  TransparentCap    Flag      1            0/1
;  WindingFillCap    Flag      1            0/1
;  RollFeedCap       Flag      1            0/1
;  PaperTrayCap      Flag      1            0/1 has a main paper tray?
;  PlotDPI           DWORD     2            Plotter UNIT X/Y Dots per Inch
;  RasterDPI         WORD      2            Raster (RTL) X/Y Dots per Inch
;  ROPLevel          DWORD     1            0/1/2
;  MaxScale          WORD      1            0-10000 (100 times bigger)
;  MaxPens           WORD      1            Device
;  MaxCopies         WORD      1            Device
;  MaxPolygonPts     WORD      1            Device
;  MaxQuality        WORD      1            Device maximum quality levels
;  PaperTraySize     DWORD     2            Paper Tray width/height in 1/1000mm
;  COLORINFO         DWORD     30           COLORINFO data structure
;  DevicePelsDPI     DWORD     1            Dots Per Inch
;  HTPatternSize     CONSTANT  1            HT_PATSIZE_xx
;  InitString        STRING    255          Standard string
;  PlotPenData       PENDATA   32 (Max)     Pen Plotter's definitions
;  FormInfo          FORMSRC   64           Device supported forms
;
; Following are example values for the PLOTTER characterization data
;

DeviceName      { "HP DesignJet 750C (D/A1) Mono" }
DeviceSize      { 625000, 15240000 }        ; Device Size (36" x 50')
DeviceMargin    { 6000, 18000, 6000, 18000 } ; Device Margin
RasterCap       { 1 }                       ; Raster able plotter
ColorCap        { 0 }                       ; Color plotter
BezierCap       { 1 }                       ; Can do bezier curve
RasterByteAlign { 0 }                       ; Raster data need byte aligned
PushPopPal      { 1 }                       ; raster need push/pop palette
TransparentCap  { 1 }                       ; can do transparent mode
WindingFillCap  { 1 }                       ; can do winding fill
RollFeedCap     { 1 }                       ; can do roll feed
PaperTrayCap    { 0 }
RTLMonoEncode5  { 1 }                       ; RTL Mono Adapt Compression
RTLNoDPIxy      { 0 }                       ; Has RTL DPI XY move comand
RTLMonoNoCID    { 0 }                       ; Has RTL MONO CID Command
RTLMonoFixPal   { 0 }                       ; Can change RTL Palette 0/1
RasterDPI       { 600, 600 }                ; raster X/Y DPI
PlotDPI         { 1016, 1016 }              ; Plotter units
ROPLevel        { ROP_LEVEL_2 }             ; ROP levels (ROP_LEVEL_0/1)
MaxScale        { 5000 }                    ; Scale in 1% increment 100=100%
MaxPens         { 256 }                     ; Maximum pen it can handle
MaxCopies       { 999 }                     ; Maximum copies it can handle
MaxPolygonPts   { 8192 }                    ; Maximum Polygon points in device
MaxQuality      { 3 }                       ; maximum 3 quality levels
NoBitmapFont    { 0 }                       ; Bitmap fonts allowed


COLORINFO       {  6810,  3050,     0,      ; xr, yr, Yr
                   2260,  6550,     0,      ; xg, yg, Yg
                   1810,   500,     0,      ; xb, yb, Yb
                   2000,  2450,     0,      ; xc, yc, Yc
                   5210,  2100,     0,      ; xm, ym, Ym
                   4750,  5100,     0,      ; xy, yy, Yy
                   3324,  3474, 10000,      ; xw, yw, Yw
                  10000, 10000, 10000,      ; RGB gamma
                   1422,   952,   787,      ; Dye correction datas
                    495,   324,   248 }

DevicePelsDPI   { 0 }                       ; effective device DPI (default)
HTPatternSize   { HT_PATSIZE_6x6_M }        ; GDI Halftone pattern size

InitString      { "\033%0B;\003\033%0A\033E\033%-12345X@PJL SET RESOLUTION=600\012@PJL SET RENDERMODE=GRAYSCALE\012@PJL ENTER LANGUAGE = HPGL2\012\033%0BBP5,1;IN;PP1;" }

FormInfo        { "Roll Paper 24 in (610 mm)",  609600,       0, 25400, 0, 25400, 0 }

FormInfo        { "Roll Paper A1 (594 mm)",     594000,       0, 25400, 0, 25400, 0 }


FormInfo        { "ISO B4 250 x 353 mm",        250000,  353000, 0, 0, 0, 0 }
FormInfo        { "ISO B3 353 x 500 mm",        353000,  500000, 0, 0, 0, 0 }
FormInfo        { "ISO B2 500 x 707 mm",        500000,  707000, 0, 0, 0, 0 }


FormInfo        { "DIN C4 229 x 324 mm",        229000,  324000, 0, 0, 0, 0 }
FormInfo        { "DIN C3 324 x 458 mm",        324000,  458000, 0, 0, 0, 0 }
FormInfo        { "DIN C2 458 x 648 mm",        458000,  648000, 0, 0, 0, 0 }


FormInfo        { "ANSI A 8.5 x 11 in",         215900,  279400, 0, 0, 0, 0 }
FormInfo        { "ANSI B 11 x 17 in",          279400,  431800, 0, 0, 0, 0 }
FormInfo        { "ANSI C 17 x 22 in",          431800,  558800, 0, 0, 0, 0 }
FormInfo        { "ANSI D 22 x 34 in",          558800,  863600, 0, 0, 0, 0 }
FormInfo        { "ISO A4 210 x 297 mm",        210000,  297000, 0, 0, 0, 0 }
FormInfo        { "ISO A3 297 x 420 mm",        297000,  420000, 0, 0, 0, 0 }
FormInfo        { "ISO A2 420 x 594 mm",        420000,  594000, 0, 0, 0, 0 }
FormInfo        { "ISO A1 594 x 841 mm",        594000,  841000, 0, 0, 0, 0 }
FormInfo        { "ISO OS A2 480 x 625 mm",     480000,  625000, 0, 0, 0, 0 }
FormInfo        { "ISO OS A1 625 x 900 mm",     625000,  900000, 0, 0, 0, 0 }
FormInfo        { "JIS B4 257 x 364 mm",        257000,  364000, 0, 0, 0, 0 }
FormInfo        { "JIS B3 364 x 515 mm",        364000,  515000, 0, 0, 0, 0 }
FormInfo        { "JIS B2 515 x 728 mm",        515000,  728000, 0, 0, 0, 0 }
FormInfo        { "Arch A 9 x 12 in",           228600,  304800, 0, 0, 0, 0 }
FormInfo        { "Arch B 12 x 18 in",          304800,  457200, 0, 0, 0, 0 }
FormInfo        { "Arch C 18 x 24 in",          457200,  609600, 0, 0, 0, 0 }
FormInfo        { "Arch D 24 x 36 in",          609600,  914400, 0, 0, 0, 0 }



