| OLD | NEW |
| (Empty) |
| 1 # phonetic suggestions by PHONE and optional ph field of dictionary words | |
| 2 # Documentationo of PHONE: http://aspell.net/man-html/Phonetic-Code.html | |
| 3 | |
| 4 # phonetic_english.h - phonetic transformation rules for use with phonetic.c | |
| 5 # Copyright (C) 2000 Björn Jacke | |
| 6 # | |
| 7 # This rule set is based on Lawrence Phillips original metaphone | |
| 8 # algorithm with modifications made by Michael Kuhn in his | |
| 9 # C implantation, more modifications by Björn Jacke when | |
| 10 # converting the algorithm to a rule set and minor | |
| 11 # touch ups by Kevin Atkinson | |
| 12 # | |
| 13 # This library is free software; you can redistribute it and/or | |
| 14 # modify it under the terms of the GNU Lesser General Public | |
| 15 # License version 2.1 as published by the Free Software Foundation; | |
| 16 # | |
| 17 # This library is distributed in the hope that it will be useful, | |
| 18 # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 19 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| 20 # Lesser General Public License for more details. | |
| 21 # | |
| 22 # You should have received a copy of the GNU Lesser General Public | |
| 23 # License along with this library; if not, write to the Free Software | |
| 24 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 25 # | |
| 26 # Björn Jacke may be reached by email at bjoern.jacke@gmx.de | |
| 27 # | |
| 28 # Changelog: | |
| 29 # | |
| 30 # 2000-01-05 Björn Jacke <bjoern.jacke@gmx.de> | |
| 31 # - first version with translation rules derived from | |
| 32 # metaphone.cc distributed with aspell 0.28.3 | |
| 33 # - "TH" is now representated as "@" because "0" is a | |
| 34 # meta character | |
| 35 # - removed TH(!vowel) --> T; always use TH --> # instead | |
| 36 # - dropped "^AE" -> "E" (redundant) | |
| 37 # - "ing" is transformed to "N", not "NK" | |
| 38 # - "SCH(EO)" transforms to "SK" now | |
| 39 # - added R --> SILENT if (after a vowel) and no (vowel or | |
| 40 # "y" follows) like in "Marcy" or "abort" | |
| 41 # - H is SILENT in RH at beginning of words | |
| 42 # - H is SILENT if vowel leads and "Y" follows | |
| 43 # - some ".OUGH.." --> ...F exceptions added | |
| 44 # - "^V" transforms to "W" | |
| 45 # 2000-01-07 Kevin Atkinson <kevinatk@home.com> | |
| 46 # Converted from header to data file. | |
| 47 # | |
| 48 # 2007-08-23 László Németh <nemeth AT OOo> | |
| 49 # Add PHONE header and PHONE keywords | |
| 50 # | |
| 51 # version 1.1 | |
| 52 | |
| 53 PHONE 105 | |
| 54 PHONE AH(AEIOUY)-^ *H | |
| 55 PHONE AR(AEIOUY)-^ *R | |
| 56 PHONE A(HR)^ * | |
| 57 PHONE A^ * | |
| 58 PHONE AH(AEIOUY)- H | |
| 59 PHONE AR(AEIOUY)- R | |
| 60 PHONE A(HR) _ | |
| 61 PHONE BB- _ | |
| 62 PHONE B B | |
| 63 PHONE CQ- _ | |
| 64 PHONE CIA X | |
| 65 PHONE CH X | |
| 66 PHONE C(EIY)- S | |
| 67 PHONE CK K | |
| 68 PHONE COUGH^ KF | |
| 69 PHONE CC< C | |
| 70 PHONE C K | |
| 71 PHONE DG(EIY) K | |
| 72 PHONE DD- _ | |
| 73 PHONE D T | |
| 74 PHONE É< E | |
| 75 PHONE EH(AEIOUY)-^ *H | |
| 76 PHONE ER(AEIOUY)-^ *R | |
| 77 PHONE E(HR)^ * | |
| 78 PHONE ENOUGH^$ *NF | |
| 79 PHONE E^ * | |
| 80 PHONE EH(AEIOUY)- H | |
| 81 PHONE ER(AEIOUY)- R | |
| 82 PHONE E(HR) _ | |
| 83 PHONE FF- _ | |
| 84 PHONE F F | |
| 85 PHONE GN^ N | |
| 86 PHONE GN$ N | |
| 87 PHONE GNS$ NS | |
| 88 PHONE GNED$ N | |
| 89 PHONE GH(AEIOUY)- K | |
| 90 PHONE GH _ | |
| 91 PHONE GG9 K | |
| 92 PHONE G K | |
| 93 PHONE H H | |
| 94 PHONE IH(AEIOUY)-^ *H | |
| 95 PHONE IR(AEIOUY)-^ *R | |
| 96 PHONE I(HR)^ * | |
| 97 PHONE I^ * | |
| 98 PHONE ING6 N | |
| 99 PHONE IH(AEIOUY)- H | |
| 100 PHONE IR(AEIOUY)- R | |
| 101 PHONE I(HR) _ | |
| 102 PHONE J K | |
| 103 PHONE KN^ N | |
| 104 PHONE KK- _ | |
| 105 PHONE K K | |
| 106 PHONE LAUGH^ LF | |
| 107 PHONE LL- _ | |
| 108 PHONE L L | |
| 109 PHONE MB$ M | |
| 110 PHONE MM M | |
| 111 PHONE M M | |
| 112 PHONE NN- _ | |
| 113 PHONE N N | |
| 114 PHONE OH(AEIOUY)-^ *H | |
| 115 PHONE OR(AEIOUY)-^ *R | |
| 116 PHONE O(HR)^ * | |
| 117 PHONE O^ * | |
| 118 PHONE OH(AEIOUY)- H | |
| 119 PHONE OR(AEIOUY)- R | |
| 120 PHONE O(HR) _ | |
| 121 PHONE PH F | |
| 122 PHONE PN^ N | |
| 123 PHONE PP- _ | |
| 124 PHONE P P | |
| 125 PHONE Q K | |
| 126 PHONE RH^ R | |
| 127 PHONE ROUGH^ RF | |
| 128 PHONE RR- _ | |
| 129 PHONE R R | |
| 130 PHONE SCH(EOU)- SK | |
| 131 PHONE SC(IEY)- S | |
| 132 PHONE SH X | |
| 133 PHONE SI(AO)- X | |
| 134 PHONE SS- _ | |
| 135 PHONE S S | |
| 136 PHONE TI(AO)- X | |
| 137 PHONE TH @ | |
| 138 PHONE TCH-- _ | |
| 139 PHONE TOUGH^ TF | |
| 140 PHONE TT- _ | |
| 141 PHONE T T | |
| 142 PHONE UH(AEIOUY)-^ *H | |
| 143 PHONE UR(AEIOUY)-^ *R | |
| 144 PHONE U(HR)^ * | |
| 145 PHONE U^ * | |
| 146 PHONE UH(AEIOUY)- H | |
| 147 PHONE UR(AEIOUY)- R | |
| 148 PHONE U(HR) _ | |
| 149 PHONE V^ W | |
| 150 PHONE V F | |
| 151 PHONE WR^ R | |
| 152 PHONE WH^ W | |
| 153 PHONE W(AEIOU)- W | |
| 154 PHONE X^ S | |
| 155 PHONE X KS | |
| 156 PHONE Y(AEIOU)- Y | |
| 157 PHONE ZZ- _ | |
| 158 PHONE Z S | |
| 159 | |
| 160 #The rules in a different view: | |
| 161 # | |
| 162 # Exceptions: | |
| 163 # | |
| 164 # Beginning of word: "gn", "kn-", "pn-", "wr-" ----> drop first letter | |
| 165 # "Aebersold", "Gnagy", "Knuth", "Pniewski", "Wright" | |
| 166 # | |
| 167 # Beginning of word: "x" ----> change to "s" | |
| 168 # as in "Deng Xiaopeng" | |
| 169 # | |
| 170 # Beginning of word: "wh-" ----> change to "w" | |
| 171 # as in "Whalen" | |
| 172 # Beginning of word: leading vowels are transformed to "*" | |
| 173 # | |
| 174 # "[crt]ough" and "enough" are handled separately because of "F" sound | |
| 175 # | |
| 176 # | |
| 177 # A --> A at beginning | |
| 178 # _ otherwise | |
| 179 # | |
| 180 # B --> B unless at the end of word after "m", as in "dumb", "McComb" | |
| 181 # | |
| 182 # C --> X (sh) if "-cia-" or "-ch-" | |
| 183 # S if "-ci-", "-ce-", or "-cy-" | |
| 184 # SILENT if "-sci-", "-sce-", or "-scy-", or "-cq-" | |
| 185 # K otherwise, including in "-sch-" | |
| 186 # | |
| 187 # D --> K if in "-dge-", "-dgy-", or "-dgi-" | |
| 188 # T otherwise | |
| 189 # | |
| 190 # E --> A at beginnig | |
| 191 # _ SILENT otherwise | |
| 192 # | |
| 193 # F --> F | |
| 194 # | |
| 195 # G --> SILENT if in "-gh-" and not at end or before a vowel | |
| 196 # in "-gn" or "-gned" or "-gns" | |
| 197 # in "-dge-" etc., as in above rule | |
| 198 # K if before "i", or "e", or "y" if not double "gg" | |
| 199 # | |
| 200 # K otherwise (incl. "GG"!) | |
| 201 # | |
| 202 # H --> SILENT if after vowel and no vowel or "Y" follows | |
| 203 # or after "-ch-", "-sh-", "-ph-", "-th-", "-gh-" | |
| 204 # or after "rh-" at beginning | |
| 205 # H otherwise | |
| 206 # | |
| 207 # I --> A at beginning | |
| 208 # _ SILENT otherwise | |
| 209 # | |
| 210 # J --> K | |
| 211 # | |
| 212 # K --> SILENT if after "c" | |
| 213 # K otherwise | |
| 214 # | |
| 215 # L --> L | |
| 216 # | |
| 217 # M --> M | |
| 218 # | |
| 219 # N --> N | |
| 220 # | |
| 221 # O --> A at beginning | |
| 222 # _ SILENT otherwise | |
| 223 # | |
| 224 # P --> F if before "h" | |
| 225 # P otherwise | |
| 226 # | |
| 227 # Q --> K | |
| 228 # | |
| 229 # R --> SILENT if after vowel and no vowel or "Y" follows | |
| 230 # R otherwise | |
| 231 # | |
| 232 # S --> X (sh) if before "h" or in "-sio-" or "-sia-" | |
| 233 # SK if followed by "ch(eo)" (SCH(EO)) | |
| 234 # S otherwise | |
| 235 # | |
| 236 # T --> X (sh) if "-tia-" or "-tio-" | |
| 237 # 0 (th) if before "h" | |
| 238 # silent if in "-tch-" | |
| 239 # T otherwise | |
| 240 # | |
| 241 # U --> A at beginning | |
| 242 # _ SILENT otherwise | |
| 243 # | |
| 244 # V --> V if first letter of word | |
| 245 # F otherwise | |
| 246 # | |
| 247 # W --> SILENT if not followed by a vowel | |
| 248 # W if followed by a vowel | |
| 249 # | |
| 250 # X --> KS | |
| 251 # | |
| 252 # Y --> SILENT if not followed by a vowel | |
| 253 # Y if followed by a vowel | |
| 254 # | |
| 255 # Z --> S | |
| OLD | NEW |