home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 18 REXX
/
18-REXX.zip
/
rexxface.zip
/
xbm2icon.cmd
< prev
next >
Wrap
OS/2 REXX Batch file
|
1998-02-01
|
1KB
|
48 lines
/*
* xbm2icon.cmd --- XBM to UN|X ICON converter
*
* Copyright (C) 1997-1998 OKUNISHI Fujikazu
*
* Author: OKUNISHI Fujikazu <fuji0924@mbox.kyoto-inet.or.jp>
* Created: Jul 30, 1997
* Revised: Feb 1, 1998
*
* how2use:
* ex.)
* 1a. xbm2icon.cmd foo.xbm > foo.icon [RET]
* 1b. xbm2icon.cmd < foo.xbm > foo.icon [RET]
* 2. cat foo.xbm |xbm2icon.cmd [RET]
*/
Parse Arg IN .
If IN='' Then Do; If Lines()==0 Then Exit 255; IN='STDIN'; End
Else If Stream(IN,'C','Query Exist') ='' Then Exit 255
OUT='STDOUT'
EOL=d2c(13)||d2c(10)
/*EOL=d2c(10) */
str='' /*initialize*/
Do i=1 By 1 While Lines(IN)
str.i= Linein(IN)
If Left(Word(str.i,1),2)<>'0x' Then Iterate
Do Until Length(str.i) = 0
Parse Var str.i '0x' strA.i ',' str.i
strA.i =Substr(strA.i,1,2)
If Datatype(strA.i,'X') <>1 Then Leave
strA.i = B2X(Reverse(X2b(strA.i)))
str = str strA.i
End
End
Call CharOut OUT,"/* Format_version=1, Width=48, Height=48, Depth=1, Valid_bits_per_item=16 */" ||EOL
Do n=1 By 1 While Length(str) > 0
Parse Var str strA.n strB.n str
str.n = '0x' || strA.n || strB.n || ',' /*||EOL*/
Call CharOut OUT, str.n || EOL
End
Exit
/* end of procedure */