**********************************************************************
*Parameters
**********************************************************************

 -parameter is case insensitive,later is effective if duplicated.
 -parameter in the [ ] is optional.

format       : XPRINT [/option /...] filespec [filespec..]

in-file      :multiple specification allowed.
             :directory or wildcard is avail.
             :use option /Yi when indirect file name specification.
             :(in-file is name of indirect file which contain file name
             :to be printed)
             :to enter file name from standard input,specify stdin.
             :if you want to print file stdin,use /N0 option.
             :"," is abredgement of stdin.
             :   ex. f01???.*
             :       *.c *.h                (*.c and *.h)
             :       stdin                  (input from standard input)
             :       ,                      (input from standard input)

------------------------------------------------------------------------
option       :(use "-" for preceding "/" for AIX/Linux version)
  /?         ;help msg
  /ASCEOL    ;Not 0x15 but (0x0d)0x0a is EOL of EBCDIC file
  /BCfilenm  ;EBCIDC translation cfg filename. shares with xe.
             ;/ICU is alternative when using ICU
  /CPEB      ;EBCDIC codepage.
             ; ex) xprint ebcfile /Me /CPEB=CP1047 /ICU
  /C[-]nn[/p];max 'C'olumn per line and char pitch.
    nn       ;max column per line,input line is splitted if over max.
             ;Default is,for form A4,65 to 105 step by 5 depending on file
             ;if maximum column of the file is lower or equal than 105.
             ;if over 105 it is set to 105.(see also /E)
             ;(for /Ew,cpi is calc by this maxcol when no cpi,font specified.
             ; /Cmax means maxcol is of the longest line.)
             ;"-" means up to the nn column step by 5 depending on max column,
             ;without "-",char pitch is fixed to the nn.
    p        ;Char Pitch(cpi);use if you want to be unrelated to max column.
             ;Following is valid value for each printer type.
             ;(value is of by DBCS,that is 75 for 15cpi)
             ;        /Ei : 5, 6, 67,     75
             ;        /Ee : 5, 6,         75
             ;        /Ec : 5, 6, 67, 72, 75
             ;        /Ew : any value,if >=15 it is trated as unit 1/10.
             ;Use printer command file(/E@) for other than else.
             ;If no CPI is specified,it is determined from chars per line.
             ;For /Ew,CPI is calculated by page width and chars per line.
             ;ex.  /C90     -90 column per line for all file.
             ;     /C110/5  -110 column per line and 10 cpi.
             ;     /C/75    -15 cpi(SBCS),column is by default.
  /Dccts     ;file selection by 'D'ate and time.
    [-|+ccts];"-" for AND "+" for OR condition
    cc       ;condition:one of EQ,NE,GT,GE,LT or LE
    ts       ;date and time,format is  yymmdd[[:]hhmm],yy=00 for 2000 year.
             ;ex. /DGE940610 , /DLT931210:1230
             ;    /dgt951021:2200-le951101 , /dle950910+ge951120
  /EBCEOL    ;EBCDIC file EndOfLine ID is 0x15
  /EOLPRINT=fmt;printf format to print record length of recfm=V file.
             ;    ex) /EOLPRINT=::  "/EOLPRINT=:% 7d"
  /E[x]/form[L][/[M]{{T|B}|{L|R}}[ss[P]]];PaperSize[Landscape].
    x:i      ;IBM5575 etc.(default,"ESX 02 00 01 nn").
     :e      ;ESC/P (BJ-15v etc.)("ESC P","ESC M","ESC g").
     :c      ;Canon(LASER SHOT series)(LIPS III control command).
     :w      ;Win version  :Windows printer(default of Win version)
             ;gxp accept "w" only.
    form     ;(For printer type=w,pitch is calculated by column and line
               count for the form.)
             ;paper type, A4,A4L,B4,B4L,B5,B5L (L mean landscape).
             ;default is A4.
             ;table of char pitch and print line width.
             ; ( ) is for the case without line-number prefix(/Nn).
    +-----+----------+----------+----------+----------+----------+----+
    |     |  10 cpi  |  12 cpi  |  13  cpi |  14.4cpi |  15 cpi  |cols|
    +-----+----------+----------+----------+----------+----------+----+
    | A4  |  65 ( 75)|  85 ( 90)|  95 (100)| 100 (110)| 105 (115)| 60 |
    | A4L | 100 (110)| 125 (130)| 140 (145)| 145 (155)| 155 (165)| 42 |
    | B4  |  85 ( 95)| 105 (110)| 120 (125)| 125 (130)| 135 (140)| 75 |
    | B4L | 130 (135)| 155 (160)| 175 (180)| 180 (185)| 195 (205)| 53 |
    | B5  |  55 ( 65)|  70 ( 75)|  80 ( 85)|  85 ( 90)|  90 ( 95)| 53 |
    | B5L |  85 ( 95)| 105 (110)| 120 (125)| 125 (130)| 135 (140)| 35 |
    +-----+----------+----------+----------+----------+----------+----+
    | A42 |  30 ( 35)|  35 ( 40)|  40 ( 45)|  45 ( 50)|  50 ( 55)| 60 |
    | A4L2|  45 ( 50)|  55 ( 65)|  65 ( 70)|  70 ( 75)|  75 ( 80)| 42 |
    | B42 |  40 ( 45)|  45 ( 55)|  55 ( 60)|  60 ( 65)|  60 ( 70)| 75 |
    | B4L2|  60 ( 65)|  70 ( 80)|  80 ( 85)|  85 ( 90)|  95 (100)| 53 |
    | B52 |  25 ( 30)|  30 ( 35)|  35 ( 40)|  40 ( 45)|  40 ( 45)| 53 |
    | B5L2|  40 ( 45)|  45 ( 55)|  55 ( 60)|  60 ( 65)|  60 ( 70)| 35 |
    +-----+----------+----------+----------+----------+----------+----+
             ; For example,for paper type A4.
             ;  13 cpi for /C95, 15 cpi for /C96.
             ;  If /C is not specified,the smallest pitch is selected
             ;  in order to include in a line the longest line of the
             ;  file. 10 cpi if the longest line <=70 column, 12 cpi
             ;  for <=85, 13 cpi for <=95, 14.4 cpi for <=100 and
             ;  15 cpi for >100.And split line into multiple print lines
             ;  if >105.
             ;  If only char pitch is specified,line width is set to
             ;  bellow the allowable max column of the pitch and form.
             ;  For /C/6, 10 cpi when the longest line column <=70,
             ;  12 cpi when >70 and line is splitted when >85.
             ;  "cols" column shows default line numbers per page
             ;  for each type.
             ;  ex. /Ei/B4,  /Ee/a4l, /ee
             ;note.-For ESC/P printer 13 and 14.4 cpi is not available.
             ;      For A4, 15 cpi if >=85.
             ;    .-For IBM printer 14.4 cpi is not available.
             ;      For A4, 15 cpi if >=100.
             ;     -Katakana(a set of Japanese code) may be ignored
             ;      if 15 cpi is specified for ESC/P.
             ;     -To use ESCP printer with driver setting of ESC/P,
             ;      /Ee should not be used.
             ;      /Ee force Kanji code conversion from Shift-JIS to JIS.
             ;     -for ESCP,LIPS printer,font corresponding to control
             ;      char(x'00'-0'1f') may not be prepared.
             ;      '/' may printed as alternative.
             ;      See discription of /K.
#ifdef GXP
             ;? for form is used to list available paper size,
             ;partial string may be OK if uniquely match(gxp version only).
             ;M:following parameter is margin width.
             ;Without "M",expand papersize to avoid printers warning of
             ;invalid papersize.
             ;{T|B}|{L|R}:direction(Top/Bottom/Left/Right of portrait form).
             ;ss[P]:shift/margin amount by mm or points with "P" parameter.
             ;Try shift parameter without "M"
             ;if paper folder position is not valid for other than papersize=A4.
             ;For ex,1st line printed is not top of B5,
             ;"-E/B5/T" shifts 1st line position toward top of paper.
             ;without ss,it means to adjust edge on A4 paper.
             ;ex) -Ew/A4 -/B5 -E/A4L -E/LegalL/T10 -E/b5jis/br
             ;    -E/A4/ML18P -E//ML10B10L10R10 -E/B5L/r10b10Mr10t10
#endif
#ifdef GXP
#else
  /E@cmdf    ;cmdf=ESC command file name
             ;ex. /E@i4208.esc
             ;(note)if char or line pitch setting is not fit to your
             ;      printer,use command file.
             ;cmd file record format(specify for each max column size)
             ;   "nnn(decimal) esccmd(hex-decimal notation)"
             ;    ex.  95  1B7E02000143
             ;         999 1B7E0200014B
             ;   if you want to set line pitch etc.,specify any printer
             ;   command after char pitch command without intermediate
             ;   space.
#endif   //!GXP
  /FFXxx     ;char replacing FormFeed(0x'0c').
    xx       ;Hex digit from 00 to 7f.
             ;use to save paper avoiding page eject by FF char.
#ifdef GXP
  /Fhhh      ;set 'F'ont name.
             ; ? for hhh is used to list font name.
             ; ex)"-F?abc" lists font names containing string "abc".
             ;ex) -FSans -F"Monospace;Italic Bold".
#else
  /Fhhh[/zzz];set 'F'ont style by printer command.
    hhh      ;SBCS font type.
             ;IBM   :0(default),GOT(gothic),ELI(elite),COU(courier),
             ;       MIN(mincho),OCB(OCR-B),ORE.
             ;ESC/P :0(default),ROM(Roman),SAN,COU(Courier),PRE(Prestige),
             ;       SCR(script),OCB(OCR-B),OCA(OCR-A)
             ;Canon :LIN(line printer),COU(courier),SWI(Swiss),
             ;       DUT(Dutch),MIN(mincho),GOT(gothic)
             ;Win   :Win version  :SYS,COU,ROM,MIN,GOT,"font-name".
             ;       Gnome version:"font-name".  ex. -f"Sans regular"
             ;                     Font size may be included in fontname.
             ;                     If not, font size is determined by
             ;                     form size, /c and /l option.
             ;       "?" for hhh means query for available font.
             ;       "?xxxx" means fontname partialy contains xxxx.
    zzz      ;DBCS font type,ESC/P only.
             ;ESC/P:GOT(gothic),MIN(mincho).
             ;(note). a font style may not match with char pitch.
             ;        a printer may not have all font style.
#endif   //!GXP
  /H         ;'H'elp msg.
  /ICU       ;Use ICU for EBCDIC translation
  /I[n]-[m][/pp];'I'nput range to be printed by file line number.
      n,m    ;line-No(Use for other than Skim-dump,Non-record-mode
             ;Hex-dump).
      pp     ;restart page-no.(default=1).
             ;Use at the case restart changing form(line count per page).
             ;ex. /I150-300 , /I200- , /I-420 , /I180-/4
  /Ix[s]-[e][/pp];'I'nput range to be printed by file offset for not text mode.
      s,e    ;offset value(start/end offset byte which is printed).
             ;ex. /Ixfc00-fcff , /Ix2ac- , /Ix-ffff
  /Jjobname  ;(Win,OS/2 version only) Jobname to be set on output queue.
             ;default is set from input filename.
  /Kx        ;code conv for graphic char of Japanese DOS(0x01,..).
             ;x=0:no conversion
             ;x=g:conv to ASCII graphic char(0xb9,..)
             ;x=k:to graphic char of KATAKANA set(0x8f,..).(depend on cpi)
             ;x=L:to ASCII narrow line char(0xb3,0xb4,...)
             ;x=(any other 1 byte char than 'f')
             ;default:/Ei and /Ew is /K0;else /K0 for /Mx,/Mta,else /K/.
  /KFfilenm  ;256 byte Code Translation Table filename.
             ;Setup char conversion table corresponding to fro 0x00 to 0xff.
             ;Value NULL(0x00) is used for no conversion id. Non NULL value
             ;also reset ID of non-printable/SBCS/DBCS to SBCS on char set
             ;table specified by /M option or as default value.
             ;This option may be more flexible alternative of /Kx option.
  /Lnn[x][/p];max 'L'ine per page / line pitch
    nn       ;line number per page,default is 60 for A4.(see also /E)
    x:d      ;double space line advancing
     :t      ;triple space line advancing
    p        ;line pitch(lpi).For IBM,ESC/P or Canon use one of 2, 3, 4, 5, 6,
             ;75 or 8,default is 6-lpi.
             ;For /Ew,any value is valid and if >=15 it is treated as unit
             ;of 1/10.If lpi and Form is not specified,lpi is calculated
             ;from page height and lines per page.
             ;Use printer command file for other than else.
  /Mm[c][e][n];print 'M'ode
    m:t      ;text mode(no translation,default)
     :d      ;dump mode(text mode replacing unprintable char by ".")
     :x      ;hex dump mode(print hex code and printable char)
     :tx     ;text mode 3 line virical hex dump print.
             ; ex) xprint ebcf /mxe /R80
             ;     xprint utf8file /Mtxu
    c:       ;character set.
             ;Default depends to environments.
     :d      ;DBCS(IBM Japanese DOS) char set.
     :s      ;SBCS char set(treat DBCS char as unprintable).
     :a      ;ASCII(7 bit) char set.(x20-x7E is printable char)
     :j      ;same as DBCS except control char(x00-x1F) is unprintable.
             ;(default for /Mx)
     :e      ;EBCDIC char set.
     :u      ;File is UTF-8 encoded.
    e        ;subtype if EBCDIC. use only when c=e.
     :c      ; using cfg file(Default).
             ;    /BC or /CPEB option is required
             ;    ex) xprint ebcfile /Me /bcEbcmap.cfg
     :i      ;same as /ICU. /CPEB is required.
             ;    ex) xprint ebcfile /Mei /CPEB=cp930
     :k      ;Japanese. Katakana-Ext, Default.
     :e      ;Japanese. English-Ext.
    n        ;minimum printable string length of skim dump mode.
             ;(ignore continuous printable string which length is
             ;shorter than n,and print only max 3 dot(...) with other
             ;unprintable char. Use to read binaly file)
             ; ex) xprint ebcf /mtxe /R80
             ;     xprint utf8file /Mu /N8
  /O[[-]x]   ;file output 'O'rder.
             ;assume /Ob when none was specified.
    -        ;reverse order
    x:b      ;order by Base-Name without pathname and then Extension.(Default).
     :e      ;order by Extension and then Name without pathname.
     :d      ;order by Date and Time
     :n      ;order by filename without pathname.
     :l(L)   ;order by input file specification.
             ;sequence of directory member is unpredictable.
             ;Without /O option,default is /Ob if input specification contains
             ;directory or wildcard,else /Ol.
             ;(note)Under AIX/Linux,wild card is expanded by shell program.
             ;So,use double quotation like as "*.c" to reorder.
  /Pnn[-mm]  ;'P'rint page range.
             :effective for all input file if multiple input file.
             :allow multiple pages specification conbined by "+".
             ;ex. /P5-   /P-6   /P1-5+8+19-
  /P[n]/[f]  ;'P'rint restart file and its restart page.
             ;(use same in-file specification as before)
    nn       ;restart page mean -nn if /Yp(page descending order print),
             ;nn- if /Np.you can specify explicitly -nn or nn-.
    f        ;restart file name when multiple file is specified.
             ;specify member name if wild card is used.
             ;ex. xprint dir1\*.c /P15/xyz.c
             ;                       restart from page 15 of xyz.c
             ;specify member name with pathname of filename parm
             ;if that member is duplicated on both of concatenate by "/".
             ;(member name is merged and sorted if concatenated by "/".)
             ;ex. xprint dir1\*.c/dir2\*.c /P/xyz.c
             ;specify same name as of filename parm if filename is
             ;concatenate by "/".
             ;ex. xprint dir1\*.c/f:\abc.d/dir2\*.c /P/f:abc.d
             ;(all member name is merged and sorted if concatenated by "/".)
             ;and no confirmation for filename specification)
  /Qdest     ;output destination
             ;specify LPTx or file name if you want. Default is prn.
             ;prn means default printer for OS/2,Win version,LPT1 for
             ;DOS version.(filename prn for AIX/Linux version).
             ;use NUL(or /dev/null for Unix)to check line-no,page-no etc.
             ;(output is discarded).
             ;Printer name or Queue name is also avail for OS/2 and gxp.
             ;/Q- and /Q-- means stdout. Output process complete MSG to
             ;stderr when /Q-,stdout when /Q--.
             ;(gxp)You can specify CUPS printer. Substring of printer-ID may be OK.
             ;     ex) -qlp1400. (substring is OK for CUPS-printer if unique.)
             ;(gxp) -Q? lists available printers.
  /R[recsz]  ;'R'ecord mode
     recsz   ;Record size,set to max column(/Cnn) if omitted
  /RGB=rrggbb;(Gnome version only) Text color, default is 404040.
             ;Adjust darkness.
  /Tnn       ;'T'ab column interval,default is 4.
  /Wdir      ;'W'ork dir-name used for page descending order print
    dir      ;directory name. Default is from environment variable XP=.
             ;if no environment set,/Wc:\ is used.
             ;  ex. d:\ , c:\dir1
  /WN=nn     ;indentation column for splitted line(overflow line by page width).
  /ZHnn      ;(Win/Gnome version only)Page height zoom rate, nn %.(default=100).
  /ZWnn      ;(Win/Gnome version only)Page width zoom rate, nn %.(default=100).
              (nn=L means nn=94 for Letter size).
              Use when non-standard form which driver dose not support.
              Or when you want to leave space on right or bottom of page.
  /Yx,/Nx    ;option Y(set) or N(reset),last is effective if duplicated
    x:       ;specify following options. Both /Ya /Yb and /Yab is accepted.(except Unix)
      a      ;select 'A'rchived attribute file only(default=/Na)
             ;Using /Yam option,It is always printed updated file only.
      b      ;'B'ackground process.(Skip keyboard interface.
             ;no wild card confirmation,error if stdin specified.)
             ;Use when execute as child process.
      c      ;'C'onfirm print for each file when wild card filespec.
             ;No confirmation for file specification even if that is
             ;concatenated with wild card by "/".
             ;(default is /Nc when background mode,else /Yc)
#ifdef GXE
      d      ;popup Dialog for Printer/Paper selection(-Nd).
#else
      d      ;(OS/2)set 'D'ocument name to output print job.
             ;      default=/Yd. You must use /Nd when SPOOLER inactive.
             ;(Win )request form type,form orientation setting to driver.
#endif
      e      ;write 'E'sc cmd for char/line pitch.(default=/Ye)
             ;PostScript is most common to Linux,see following sample of
             ;combination of xe with /Ne option and mpage utility.


#ifndef GXE
      f      ;'F'ast path mode(lack of total page-No on header line and
             ;char pitch set by max column is not avail).(default=/Nf)
#endif
      g      ;write column 'G'auge line(2nd header line).(default=/Yg)
      h      ;write 'H'eader(1st line).(default=/Yh)
      i      ;in-file is of 'I'ndirect file name specification file(/Ni)
             ;or of to be printed.(default=/Ni)
                ex) xprint /yi indirectf
                    --indirectf---
                      g:\src\xe\x1ebc2 /me /bcp:\xewd\xeebc.mapo    /cpeb:cp930
                      g:\src\xe\x1ebc2 /me  /bcp:\xewd\xeebc.mapo   /cpeb:cp939
                      #g:\src\xe\x1ebc2 /me  /bcp:\xewd\xeebc.mapo   this is comment

      j      ;output to  multiple or single print-'J'ob.
             ;  default is /Yj for PRN/LPTn,/Nj for other than else.
             ;  Effective for OS/2 version and DOS version under MVDM.
      l      ;cr and lf by 0x0d0a even if Dump mode(default is /Yl)
             ;It is forced to /Nl when record or hexdump mode.
             ;line-no of line prefix is 1 up by CRLF when /Yl.
             ;record mode is assumed when /Nl is used under dump mode,
             ;it means newline by record size.
      m      ;'M'odify(clear) archived attribute after print completed.
             ;(default is /Nm). for not Unix only.
      n      ;set line 'N'umber prefix(line-no/offset).(default is /Yn)
      p      ;'P'age descending order print(default is /Np)
      r      ;Font restore required between page for old Windows version.
             ;Windows95 is one of them and it loss printing time.(Yr).
             ;Try /Nr under WindowsNt.
      s      ;for hex dump, process --'S'same as above--.
             ;(default is /Ns for record mode with record size over
             ;line width,else /Ys)
      u      ;insert formfeed command (0x0c) at the end of page.(/Yu)
      v      ;Saving is 'V'irtue. Use /Yv to save paper when print directory
             ;containing many short files.(Default is /Nv)
      0      ;when stdin is specified for input file name,get file name
             ;from standard input(/Y0) or print file "stdin"(/N0).
             ;(default is /Y0.(stdin is handle '0'))
      1      ;Write FormFeed before 1st page(/Y1) or not(/N1).
             ;Use for the case 1st FF is not ignored and white page is
             ;inserted before each file.
             ;(default is /N1 for Canon(/Ec),/Y1 for other than else.)
      2      ;Double page print.(2 pages per a sheet).(/N2)
             ;Available when printer type is "w".
             ;Landscape or Portrait is to be set on printer driver's
             ;property. When /Y2 and no /L,line-count per page is
             ;120 for Portrait and 60 for landscape form setting.
#ifdef LNX
      3      ;For display Japanese EUC code.
             ;Accept 0x8f(SS3:single shift 3:extension of kanji code) or Not.(/N3)
             ;Send "?" for those code if N3. Y3 may cause line feed error.
#endif
      6      ;1'6' byte width hex dump.
             ;(default is /N6,That is 32 byte width)
      8      ;vertical HEX dump is by UTF-8 for UTF-8 file,
             ;by UCS when /N8.(/Y8)
      9      ;force SBCS(/N9) or DBCS(/Y9) environment used for err-msg.
             ;default is determined by session environment.(code page '9'32)
             ;Use when DBCS msg is not displayed on screen.
------------------------------------------------------------------------
 (ex)  XPRINT abcdefgh.ijk
       XPRINT /Nc /C80 dir1\abc???.* /l25d /P1-10 /On /Ee outf