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 |