# u2k.pl ver.0.2 1998.6.6 # 使い方 # jperl u2k.pl <入力ファイル名> # 結果は file.out というファイルに書き込まれる。 # u2k.tbl というデータファイルが必要。 # u2k.tbl の形式は、各行が # ユニコード(16進数大文字) KS完成型文字(7bitに落したもの) open(TABLE, "u2k.tbl") || die "Can't open u2k.tbl: $!\n"; while(){ ($a, $b) = split(' ', $_); $uk{$a} = $b; } close TABLE; open(OUTFILE, '>file.out'); while(<>){ chop; split(/\&\#/, $_); $head = shift @_; print OUTFILE $head; foreach (@_) { if($_ =~ /^(\d+)\;?(.*)$/){ print OUTFILE &conv($1); print OUTFILE $2; }else{ print OUTFILE $_; } } print OUTFILE "\n"; } close(OUTFILE); sub conv { local($unikey); $unikey = sprintf("%x", $_[0]); $unikey =~ tr/a-z/A-Z/; $ksvalue = $uk{$unikey}; if($ksvalue ne ""){ "\e\$(C" . $ksvalue . "\e(B"; }else{ "\&\#" . $_[0] . "\;" ; } }