úÎ%Ã$ø  Compute a full$ phonix code; i.e., do not drop any 4 encodable characters from the result. The leading 4 character of the code will be folded to uppercase. 8 Non-alphabetics are not encoded. If no alphabetics are " present, the phonix code will be 0. 1There appear to be many, many variants of phonix  implemented on the web, and I'm too cheap and lazy to go 6 find the original paper by Gadd (1990) that actually ; describes the original algorithm. Thus, I am taking some , big guesses on intent here as I implement. ; Corrections, especially those involving getting me a copy  of the article, are welcome.  Dropping the trailing sound seems to be  an integral part of Gadd's technique, but I'm not sure how = it is supposed to be done. I am currently compressing runs : of vowels, and then dropping the trailing digit or vowel  from the code. <Another area of confusion is whether to compress strings of = the same code, as in Soundex, or merely strings of the same ' consonant. I have chosen the former.  2Array of phonix codes for single characters. The 4 array maps uppercase letters (only) to a character # representing a code in the range ['1'..'8'] or ?. 1Substitution rules for Phonix canonicalization. ^ ($) A is used to anchor a pattern to the beginning (end) of the word.  c (v, .-) at the beginning or end of a pattern match @ a consonant (vowel, arbitrary character). A character matched B in this fashion is automatically tacked onto the beginning (end)  of the pattern. 3Array of soundex codes for single characters. The 5 array maps uppercase letters (only) to a character $ representing a code in the range ['1'..'7'] or ?. Code  '7') is returned as a coding convenience for  AmericanMiracodeNARA/Knuth soundex. 4Utility function: id except for point substitution.  Compute a full% soundex code; i.e., do not drop any 4 encodable characters from the result. The leading 4 character of the code will be folded to uppercase. 8 Non-alphabetics are not encoded. If no alphabetics are # present, the soundex code will be 0. =The two commonly encountered forms of soundex are Simplified ? and another known as American, Miracode, NARA or Knuth. This @ code will calculate either---passing True gets NARA, and False  gets Simplified.      phonetic-code-0.1Text.PhoneticCode.PhonixText.PhoneticCode.Soundexphonix phonixCodes phonixRules soundexCodessoundex soundexSimple soundexNARAisVowelyisVowel globMatchesisGlobmatchessubstgSubst