home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / rexxface.zip / icon2xbm.cmd < prev    next >
OS/2 REXX Batch file  |  1998-02-01  |  2KB  |  63 lines

  1. /*
  2.  * icon2xbm.cmd  --- substitute for the `ikon2xbm' shell-script.
  3.  *
  4.  *         Copyright (C) 1997-1998  OKUNISHI Fujikazu
  5.  *
  6.  * Author:  OKUNISHI Fujikazu <fuji0924@mbox.kyoto-inet.or.jp>
  7.  * Created: Jul 30, 1997
  8.  * Revised: Feb  1, 1998
  9.  *
  10.  * Ägéóò√:
  11.  *  ~/.emacs é┼ê╚ë║é╠éµéñé╔É▌ÆΦé╖éΘüiôûæR os2-process.el é≡æOƱé╞é╖éΘüjüB
  12.  *   (setq mew-x-face-filter '("uncompface" "icon2xbm"))
  13.  *   (setq mew-x-face-prog "pmview")
  14.  *   (setq mew-x-face-args '("/Wpos=\(,,,,For\)"))
  15.  *
  16.  * Æìê╙ÄûìÇ:
  17.  *  1. âCâôâëâCâôò\Īé≡é╡é─éóéΘÅΩìçé═ `C-cC-x' é╖éΘæOé╔âCâôâëâCâôò\Ī
  18.  *     é≡É╪é┴é─é¿é¡é▒é╞üBMew é═É╢é╠âtâ@âCâïé⌐éτé┼é═é╚é¡âoâbâtâ@é⌐éτ
  19.  *     X-Face: âtâBü[âïâhé≡É╪éΦÅoé╡é─éóéΘé⌐éτé┼é╖üB
  20.  *  2. ê°é½Éöé╞é╡é─ UN|X ICON âtâ@âCâïé≡ù^éªéΘÅΩìçé═âtâ@âCâïé⌐éτô╟é▌ì₧
  21.  *     é▌üCê°é½Éöé¬é╚é»éΩé╬ STDIN é⌐éτé╠ôⁿù═é╞ë≡Ä▀é╡é▄é╖üB
  22.  */
  23.  
  24.   Parse Arg IN .
  25.  
  26.   If IN='' Then Do
  27.     If Lines()==0 Then Exit 255
  28.     IN='STDIN'
  29.     name='nobody'
  30.   End
  31.   Else If Stream(IN,'C','Query Exist') =''
  32.     Then Exit 255
  33.     Else Do
  34.       name=Filespec('Name',IN); lp=Lastpos('.',name)
  35.       If lp>1 Then name=Left(name,lp -1)
  36.               Else name='nobody'
  37.     End
  38.  
  39.   OUT='STDOUT'
  40. /*EOL=d2c(13)||d2c(10)*/
  41.   EOL=d2c(10)
  42.  
  43.   Call CharOut OUT,'#define' name || '_width 48' ||EOL   /*header*/
  44.   Call CharOut OUT,'#define' name || '_height 48' ||EOL
  45.   Call CharOut OUT,'static char' name || '_bits[] = {' ||EOL
  46.  
  47.   Do i=1 By 1 While Lines(IN)
  48.     str.i = Linein(IN)
  49.     If Left(str.i,2)<>'0x' Then Iterate
  50.     Do While Length(str.i) > 0
  51.       Parse Var str.i '0x' str ',' str.i
  52.       strA.i = '0x' || B2X(Reverse(X2b(Left(str,2)))) ||','
  53.       strB.i = '0x' || B2X(Reverse(X2B(Right(str,2)))) ||','
  54.       Call CharOut OUT, strA.i||strB.i  /*||EOL*/
  55.     End
  56.   End
  57.  
  58.   Call CharOut OUT,'};' ||EOL  /*footer*/
  59.  
  60. Exit
  61.  
  62. /* end of procedure */
  63.