Fixes for Android GN build input/outputs
[chromium-blink-merge.git] / third_party / hunspell / tests / phone.aff
blob911cb44849611d54ea9c9576e0cc09b97c3bd0a6
1 # phonetic suggestions by PHONE and optional ph field of dictionary words
2 # Documentationo of PHONE: http://aspell.net/man-html/Phonetic-Code.html
4 #   phonetic_english.h - phonetic transformation rules for use with phonetic.c
5 #   Copyright (C) 2000 Björn Jacke
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
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;
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.
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
26 #   Björn Jacke may be reached by email at bjoern.jacke@gmx.de
28 #   Changelog:
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.
48 #   2007-08-23  László Németh <nemeth AT OOo>
49 #               Add PHONE header and PHONE keywords
51 # version 1.1
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
160 #The rules in a different view:
162 # Exceptions:
164 #  Beginning of word: "gn", "kn-", "pn-", "wr-"  ----> drop first letter
165 #                     "Aebersold", "Gnagy", "Knuth", "Pniewski", "Wright"
167 #  Beginning of word: "x"                                ----> change to "s"
168 #                                     as in "Deng Xiaopeng"
170 #  Beginning of word: "wh-"                              ----> change to "w"
171 #                                     as in "Whalen"
172 #  Beginning of word: leading vowels are transformed to "*"
174 #  "[crt]ough" and "enough" are handled separately because of "F" sound
177 #  A --> A      at beginning
178 #          _      otherwise
180 #  B --> B      unless at the end of word after "m", as in "dumb", "McComb"
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-"
187 #  D --> K      if in "-dge-", "-dgy-", or "-dgi-"
188 #          T      otherwise
190 #  E --> A      at beginnig
191 #          _      SILENT otherwise
192 #  
193 #  F --> F
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"
200 #          K      otherwise (incl. "GG"!)
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
207 #  I --> A      at beginning
208 #          _      SILENT otherwise
210 #  J --> K
212 #  K -->        SILENT if after "c"
213 #          K      otherwise
215 #  L --> L
217 #  M --> M
218 #  
219 #  N --> N
221 #  O --> A      at beginning
222 #          _      SILENT otherwise
224 #  P --> F      if before "h"
225 #          P      otherwise
227 #  Q --> K
229 #  R -->        SILENT if after vowel and no vowel or "Y" follows
230 #          R      otherwise
232 #  S --> X      (sh) if before "h" or in "-sio-" or "-sia-"
233 #          SK     if followed by "ch(eo)" (SCH(EO))
234 #          S      otherwise
236 #  T --> X      (sh) if "-tia-" or "-tio-"
237 #          0      (th) if before "h"
238 #                 silent if in "-tch-"
239 #          T      otherwise
241 #  U --> A      at beginning
242 #          _      SILENT otherwise
244 #  V --> V      if first letter of word
245 #          F      otherwise
247 #  W -->        SILENT if not followed by a vowel
248 #          W      if followed by a vowel
250 #  X --> KS
252 #  Y -->        SILENT if not followed by a vowel
253 #          Y      if followed by a vowel
255 #  Z --> S