![]() |
Smalltalk/X WebserverDocumentation of class 'PhoneticStringUtilities::MetaphoneStringComparator': |
|
Class: MetaphoneStringComparator (private in PhoneticStringUtilitiesThis class is only visible from within PhoneticStringUtilities.Inheritance:Object | +--PhoneticStringUtilities::PhoneticStringComparator | +--PhoneticStringUtilities::SingleResultPhoneticStringComparator | +--PhoneticStringUtilities::MetaphoneStringComparator
Description:Ongoing work - do not use at the moment Encodes a string into a Metaphone value. Initial Java implementation by <CITE>William B. Brogden. December, 1997</CITE>. Permission given by <CITE>wbrogden</CITE> for code to be used anywhere. Hanging on the Metaphone by Lawrence Philips in Computer Language of Dec. 1990, p 39. Note, that this does not match the algorithm that ships with PHP, or the algorithm found in the Perl implementations: https://metacpan.org/source/MSCHWERN/Text-Metaphone-1.96//Metaphone.pm6 They have had undocumented changes from the originally published algorithm. For more information, see https://issues.apache.org/jira/browse/CODEC-57 Metaphone uses the following rules: Doubled letters except 'c' -> drop 2nd letter. Vowels are only kept when they are the first letter. B -> B unless at the end of a word after 'm' as in 'dumb' C -> X (sh) if -cia- or -ch- S if -ci-, -ce- or -cy- K otherwise, including -sch- D -> J if in -dge-, -dgy- or -dgi-; T otherwise F -> F G -> silent if in -gh- and not at end or before a vowel in -gn- or -gned- (also see dge etc. above) J if before i or e or y if not double gg; K otherwise H -> silent if after vowel and no vowel follows; H otherwise J -> J K -> silent if after 'c'; K otherwise L -> L M -> M N -> N P -> F if before 'h'; P otherwise Q -> K R -> R S -> X (sh) if before 'h' or in -sio- or -sia-; S otherwise T -> X (sh) if -tia- or -tio- 0 (th) if before 'h' silent if in -tch-; T otherwise V -> F W -> silent if not followed by a vowel W if followed by a vowel X -> KS Y -> silent if not followed by a vowel Y if followed by a vowel Z -> S Initial Letter Exceptions Initial kn-, gn- pn, ae- or wr- -> drop first letter Initial x- -> change to 's' Initial wh- -> change to 'w' self new encode:'a' self new encode:'dumb' self new encode:'MILLER' self new encode:'schmidt' self new encode:'schneider' self new encode:'FISCHER' self new encode:'HEDGY' self new encode:'weber' self new encode:'wagner' self new encode:'van gogh' Instance protocol:api
|
|
ST/X 7.2.0.0; WebServer 1.670 at bd0aa1f87cdd.unknown:8081; Wed, 27 Sep 2023 19:29:30 GMT
|