I made a hexsp33k generator earlier this week. First, I got a large word list that contained inflections. I used agid-4 and wrote a quick python script to eliminate the unsure entries, proper nouns, and other characters. The result was a list of words separated by newline, with inflections delimited by space. Ready to go.
Because Hexsp33k doesn't need strict spelling, my thought was to use a "score" for each mapping of English to hex.
Looser mappings would have a negative score, hopefully eliminating entries that would be hard to read. I add to the score for each letter group. However, it turned out that I got best results when I stuck to only accepting A-F and 0 as O, and 5 as S. The other phonetic transcription ("for" into 4) would need a better algorithm.
0xBAD 0xF00D! 0xFEED 0xBOA!
FADE, FACE, CAFE
DEAF, DEAD, DEED
0B0E C0DE BEADED B0BBED BAD
DEC0DE, DEFACE, D00D00, D00DAD
FOE, EBBED, FADED
Tweak the constants until you get something. It doesn't work that well - if I had had more time I would have explored some type of fuzzy matching, to allow creative misspellings. Also, in a 30 minute hack I tend to have inconsistent variable names in Python.