#   phonetic_english.h - phonetic transformation rules for use with phonetic.c
#   Copyright (C) 2000 Björn Jacke
#
#   This rule set is based on Lawrence Phillips original metaphone 
#   algorithm with modifications made by Michael Kuhn in his
#   C implantation, more modifications by Björn Jacke when
#   converting the algorithm to a rule set and minor 
#   touch ups by Kevin Atkinson
#
#   This library is free software; you can redistribute it and/or
#   modify it under the terms of the GNU Lesser General Public
#   License version 2.1 as published by the Free Software Foundation;
#
#   This library is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
#   Lesser General Public License for more details.
#
#   You should have received a copy of the GNU Lesser General Public
#   License along with this library; if not, write to the Free Software
#   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
#   Björn Jacke may be reached by email at bjoern.jacke@gmx.de
#
#   Changelog:
#
#   2000-01-05  Björn Jacke <bjoern.jacke@gmx.de>
#               - first version with translation rules derived from
#                 metaphone.cc distributed with aspell 0.28.3
#               - "TH" is now representated as "@" because "0" is a
#                 meta character
#               - removed TH(!vowel) --> T; always use TH --> # instead
#               - dropped "^AE" -> "E" (redundant)
#               - "ing" is transformed to "N", not "NK"
#               - "SCH(EO)" transforms to "SK" now
#               - added R --> SILENT if (after a vowel) and no (vowel or
#                 "y" follows) like in "Marcy" or "abort"
#               - H is SILENT in RH at beginning of words
#               - H is SILENT if vowel leads and "Y" follows
#               - some ".OUGH.."  --> ...F exceptions added
#               - "^V" transforms to "W"
#   2000-01-07  Kevin Atkinson <kevinatk@home.com>
#               Converted from header to data file.
#

version 1.1

AH(AEIOUY)-^         *H
AR(AEIOUY)-^         *R
A(HR)^               *
A^                   *
AH(AEIOUY)-          H
AR(AEIOUY)-          R
A(HR)                _
BB-                  _
B                    B
CQ-                  _
CIA                  X
CH                   X
C(EIY)-              S
CK                   K
COUGH^               KF
CC<                  C
C                    K
DG(EIY)              K
DD-                  _
D                    T
É<                   E
EH(AEIOUY)-^         *H
ER(AEIOUY)-^         *R
E(HR)^               *
ENOUGH^$             *NF
E^                   *
EH(AEIOUY)-          H
ER(AEIOUY)-          R
E(HR)                _
FF-                  _
F                    F
GN^                  N
GN$                  N
GNS$                 NS
GNED$                N
GH(AEIOUY)-          K
GH                   _
GG9                  K
G                    K
H                    H
IH(AEIOUY)-^         *H
IR(AEIOUY)-^         *R
I(HR)^               *
I^                   *
ING6                 N
IH(AEIOUY)-          H
IR(AEIOUY)-          R
I(HR)                _
J                    K
KN^                  N
KK-                  _
K                    K
LAUGH^               LF
LL-                  _
L                    L
MB$                  M
MM                   M
M                    M
NN-                  _
N                    N
OH(AEIOUY)-^         *H
OR(AEIOUY)-^         *R
O(HR)^               *
O^                   *
OH(AEIOUY)-          H
OR(AEIOUY)-          R
O(HR)                _
PH                   F
PN^                  N
PP-                  _
P                    P
Q                    K
RH^                  R
ROUGH^               RF
RR-                  _
R                    R
SCH(EOU)-            SK
SC(IEY)-             S
SH                   X
SI(AO)-              X
SS-                  _
S                    S
TI(AO)-              X
TH                   @
TCH--                _
TOUGH^               TF
TT-                  _
T                    T
UH(AEIOUY)-^         *H
UR(AEIOUY)-^         *R
U(HR)^               *
U^                   *
UH(AEIOUY)-          H
UR(AEIOUY)-          R
U(HR)                _
V^                   W
V                    F
WR^                  R
WH^                  W
W(AEIOU)-            W
X^                   S
X                    KS
Y(AEIOU)-            Y
ZZ-                  _
Z                    S

#The rules in a different view:
#
# Exceptions:
#
#  Beginning of word: "gn", "kn-", "pn-", "wr-"  ----> drop first letter
#                     "Aebersold", "Gnagy", "Knuth", "Pniewski", "Wright"
#
#  Beginning of word: "x"                                ----> change to "s"
#                                     as in "Deng Xiaopeng"
#
#  Beginning of word: "wh-"                              ----> change to "w"
#                                     as in "Whalen"
#  Beginning of word: leading vowels are transformed to "*"
#
#  "[crt]ough" and "enough" are handled separately because of "F" sound
#
#
#  A --> A      at beginning
#          _      otherwise
#
#  B --> B      unless at the end of word after "m", as in "dumb", "McComb"
#
#  C --> X      (sh) if "-cia-" or "-ch-"
#          S      if "-ci-", "-ce-", or "-cy-"
#                 SILENT if "-sci-", "-sce-", or "-scy-", or "-cq-"
#          K      otherwise, including in "-sch-"
#
#  D --> K      if in "-dge-", "-dgy-", or "-dgi-"
#          T      otherwise
#
#  E --> A      at beginnig
#          _      SILENT otherwise
#  
#  F --> F
#
#  G -->        SILENT if in "-gh-" and not at end or before a vowel
#                            in "-gn" or "-gned" or "-gns"
#                           in "-dge-" etc., as in above rule
#          K      if before "i", or "e", or "y" if not double "gg"
#
#          K      otherwise (incl. "GG"!)
#
#  H -->        SILENT if after vowel and no vowel or "Y" follows
#                        or after "-ch-", "-sh-", "-ph-", "-th-", "-gh-"
#                        or after "rh-" at beginning
#          H      otherwise
#
#  I --> A      at beginning
#          _      SILENT otherwise
#
#  J --> K
#
#  K -->        SILENT if after "c"
#          K      otherwise
#
#  L --> L
#
#  M --> M
#  
#  N --> N
#
#  O --> A      at beginning
#          _      SILENT otherwise
#
#  P --> F      if before "h"
#          P      otherwise
#
#  Q --> K
#
#  R -->        SILENT if after vowel and no vowel or "Y" follows
#          R      otherwise
#
#  S --> X      (sh) if before "h" or in "-sio-" or "-sia-"
#          SK     if followed by "ch(eo)" (SCH(EO))
#          S      otherwise
#
#  T --> X      (sh) if "-tia-" or "-tio-"
#          0      (th) if before "h"
#                 silent if in "-tch-"
#          T      otherwise
#
#  U --> A      at beginning
#          _      SILENT otherwise
#
#  V --> V      if first letter of word
#          F      otherwise
#
#  W -->        SILENT if not followed by a vowel
#          W      if followed by a vowel
#
#  X --> KS
#
#  Y -->        SILENT if not followed by a vowel
#          Y      if followed by a vowel
# 
#  Z --> S
   
