#!/bin/sh
#
#  This is a part of ChiTeX.
#  This script is created by 
#    Hung-Yih Chen ()  (yih@math.ncu.edu.tw)
#               (Dept. of Mathematics, National Central Univ.)
#  Last revised on Aug. 17, 1999
# 
#                All rights preserved   
#

echo "yes" > tmp@
rm -f tmplog@

gawkloc=`which gawk|grep ":"`
if test "$gawkloc" = ""; then
   gawkloc=`which gawk|grep "no gawk"`
fi
if test "$gawkloc" != ""; then
   gawkbin="awk"
else
   gawkbin="gawk"
fi

export gawkbin

#$gawkbin  -v filea=$filea '

$gawkbin '
BEGIN{
#   print "{" > "tmplog@"
   FS="\\^\\^"
#   chtab["80"]="5c";chtab["81"]="61";chtab["82"]="62";chtab["83"]="63";
   chtab["9f"]="5c";chtab["81"]="61";chtab["82"]="62";chtab["83"]="63";
   chtab["9e"]="5b";chtab["a0"]="5d";chtab["80"]="7e";
   chtab["84"]="64";chtab["85"]="65";chtab["86"]="66";chtab["87"]="67";
   chtab["88"]="68";chtab["89"]="69"
   chtab["8a"]="6a";chtab["8b"]="6b";chtab["8c"]="6c";chtab["8d"]="6d";
   chtab["8e"]="6e";chtab["8f"]="6f";

   chtab["90"]="70";chtab["91"]="71";chtab["92"]="72";chtab["93"]="73";
   chtab["94"]="74";chtab["95"]="75";chtab["96"]="76";chtab["97"]="77";
   chtab["98"]="78";chtab["99"]="79"
   chtab["9a"]="7a";chtab["9b"]="7b";chtab["9c"]="7c";chtab["9d"]="7d"

   ctab["@"]="\\x40";ctab["A"]="\\x41";ctab["B"]="\\x42";ctab["C"]="\\x43";
   ctab["D"]="\\x44";ctab["E"]="\\x45";ctab["F"]="\\x46";ctab["G"]="\\x47";
   ctab["H"]="\\x48";ctab["I"]="\\x49";ctab["J"]="\\x4a";ctab["K"]="\\x4b";
   ctab["L"]="\\x4c";ctab["M"]="\\x4d";ctab["N"]="\\x4e";ctab["O"]="\\x4f";
   ctab["P"]="\\x50";ctab["Q"]="\\x51";ctab["R"]="\\x52";ctab["S"]="\\x53";
   ctab["T"]="\\x54"
   ctab["U"]="\\x55";ctab["V"]="\\x56";ctab["W"]="\\x57";ctab["X"]="\\x58";
   ctab["Y"]="\\x59";ctab["Z"]="\\x5a";ctab["["]="\\x5b";ctab["\\"]="\\x5c";
   ctab["]"]="\\x5d";ctab["^"]="\\x5e";ctab["_"]="\\x5f";ctab["`"]="\\x60"

}
{
 gsub("\47","\\47",inline)
 str=""
 fnum=2
 if (NF > 1)
 {while (fnum <= NF)
       {#print "$" fnum "=" $fnum
        thr=substr($fnum,3,1)
        fou=substr($fnum,4,1)
        ftwo=substr($fnum,1,2)
        chmore=""
#        fno=fnum % 2
#        if (fno == 1)
         fremain=substr($fnum,4,length($fnum)-3)
#          if (ftwo < "80" || ftwo > "9d")
          if (ftwo < "80" || ftwo > "a0")
             { }
          else
             {ftwo=chtab[ftwo]}

            {
             if (ftwo != "^.")
               {str=str "\\x" ftwo}
            }

          if (thr != "" && thr !=" " && thr != "^")
          {
            {if (thr < "@" || thr > "`")
                { }
             else
                {thr=ctab[thr]}
            }
             str=str thr fremain
          }

        fnum=fnum+1
       }

    outline=$1 str
 }
  else
 {#print $0 > "temp@"
  outline=$0}
  gsub("\47","\\47",outline)

   if (outlinelast == "cr")
      {if (substr(outline,1,2) == "? ")
          {outline=substr(outline,3,length(outline)-2)
           outlinelast="" 
          }
      }    

   if (outline != "" || nulline == "n")    
      {
        printf "."
#       print "print \"" outline "\"" >> "tmplog@"
       }

   llen=length(outline)

   nulline="y"
   for (i=1; i<=llen; i++)
       {ch=substr(outline,i,1)
        if (ch != " " && i < 5 )
           {nulline="n"
            break}
        }


    if (nulline == "y")
    {
          {ch=substr(loutline,1,2)}
       if (ch != "l.")
          {nulline="n"}
     }      

   if (nulline == "y") 
      { 
       printf "? "
       outlinelast="cr"
       }

    
   loutline=outline   

}
END{
system("ctranb " filea".log;mv tmplog@@ " filea".log")
}' filea=$filea $1

exit

