#! /bin/sh
#
# Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 Sun Microsystems, Inc.
# Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 Nihon Sun Microsystems K.K.
# All rights reserved.
#
#ident  "@(#)kanji 1.10     97/01/17 SMI"
#
# This is the script version of kanji command.
# display kanji code table for euc,jis,shift jis and kuten.
#
# USAGE: kanji [-j] [-s] [-e] [-k] [-K #] [-HK #] [-h]
#	none  Locale depend code.
#	-j    JIS code.
#	-s    PCK code.
#	-e    EUC.
#	-k    KUTEN code.
#	-K #  KUTEN code. (#-KU only)
#	-HK # Hojo-Kanji KUTEN code. (#-KU only)
#	-h    Help. This message.
#

# Basically, all process would go under "ja" locale
# Therefore, save current locale
PATH=/usr/xpg4/bin:/usr/bin
CUR_LANG=$LANG
LC_ALL=ja
TEXTDOMAIN='SUNW_JFP_CMD'
export LC_ALL CUR_LANG PATH TEXTDOMAIN

exec 2>&1
# This function makes the same table as JLE:/usr/bin/dumpcs
dmpcs1() {
	dumpcs -1 |\
sed '4{
c\
a0a0 *                                               \
a0b0 *                                               \
a0c0 *                                               \
a0d0 *                                               \
a0e0 *                                               \
a0f0 *                                               
}
17{
c\
a3a0 *                                               
}
39{
c\
a6e0 *                                               \
a6f0 *                                               
}
49{
c\
a8d0 *                                               \
a8e0 *                                               \
a8f0 *                                               \
a9a0 *                                               \
a9b0 *                                               \
a9c0 *                                               \
a9d0 *                                               \
a9e0 *                                               \
a9f0 *                                               \
aaa0 *                                               \
aab0 *                                               \
aac0 *                                               \
aad0 *                                               \
aae0 *                                               \
aaf0 *                                               \
aba0 *                                               \
abb0 *                                               \
abc0 *                                               \
abd0 *                                               \
abe0 *                                               \
abf0 *                                               \
aca0 *                                               \
acb0 *                                               \
acc0 *                                               \
acd0 *                                               \
ace0 *                                               \
acf0 *
}
56{
c\
aea0 *                                               \
aeb0 *                                               \
aec0 *                                               \
aed0 *                                               \
aee0 *                                               \
aef0 *                                               \
afa0 *                                               \
afb0 *                                               \
afc0 *                                               \
afd0 *                                               \
afe0 *                                               \
aff0 *                                               
}
247{
c\
cfe0 *                                               \
cff0 *                                               
}
465{
c\
f4b0 *                                               \
f4c0 *                                               \
f4d0 *                                               \
f4e0 *                                               \
f4f0 *
}'
}

dmpcs3() {
	dumpcs -3 |\
sed '4{
c\
8fa0a0 *                                               \
8fa0b0 *                                               \
8fa0c0 *                                               \
8fa0d0 *                                               \
8fa0e0 *                                               \
8fa0f0 *                                               \
8fa1a0 *                                               \
8fa1b0 *                                               \
8fa1c0 *                                               \
8fa1d0 *                                               \
8fa1e0 *                                               \
8fa1f0 *
}
8{
c\
8fa2d0 *
}
11{
c\
8fa3a0 *                                               \
8fa3b0 *                                               \
8fa3c0 *                                               \
8fa3d0 *                                               \
8fa3e0 *                                               \
8fa3f0 *                                               \
8fa4a0 *                                               \
8fa4b0 *                                               \
8fa4c0 *                                               \
8fa4d0 *                                               \
8fa4e0 *                                               \
8fa4f0 *                                               \
8fa5a0 *                                               \
8fa5b0 *                                               \
8fa5c0 *                                               \
8fa5d0 *                                               \
8fa5e0 *                                               \
8fa5f0 *                                               \
8fa6a0 *                                               \
8fa6b0 *                                               \
8fa6c0 *                                               \
8fa6d0 *
}
14{
c\
8fa7a0 *                                               \
8fa7b0 *
}
16{
c\
8fa7d0 *                                               \
8fa7e0 *
}
18{
c\
8fa8a0 *                                               \
8fa8b0 *                                               \
8fa8c0 *                                               \
8fa8d0 *                                               \
8fa8e0 *                                               \
8fa8f0 *
}
23{
c\
8fa9e0 *                                               \
8fa9f0 *
}
36{
c\
8faca0 *                                               \
8facb0 *                                               \
8facc0 *                                               \
8facd0 *                                               \
8face0 *                                               \
8facf0 *                                               \
8fada0 *                                               \
8fadb0 *                                               \
8fadc0 *                                               \
8fadd0 *                                               \
8fade0 *                                               \
8fadf0 *                                               \
8faea0 *                                               \
8faeb0 *                                               \
8faec0 *                                               \
8faed0 *                                               \
8faee0 *                                               \
8faef0 *                                               \
8fafa0 *                                               \
8fafb0 *                                               \
8fafc0 *                                               \
8fafd0 *                                               \
8fafe0 *                                               \
8faff0 *
}
408{
c\
8fedf0 *                                               \
8feea0 *                                               \
8feeb0 *                                               \
8feec0 *                                               \
8feed0 *                                               \
8feee0 *                                               \
8feef0 *                                               \
8fefa0 *                                               \
8fefb0 *                                               \
8fefc0 *                                               \
8fefd0 *                                               \
8fefe0 *                                               \
8feff0 *                                               \
8ff0a0 *                                               \
8ff0b0 *                                               \
8ff0c0 *                                               \
8ff0d0 *                                               \
8ff0e0 *                                               \
8ff0f0 *                                               \
8ff1a0 *                                               \
8ff1b0 *                                               \
8ff1c0 *                                               \
8ff1d0 *                                               \
8ff1e0 *                                               \
8ff1f0 *                                               \
8ff2a0 *                                               \
8ff2b0 *                                               \
8ff2c0 *                                               \
8ff2d0 *                                               \
8ff2e0 *                                               \
8ff2f0 *                                               \
8ff3a0 *                                               \
8ff3b0 *                                               \
8ff3c0 *                                               \
8ff3d0 *                                               \
8ff3e0 *
}'
}

dumpibm() {
    echo '  fa 40 |                '
    echo '  fa 50 |                '
    echo '  fa 60 | ١   ­   ¿         '
    echo '  fa 70 |               '
    echo '  fa 80 |                '
    echo '  fa 90 |                '
    echo '  fa a0 |         ͪ       '
    echo '  fa b0 |                '
    echo '  fa c0 |                '
    echo '  fa d0 |   « ¡ ¥  ¸ º        '
    echo '  fa e0 |  á õ  ù           ŧ'
    echo '  fa f0 | ŵ Ŷ   Ƹ     ǡ ǫ  '
    echo '  fb 40 |           ȱ   ɦ ɫ ɭ'
    echo '  fb 50 |          ʳ ʽ   ˮ  '
    echo '  fb 60 |      ̥  ̫ ̮ ̭ ̲     ͻ'
    echo '  fb 70 |  λ  κ           '
    echo '  fb 80 |         һ    ԧ   '
    echo '  fb 90 |  ծ    آ ط         '
    echo '  fb a0 |        ޤ ް  ޵   ߹  '
    echo '  fb b0 |                '
    echo '  fb c0 |                '
    echo '  fb d0 |                '
    echo '  fb e0 |                '
    echo '  fb f0 |             '
    echo '  fc 40 |            '
}
dumpnecibm() {
    echo '  ed 40 |     ١   ­   ¿     '
    echo '  ed 50 |                '
    echo '  ed 60 |                '
    echo '  ed 70 |               '
    echo '  ed 80 |             ͪ   '
    echo '  ed 90 |                '
    echo '  ed a0 |                '
    echo '  ed b0 |       « ¡ ¥  ¸ º    '
    echo '  ed c0 |      á õ  ù       '
    echo '  ed d0 |    ŧ ŵ Ŷ   Ƹ     ǡ ǫ '
    echo '  ed e0 |            ȱ   ɦ ɫ'
    echo '  ed f0 | ɭ          ʳ ʽ '
    echo '  ee 40 |  ˮ        ̥  ̫ ̮ ̭ ̲ '
    echo '  ee 50 |    ͻ  λ  κ        '
    echo '  ee 60 |            һ    ԧ'
    echo '  ee 70 |     ծ    آ ط     '
    echo '  ee 80 |            ޤ ް  ޵ '
    echo '  ee 90 |  ߹              '
    echo '  ee a0 |                '
    echo '  ee b0 |                '
    echo '  ee c0 |                '
    echo '  ee d0 |                '
    echo '  ee e0 |                '
    echo '  ee f0 |             '
}
dumpibm_ku() {
    echo ' 115  1 |               '
    echo ' 115 16 |                '
    echo ' 115 32 |  ١   ­   ¿        '
    echo ' 115 48 |                '
    echo ' 115 64 |                '
    echo ' 115 80 |               '
    echo ' 116  1 |          ͪ     '
    echo ' 116 16 |                '
    echo ' 116 32 |                '
    echo ' 116 48 |     « ¡ ¥  ¸ º      '
    echo ' 116 64 |    á õ  ù         '
    echo ' 116 80 |  ŧ ŵ Ŷ   Ƹ     ǡ ǫ  '
    echo ' 117  1 |           ȱ   ɦ ɫ'
    echo ' 117 16 | ɭ          ʳ ʽ   ˮ '
    echo ' 117 32 |       ̥  ̫ ̮ ̭ ̲    '
    echo ' 117 48 | ͻ  λ  κ           '
    echo ' 117 64 |         һ    ԧ   '
    echo ' 117 80 |  ծ    آ ط        '
    echo ' 118  1 |         ޤ ް  ޵   ߹'
    echo ' 118 16 |                '
    echo ' 118 32 |                '
    echo ' 118 48 |                '
    echo ' 118 64 |                '
    echo ' 118 80 |               '
    echo ' 119  1 |            '
}

# This function makes the same table as JLE:/usr/pub/kanji.
tabl3() {
	dmpcs3 | head -573 | tail +10 |\
sed 's/^...... /  &|/
s/*/ /g
s/$/ /
/8fa1a0/,/8fa1f0/d
/8fa2d0/d
/8fa3a0/,/8fa6d0/d
/8fa7a0/,/8fa7b0/d
/8fa7d0/,/8fa7e0/d
/8fa8a0/,/8fa8f0/d
/8fa9e0/,/8fa9f0/d
/8faca0/,/8faff0/d
/8fedf0/,/8ff3e0/d' | grep -v '^$'
}

tabl1() {
	dmpcs1 | head -573 | tail +10 |\
sed 's/^.... /  &|/
s/*/ /g
s/$/ /
/a8d0/,/acf0/d
/a8c0/s/$/\
/
/aea0/,/aff0/d
/f4a0/s/   $//
/f4b0/,/f4f0/d' | grep -v '^$'
}

sjtabl1() {
	dmpcs1 | head -508 | tail +10 |\
sed 's/^.... /  &|/
s/*/ /g
s/$/ /
/a8d0/,/acf0/d
/a8c0/s/$/\
/
/aea0/,/aff0/d
/f4a0/s/   $//' | grep -v '^$'
}

sjudctabl1() {
	dmpcs1 | tail -61 | head -60 |\
sed 's/^.... /  &|/
s/*/ /g
s/$/ /' | grep -v '^$'
}

sjudctabl3() {
	dmpcs3 | tail -61 | head -60 |\
sed 's/^...... /  &|/
s/*/ /g
s/$/ /' | grep -v '^$'
}

shift4sj() {
sed '/^...   0/s/   0/ 3f/
/^...   1/s/   1/ 4f/
/^...   2/s/   2/ 5f/
/^...   3/s/   3/ 6f/
/^...   4/s/   4/ 80/
/^...   5/s/   5/ 90/
/^...   6/s/   6/ 9e/
/^...   7/s/   7/ ae/
/^...   8/s/   8/ be/
/^...   9/s/   9/ ce/
/^...  10/s/  10/ de/
/^...  11/s/  11/ ee/
/^.10/s/10/ a/
/^.11/s/11/ b/
/^.12/s/12/ c/
/^.13/s/13/ d/
/^.14/s/14/ e/
/^.15/s/15/ f/
s/ //
s/^/  /'
}

shift4jis() {
sed ' s/^..../& /
s/ a/ 2/g
s/ b/ 3/g
s/ c/ 4/g
s/ d/ 5/g
s/ e/ 6/g
s/ f/ 7/g'
}

putudc_sj1() {
	awk '
	BEGIN {FS = "|"}
	{
	n = (NR - 1) % 12
	if (n == 0) i++
	k = (i - 1) % 16
	printf("f%2d  %2d |%s\n",k,n,$2)
	}' | shift4sj
}

putudc_sj3() {
	awk '
	BEGIN {FS = "|"}
	{
	n = (NR - 1) % 12
	if (n == 0) i++
	k = (i + 4) % 16
	printf("f%2d  %2d |%s\n",k,n,$2)
	}' | shift4sj
}

putcode_sj() {
	awk '
	BEGIN{FS="|";j=7}
	{ if (NR < 46) {
		n=(NR-1)%12	
		if (n == 0) i++
	  } else if (NR < 52) {
		i=7
		n=(NR-46)%12
	  } else if (NR < 58) {
		m=(NR+2)%6 
		if (m == 0) j++
		n=m+6
		i=j
	  } else if (460 < NR) {
		n=(NR+7)%12
		j=43 + (NR-461)/12
		i=j
	  } else {
		n=(NR+2)%12
		if (n == 0) j++
		i=j
	  } 	
	  k=i%16

	  if (NR < 142)
		l=8
	  else if (NR < 334)
		l=9
	  else
		l="e"

	  printf("%s%2d  %2d |%s\n",l,k,n,$2)
	 }' | shift4sj
}

putcode_ku1() {
	awk '
	BEGIN{FS="|";j=15}
	{ if (NR < 46) {
		n=(NR-1)%6*16
		if (n == 0) i++
	  } else if (NR < 52) {
		i=13
		n=(NR-46)%6*16
	  } else if (460 < NR) {
		i=85 + (NR-461)/6
		n=(NR-461)%6*16
	  } else{
		n=(NR+8)%6*16
		if (n == 0) j++
		i=j
	  }
	  printf("  %2d %2d |%s\n",i,n,$2)
	}'
}

putcode_ku3() {
	awk '
	BEGIN{FS="|";j=15}
	{ if (NR < 4) {
		i=2
		n=(NR-1)%6*16
	  } else if (NR < 6) {
		i=2
		n=NR%6*16
	  } else if (NR < 8) {
		i=6
		n=(NR-2)%6*16
	  } else if (NR < 9) {
		i=7
		n=32
	  } else if (NR < 10) {
		i=7
		n=80
	  } else if (NR < 14) {
		i=9
		n=(NR-10)%6*16
	  } else if (NR < 26) {
		i=10 + (NR-14)/6
		n=(NR-14)%6*16
	  } else if (397 == NR) {
		i=83
		n=80
	  } else if (397 < NR) {
		i=84 + (NR-398)/6
		n=(NR-398)%6*16
	  } else{
		n=(NR+4)%6*16
		if (n == 0) j++
		i=j
	  }
	  printf("  %2d %2d |%s\n",i,n,$2)
	}'
}

putudc_ku1() {
	awk '
	BEGIN { FS = "|"; j = 94 }
	{
	    n=(NR-1)%6*16
	    if (n == 0) j++
	    printf(" %3d %2d |%s\n",j,n,$2)
	}'
}

putudc_ku3() {
	awk '
	BEGIN { FS = "|"; j = 104 }
	{
	    n=(NR-1)%6*16
	    if (n == 0) j++
	    printf(" %3d %2d |%s\n",j,n,$2)
	}'
}

expand_ibm() {
	sed 's/\ \ \ / **/g' | awk '
	    BEGIN {found=0 ; j=0
	arr[0]="Ïȏҏԏ㏰ȏ׏؏ߏᏱ㏱"
	arr[1]="揲폲؏ۏݏ右ǏЏޏ"
	arr[2]="菷䏷珷菸Ώᏸۏᏺ돻"
	arr[3]="Џޏ䏼폼珽ɏ͏䏿"
	arr[4]="ɏď¡¥«­¸º¿ďҏ׏ۏ"
	arr[5]="áõùɏ؏ُ̏ŧŵŶՏƸ׏"
	arr[6]="ǡǫÏǏˏϏُȱɦɫɭ"
	arr[7]="ʏӏʳʽˮʏ̥"
	arr[8]="̫̭̮̲ЏُͪͻκλÏՏ"
	arr[9]="һԧԏծޏآطя١Əȏя"
	arr[10]="ߏȏԏޤް޵ˏ߹ÏُǏ㦏㨏㩏㪏㫏"
	arr[11]="㰏㼏㿏ԏՏ֏؏ߏ䦏侏俏"
	arr[12]="ÏǏˏЏяҏԏۏ܏ޏ峏忏ɏЏ"
	arr[13]="笏箏籏粏豏趏ݏя͏ۏ륏"
	    }
	    {
		for (i=3;i<=NF;i++) {
		    if (index(arr[j], $i) != 0) {
			printf("%s %s",$1,$2)
			for (k=3;k<=NF;k++) {
			    found = index(arr[j], $k)
			    if (found == 0)
				printf("   ")
			    else {
				printf(" %s", $k)
				if (found == 20) {
				    j++
				}
			    }
			}
			printf("\n")
			next
		    }
		}
	    }'
}

map_ibm() {
        tabl3 | expand_ibm
        echo '8ff3f0 |                        '
        echo '8ff4a0 |                  '
        echo '8ff4b0 |                '
        echo '8ff4c0 |                '
        echo '8ff4d0 |                '
        echo '8ff4e0 |                '
        echo '8ff4f0 |                  '
}

# This function makes the same usage as JLE:/bin/kanji.
help() {
    LC_ALL=$CUR_LANG; export LC_ALL
    gettext ${TEXTDOMAIN} "Usage: kanji [-j] [-s] [-e] [-k] [-K NUM] [-HK NUM] [-h]\n"
    gettext ${TEXTDOMAIN} "\tnone    Current encoding\n"
    gettext ${TEXTDOMAIN} "\t-j      JIS code\n"
    gettext ${TEXTDOMAIN} "\t-s      PCK code (Available in \"ja\" equivalent locale only)\n"
    gettext ${TEXTDOMAIN} "\t-e      EUC (Available in \"ja_JP.PCK\" equivalent locale only)\n"
    gettext ${TEXTDOMAIN} "\t-k      KUTEN code\n"
    gettext ${TEXTDOMAIN} "\t-K NUM  KUTEN code (NUM-KU only)\n"
    gettext ${TEXTDOMAIN} "\t-HK NUM Hojo-Kanji KUTEN code\n\t\t(NUM-KU only. Available in \"ja\" equivalent locale only)\n"
    gettext ${TEXTDOMAIN} "\t-h      This Help message\n"
}


# If no arguments, prints chars in current encoding.
if 
	test $# -eq 0
then
	if [ $CUR_LANG = "ja" ] || [ $CUR_LANG = "japanese" ] || [ $CUR_LANG = "ja_JP.eucJP" ] 
	then
		tabl1 | sed 's/^..../& /'
		echo
		tabl3 | sed 's/^....../& /
				s/^..../& /' 
	elif [ $CUR_LANG = "ja_JP.PCK" ] || [ $CUR_LANG = "ja_JP.SJIS" ]
	then
		   sjtabl1 | putcode_sj | iconv -f eucJP -t PCK
			     dumpnecibm | iconv -f eucJP -t PCK
		sjudctabl1 | putudc_sj1 | iconv -f eucJP -t PCK
		sjudctabl3 | putudc_sj3 | iconv -f eucJP -t PCK
			        dumpibm | iconv -f eucJP -t PCK
	fi
	exit 0
fi

case $1 in
-h) help
	;;
-j) if [ $CUR_LANG = "ja" ] || [ $CUR_LANG = "japanese" ] || [ $CUR_LANG = "ja_JP.eucJP" ]
    then
	tabl1 | shift4jis
	echo
	tabl3 | sed 's/8f\(....\)/\1/' | shift4jis
    elif [ $CUR_LANG = "ja_JP.PCK" ] || [ $CUR_LANG = "ja_JP.SJIS" ]
    then
	   sjtabl1                          | shift4jis | iconv -f eucJP -t PCK
	sjudctabl1                          | shift4jis | iconv -f eucJP -t PCK
	sjudctabl3 | sed 's/8f\(....\)/\1/' | shift4jis | iconv -f eucJP -t PCK
	 map_ibm | sed 's/8f\(....\)/  \1/' | shift4jis | iconv -f eucJP -t PCK
    fi
	;;

-e) if [ $CUR_LANG = "ja_JP.PCK" ] || [ $CUR_LANG = "ja_JP.SJIS" ]
    then
	sjtabl1    | sed 's/^..../& /'	| iconv -f eucJP -t PCK
	sjudctabl1 | sed 's/^..../& /'	| iconv -f eucJP -t PCK
	sjudctabl3 | sed 's/^....../& /
			s/^..../& /'	| iconv -f eucJP -t PCK
	   map_ibm | sed 's/^....../  &/
			  s/^....../& /
			  s/^..../& /'  | iconv -f eucJP -t PCK
    fi
	;;

-s) if [ $CUR_LANG = "ja" ] || [ $CUR_LANG = "japanese" ] || [ $CUR_LANG = "ja_JP.eucJP" ]
    then
	tabl1      | putcode_sj
	sjudctabl1 | putudc_sj1
	sjudctabl3 | putudc_sj3
	dumpibm
    fi
	;;

-k) if [ $CUR_LANG = "ja" ] || [ $CUR_LANG = "japanese" ] || [ $CUR_LANG = "ja_JP.eucJP" ]
    then
	tabl1 | putcode_ku1
	echo
	tabl3 | putcode_ku3
    elif [ $CUR_LANG = "ja_JP.PCK" ] || [ $CUR_LANG = "ja_JP.SJIS" ]
    then
	sjtabl1   | putcode_ku1 | iconv -f eucJP -t PCK
	dumpnecibm | awk '
		BEGIN { FS = "|"; j = 88 }
		{
		    n=(NR-1)%6*16
		    if (n == 0) j++
		    if ((j == 89) || (j == 91)) {
			if (n < 64)
			    n += 1
		    } else {
			n += 2
		    }
		    printf("  %2d %2d |%s\n",j,n,$2)
		}'              | iconv -f eucJP -t PCK
	sjudctabl1 | putudc_ku1 | iconv -f eucJP -t PCK
	sjudctabl3 | putudc_ku3 | iconv -f eucJP -t PCK
	dumpibm_ku              | iconv -f eucJP -t PCK
    fi
	;;

-K) if [ $CUR_LANG = "ja" ] || [ $CUR_LANG = "japanese" ] || [ $CUR_LANG = "ja_JP.eucJP" ]
    then
	case $2 in
	[1-9]|[1-9][0-9])
		case $2 in
		?) num=" $2"
			;;
		*) num=$2
			;;
		esac
		tabl1 | putcode_ku1 | grep "  $num" 
		exit 0
		;; 
	*) help
		;;
	esac
    elif [ $CUR_LANG = "ja_JP.PCK" ] || [ $CUR_LANG = "ja_JP.SJIS" ]
    then
	case $2 in
	[1-9]|[1-9][0-9]|1[0-2][0-9])
		case $2 in
		?) num=" $2"
			;;
		*) num=$2
			;;
		esac
		if [ $num -lt 89 ]
		then
		    sjtabl1 | putcode_ku1 |\
				grep "  $num" | iconv -f eucJP -t PCK
		elif [ $num -lt 95 ]
		then
		    dumpnecibm | awk '
		    BEGIN { FS = "|"; j = 88 }
		    {
			n=(NR-1)%6*16
			if (n == 0) j++
			if ((j == 89) || (j == 91)) {
			    if (n < 64)
				n += 1
			} else {
			    n += 2
			}
			printf("  %2d %2d |%s\n",j,n,$2)
		    }' | grep "  $num" | iconv -f eucJP -t PCK
		elif [ $num -lt 105 ]
		then
		    sjudctabl1 | putudc_ku1 |\
				grep "  $num" | iconv -f eucJP -t PCK
		elif [ $num -lt 115 ]
		then
		    sjudctabl3 | putudc_ku3 |\
				grep "  $num" | iconv -f eucJP -t PCK
		else
		    dumpibm_ku | grep " $num" | iconv -f eucJP -t PCK
		fi
		exit 0
		;; 
	*) help
		;;
	esac
    fi
	;;

-HK) if [ $CUR_LANG = "ja" ] || [ $CUR_LANG = "japanese" ] || [ $CUR_LANG = "ja_JP.eucJP" ]
     then
	case $2 in
	[1-9]|[1-9][0-9])
		case $2 in
		?) num=" $2"
			;;
		*) num=$2
			;;
		esac
		tabl3 | putcode_ku3 | grep "  $num" 
		exit 0
		;; 
	*) help
		;;
	esac
     fi
	;;
-?) help
	;;
esac
