There is an old Webster English dictionary freely available from Guttenberg and a few other places. I ended up writing a perl script to convert into HaaliReader's dictionary (excellent PocketPC reader) format, I suspect the perl script is no use to you but the URL in the comments should be. Chris #------ cut here ------ # # Convert webster 1913 US Webster's Unabridged Dictionary html doc # (http://www.translatum.gr/dictionaries/download-english.htm # zip file http://msowww.anu.edu.au/~ralph/OPTED/v003.zip) into input appropriate # for mkdict for HaalieReader http://haali.rt.ru/pocketpc/ # # This script does NOT make multiple definitions for word very pretty though :-( # e.g. look at the word "A" # # Also the output for each html file (i.e. letter) should be # concatinated into one large files before running through mkdict # # Run output file into mkdict, e.g.: # mkdict webster_mod.txt webster.dic # format of dictionary input file: # # Word 2 spaces explaination # # i.e.: # KEYWORD EXPLANATION # # After the KEYWORD there should be 2 spaces, i.e. " ". # The KEYWORD may be multi word phrase, e.g. "Mount Everest". # The EXPLANATION may also be a multi word phrase, e.g. "the largest mountain in the world". # Also the EXPLANATION may contain the tab character this is mapped to a carriage return, # e.g. "the largest mountain in the world it is pretty big". # These could be args easier to hard code them though :-) $oldfile = 'wb1913_z.html'; $newfile = 'webster_mod.txt'; $tmpfile = 'clach04_dummy.fil'; $old = '\t'; $new = " "; $dictionary_seperator = " "; #$/ = "\n"; open(NF, ">$newfile"); $dir= shift || './'; chdir($dir); opendir DIR, $dir or die "Can't open directory $dir: $!\n"; # opendir twice due to bug in WinCE version of perl opendir DIR, $dir or die "Can't open directory $dir: $!\n"; @files=grep (/\.html/, grep (!/^\./, readdir(DIR))); closedir DIR; @srtfiles=sort @files ; print "@srtfiles"; foreach $fname (@srtfiles) { print "foreach loop fname $fname\n"; $oldfile=$fname; open(INFILE, "<$oldfile") || die "Can't open input file $infile"; open(OUTFILE, ">$tmpfile") || die "Can't open input file $outfile"; while ($data=) { $data =~ s/\r/\n/g; print OUTFILE $data; } close(INFILE); close(OUTFILE); $oldfile = $tmpfile; open(OF, $oldfile); # read in each line of the file while ($line = ) { #print ">",$line,"<\n"; if ( $line =~ // ) { # Replace tab with spaces $line =~ s/$old/$new/g; # Remove

$line =~ s/\\//g; # Replace with " " $line =~ s/\<\/B\>/ /g; # Remove $line =~ s/\//g; # Remove $line =~ s/\<\/I\>//g; # Remove

$line =~ s/\<\/P\>//g; # print to file print NF $line; } # end of if line is in BOLD } # end of while close(OF); } # end of for each close(NF); unlink ($tmpfile);