PageRenderTime 42ms CodeModel.GetById 38ms app.highlight 2ms RepoModel.GetById 0ms app.codeStats 1ms

/aspell6-en-7.1-0/en_phonet.dat

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