#!/usr/bin/perl $unicode = "yes"; #$debug = "yes"; &printheader(); print "
"; $pageno = 1; while (<>) { if (//) { $pageno++; s/^/

/; if ($debug eq "yes") { s/$/ - $pageno<\/h3>
/; } else { s/$/<\/h3>
/; } } #s/^/
\ \ \ \ \ \ \ \ /; s/^/
/; #s//\ \ \ \ \ \ \ \ /g; s///g; s/\ //g; s/(.*?<\/SC>)/\U$1<\/small>/g; s/^$/

/; &dounicode() if ($unicode eq "yes"); #s//<\!\-\- /g; #s/<\/w1lf>/ \-\-><\/w1lf>/g; #s/w1.getter/glrdictquotesp/g; #s/\[\[[a-z]*\]\]//g; #s/[\ \.]\(\)//g; #s/

<\!\-\- p\. [0-9]+ \-\->

//g; s/\/cgi\-bin\/sndadictp2/$serverbase\/dsl\/snda4frames.php/g; s/onMouseOver/target=textwindow onMouseOver/g; if (/([I,1]<)/ \ \ $1/g; s/([0-9a-zA-Z])/
\ \ \ \ $1/g; s/(\([2-9]\))/
\ \ \ \ $1/g; s/(\([0-9][0-9]\))/
\ \ \ \ $1/g; s//
\ \ \ \ /g; $linkno++ if (/$linkno<\/font>\n"; ##print "
$linkno for $&$'<\/font>\n"; s/ (.*?<\/pos>) /\ <\/a>
\ \ \ \ $1\.<\/b> $3 $4\.<\/b> /g; s//
\ <\/a>
\ \ \ \ \† $1\.<\/b> /g; s//
\ <\/a>
\ \ \ \ $1\.<\/b> /g; s//
\ <\/a>
\ \ \ \ $1\.<\/b> /g; s//
\ <\/a>
\ \ \ \ $1\.<\/b> /g; #s//
\ <\/a>
\ \ \ \ $1\.<\/b> /g; s//
\ <\/a>
\ \ \ \  /g; s//
\ <\/a>
\ \ \ \  /g; #### ## Experimental set #### ##s/ (.*?<\/pos>) /
\ \ \ \ $1\.<\/b> $3
\ \ \ \ $4\.<\/b> /g; #s/ (.*?<\/pos>) /
\ \ \ \ $1\.<\/b> $3
\ \ \ \ \ \ \ \ $4\.<\/b> /g; ##s//
\ \ \ \ $1\.<\/b> /g; #s//
\ \ \ \ $1\.<\/b> /g; #s//
\ \ \ \ \ \ \ \ $1\.<\/b> /g; #s//
\ \ \ \ \ \ \ \ \ \ \ \ $1\.<\/b> /g; #s//
\ \ \ \ $1\.<\/b> /g; #s//
\ \ \ \ $1\.<\/b> /g; #s//
\ \ \ \ \ \ \ \ $1\.<\/b> /g; #s//
\ \ \ \ \ \ \ \  \ \ \ $1\.<\/b> /g; #s//
\ \ \ \ \ \ \ \ \ \ \ \ $1\.<\/b> /g; ##s//
\ \ \ \ $1\.<\/b> /g; #s///g; #s///g; } s//
\ \ \ \ /g; # small cits #s///g; #s///g; #s/<\/cit>/<\/cit><\/small>/g; # non-small cits s///g; s//$1<\/b><\/font>/g; s//
\ DSL - DOST\ <\/b><\/font> \ /g unless ($titleframe eq "yes"); s//
\ DSL - $dlabel\ <\/b><\/font> \ /g unless ($titleframe eq "yes"); #s//

/; #s/<\/entry>/<\/entry>/; s/<\/entry>/<\/entry>\n
\n


/; #s///; #s/<\/hg>/<\/big>/; s///g; s///g; s/<\/ref>/<\/ref><\/font><\/small>/g; s///g unless ($unicode eq "yes"); s/<\/pron>/<\/b><\/font>/g unless ($unicode eq "yes"); #s//
/g; if (/
([A-Z\-\ ]*)<\/form>.*$/$1/; $hwtitle =~ s/<[a-z\/]*?>//g; $hwtitle =~ s/\&aacu;/\á/g; $hwtitle =~ s/\&eacu;/\é/g; $hwtitle =~ s/\&oacu;/\ó/g; $hwtitle =~ s/\&uacu;/\ú/g; $hwtitle =~ s/\&yacu;/\ý/g; if ($hwpos =~ //) { $hwpos =~ s/^.*?>([a-z\.]*)<\/pos>.*$/$1/; } else { $hwpos =~ s/^.*?>([a-z\.]*)<\/i>.*$/$1/; } $hwpos = "$hwpos" if ($hwpos ne ""); $hwpos = "" if ($hwpos eq ""); &dotitlebar(); last; exit; } $linkno++ if (/>[A-Z]+<\/form>/); #print "
$linkno<\/font>\n"; s//\† /g; s//\‡ /g; s//\&\#182; /g; s///g; s///g; s///g; s/<\/form>/<\/b><\/font>/g; s/()([A-Z]+)(<\/b><\/font>)/
$1$2$3<\/a>/; } if (/$linkno<\/font>\n"; s//\ <\/a>/; s///g; s/<\/trform>/<\/b><\/font>/g; } s///g; s/<\/date>/<\/b>/g; s///g; s/<\/sc>/<\/small>/g; s/<\/l>/<\/l> \/ /g; #s//
\ \ \ \ /g; #s///g; s/(\([0-9]*\))<\/cno> /
\ \ \ \ $1\ \*/g; s//
\ \ \ \ \*/g; s//
\ \ \ \ /g; s//
\ \ \ \ /g; s//
\ \ \ \ /g; s/<\/q>/<\/qt>/g; s/<\/geo>/<\/b><\/font><\/geo>/g; s///g; s/<\/author>/<\/font><\/author>/g; s///g; s/<\/pos>/<\/i>/g; # grab bad DOST dates s/([0-9][0-9][0-9][0-9]\-[0-9][0-9]) /<b>$1<\/b> <font color=blue><i>/g; s/([0-9][0-9][0-9][0-9]\-[0-9]) <title>/<b>$1<\/b> <font color=blue><i>/g; s/([0-9][0-9][0-9][0-9]) <title>/<b>$1<\/b> <font color=blue><i>/g; s/<title>/<font color=blue><i>/g; s/<\/title>/<\/i><\/font>/g; #s/<sps>/<\!\-\- /g; #s/<\/sps>/ \-\->/g; s/<sup>/<sup><font size=-2>/g; s/<\/sup>/<\/font><\/sup>/g; s/<su>/<sup><font size=-2>/g; s/<\/su>/<\/font><\/sup>/g; #s/<wpr>/<font color=black>\\/g; #s/<\/wpr>/\\<\/font>/g; #s/<et>/\[/g; #s/<\/et>/\]/g; #s/<syn>/<br>\ \ \ \ /g; #s/<b>syn<\/b>/<b>SYN<\/b>/g; #s/<sub>/\ \ <b>\&\#45;<\/b>\ \ /g; #s/<\/sub>//g; s/\&hellip\;/.../g; s/\&aacu\;/\á/g; s/\&eacu\;/\é/g; s/\&oacu\;/\ó/g; s/\&uacu\;/\ú/g; s/\&yacu\;/\ý/g; s/\&agra\;/\à/g; s/\&egra\;/\è/g; s/\&ogra\;/\ò/g; s/\&ugra\;/\ù/g; s/\&Ae\;/\Æ/g; s/\&ae\;/\æ/g; s/\&dd\;/.../g; s/\&ast\;/\*/g; #s/\&mdash\;/\&\#45;/g; #s/\&em\;/\&\#45;/g; s/\&mdash\;/\-\-\-/g; s/\&em\;/\-\-\-/g; s/\&dash\;/\-/g; s/\&ndash\;/\-/g; s/\&ortail\;/<font size=-1><b>Q<\/b><\/font>/g; s/\&orhook\;/<font size=-1>Q<\/font>/g; # curlier, but usu in ital... s/<etym>/<br>\ \ \ \ <etym>/g; s/\]\]/\]/g; s/\ \./\ /g; s/\&th\./\þ/g; #s/\&th\./<u>th<\/u>/g; #s/\þ/<u>th<\/u>/g; s/\&ng\./<u>ng<\/u>/g; s/\&mac\./<mac>/g; s/\&([A-Za-z])macr\;/<mac>$1<\/mac>/g; s/\&([A-Za-z])mac\;/<mac>$1<\/mac>/g; s/\&dotbl\./<dotbl>/g; s/\&dotab\./<dotab>/g; s/\&frown\./<frown>/g; s/\&asper\./<asper>/g; s/\&lenis\./<alenis>/g; s/\&hw\./\~/g; #s/\&prime\;/\&\#180;/g; s/\&prime\;/<img src=$serverbase\/dsl\/IPA\/ipa.quot.gif border=0 alt="'">/g; s/\&turnalpha\;/<img src=$serverbase\/dsl\/IPA\/ipa.turnA.gif border=0 alt=a>/g; s/\&yogh\;/<img src=$serverbase\/dsl\/IPA\/ipa.yGH.gif border=0 alt=3>/g; s/\&ygh\;/<img src=$serverbase\/dsl\/IPA\/ipa.yGH.gif border=0 alt=3>/g; s/\&Yogh\;/<img src=$serverbase\/dsl\/IPA\/ipa.YGH.gif border=0 alt=3>/g; s/\&Ygh\;/<img src=$serverbase\/dsl\/IPA\/ipa.YGH.gif border=0 alt=3>/g; s/\&([A-Za-z]*gr)\;/<img src=$serverbase\/dsl\/greek\/$1.gif align=top border=0 alt=$1>/g; s/=\/IPA/=$serverbase\/dsl\/IPA/g; s/=\/greek/=$serverbase\/dsl\/greek/g; s/=\/GREEK/=$serverbase\/dsl\/GREEK/g; #s/\-/\&\#173;/g; #s/cgi\&173;/cgi\-/g; ## Special characters for Mac or Win browsers #s/\&Dagger\;/<img src=$serverbase\/GREEK\/dagger2.gif border=0 alt=+>/g; s/\&<SMALL>AMP<\/SMALL>;/\&/g; s/\&<SMALL>APOS<\/SMALL>;/\'/g; s/\&<SMALL>LDQUO<\/SMALL>;/\“/g; s/\&<SMALL>LSQUO<\/SMALL>;/\‘/g; s/\&<SMALL>RDQUO<\/SMALL>;/\”/g; s/\&<SMALL>RSQUO<\/SMALL>;/\’/g; s/\&<SMALL>YGH<\/SMALL>;/<img src=$serverbase\/dsl\/IPA\/ipa.YGHlblue.gif border=0 alt=3>/g; s/\&<SMALL>SCI<\/SMALL>;/\&sci;/g; if ($browseros =~ /Win/) { s/\&sci\;/<small><small><b>I<\/b><\/small><\/small>/g; s/\‡/\&\#134;/g; s/\†/\&\#134;/g; # s/\&schwa\./<font face=symbol size=-1>\&\#182;<\/font>/g; s/\&\#96;/\&\#145\;/g; s/\&\#39;/\&\#146\;/g; s/\&\#45;/\&\#150\;/g; s/\&oe\./\&\#156;/g; s/\&Oe\./\&\#140;/g; s/\&ldquo\;/\&\#145;\&\#145;/g; s/\&lsquo\;/\&\#145;/g; s/\&rdquo\;/\&\#146;\&\#146;/g; s/\&rsquo\;/\&\#146;/g; s/\&apos\;/\&\#146;/g; } elsif ($browseros =~ /Macintosh/) { s/\&sci\;/<small><small>I<\/small><\/small>/g; s/\‡/\&\#134;/g; s/\†/\&\#134;/g; # s/\&schwa\./<font face=symbol size=-1>\&\#182;<\/font>/g; s/\&\#96;/\&\#145\;/g; s/\&\#39;/\&\#146\;/g; s/\&\#45;/\&\#150\;/g; s/\&\#173;/\-/g; s/\&oe\./\&\#156;/g; s/\&Oe\./\&\#140;/g; s/\þ/<thorn>th<\/thorn>/g; s/\Þ/<THORN>Th<\/THORN>/g; s/\ð/<eth>th<\/eth>/g; s/\Ð/<ETH>Th<\/ETH>/g; s/\&ldquo\;/\&\#145;\&\#145;/g; s/\&lsquo\;/\&\#145;/g; s/\&rdquo\;/\&\#146;\&\#146;/g; s/\&rsquo\;/\&\#146;/g; s/\&apos\;/\&\#146;/g; } else { s/\&sci\;/<small><small>I<\/small><\/small>/g; s/\&Dagger\;/<img src=$serverbase\/GREEK\/ddagger2.gif border=0 alt=+>/g; s/\&dagger\;/<img src=$serverbase\/GREEK\/dagger2.gif border=0 alt=+>/g; s/\&oe\./<oe>oe<\/oe>/g; s/\&Oe\./<Oe>OE<\/Oe>/g; # s/\&schwa\./<font size=-1><b>\@<\/b><\/font>/g; s/\&ldquo\;/``/g; s/\&lsquo\;/`/g; s/\&rdquo\;/''/g; s/\&rsquo\;/'/g; s/\&apos\;/'/g; } s/Not listed, breaking/<br><b>Sorry, no matches found for "$qquery"<\/b>/; ## Try to start at the first hit printed red if the result of a test search if ($fhit ne "") { $fhit =~ s/ AND /\\b\|\\b/g; $fhit =~ s/ OR /\\b\|\\b/g; #$fhit =~ s/+AND+/\\b\|\\b/g; #$fhit =~ s/+OR+/\\b\|\\b/g; #$fhit =~ s/ /\\b\|\\b/g; # test this #$fhit =~ s/+/\\b\|\\b/g; # test this #$fhit =~ s/\*/\.\*/; # test this #print "fhit is '$fhit'\n"; # s/($fhit)/<a name="fhit"><font color=red>$1<\/font><\/a>/i; if (/\b$fhit\b/i) { # s/^/<a name="fhit"><font color=red>===\> <\/font><\/a>/; # s/^/<br><a name="fhit"><img src=$serverbase\/dsl\/bitem00.gif border=0><font color=#6600ff><b>Search for "$fhit"<\/b><\/font><img src=\/sndatest\/bitem00.gif border=0> <\/a><br>/; # s/^/<a name="fhit"><img src=$serverbase\/dsl\/bitem00.gif border=0><img src=$serverbase\/dsl\/bitem00.gif border=0> <\/a>/; s/^/<a name="fhit">\ <\/a>/; # s/\b($fhit)\b/<font color=red><b>$1<\/b><\/font>/gi; # s/\b($fhit)\b/<font color=white><b style="background: \#6600ff;">\ $1\ <\/b><\/font>/gi; s/\b($fhit)\b/<font color=white><b style="background: \#aa0000;">\ $1\ <\/b><\/font>/gi unless (/=$fhit/i || $dregion eq "form"); } } print; } close(TARGFILE); print "</blockquote>"; sub printheader { #printf("Content-type: text/html\n\n"); #print "<style><!-- TD { font-family: Times,Palatino,Garamond,arial,helvetica; font-weight: bold; } --></style>\n"; #print "<style><!-- TD { font-family: \"arial unicode MS, Lucida Sans Unicode\"; font-size: 100%; } --></style>\n"; #print "<style><!-- SMALL { font-family: Times,Palatino,Garamond,arial,helvetica; font-weight: bold; } --></style>\n"; #print "<style><!-- A { text-decoration: none; font-family: Times,Palatino,Garamond,arial,helvetica; font-weight: bold; } --></style>\n"; print <<ENDSTYLES; <html> <head> <style> <!-- TD { font: "arial unicode MS, Lucida Sans Unicode"; font-size: 110%; } SMALL { font: "arial unicode MS, Lucida Sans Unicode"; font-size: 110%; } A { text-decoration: none; font-family: Times,Palatino,Garamond,arial,helvetica; font-weight: bold; } --> </style> </head> ENDSTYLES #P { font: normal small-caps 120%/120% times } if ($headerframe eq "yes") { # print "<style><!-- A:hover { color: #ffffff; background-color: #6600ff; } --></style>\n"; } else { # print "<style><!-- A:hover { background-color: #cccccc; } --></style>\n"; } #printf("<body bgcolor=\"#ffffff\" text=\"#000000\" link=\"#6600ff\" vlink=\"#6600ff\">"); if ($unicode eq "yes") { printf("<blockquote>\n<font face=\"arial unicode MS, Lucida Sans Unicode\" size=4>\n<div align=justify>\n") unless ($headerframe eq "yes"); # printf("<blockquote>\n<font face=\"arial unicode MS\" size=4>\n<div align=justify>\n") unless ($headerframe eq "yes"); } else { printf("<blockquote>\n<font size=4>\n<div align=justify>\n") unless ($headerframe eq "yes"); } printf("<table width=85% align=center><tr><td>\n<div align=left>\n") if ($headerframe eq "yes" && $searchtype ne "full"); } sub printmatches { print "<table width=90% colspan=3><tr>"; if ($totalhits > $printset) { $pfset = $fset; if ($pfset > $totalhits) { $pfset = $totalhits; } print "\n<th align=left colspan=3>"; print "Displaying $sset - $pfset of $totalhits entries</th>\n"; print "</tr><tr>\n"; if ($sset > $printset) { $psset = ($sset - $printset); $pfset = ($fset - $printset); print "\n<th align=left><a href=$serverbase/dsl/getent4.php?$thisurl\&sset=$psset\&fset=$pfset\&thisi=$pthisi\&pthisi=$pthisi\&pset=yes&searchtype=full&dregion=$dregion&headerframe=yes>[ << Prev ]</a> "; } else { print "\n<th align=left>      " } } if ($totalhits > $fset) { $nsset = ($fset + 1); $nfset = ($fset + $printset); if ($pthis eq "") { $pthisi = $thisi; } print " <a href=$serverbase/dsl/getent4.php?$thisurl\&sset=$nsset\&fset=$nfset\&thisi=$thisi\&pthisi=$pthisi&searchtype=full&dregion=$dregion&headerframe=yes><nobr>[ Next >> ]</nobr></a></th>\n"; } else { if ($totalhits == 1) { print "<th align=left>Displaying $totalhits entry</th>\n"; } elsif ($totalhits == 0) { print "<th align=left>Sorry no entries were found</th>"; } } print "</tr></table>\n"; } sub doskel { $linkno = 0; #print "<br><entry><a href=$serverbase/dsl/$pdfurl target=textwindow><font color=white><b style=\"background: #6600ff;\"> PDF View </b></font></a>  <br><br>\n"; while (<TARGFILE>) { if (/<entry/) { print "<br><entry><font color=white><b style=\"background: #6600ff;\"> Sense Map </b></font>  <br><br>\n"; } if (/<sense/) { $linkno++ if (/<sense n=/); #print "<BR><B><font color=red>$linkno<\/font></B>\n"; #s/<sense n="([A-Za-z0-9]+)" level="([A-Za-z0-9]+)"> (<pos>.*?<\/pos>) <sense n="([A-Za-z0-9]+)" level="([A-Za-z0-9]+)">.*$/<br>\ \ \ \ <a href=$serverbase\/dsl\/$hwurl\#$linkno target=bwindow><b>$1\.<\/b> $3<br>\ \ \ \ <b>$4\.<\/b><\/a> /g; s/<sense n="([A-Z]+)" level="([A-Za-z0-9]+)"> (<pos>.*?<\/pos>) <sense n="([0-9]+)" level="([A-Za-z0-9]+)">.*$/<br>\ \ \ \ <a href=$serverbase\/dsl\/$hwurl\#$linkno target=bwindow><b>$1\.<\/b> $3<br>\ \ \ \ \ \ \ \ <b>$4\.<\/b><\/a> /g; #s/<sense n="([\(\)A-Za-z0-9]+)" level="([A-Za-z0-9]+)" usg="([A-Za-z]+)">.*$/<br>\ \ \ \ <b>$1\.<\/b> /g; s/<sense n="([A-Z]+)" level="([A-Za-z0-9]+)" usg="([A-Za-z]+)">.*$/<br>\ \ \ \ <a href=$serverbase\/dsl\/$hwurl\#$linkno target=bwindow><b>$1\.<\/b><\/a> /g; s/<sense n="([0-9]+)" level="([A-Za-z0-9]+)" usg="([A-Za-z]+)">.*$/<br>\ \ \ \ \ \ \ \ <a href=$serverbase\/dsl\/$hwurl\#$linkno target=bwindow><b>$1\.<\/b><\/a> /g; s/<sense n="([\(\)0-9]+)" level="([A-Za-z0-9]+)" usg="([A-Za-z]+)">.*$/<br>\ \ \ \ \ \ \ \ \ \ \ \ <a href=$serverbase\/dsl\/$hwurl\#$linkno target=bwindow><b>$1\.<\/b><\/a> /g; #s/<sense n="([A-Za-z0-9]+)" level="([A-Za-z0-9]+)">.*$/<br>\ \ \ \ <b>$1\.<\/b> /g; s/<sense n="([A-Z]+)" level="([A-Za-z0-9]+)">.*$/<br>\ \ \ \ <a href=$serverbase\/dsl\/$hwurl\#$linkno target=bwindow><b>$1\.<\/b><\/a> /g; s/<sense n="([0-9]+)" level="([A-Za-z0-9]+)">.*$/<br>\ \ \ \ \ \ \ \ <a href=$serverbase\/dsl\/$hwurl\#$linkno target=bwindow><b>$1\.<\/b><\/a> /g; s/<sense n="(\(\)[0-9]+)" level="([A-Za-z0-9]+)">.*$/<br>\ \ \ \ \ \ \ \  \ \ \ <a href=$serverbase\/dsl\/$hwurl\#$linkno target=bwindow><b>$1\.<\/b><\/a> /g; s/<sense n="([\(\)A-Za-z0-9]+)" level="([A-Za-z0-9]+)">.*$/<br>\ \ \ \ \ \ \ \ \ \ \ \ <a href=$serverbase\/dsl\/$hwurl\#$linkno target=bwindow><b>$1\.<\/b><\/a> /g; s/<sense n="([A-Za-z0-9]+)">.*$/<br>\ \ \ \ <a href=$serverbase\/dsl\/$hwurl\#$linkno target=bwindow><b>$1\.<\/b><\/a> /g; s/<sense type="([A-Za-z0-9]+)">.*$//g; s/<sense level="([A-Za-z0-9]+)">.*$//g; s/<pos>/<pos><i>/g; s/<\/pos>/<\/i><\/pos>/g; print; } if (/<form/) { $linkno++; #print "<BR><B><font color=red>$linkno<\/font></B>\n"; s/<form usg="obs">/<font color=#6600ff><b>\† <a href=$serverbase\/dsl\/$hwurl\#$linkno target=bwindow>/g; s/<form usg="obsol">/<font color=#6600ff><b>\‡ <a href=$serverbase\/dsl\/$hwurl\#$linkno target=bwindow>/g; s/<form usg="nonce">/<font color=#6600ff><b>\&\#182; <a href=$serverbase\/dsl\/$hwurl\#$linkno target=bwindow>/g; s/<form type="abbr">/<font color=#6600ff><b><a href=$serverbase\/dsl\/$hwurl\#$linkno target=bwindow>/g; s/<form>/<font color=#6600ff><b><a href=$serverbase\/dsl\/$hwurl\#$linkno target=bwindow>/g; s/<\/form>.*?(<pos>.*?<\/pos>).*$/<\/b><\/font> <b><i>$1<\/i><\/b><\/a>/g; #s/<\/form>.*$/<\/b><\/font>/g; print; } if (/<trform/) { $linkno++; #print "<BR><B><font color=red>$linkno<\/font></B>\n"; s/<trform>/<font color=#6600ff><b><a href=$serverbase\/dsl\/$hwurl\#$linkno target=bwindow>/g; s/<\/trform>.*?(<pos>.*<\/pos>).*$/<\/b><\/font> <b><i>$1<\/i><\/b><\/a>/g; #s/<\/trform>.*$/<\/b><\/font>/g; print; } if (/<\/entry/) { print "\n<br>\n<br><hr size=2 noshade color=#6600ff>\n"; } } close(TARGFILE); } sub dopdf { if ($startset ne "") { system("$SNDPOKE $plen $startset | $DSLIPA | $HTLENIS -f \"$dictcquery\" > /usr/tmp/footmp.tex"); } else { system("$SNDGREP \"^$dictcquery\" | $DSLIPA | $HTLENIS -f \"$dictcquery\" > /usr/tmp/footmp.tex"); } system("cd /usr/tmp;/bin/chmod 644 /usr/tmp/footmp.tex"); system("cd /usr/tmp;$PDFLATEX /usr/tmp/footmp.tex 1>/dev/null"); system("cd /usr/tmp;$PDFLATEX /usr/tmp/footmp.tex 1>/dev/null"); system("cd /usr/tmp;/bin/chmod 644 /usr/tmp/footmp.pdf"); unless (open(PDFFILE, "/usr/tmp/footmp.pdf")) { die ("could not open pdf file\n"); } # print "Content-type: application/pdf\n\n"; while (<PDFFILE>) { print; } close(PDFFILE); # system("/bin/rm -f /usr/tmp/footmp.*"); } sub dodjvu { #$HTLENIS = "/home/triggs/bin/dsllatex2.pl"; if ($startset ne "") { system("$SNDPOKE $plen $startset | $DSLIPA | $HTLENIS -f \"$dictcquery\" -t DJVU > /usr/tmp/footmp.tex"); # system("$SNDPOKE $plen $startset | $HTLENIS -f \"$dictcquery\" -t DJVU > /usr/tmp/footmp.tex"); } else { system("$SNDGREP \"^$dictcquery\" | $DSLIPA | $HTLENIS -f \"$dictcquery\" -t DJVU > /usr/tmp/footmp.tex"); # system("$SNDGREP \"^$dictcquery\" | $HTLENIS -f \"$dictcquery\" -t DJVU > /usr/tmp/footmp.tex"); } system("cd /usr/tmp;/bin/chmod 644 /usr/tmp/footmp.tex"); system("cd /usr/tmp;$PDFLATEX /usr/tmp/footmp.tex 1>/dev/null"); # system("cd /usr/tmp;$LATEX /usr/tmp/footmp.tex 1>/dev/null"); # system("cd /usr/tmp;$DVIPS -f /usr/tmp/footmp.dvi -o /usr/tmp/footmp.ps 1>/dev/null"); # system("cd /usr/tmp;$DJVUDIGITAL footmp.ps footmp.djvu 1>/dev/null"); system("cd /usr/tmp;$DJVUDIGITAL footmp.pdf footmp.djvu 1>/dev/null"); # system("cd /usr/tmp;$RTK footmp.djvu ocr-footmp.djvu 1>/dev/null"); # system("cd /usr/tmp;/bin/chmod 644 /usr/tmp/ocr-footmp.djvu"); unless (open(DJVUFILE, "/usr/tmp/footmp.djvu")) { die ("could not open djvu file\n"); } # print "Content-type: image/x.djvu\n\n"; while (<DJVUFILE>) { print; } close(DJVUFILE); # system("/bin/rm -f /usr/tmp/footmp.*"); } sub doskel2 { $SORT = "/bin/sort"; $UNIQ = "/usr/bin/uniq"; # $INDEX = "/home/triggs/global-language.com/html/dsl/SND/dsl_snd.ind"; if ($dtext eq "snd") { $INDEX = "/home/triggs/global-language.com/html/dsl/SND3/DSLSND.ind"; } elsif ($dtext eq "dost") { $INDEX = "/home/triggs/global-language.com/html/dsl/DOST2/DSLDOST.ind"; } elsif ($dtext eq "both") { $INDEX = "/home/triggs/global-language.com/html/dsl/DSL.ind"; } # $CGREPROC = "/home/triggs/bin/sndctextgrep -10 \"^$dictcquery\\b\" $INDEX | $SORT | $UNIQ"; $CGREPROC = "/home/triggs/bin/sndctextgrep -10 \"^$dictcquery\\b\" $INDEX"; unless (open(CFILE, "$CGREPROC |")) { die ("could not open context file\n"); } $ctextcount = 0; while (<CFILE>) { next if (/^$/); $ctextcount++; ($hw,$pos,$elen,$sbyte,$ebyte,$cdtext) = split /,/, $_; $cdtext =~ tr/A-Z/a-z/; # $hw =~ s/\_/ /g; ($nhw = $hw) =~ s/ /+/g; if ($ctextcount == 1 && $nhw ne "") { print "<a href=\"$serverbase/dsl/snda4frames.php?dtext=$dtext&query=$nhw\" target=textwindow>Browse Up</a><hr size=1 noshade>"; } print "<a href=\"$serverbase/dsl/getent4.php?plen=$elen&startset=$sbyte&dtext=$cdtext&query=$nhw\" target=bwindow>"; if (/\b$dictcquery\b/i) { print "<font color=white><b style=\"background: #6600ff;\"> $hw </b></font>"; print "<font color=white><b style=\"background: #6600ff;\"> <i>$pos</i> </b></font>" unless ($pos eq ""); } else { print "<b>$hw</b>"; print "<b>, <i>$pos</i></b>" unless ($pos eq ""); } print "</a>"; print "<br>\n"; } if ($nhw ne "") { print "<hr size=1 noshade><a href=\"$serverbase/dsl/snda4frames.php?dtext=$dtext&query=$nhw\" target=textwindow>Browse Down</a>"; } close(CFILE); } sub dotitlebar { print "<br><font color=white><b style=\"background: #aa0000;\"> $hwtitle $hwpos </b></font>  "; print "<a href=$serverbase/dsl/$pdfurl target=printwindow><font color=white><b style=\"background: #6600ff;\"> PDF View </b></font></a>  \n" unless ($headerframe eq "yes"); print "<a href=$serverbase/dsl/$djvuurl target=printwindow><font color=white><b style=\"background: #6600ff;\"> DjVu View </b></font></a>  <br><br>\n" unless ($headerframe eq "yes"); } sub dounicode { s/Á/\Á/g; s/á/\á/g; s/Ă/\Ă/g; s/ă/\ă/g; s/Â/\Â/g; s/â/\â/g; s/Æ/\Æ/g; s/æ/\æ/g; s/&Agr;/\Α/g; s/&agr;/\α/g; s/À/\À/g; s/à/\à/g; s/α/\ɑ/g; s/Ā/\Ā/g; s/ā/\ā/g; s/Ą/\Ą/g; s/ą/\ą/g; s/'/\’/g; s/Å/\Å/g; s/å/\å/g; s/Ã/\Ã/g; s/ã/\ã/g; s/Ä/\Ä/g; s/ä/\ä/g; s/&Bgr;/\Β/g; s/&bgr;/\β/g; s/Ć/\Ć/g; s/ć/\ć/g; s/Č/\Č/g; s/č/\č/g; s/Ç/\Ç/g; s/ç/\ç/g; s/&cd\./\ç/g; s/Ĉ/\Ĉ/g; s/ĉ/\ĉ/g; s/Ċ/\Ċ/g; s/ċ/\ċ/g; s/†/\†/g; s/‡/\‡/g; s/‐/\‐/g; s/Ď/\Ď/g; s/ď/\ď/g; s/&Dgr;/\Δ/g; s/&dgr;/\δ/g; s/Đ/\Đ/g; s/đ/\đ/g; s/É/\É/g; s/é/\é/g; s/&ebreve;/e\̆/g; s/Ě/\Ě/g; s/ě/\ě/g; s/Ê/\Ê/g; s/ê/\ê/g; s/Ė/\Ė/g; s/ė/\ė/g; s/&EEgr;/\Η/g; s/&eegr;/\η/g; s/&Egr;/\Ε/g; s/&egr;/\ε/g; s/È/\È/g; s/è/\è/g; s/Ē/\Ē/g; s/ē/\ē/g; s/Ŋ/\Ŋ/g; s/ŋ/\ŋ/g; s/Ę/\Ę/g; s/ę/\ę/g; s/ε/\ɛ/g; s/&erhooktest;/\ę/g; s/&esh;/\ʃ/g; s/&sh\./\ʃ/g; s/Ð/\Ð/g; s/ð/\ð/g; s/Ë/\Ë/g; s/ë/\ë/g; s/&ezh;/\ʒ/g; s/&zh\./\ʒ/g; s/&yogh;/\ʒ/g; # yuck kludge, but... it doesn't look that bad... ! s/&oeyogh;/\ʒ/g; # yuck kludge, but... it doesn't look that bad... ! s/&Yogh;/<font size=+1>\ʒ<\/font>/g; s/&OEYogh;/<font size=+1>\ʒ<\/font>/g; s/\&<SMALL>YOGH<\/SMALL>;/<font size=+1>\ʒ<\/font>/g; s/&<SMALL>YOGH<\/SMALL>;/<font size=+1>\ʒ<\/font>/g; s/\&<small>YOGH<\/small>;/<font size=+1>\ʒ<\/font>/g; s/½/\½/g; s/⅓/\⅓/g; s/¼/\¼/g; s/⅕/\⅕/g; s/⅙/\⅙/g; s/⅛/\⅛/g; s/⅔/\⅔/g; s/⅖/\⅖/g; s/¾/\¾/g; s/⅗/\⅗/g; s/⅜/\⅜/g; s/⅘/\⅘/g; s/⅚/\⅚/g; s/⅝/\⅝/g; s/⅞/\⅞/g; s/ǵ/\ǵ/g; s/Ğ/\Ğ/g; s/ğ/\ğ/g; s/Ģ/\Ģ/g; s/Ĝ/\Ĝ/g; s/ĝ/\ĝ/g; s/Ġ/\Ġ/g; s/ġ/\ġ/g; s/&Ggr;/\Γ/g; s/&ggr;/\γ/g; s/&glottal;/\ʔ/g; s/&gl\./\ʔ/g; s/Ĥ/\Ĥ/g; s/ĥ/\ĥ/g; s/…/\…/g; s/Ħ/\Ħ/g; s/ħ/\ħ/g; s/Í/\Í/g; s/í/\í/g; s/Î/\Î/g; s/î/\î/g; s/İ/\İ/g; s/&Igr;/\Ι/g; s/&igr;/\ι/g; s/Ì/\Ì/g; s/ì/\ì/g; s/IJ/\IJ/g; s/ij/\ij/g; s/Ī/\Ī/g; s/ī/\ī/g; s/ı/\ı/g; s/Į/\Į/g; s/į/\į/g; s/Ĩ/\Ĩ/g; s/ĩ/\ĩ/g; s/Ï/\Ï/g; s/ï/\ï/g; s/Ĵ/\Ĵ/g; s/ĵ/\ĵ/g; s/Ķ/\Ķ/g; s/ķ/\ķ/g; s/&Kgr;/\Κ/g; s/&kgr;/\κ/g; s/ĸ/\ĸ/g; s/&KHgr;/\Χ/g; s/&khgr;/\χ/g; s/Ĺ/\Ĺ/g; s/ĺ/\ĺ/g; s/Ľ/\Ľ/g; s/ľ/\ľ/g; s/Ļ/\Ļ/g; s/ļ/\ļ/g; s/“/\“/g; s/&Lgr;/\Λ/g; s/&lgr;/\λ/g; s/Ŀ/\Ĺ/g; s/ŀ/\ŀ/g; s/‘/\‘/g; s/Ł/\Ł/g; s/ł/\ł/g; s/—/\—/g; s/&Mgr;/\Μ/g; s/&mgr;/\μ/g; s/Ń/\Ń/g; s/ń/\ń/g; s/ʼn/\ʼn/g; s/Ň/\Ň/g; s/ň/\ň/g; s/Ņ/\Ņ/g; s/ņ/\ņ/g; s/–/\–/g; s/&Ngr;/\Ν/g; s/&ngr;/\ν/g; s/&nlhook;/\ɲ/g; s/Ñ/\Ñ/g; s/ñ/\ñ/g; s/Ó/\Ó/g; s/ó/\ó/g; s/Ô/\Ô/g; s/ô/\ô/g; s/Ő/\Ő/g; s/ő/\ő/g; s/Œ/\Œ/g; s/œ/\œ/g; s/&Ogr;/\Ο/g; s/&ogr;/\ο/g; s/Ò/\Ò/g; s/ò/\ò/g; s/&OHgr;/\Ω/g; s/&ohgr;/\ω/g; s/Ō/\Ō/g; s/ō/\ō/g; s/&openo;/\ɔ/g; s/&oo\./\ɔ/g; s/Ø/\Ø/g; s/ø/\ø/g; s/Õ/\Õ/g; s/õ/\õ/g; s/Ö/\Ö/g; s/ö/\ö/g; s/¶/\¶/g; s/&Pgr;/\Π/g; s/&pgr;/\π/g; s/&PHgr;/\Φ/g; s/&phgr;/\φ/g; s/£/\£/g; #s/′/\′/g; s/′/\ˈ/g; s/″/\″/g; s/&PSgr;/\Ψ/g; s/&psgr;/\ψ/g; s/Ŕ/\Ŕ/g; s/ŕ/\ŕ/g; s/Ř/\Ř/g; s/ř/\ř/g; s/Ŗ/\Ŗ/g; s/ŗ/\ŗ/g; s/”/\”/g; s/&Rgr;/\Ρ/g; s/&rgr;/\ρ/g; s/’/\’/g; s/Ś/\Ř/g; s/ś/\ś/g; s/Š/\Š/g; s/š/\š/g; s/Ş/\Ş/g; s/ş/\ş/g; s/&schwa;/\ə/g; s/&sci;/\ɪ/g; s/&i\./\ɪ/g; s/&id\./<font size=-2>\Ï\̜<\/font>/g; #guess... Iuml with rtail s/&scirtail;/\ɪ\̜/g; s/&ortail;/o\̜/g; s/&oh\./o\̜/g; s/&crtail;/c\̜/g; s/ŝ/\Ŝ/g; s/Ŝ/\ŝ/g; s/&scr;/\ʀ/g; s/§/\§/g; s/&sfgr;/\ς/g; s/&Sgr;/\Σ/g; s/&sgr;/\σ/g; s/­/\­/g; s/ß/\ß/g; s/Ť/\Ť/g; s/ť/\ť/g; s/ţ/\Ţ/g; s/Ţ/\ţ/g; s/&Tgr;/\Τ/g; s/&tgr;/\τ/g; s/&THgr;/\Θ/g; s/&thgr;/\θ/g; s/Þ/\Þ/g; s/þ/\þ/g; s/Ŧ/\Ŧ/g; s/ŧ/\ŧ/g; s/&turnalpha;/\ɒ/g; s/&a\./\ɒ/g; s/&turnm;/\ɯ/g; s/&turnr;/\ɹ/g; s/&turnscr;/\ʁ/g; s/&turnv;/\ʌ/g; s/&turnw;/\ʍ/g; s/&turny;/\ʎ/g; s/Ú/\Ú/g; s/ú/\ú/g; s/Ŭ/\Ŭ/g; s/ŭ/\ŭ/g; s/Û/\Û/g; s/û/\û/g; s/Ű/\Ű/g; s/ű/\ű/g; s/&Ugr;/\Υ/g; s/&ugr;/\υ/g; s/Ù/\Ù/g; s/ù/\ù/g; s/Ū/\Ū/g; s/ū/\ū/g; s/Ų/\Ų/g; s/ų/\ų/g; s/υ/\ʊ/g; s/Ů/\Ů/g; s/ů/\ů/g; s/Ũ/\Ũ/g; s/ũ/\ũ/g; s/Ü/\Ü/g; s/ü/\ü/g; s/Ŵ/\Ŵ/g; s/ŵ/\ŵ/g; s/&wynn;/\ƿ/g; s/&Wynn;/\Ƿ/g; s/&Xgr;/\Ξ/g; s/&xgr;/\ξ/g; s/Ý/\Ý/g; s/ý/\ý/g; s/Ŷ/\Ŷ/g; s/ŷ/\ŷ/g; s/¥/\¥/g; #s/&Yogh;/\Ȝ/g; #s/&yogh;/\ȝ/g; s/ÿ/\ÿ/g; s/Ÿ/\Ÿ/g; s/Ź/\Ź/g; s/ź/\ź/g; s/Ž/\Ž/g; s/ž/\ž/g; s/Ż/\Ż/g; s/ż/\ż/g; s/&Zgr;/\Ζ/g; s/&zgr;/\ζ/g; 1; }