aspell: The Simple Soundslike

1 
1 7.4 The Simple Soundslike
1 =========================
1 
1 The simple soundslike goes something like this:
1 
1      sl0[0] = lookup0(word[0])
1      for (i = 1; i < size; i++)
1        sl0[i] = lookup(word[i]);
1      s = 0;
1      for (i = 0; i < size; i++)
1        sl.append(al0[i]) unless sl0[i] == 0 || sl0[i] == sl0[i-1];
1 
1    Basically each character can be converted to another character or
1 deleted.  A separate lookup table is used for the first character.  If
1 the same soundslike letter is repeated, the duplicate is removed.
1 
1    By default all accents are removed, and all vowels are deleted unless
1 they appear at the start of the word in which case they are converted
1 to a `*'.  The exact behavior can be customized via the character data
1 file.
1 
1    The simplified soundslike has the advantage that it is very fast to
1 compute and thus does not need to be stored with a word.  Also, when
1 affix compression is used and the `partially-expand' is given the
1 results will be identical to the results when affix compression is not
1 used.
1 
1    Of course it is not nearly as powerful as the phonetic soundslike.
1