PageRenderTime 49ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

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

#
Unknown | 250 lines | 246 code | 4 blank | 0 comment | 0 complexity | f4a53f502195f7b6ebecd375f95dd8cc MD5 | raw file
Possible License(s): Unlicense
  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. version 1.1
  46. AH(AEIOUY)-^ *H
  47. AR(AEIOUY)-^ *R
  48. A(HR)^ *
  49. A^ *
  50. AH(AEIOUY)- H
  51. AR(AEIOUY)- R
  52. A(HR) _
  53. BB- _
  54. B B
  55. CQ- _
  56. CIA X
  57. CH X
  58. C(EIY)- S
  59. CK K
  60. COUGH^ KF
  61. CC< C
  62. C K
  63. DG(EIY) K
  64. DD- _
  65. D T
  66. É< E
  67. EH(AEIOUY)-^ *H
  68. ER(AEIOUY)-^ *R
  69. E(HR)^ *
  70. ENOUGH^$ *NF
  71. E^ *
  72. EH(AEIOUY)- H
  73. ER(AEIOUY)- R
  74. E(HR) _
  75. FF- _
  76. F F
  77. GN^ N
  78. GN$ N
  79. GNS$ NS
  80. GNED$ N
  81. GH(AEIOUY)- K
  82. GH _
  83. GG9 K
  84. G K
  85. H H
  86. IH(AEIOUY)-^ *H
  87. IR(AEIOUY)-^ *R
  88. I(HR)^ *
  89. I^ *
  90. ING6 N
  91. IH(AEIOUY)- H
  92. IR(AEIOUY)- R
  93. I(HR) _
  94. J K
  95. KN^ N
  96. KK- _
  97. K K
  98. LAUGH^ LF
  99. LL- _
  100. L L
  101. MB$ M
  102. MM M
  103. M M
  104. NN- _
  105. N N
  106. OH(AEIOUY)-^ *H
  107. OR(AEIOUY)-^ *R
  108. O(HR)^ *
  109. O^ *
  110. OH(AEIOUY)- H
  111. OR(AEIOUY)- R
  112. O(HR) _
  113. PH F
  114. PN^ N
  115. PP- _
  116. P P
  117. Q K
  118. RH^ R
  119. ROUGH^ RF
  120. RR- _
  121. R R
  122. SCH(EOU)- SK
  123. SC(IEY)- S
  124. SH X
  125. SI(AO)- X
  126. SS- _
  127. S S
  128. TI(AO)- X
  129. TH @
  130. TCH-- _
  131. TOUGH^ TF
  132. TT- _
  133. T T
  134. UH(AEIOUY)-^ *H
  135. UR(AEIOUY)-^ *R
  136. U(HR)^ *
  137. U^ *
  138. UH(AEIOUY)- H
  139. UR(AEIOUY)- R
  140. U(HR) _
  141. V^ W
  142. V F
  143. WR^ R
  144. WH^ W
  145. W(AEIOU)- W
  146. X^ S
  147. X KS
  148. Y(AEIOU)- Y
  149. ZZ- _
  150. Z S
  151. #The rules in a different view:
  152. #
  153. # Exceptions:
  154. #
  155. # Beginning of word: "gn", "kn-", "pn-", "wr-" ----> drop first letter
  156. # "Aebersold", "Gnagy", "Knuth", "Pniewski", "Wright"
  157. #
  158. # Beginning of word: "x" ----> change to "s"
  159. # as in "Deng Xiaopeng"
  160. #
  161. # Beginning of word: "wh-" ----> change to "w"
  162. # as in "Whalen"
  163. # Beginning of word: leading vowels are transformed to "*"
  164. #
  165. # "[crt]ough" and "enough" are handled separately because of "F" sound
  166. #
  167. #
  168. # A --> A at beginning
  169. # _ otherwise
  170. #
  171. # B --> B unless at the end of word after "m", as in "dumb", "McComb"
  172. #
  173. # C --> X (sh) if "-cia-" or "-ch-"
  174. # S if "-ci-", "-ce-", or "-cy-"
  175. # SILENT if "-sci-", "-sce-", or "-scy-", or "-cq-"
  176. # K otherwise, including in "-sch-"
  177. #
  178. # D --> K if in "-dge-", "-dgy-", or "-dgi-"
  179. # T otherwise
  180. #
  181. # E --> A at beginnig
  182. # _ SILENT otherwise
  183. #
  184. # F --> F
  185. #
  186. # G --> SILENT if in "-gh-" and not at end or before a vowel
  187. # in "-gn" or "-gned" or "-gns"
  188. # in "-dge-" etc., as in above rule
  189. # K if before "i", or "e", or "y" if not double "gg"
  190. #
  191. # K otherwise (incl. "GG"!)
  192. #
  193. # H --> SILENT if after vowel and no vowel or "Y" follows
  194. # or after "-ch-", "-sh-", "-ph-", "-th-", "-gh-"
  195. # or after "rh-" at beginning
  196. # H otherwise
  197. #
  198. # I --> A at beginning
  199. # _ SILENT otherwise
  200. #
  201. # J --> K
  202. #
  203. # K --> SILENT if after "c"
  204. # K otherwise
  205. #
  206. # L --> L
  207. #
  208. # M --> M
  209. #
  210. # N --> N
  211. #
  212. # O --> A at beginning
  213. # _ SILENT otherwise
  214. #
  215. # P --> F if before "h"
  216. # P otherwise
  217. #
  218. # Q --> K
  219. #
  220. # R --> SILENT if after vowel and no vowel or "Y" follows
  221. # R otherwise
  222. #
  223. # S --> X (sh) if before "h" or in "-sio-" or "-sia-"
  224. # SK if followed by "ch(eo)" (SCH(EO))
  225. # S otherwise
  226. #
  227. # T --> X (sh) if "-tia-" or "-tio-"
  228. # 0 (th) if before "h"
  229. # silent if in "-tch-"
  230. # T otherwise
  231. #
  232. # U --> A at beginning
  233. # _ SILENT otherwise
  234. #
  235. # V --> V if first letter of word
  236. # F otherwise
  237. #
  238. # W --> SILENT if not followed by a vowel
  239. # W if followed by a vowel
  240. #
  241. # X --> KS
  242. #
  243. # Y --> SILENT if not followed by a vowel
  244. # Y if followed by a vowel
  245. #
  246. # Z --> S