#!/bin/perl
use POSIX;
use FileHandle;
use integer;
use GDBM_File ;

open KANA, "<kanarom.sjs";
$mode = 0;
while(<KANA>) {
  next if (/^#/);
  if (/\$KATAKANA/) { $mode = 1; next; } 
  if (/\$HIRAGANA/) { $mode = 2; next; }
  
  chomp;
  ($kana, $romaji) = (/^(.*?)\s+(\S+?)(?=\s)/);
  if ($mode==1) { $romaji = uc($romaji); }
  push @K, ["\Q$kana\E","$romaji"];
}
close KANA;

autoflush STDOUT 1;
$rec = 0;

@Data = <STDIN>;
foreach $_ (@Data) 
{ 
  next unless  ( ($kanjiNum) = /^.. +([0-9a-fA-F]{4})/ ) ;
#  $kanjiNum = hex($kanjiNum) | (128 + 128*256);
#  $kv = pack("n", $kanjiNum);
   ($k) = /^(..)/;
    
  s/^(..)\s+([0-9a-fA-F]{4})//;
  chomp;

  # remove any kana following the "T"
  while(  s/( T.*)(\s([-\x7f-\xff].*?)(?=\s))/\1 /g ) {};
  @kana = /\s([-\x7f-\xff].*?(?=\s))/g ;
  s/\s([-\x7f-\xff].*?)(?=\s)//g; 
  $kanas = join ":", @kana;

#{  placed to fool editors for next line
  $s = join ",", /\{([^}]+?)\}/g;
  $s = "${k}--$s";
#  print "$s\n";
  $stringcnt++;

  foreach $i (@kana) {
    push @{$definition{$i}}, $s;
#    print " adding <$i> $s\n";
  }
}

foreach $i (sort keys %definition) {
  $t = @{$definition{$i}};
  if ($t > 1) {
    print "$i\n";
    foreach $j ( @{$definition{$i}} ) {
      print "	$j\n";
    }
  }
}

