]> Git — Sourcephile - julm/worksheets.git/blob - tests/Language/EnglishSpec.hs
update
[julm/worksheets.git] / tests / Language / EnglishSpec.hs
1 {-# LANGUAGE OverloadedLists #-}
2
3 module Language.EnglishSpec where
4
5 import Data.ByteString.Builder qualified as ByteString.Builder
6 import Data.GenValidity.Map ()
7 import Data.GenValidity.Sequence ()
8 import Data.GenValidity.Set ()
9 import Data.GenValidity.Text ()
10 import Data.List qualified as List
11 import Data.Map.Strict qualified as Map
12 import Data.Set qualified as Set
13 import Data.Text qualified as Text
14 import Data.Text.Encoding qualified as Text
15 import Data.Text.Lazy.Encoding qualified as Text.Lazy
16 import Data.Text.Short qualified as ShortText
17 import Data.Validity.Map ()
18 import Data.Validity.Set ()
19 import Data.Validity.Text ()
20 import Language
21 import Language.English hiding (pronunciationRules)
22 import Language.English qualified as English
23 import Language.Pronunciation (ExampleLiteral (..), Lexeme (..), Rule (..), RuleLexemes, after, before, begining, ending, meaning, occurence, rule, silent, word)
24 import Language.Pronunciation qualified as Pron
25 import Paths_worksheets qualified as Self
26 import System.Directory qualified as IO
27 import System.FilePath (joinPath, pathSeparator, (<.>), (</>))
28 import System.FilePath.Posix qualified as File
29 import System.IO qualified as IO
30 import Test.Syd
31 import Text.Blaze.Html5.Attributes qualified as HA
32 import Utils.Pronunciation qualified as Pron
33 import Utils.Tests
34 import Wiktionary qualified
35 import Worksheets.Utils.HTML (Html, className, classes, cm, styles, (!))
36 import Worksheets.Utils.HTML qualified as HTML
37 import Worksheets.Utils.IPA qualified as IPA
38 import Worksheets.Utils.Paper qualified as Paper
39 import Worksheets.Utils.Prelude
40 import Worksheets.Utils.SQL qualified as SQL
41 import Prelude (error, even, mod)
42
43 spec :: HasCallStack => Spec
44 spec = do
45 -- Pron.lexerRender $ English.pronunciationDict
46 describe "pronunciation" do
47 describe "parser" do
48 Pron.pronunciationParserTest pronunciationRules sentences
49
50 {-
51 mangleSupraSegmentalFeatures :: [IPA.Syllable []] -> [[IPA.Segment]]
52 mangleSupraSegmentalFeatures = \case
53 [] -> []
54 IPA.Syllable syl : ts -> syl : mangleSupraSegmentalFeatures ts
55 IPA.WithSuprasegmentalFeature IPA.Linking syl : ts ->
56 case mangleSupraSegmentalFeatures ts of
57 [] -> [dropSupraSegmentalFeatures syl]
58 x : xs -> (dropSupraSegmentalFeatures syl <> x) : xs
59 IPA.WithSuprasegmentalFeature _feat syl : xs ->
60 mangleSupraSegmentalFeatures (syl : xs)
61 -}
62
63 -- cardsHtml "syllabes" $ English.syllablesTable & English.syllablesTableToHTML
64
65 sentences :: Map Pron.InputLexemes Pron.Pronunciation
66 sentences =
67 [ pronunciationRules
68 & Pron.examples
69 ]
70 & list
71 & Map.unionsWith (curry errorShow)
72
73 -- -- , [LexemeVowel] <> ending "sy" := Rule{rulePron = [[LexemeVowel] <> ending "sy" := "zi"], ruleExamples = []}
74 pronunciationRules :: Pron.Table
75 pronunciationRules =
76 [ "chrysanthemum" := Rule{rulePron = ["chry" := "kɹɪ", "san" := "ˈsæn", "the" := "θə", "mum" := "məm"], ruleExamples = ["chrysanthemum" := "kɹɪ.ˈsæn.θə.məm"]}
77 , "Andúril" := Rule{rulePron = ["An" := "æn", "dú" := "dy", "ril" := "ɹil"], ruleExamples = ["Andúril" := "æn.dy.ɹil"]}
78 , "Angmar" := Rule{rulePron = ["Ang" := "ˈæng", "mar" := "maɹ"], ruleExamples = ["Angmar" := "ˈæng.maɹ"]}
79 , "Aragorn" := Rule{rulePron = ["A" := "ˈa", "ra" := "ra", "gorn" := "ɡɔrn"], ruleExamples = ["Aragorn" := "ˈa.ra.ɡɔrn"]}
80 , "Arwen" := Rule{rulePron = ["Ar" := "ɑɹ", "wen" := "wɛn"], ruleExamples = ["Arwen" := "ɑɹ.wɛn"]}
81 , "Barad-dûr" := Rule{rulePron = ["Ba" := "ba", "rad" := "ɹad", "-" := [], "dûr" := "dyɹ"], ruleExamples = ["Barad-dûr" := "ba.ɹad.dyɹ"]}
82 , "Boromir" := Rule{rulePron = ["Bo" := "bo", "ro" := "ɹəʊ", "mir" := "miɹ"], ruleExamples = ["Boromir" := "bo.ɹəʊ.miɹ"]}
83 , "Elendil" := Rule{rulePron = ["E" := "ɛ", "len" := "ˈlen", "dil" := "dil"], ruleExamples = ["Elendil" := "ɛ.ˈlen.dil"]}
84 , "Escherichia" := Rule{rulePron = ["E" := "ˌɛ", "sche" := "ʃə", "ri" := "ˈɹɪ", "chia" := "kiə"], ruleExamples = ["Escherichia" := "ˌɛ.ʃə.ˈɹɪ.kiə"]}
85 , "Frodo" := Rule{rulePron = ["Fro" := "ˈfɹɒd", "do" := "dəʊ"], ruleExamples = ["Frodo" := "ˈfɹɒd.dəʊ"]}
86 , "Galadriel" := Rule{rulePron = ["Ga" := "ɡa", "la" := "ˈla", "dri" := "dri", "el" := "ɛl"], ruleExamples = ["Galadriel" := "ɡa.ˈla.dri.ɛl"]}
87 , "Gandalf" := Rule{rulePron = ["gand" := "ˈgænd", "alf" := "ɑlf"], ruleExamples = ["Gandalf" := "ˈgænd.ɑlf"]}
88 , "Gimli" := Rule{rulePron = ["Gim" := "ˈgɪm", "li" := "liː"], ruleExamples = ["Gimli" := "ˈgɪm.liː"]}
89 , "Gollum" := Rule{rulePron = ["Go" := "ˈgɑ", "llum" := "ləm"], ruleExamples = ["Gollum" := "ˈgɑ.ləm"]}
90 , "Gondor" := Rule{rulePron = ["gon" := "ɡɒn", "dor" := "dɔɹ"], ruleExamples = ["Gondor" := "ɡɒn.dɔɹ"]}
91 , "Gwaihir" := Rule{rulePron = ["gwai" := "gwaɪ", "hir" := "hɪɹ"], ruleExamples = ["Gwaihir" := "gwaɪ.hɪɹ"]}
92 , "Isildur" := Rule{rulePron = ["I" := "i", "sil" := "ˈsil", "dur" := "duɹ"], ruleExamples = ["Isildur" := "i.ˈsil.duɹ"]}
93 , "Khazad-dûm" := Rule{rulePron = ["Kha" := "kə", "zad" := "ˈzɑd", "-" := [], "dûm" := "dum"], ruleExamples = ["Khazad-dûm" := "kə.ˈzɑd.dum"]}
94 , "Legolas" := Rule{rulePron = ["Le" := "ˈlɛ", "go" := "ɡɔ", "las" := "las"], ruleExamples = ["Legolas" := "ˈlɛ.ɡɔ.las"]}
95 , "Lindon" := Rule{rulePron = ["Lin" := "ˈlɪn", "don" := "dɒn"], ruleExamples = ["Lindon" := "ˈlɪn.dɒn"]}
96 , "Mordor" := Rule{rulePron = ["Mor" := "ˈmɔɹ", "dor" := "dɔɹ"], ruleExamples = ["Mordor" := "ˈmɔɹ.dɔɹ"]}
97 , "Moria" := Rule{rulePron = ["Mo" := "mɔ", "ria" := "ʁja"], ruleExamples = ["Moria" := "mɔ.ʁja"]}
98 , "Narsil" := Rule{rulePron = ["Nar" := "naɹ", "sil" := "sil"], ruleExamples = ["Narsil" := "naɹ.sil"]}
99 , "Pippin" := Rule{rulePron = ["pi" := "ˈpɪ", "ppin" := "pɪn"], ruleExamples = ["Pippin" := "ˈpɪ.pɪn"]}
100 , "Sam" := Rule{rulePron = ["Sam" := "ˈsæm"], ruleExamples = ["Sam" := "ˈsæm"]}
101 , "Saruman" := Rule{rulePron = ["sa" := "ˈsɑ", "ru" := "ru", "man" := "mɑn"], ruleExamples = ["Saruman" := "ˈsɑ.ru.mɑn"]}
102 , "Sauron" := Rule{rulePron = ["Sau" := "ˈsaʊ", "ron" := "ɹɒn"], ruleExamples = ["Sauron" := "ˈsaʊ.ɹɒn"]}
103 , "Shelob" := Rule{rulePron = ["she" := "ʃiː", "lob" := "lɒb"], ruleExamples = ["Shelob" := "ʃiː.lɒb"]}
104 , "Smaug" := Rule{rulePron = ["Smaug" := "smaʊɡ"], ruleExamples = ["Smaug" := "smaʊɡ"]}
105 , "Thorin" := Rule{rulePron = ["Tho" := "θɔː", "rin" := "ɹɪn"], ruleExamples = ["Thorin" := "θɔː.ɹɪn"]}
106 , "Thranduil" := Rule{rulePron = ["Thran" := "θɹæn", "duil" := "dyil"], ruleExamples = ["Thranduil" := "θɹæn.dyil"]}
107 , "Uruk-hai" := Rule{rulePron = ["U" := "u", "ruk" := "ɹuk", "-" := [], "hai" := "aj"], ruleExamples = ["Uruk-hai" := "u.ɹuk.aj"]}
108 , "Valinor" := Rule{rulePron = ["Va" := "va", "li" := "lɪ", "nor" := "nɔɹ"], ruleExamples = ["Valinor" := "va.lɪ.nɔɹ"]}
109 , "above" := Rule{rulePron = ["a" := "ə", "bove" := "ˈbʌv"], ruleExamples = ["above" := "ə.ˈbʌv"]}
110 , "adventure" := Rule{rulePron = ["ad" := "əd", "ven" := "ˈvɛn", "ture" := "t͡ʃə"], ruleExamples = ["adventure" := "əd.ˈvɛn.t͡ʃə"]}
111 , "against" := Rule{rulePron = ["a" := "ə", "gainst" := "ˈɡɛnst"], ruleExamples = ["against" := "ə.ˈɡɛnst"]}
112 , "alligator" := Rule{rulePron = ["all" := "ˈæl", "i" := "ɪ", "ga" := "geɪ", "tor" := "tə"], ruleExamples = ["alligator" := "ˈæl.ɪ.geɪ.tə"]}
113 , "an" := Rule{rulePron = ["an" := "ˈæn"], ruleExamples = ["an" := "ˈæn"]}
114 , "ananas" := Rule{rulePron = ["a" := "ə", "na" := "ˈneɪ", "nas" := "nəs"], ruleExamples = ["ananas" := "ə.ˈneɪ.nəs"]}
115 , "anchor" := Rule{rulePron = ["an" := "ˈæŋ", "kor" := "kə"], ruleExamples = ["anchor" := "ˈæŋ.kə"]}
116 , "ankylo" := Rule{rulePron = ["an" := "ˌæŋ", "ky" := "kə", "lo" := "loʊ"], ruleExamples = ["ankylosaurus" := "ˌæŋ.kə.loʊ.ˈsɔː.ɹəs"]}
117 , "ant" := Rule{rulePron = ["ant" := "ænt"], ruleExamples = ["ant" := "ænt"]}
118 , "ants" := Rule{rulePron = ["ants" := "ænts"], ruleExamples = ["ants" := "ænts"]}
119 , "apple" := Rule{rulePron = ["a" := "ˈæ", "pple" := "pl"], ruleExamples = ["apple" := "ˈæ.pl"]}
120 , "apricot" := Rule{rulePron = ["a" := "ˈeɪ", "pri" := "pɹɪ", "cot" := "kɒt"], ruleExamples = ["apricot" := "ˈeɪ.pɹɪ.kɒt"]}
121 , "are" := Rule{rulePron = ["are" := "ɑː"], ruleExamples = ["are" := "ɑː"]}
122 , "around" := Rule{rulePron = ["a" := "ə", "round" := "ˈɹaʊnd"], ruleExamples = ["around" := "ə.ˈɹaʊnd"]}
123 , "assault" := Rule{rulePron = ["a" := "ə", "ssault" := "ˈsɒlt"], ruleExamples = ["assault" := "ə.ˈsɒlt"]}
124 , "assaults" := Rule{rulePron = ["a" := "ə", "ssaults" := "ˈsɒlts"], ruleExamples = ["assaults" := "ə.ˈsɒlts"]}
125 , "at" := Rule{rulePron = ["at" := "æt"], ruleExamples = ["at" := "æt"]}
126 , "axe" := Rule{rulePron = ["axe" := "æks"], ruleExamples = ["axe" := "æks"]}
127 , "back" := Rule{rulePron = ["back" := "bæk"], ruleExamples = ["back" := "bæk"]}
128 , "baggins" := Rule{rulePron = ["ba" := "ˈbæ", "ggins" := "gɪnz"], ruleExamples = ["baggins" := "ˈbæ.gɪnz"]}
129 , "balrog" := Rule{rulePron = ["bal" := "ˈbal", "rog" := "ɹɑg"], ruleExamples = ["balrog" := "ˈbal.ɹɑg"]}
130 , "bambi" := Rule{rulePron = ["bam" := "bæm", "bi" := "ˈbi"], ruleExamples = ["bambi" := "bæm.ˈbi"]}
131 , "banana" := Rule{rulePron = ["ba" := "bə", "na" := "ˈnɑː", "na" := "nə"], ruleExamples = ["banana" := "bə.ˈnɑː.nə"]}
132 , "bat" := Rule{rulePron = ["bat" := "bæt"], ruleExamples = ["bat" := "bæt"]}
133 , "be" := Rule{rulePron = ["be" := "biː"], ruleExamples = ["be" := "biː"]}
134 , "bee" := Rule{rulePron = ["bee" := "ˈbiː"], ruleExamples = ["beeing" := "ˈbiː.ɪŋ"]}
135 , "before" := Rule{rulePron = ["be" := "bɪ", "fore" := "ˈfɔː"], ruleExamples = ["before" := "bɪ.ˈfɔː"]}
136 , "berry" := Rule{rulePron = ["be" := "ˈbɛ", "rry" := "ɹi"], ruleExamples = ["blueberry" := "ˈbluː.ˈbɛ.ɹi"]}
137 , "big" := Rule{rulePron = ["big" := "bɪg"], ruleExamples = ["big" := "bɪg"]}
138 , "bilbo" := Rule{rulePron = ["bil" := "ˈbɪl", "bo" := "bəʊ"], ruleExamples = ["bilbo" := "ˈbɪl.bəʊ"]}
139 , "bird" := Rule{rulePron = ["bird" := "bəːd"], ruleExamples = ["blackbird" := "blak.bəːd"]}
140 , "black" := Rule{rulePron = ["black" := "blak"], ruleExamples = ["blackbird" := "blak.bəːd"]}
141 , "blade" := Rule{rulePron = ["blade" := "bleɪd"], ruleExamples = ["blade" := "bleɪd"]}
142 , "bladed" := Rule{rulePron = ["bla" := "ˈbleɪ", "ded" := "dɪd"], ruleExamples = ["bladed" := "ˈbleɪ.dɪd"]}
143 , "blocks" := Rule{rulePron = ["blocks" := "blɒks"], ruleExamples = ["blocks" := "blɒks"]}
144 , "blue" := Rule{rulePron = ["blue" := "ˈbluː"], ruleExamples = ["blue" := "ˈbluː"]}
145 , "board" := Rule{rulePron = ["board" := "bɔːd"], ruleExamples = ["board" := "bɔːd"]}
146 , "boat" := Rule{rulePron = ["boat" := "bəʊt"], ruleExamples = ["boat" := "bəʊt"]}
147 , "body" := Rule{rulePron = ["bod" := "ˈbɒd", "y" := "i"], ruleExamples = ["body" := "ˈbɒd.i"]}
148 , "both" := Rule{rulePron = ["both" := "bəʊθ"], ruleExamples = ["both" := "bəʊθ"]}
149 , "brachio" := Rule{rulePron = ["bra" := "ˌbreɪ", "chio" := "kɪə"], ruleExamples = ["brachio" := "ˌbreɪ.kɪə"]}
150 , "breath" := Rule{rulePron = ["breath" := "ˈbɹiːð"], ruleExamples = ["breath" := "ˈbɹiːð"]}
151 , "bridge" := Rule{rulePron = ["bridge" := "bɹɪd͡ʒ"], ruleExamples = ["bridge" := "bɹɪd͡ʒ"]}
152 , "bright" := Rule{rulePron = ["bright" := "bɹaɪt"], ruleExamples = ["bright" := "bɹaɪt"]}
153 , "buoy" := Rule{rulePron = ["buoy" := "ˈbɔɪ"], ruleExamples = ["buoy" := "ˈbɔɪ"]}
154 , "busy" := Rule{rulePron = ["bu" := "ˈbɪ", "sy" := "zi"], ruleExamples = ["busy" := "ˈbɪ.zi"]}
155 , "buzzard" := Rule{rulePron = ["buzz" := "ˈbʌz", "ard" := "əɹd"], ruleExamples = ["buzzard" := "ˈbʌz.əɹd"]}
156 , "by" := Rule{rulePron = ["by" := "baɪ"], ruleExamples = ["by" := "baɪ"]}
157 , "cake" := Rule{rulePron = ["cake" := "keɪk"], ruleExamples = ["cake" := "keɪk"]}
158 , "calla" := Rule{rulePron = ["ca" := "kæ", "lla" := "lə"], ruleExamples = ["calla" := "kæ.lə"]}
159 , "can" := Rule{rulePron = ["can" := "ˈkæn"], ruleExamples = ["can" := "ˈkæn"]}
160 , "canal" := Rule{rulePron = ["ca" := "kə", "nal" := "ˈnæl"], ruleExamples = ["canal" := "kə.ˈnæl"]}
161 , "canoe" := Rule{rulePron = ["ca" := "kə", "noe" := "ˈnu"], ruleExamples = ["canoeing" := "kə.ˈnu.ɪŋ"]}
162 , "cantaloupe" := Rule{rulePron = ["can" := "ˈkæn", "ta" := "tə", "loupe" := "luːp"], ruleExamples = ["cantaloupe" := "ˈkæn.tə.luːp"]}
163 , "cap" := Rule{rulePron = ["cap" := "kæp"], ruleExamples = ["cap" := "kæp"]}
164 , "car" := Rule{rulePron = ["car" := "kɑː"], ruleExamples = ["car" := "kɑː"]}
165 , "carnation" := Rule{rulePron = ["car" := "kɑː", "na" := "ˈneɪ", "tion" := "ʃən"], ruleExamples = ["carnation" := "kɑː.ˈneɪ.ʃən"]}
166 , "cast" := Rule{rulePron = ["cast" := "kɑːst"], ruleExamples = ["cast" := "kɑːst"]}
167 , "castle" := Rule{rulePron = ["castle" := "kɑːsl̩"], ruleExamples = ["castle" := "kɑːsl̩"]}
168 , "casts" := Rule{rulePron = ["casts" := "kɑːsts"], ruleExamples = ["casts" := "kɑːsts"]}
169 , "cat" := Rule{rulePron = ["cat" := "kæt"], ruleExamples = ["cat" := "kæt"]}
170 , "cephalo" := Rule{rulePron = ["ce" := "ˌsɛ", "pha" := "fə", "lo" := "lə"], ruleExamples = ["pachycephalosaurus" := "ˌpæ.kɪ.ˌsɛ.fə.lə.ˈsɔː.ɹəs"]}
171 , "cherry" := Rule{rulePron = ["che" := "ˈt͡ʃɛ", "rry" := "ɹi"], ruleExamples = ["cherry" := "ˈt͡ʃɛ.ɹi"]}
172 , "close" := Rule{rulePron = ["close" := "kləʊz"], ruleExamples = ["close" := "kləʊz"]}
173 , "coli" := Rule{rulePron = ["co" := "ˈkoʊ", "li" := "laɪ"], ruleExamples = ["Escherichia coli" := "ˌɛ.ʃə.ˈɹɪ.kiə.ˈkoʊ.laɪ"]}
174 , "command" := Rule{rulePron = ["co" := "kə", "mmand" := "ˈmɑːnd"], ruleExamples = ["command" := "kə.ˈmɑːnd"]}
175 , "control" := Rule{rulePron = ["con" := "kən", "trol" := "ˈtɹəʊl"], ruleExamples = ["control" := "kən.ˈtɹəʊl"]}
176 , "crane" := Rule{rulePron = ["crane" := "kɹeɪn"], ruleExamples = ["crane" := "kɹeɪn"]}
177 , "crow" := Rule{rulePron = ["crow" := "kɹəʊ"], ruleExamples = ["crow" := "kɹəʊ"]}
178 , "crown" := Rule{rulePron = ["crown" := "kɹaʊn"], ruleExamples = ["crown" := "kɹaʊn"]}
179 , "cub" := Rule{rulePron = ["cub" := "kʌb"], ruleExamples = ["cub" := "kʌb"]}
180 , "cut" := Rule{rulePron = ["cut" := "kʌt"], ruleExamples = ["cut" := "kʌt"]}
181 , "daffodil" := Rule{rulePron = ["da" := "ˈdæ", "ffo" := "fə", "dil" := "ˌdɪl"], ruleExamples = ["daffodil" := "ˈdæ.fə.ˌdɪl"]}
182 , "dagger" := Rule{rulePron = ["da" := "ˈdæ", "gger" := "gə"], ruleExamples = ["dagger" := "ˈdæ.gə"]}
183 , "daisy" := Rule{rulePron = ["dai" := "ˈdeɪ", "sy" := "zi"], ruleExamples = ["daisy" := "ˈdeɪ.zi"]}
184 , "dandelion" := Rule{rulePron = ["dan" := "ˈdæn", "de" := "dɪ", "li" := "ˌlaɪ", "on" := "ən"], ruleExamples = ["dandelion" := "ˈdæn.dɪ.ˌlaɪ.ən"]}
185 , "dark" := Rule{rulePron = ["dark" := "dɑːk"], ruleExamples = ["dark" := "dɑːk"]}
186 , "dead" := Rule{rulePron = ["dead" := "dɛd"], ruleExamples = ["dead" := "dɛd"]}
187 , "death" := Rule{rulePron = ["death" := "dɛθ"], ruleExamples = ["death" := "dɛθ"]}
188 , "deceiver" := Rule{rulePron = ["de" := "dɪ", "cei" := "ˈsiː", "ver" := "və"], ruleExamples = ["deceiver" := "dɪ.ˈsiː.və"]}
189 , "decorations" := Rule{rulePron = ["de" := "ˌdɛ", "co" := "kə", "ra" := "ˈɹeɪ", "tions" := "ʃənz"], ruleExamples = ["decorations" := "ˌdɛ.kə.ˈɹeɪ.ʃənz"]}
190 , "dimetrodon" := Rule{rulePron = ["di" := "daɪ", "me" := "ˈmiː", "tro" := "tɹə", "don" := "dɒn"], ruleExamples = ["dimetrodon" := "daɪ.ˈmiː.tɹə.dɒn"]}
191 , "dinghy" := Rule{rulePron = ["dingh" := "ˈdɪŋ", "y" := "i"], ruleExamples = ["dinghy" := "ˈdɪŋ.i"]}
192 , "diplodocus" := Rule{rulePron = ["di" := "ˌdɪ", "plo" := "pləʊ", "do" := "ˈdəʊ", "cus" := "kəs"], ruleExamples = ["diplodocus" := "ˌdɪ.pləʊ.ˈdəʊ.kəs"]}
193 , "diving" := Rule{rulePron = ["di" := "ˈdaɪ", "ving" := "vɪŋ"], ruleExamples = ["diving" := "ˈdaɪ.vɪŋ"]}
194 , "doom" := Rule{rulePron = ["doom" := "duːm"], ruleExamples = ["doom" := "duːm"]}
195 , "door" := Rule{rulePron = ["door" := "dɔː"], ruleExamples = ["door" := "dɔː"]}
196 , "doors" := Rule{rulePron = ["doors" := "dɔːz"], ruleExamples = ["doors" := "dɔːz"]}
197 , "double" := Rule{rulePron = ["dou" := "ˈdʌ", "ble" := "bl"], ruleExamples = ["double" := "ˈdʌ.bl"]}
198 , "dove" := Rule{rulePron = ["dove" := "dʌv"], ruleExamples = ["dove" := "dʌv"]}
199 , "dragon" := Rule{rulePron = ["dra" := "ˈdɹæ", "gon" := "ɡən"], ruleExamples = ["dragon" := "ˈdɹæ.ɡən"]}
200 , "drink" := Rule{rulePron = ["drink" := "dɹɪŋk"], ruleExamples = ["drink" := "dɹɪŋk"]}
201 , "drive" := Rule{rulePron = ["drive" := "dɹaɪv"], ruleExamples = ["drive" := "dɹaɪv"]}
202 , "drives" := Rule{rulePron = ["drives" := "dɹaɪvs"], ruleExamples = ["drives" := "dɹaɪvs"]}
203 , "dwarf" := Rule{rulePron = ["dwarf" := "dwɔɹf"], ruleExamples = ["dwarf" := "dwɔɹf"]}
204 , "dwarves" := Rule{rulePron = ["dwarves" := "dwɔːvz"], ruleExamples = ["dwarves" := "dwɔːvz"]}
205 , "eagle" := Rule{rulePron = ["ea" := "ˈiː", "gle" := "gɫ̩"], ruleExamples = ["eagle" := "ˈiː.gɫ̩"]}
206 , "earth" := Rule{rulePron = ["earth" := "ɜːθ"], ruleExamples = ["earth" := "ɜːθ"]}
207 , "eight" := Rule{rulePron = ["eight" := "eɪt"], ruleExamples = ["eight" := "eɪt"]}
208 , "elf" := Rule{rulePron = ["elf" := "ɛlf"], ruleExamples = ["elf" := "ɛlf"]}
209 , "elven" := Rule{rulePron = ["el" := "ˈɛl", "ven" := "vn"], ruleExamples = ["elven" := "ˈɛl.vn"]}
210 , "elves" := Rule{rulePron = ["elves" := "elvz"], ruleExamples = ["elves" := "elvz"]}
211 , "en" := Rule{rulePron = ["en" := "ɛn"], ruleExamples = ["golden" := "gəʊld.ɛn"]}
212 , "exhausted" := Rule{rulePron = ["e" := "ɪ", "x" := ["g", "ˈz"], "haus" := "ɔːs", "ted" := "tɪd"], ruleExamples = ["exhausted" := "ɪg.ˈzɔːs.tɪd"]}
213 , "eye" := Rule{rulePron = ["eye" := "aɪ"], ruleExamples = ["eye" := "aɪ"]}
214 , "face" := Rule{rulePron = ["face" := "feɪs"], ruleExamples = ["face" := "feɪs"]}
215 , "faces" := Rule{rulePron = ["fa" := "ˈfeɪ", "ces" := "sɪz"], ruleExamples = ["faces" := "ˈfeɪ.sɪz"]}
216 , "family" := Rule{rulePron = ["fa" := "ˈfæ", "mi" := "mɪ", "ly" := "li"], ruleExamples = ["family" := "ˈfæ.mɪ.li"]}
217 , "fatally" := Rule{rulePron = ["fa" := "ˈfeɪ", "ta" := "tə", "lly" := "li"], ruleExamples = ["fatally" := "ˈfeɪ.tə.li"]}
218 , "fax" := Rule{rulePron = ["fax" := "fæks"], ruleExamples = ["fax" := "fæks"]}
219 , "fellow" := Rule{rulePron = ["fe" := "ˈfɛ", "llow" := "ləʊ"], ruleExamples = ["fellow" := "ˈfɛ.ləʊ"]}
220 , "fight" := Rule{rulePron = ["fight" := "faɪt"], ruleExamples = ["fight" := "faɪt"]}
221 , "fights" := Rule{rulePron = ["fights" := "faɪts"], ruleExamples = ["fights" := "faɪts"]}
222 , "filled" := Rule{rulePron = ["filled" := "fɪld"], ruleExamples = ["filled" := "fɪld"]}
223 , "finger" := Rule{rulePron = ["fin" := "ˈfɪŋ", "ger" := "gə"], ruleExamples = ["finger" := "ˈfɪŋ.gə"]}
224 , "fire" := Rule{rulePron = ["fi" := "ˈfaɪ", "re" := "ə"], ruleExamples = ["fire" := "ˈfaɪ.ə"]}
225 , "fizzy" := Rule{rulePron = ["fi" := "ˈfɪ", "zzy" := "zi"], ruleExamples = ["fizzy" := "ˈfɪ.zi"]}
226 , "flail" := Rule{rulePron = ["flail" := "fleɪl"], ruleExamples = ["flail" := "fleɪl"]}
227 , "flaming" := Rule{rulePron = ["fla" := "ˈfleɪ", "ming" := "mɪŋ"], ruleExamples = ["flaming" := "ˈfleɪ.mɪŋ"]}
228 , "flies" := Rule{rulePron = ["flies" := "flaɪz"], ruleExamples = ["flies" := "flaɪz"]}
229 , "friends" := Rule{rulePron = ["friends" := "fɹɛndz"], ruleExamples = ["friends" := "fɹɛndz"]}
230 , "frighten" := Rule{rulePron = ["frigh" := "ˈfɹaɪ", "ten" := "tən"], ruleExamples = ["frighten" := "ˈfɹaɪ.tən"]}
231 , "frightened" := Rule{rulePron = ["frigh" := "ˈfɹaɪ", "tened" := "tn̩d"], ruleExamples = ["frightened" := "ˈfɹaɪ.tn̩d"]}
232 , "frightens" := Rule{rulePron = ["frigh" := "ˈfɹaɪ", "tens" := "təns"], ruleExamples = ["frightens" := "ˈfɹaɪ.təns"]}
233 , "fruit" := Rule{rulePron = ["fruit" := "fɹuːt"], ruleExamples = ["fruit" := "fɹuːt"]}
234 , "gangway" := Rule{rulePron = ["gang" := "ˈgæŋ", "way" := "weɪ"], ruleExamples = ["gangway" := "ˈgæŋ.weɪ"]}
235 , "get" := Rule{rulePron = ["get" := "gɛt"], ruleExamples = ["get" := "gɛt"]}
236 , "giant" := Rule{rulePron = ["gi" := "ˈd͡ʒaɪ", "ant" := "ənt"], ruleExamples = ["giant" := "ˈd͡ʒaɪ.ənt"]}
237 , "gift" := Rule{rulePron = ["gift" := "gɪft"], ruleExamples = ["gift" := "gɪft"]}
238 , "gifts" := Rule{rulePron = ["gifts" := "gɪfts"], ruleExamples = ["gifts" := "gɪfts"]}
239 , "ginger" := Rule{rulePron = ["gin" := "ˈdʒɪn", "ger" := "dʒə"], ruleExamples = ["ginger" := "ˈdʒɪn.dʒə"]}
240 , "giraffa" := Rule{rulePron = ["gi" := "dʒɪ", "ra" := "ˈɹɑː", "ffa" := "fæ"], ruleExamples = ["giraffatitan" := "dʒɪ.ˈɹɑː.fæ.ˈtaɪ.tən"]}
241 , "giraffe" := Rule{rulePron = ["gi" := "dʒɪ", "raffe" := "ˈɹɑːf"], ruleExamples = ["giraffe" := "dʒɪ.ˈɹɑːf"]}
242 , "goggles" := Rule{rulePron = ["go" := "ˈgɑ", "ggles" := "gəlz"], ruleExamples = ["goggles" := "ˈgɑ.gəlz"]}
243 , "gold" := Rule{rulePron = ["gold" := "gəʊld"], ruleExamples = ["gold" := "gəʊld"]}
244 , "grab" := Rule{rulePron = ["grab" := "gɹæb"], ruleExamples = ["grab" := "gɹæb"]}
245 , "grabs" := Rule{rulePron = ["grabs" := "gɹæbs"], ruleExamples = ["grabs" := "gɹæbs"]}
246 , "great" := Rule{rulePron = ["great" := "ˈgɹeɪt"], ruleExamples = ["great" := "ˈgɹeɪt"]}
247 , "green" := Rule{rulePron = ["green" := "gɹiːn"], ruleExamples = ["green" := "gɹiːn"]}
248 , "greetings" := Rule{rulePron = ["gree" := "ˈgɹiː", "tings" := "tɪŋz"], ruleExamples = ["greetings" := "ˈgɹiː.tɪŋz"]}
249 , "grey" := Rule{rulePron = ["grey" := "gɹeɪ"], ruleExamples = ["grey" := "gɹeɪ"]}
250 , "hand" := Rule{rulePron = ["hand" := "hænd"], ruleExamples = ["hand" := "hænd"]}
251 , "hands" := Rule{rulePron = ["hands" := "hænds"], ruleExamples = ["hands" := "hænds"]}
252 , "has" := Rule{rulePron = ["has" := "hæz"], ruleExamples = ["has" := "hæz"]}
253 , "head" := Rule{rulePron = ["head" := "ˈhɛd"], ruleExamples = ["head" := "ˈhɛd"]}
254 , "her" := Rule{rulePron = ["her" := "ˈhɜː"], ruleExamples = ["her" := "ˈhɜː"]} -- stressed
255 , "hibiscus" := Rule{rulePron = ["hi" := "hɪ", "bis" := "ˈbɪs", "cus" := "kəs"], ruleExamples = ["hibiscus" := "hɪ.ˈbɪs.kəs"]}
256 , "hippopotamus" := Rule{rulePron = ["hippo" := "ˌhɪpə", "pot" := "ˈpɒt", "a" := "ə", "mus" := "məs"], ruleExamples = ["hippopotamus" := "ˌhɪpə.ˈpɒt.ə.məs"]}
257 , "his" := Rule{rulePron = ["his" := "ˈhɪz"], ruleExamples = ["his" := "ˈhɪz"]}
258 , "hobbit" := Rule{rulePron = ["ho" := "ˈhɒ", "bbit" := "bɪt"], ruleExamples = ["hobbit" := "ˈhɒ.bɪt"]}
259 , "hobbits" := Rule{rulePron = ["ho" := "ˈhɒ", "bbits" := "bɪts"], ruleExamples = ["hobbits" := "ˈhɒ.bɪts"]}
260 , "hold" := Rule{rulePron = ["hold" := "həʊld"], ruleExamples = ["hold" := "həʊld"]}
261 , "holds" := Rule{rulePron = ["holds" := "həʊldz"], ruleExamples = ["holds" := "həʊldz"]}
262 , "honey" := Rule{rulePron = ["ho" := "ˈhʌ", "ney" := "ni"], ruleExamples = ["honey" := "ˈhʌ.ni"]}
263 , "hood" := Rule{rulePron = ["hood" := "hʊd"], ruleExamples = ["hood" := "hʊd"]}
264 , "horse" := Rule{rulePron = ["horse" := "hɔːs"], ruleExamples = ["horse" := "hɔːs"]}
265 , "hyacinth" := Rule{rulePron = ["hy" := "ˈhaɪ", "a" := "ə", "cinth" := "sɪnθ"], ruleExamples = ["hyacinth" := "ˈhaɪ.ə.sɪnθ"]}
266 , "index" := Rule{rulePron = ["in" := "ˈɪn", "dex" := "dɛks"], ruleExamples = ["index" := "ˈɪn.dɛks"]}
267 , "inflatable" := Rule{rulePron = ["in" := "ɪn", "fla" := "ˈfleɪ", "ta" := "tə", "ble" := "bəl"], ruleExamples = ["inflatable" := "ɪn.ˈfleɪ.tə.bəl"]}
268 , "iris" := Rule{rulePron = ["i" := "ˈaɪ", "ris" := "ɹɪs"], ruleExamples = ["iris" := "ˈaɪ.ɹɪs"]}
269 , "is" := Rule{rulePron = ["is" := "ɪz"], ruleExamples = ["is" := "ɪz"]}
270 , "jacket" := Rule{rulePron = ["jack" := "ˈd͡ʒæk", "et" := "ɪt"], ruleExamples = ["jacket" := "ˈd͡ʒæk.ɪt"]}
271 , "jasmine" := Rule{rulePron = ["jas" := "d͡ʒæz", "mine" := "ˈmɪn"], ruleExamples = ["jasmine" := "d͡ʒæz.ˈmɪn"]}
272 , "jet" := Rule{rulePron = ["jet" := "d͡ʒɛt"], ruleExamples = ["jet" := "d͡ʒɛt"]}
273 , "jetty" := Rule{rulePron = ["jett" := "d͡ʒɛt", "y" := "i"], ruleExamples = ["jetty" := "d͡ʒɛt.i"]}
274 , "journey" := Rule{rulePron = ["jour" := "ˈd͡ʒɜː", "ney" := "ni"], ruleExamples = ["journey" := "ˈd͡ʒɜː.ni"]}
275 , "juice" := Rule{rulePron = ["juice" := "d͡ʒuːs"], ruleExamples = ["juice" := "d͡ʒuːs"]}
276 , "kangaroo" := Rule{rulePron = ["kan" := "ˌkæŋ", "ga" := "gə", "roo" := "ˈɹu"], ruleExamples = ["kangaroo" := "ˌkæŋ.gə.ˈɹu"]}
277 , "kid" := Rule{rulePron = ["kid" := "kɪd"], ruleExamples = ["kid" := "kɪd"]}
278 , "king" := Rule{rulePron = ["king" := "kɪŋ"], ruleExamples = ["king" := "kɪŋ"]}
279 , "kneel" := Rule{rulePron = ["kneel" := "niːl"], ruleExamples = ["kneel" := "niːl"]}
280 , "kneels" := Rule{rulePron = ["kneels" := "niːlz"], ruleExamples = ["kneels" := "niːlz"]}
281 , "knight" := Rule{rulePron = ["knight" := "naɪt"], ruleExamples = ["knight" := "naɪt"]}
282 , "krono" := Rule{rulePron = ["kro" := "ˌkrɒ", "no" := "noʊ"], ruleExamples = ["kronosaurus" := "ˌkrɒ.noʊ.ˈsɔː.ɹəs"]}
283 , "leans" := Rule{rulePron = ["leans" := "liːnz"], ruleExamples = ["leans" := "liːnz"]}
284 , "lemon" := Rule{rulePron = ["lem" := "ˈlɛm", "on" := "ən"], ruleExamples = ["lemon" := "ˈlɛm.ən"]}
285 , "life" := Rule{rulePron = ["life" := "laɪf"], ruleExamples = ["life" := "laɪf"]}
286 , "light" := Rule{rulePron = ["light" := "laɪt"], ruleExamples = ["light" := "laɪt"]}
287 , "lilly" := Rule{rulePron = ["lill" := "ˈlɪl", "y" := "i"], ruleExamples = ["lilly" := "ˈlɪl.i"]}
288 , "lily" := Rule{rulePron = ["lil" := "ˈlɪ", "ly" := "li"], ruleExamples = ["lily" := "ˈlɪ.li"]}
289 , "lime" := Rule{rulePron = ["lime" := "laɪm"], ruleExamples = ["lime" := "laɪm"]}
290 , "liner" := Rule{rulePron = ["li" := "ˈlaɪ", "ner" := "nə"], ruleExamples = ["liner" := "ˈlaɪ.nə"]}
291 , "lion" := Rule{rulePron = ["lion" := "ˈlaɪən"], ruleExamples = ["lion" := "ˈlaɪən"]}
292 , "lioness" := Rule{rulePron = ["li" := "ˈlaɪ", "o" := "ə", "ness" := "nɪs"], ruleExamples = ["lioness" := "ˈlaɪ.ə.nɪs"]}
293 , "little" := Rule{rulePron = ["li" := "ˈlɪ", "ttle" := "tl"], ruleExamples = ["little" := "ˈlɪ.tl"]}
294 , "long" := Rule{rulePron = ["long" := "lɔːŋ"], ruleExamples = ["long" := "lɔːŋ"]}
295 , "look" := Rule{rulePron = ["look" := "ˈlʊk"], ruleExamples = ["look" := "ˈlʊk"]}
296 , "looks" := Rule{rulePron = ["looks" := "ˈlʊks"], ruleExamples = ["looks" := "ˈlʊks"]}
297 , "lord" := Rule{rulePron = ["lord" := "lɔːd"], ruleExamples = ["lord" := "lɔːd"]}
298 , "mammoth" := Rule{rulePron = ["ma" := "ˈmæ", "mmoth" := "məθ"], ruleExamples = ["mammoth" := "ˈmæ.məθ"]}
299 , "mace" := Rule{rulePron = ["mace" := "meɪs"], ruleExamples = ["mace" := "meɪs"]}
300 , "magic" := Rule{rulePron = ["ma" := "ˈma", "gic" := "d͡ʒɪk"], ruleExamples = ["magic" := "ˈma.d͡ʒɪk"]}
301 , "maia" := Rule{rulePron = ["mai" := "ˈmeɪ", "a" := "ə"], ruleExamples = ["maia" := "ˈmeɪ.ə"]}
302 , "mandarin" := Rule{rulePron = ["man" := "ˈmæn", "da" := "də", "rin" := "ɹɪn"], ruleExamples = ["mandarin" := "ˈmæn.də.ɹɪn"]}
303 , "master" := Rule{rulePron = ["mas" := "ˈmɑːs", "ter" := "tə"], ruleExamples = ["master" := "ˈmɑːs.tə"]}
304 , "men" := Rule{rulePron = ["men" := "mɛn"], ruleExamples = ["men" := "mɛn"]}
305 , "middle" := Rule{rulePron = ["mi" := "ˈmɪ", "ddle" := "dəl"], ruleExamples = ["middle" := "ˈmɪ.dəl"]}
306 , "mines" := Rule{rulePron = ["mines" := "maɪnz"], ruleExamples = ["mines" := "maɪnz"]}
307 , "misty" := Rule{rulePron = ["mis" := "ˈmɪs", "ty" := "ti"], ruleExamples = ["misty" := "ˈmɪs.ti"]}
308 , "monkey" := Rule{rulePron = ["monk" := "ˈmʌŋk", "ey" := "i"], ruleExamples = ["monkey" := "ˈmʌŋk.i"]}
309 , "mount" := Rule{rulePron = ["mount" := "maʊnt"], ruleExamples = ["mount" := "maʊnt"]}
310 , "mountain" := Rule{rulePron = ["moun" := "maʊn", "tain" := "tɪn"], ruleExamples = ["mountain" := "maʊn.tɪn"]}
311 , "must" := Rule{rulePron = ["must" := "mʌst"], ruleExamples = ["must" := "mʌst"]}
312 , "mustang" := Rule{rulePron = ["mus" := "ˈmʌs", "tang" := "ˌtæŋ"], ruleExamples = ["mustang" := "ˈmʌs.ˌtæŋ"]}
313 , "nazgûl" := Rule{rulePron = ["naz" := "ˈnæz", "gûl" := "gul"], ruleExamples = ["nazgûl" := "ˈnæz.gul"]}
314 , "nazgûls" := Rule{rulePron = ["naz" := "ˈnæz", "gûls" := "guls"], ruleExamples = ["nazgûls" := "ˈnæz.guls"]}
315 , "necromancer" := Rule{rulePron = ["ne" := "ˈnɛ", "cro" := "kɹəʊ", "man" := "ˌmæn", "cer" := "sə"], ruleExamples = ["necromancer" := "ˈnɛ.kɹəʊ.ˌmæn.sə"]}
316 , "ness" := Rule{rulePron = ["ness" := "nɛs"], ruleExamples = ["ness" := "nɛs"]}
317 , "next" := Rule{rulePron = ["next" := "nɛkst"], ruleExamples = ["next" := "nɛkst"]}
318 , "north" := Rule{rulePron = ["north" := "nɔːθ"], ruleExamples = ["north" := "nɔːθ"]}
319 , "on" := Rule{rulePron = ["on" := "ɒn"], ruleExamples = ["on" := "ɒn"]}
320 , "open" := Rule{rulePron = ["o" := "ˈəʊ", "pen" := "pn"], ruleExamples = ["open" := "ˈəʊ.pn"]}
321 , "orange" := Rule{rulePron = ["o" := "ˈɒ", "range" := "ɹɪnd͡ʒ"], ruleExamples = ["orange" := "ˈɒ.ɹɪnd͡ʒ"]}
322 , "orc" := Rule{rulePron = ["orc" := "ɔːk"], ruleExamples = ["orc" := "ɔːk"]}
323 , "orcs" := Rule{rulePron = ["orcs" := "ɔːks"], ruleExamples = ["orcs" := "ɔːks"]}
324 , "out" := Rule{rulePron = ["out" := "aʊt"], ruleExamples = ["out" := "aʊt"]}
325 , "pachy" := Rule{rulePron = ["pa" := "ˌpæ", "chy" := "kɪ"], ruleExamples = ["pachycephalosaurus" := "ˌpæ.kɪ.ˌsɛ.fə.lə.ˈsɔː.ɹəs"]}
326 , "paddle" := Rule{rulePron = ["pa" := "ˈpæ", "ddle" := "dəl"], ruleExamples = ["paddle" := "ˈpæ.dəl"]}
327 , "palantír" := Rule{rulePron = ["pa" := "pa", "lan" := "ˈlan", "tír" := "ˌtiːr"], ruleExamples = ["palantír" := "pa.ˈlan.ˌtiːr"]}
328 , "party" := Rule{rulePron = ["par" := "ˈpɑː", "ty" := "ti"], ruleExamples = ["party" := "ˈpɑː.ti"]}
329 , "peach" := Rule{rulePron = ["peach" := "piːt͡ʃ"], ruleExamples = ["peach" := "piːt͡ʃ"]}
330 , "phial" := Rule{rulePron = ["phial" := "ˈfaɪəl"], ruleExamples = ["phial" := "ˈfaɪəl"]}
331 , "picture" := Rule{rulePron = ["pic" := "ˈpɪk", "ture" := "ʃə"], ruleExamples = ["picture" := "ˈpɪk.ʃə"]}
332 , "pipe" := Rule{rulePron = ["pipe" := "ˈpaɪp"], ruleExamples = ["pipe" := "ˈpaɪp"]}
333 , "pointy" := Rule{rulePron = ["poin" := "pɔɪn", "ty" := "ti"], ruleExamples = ["pointy" := "pɔɪn.ti"]}
334 , "para" := Rule{rulePron = ["pa" := "ˌpæ", "ra" := "rə"], ruleExamples = ["para" := "ˌpæ.rə"]}
335 , "spino" := Rule{rulePron = ["spi" := "ˌspaɪ", "no" := "nə"], ruleExamples = ["spinosaurus" := "ˌspaɪ.nə.ˈsɔː.ɹəs"]}
336 , "sauro" := Rule{rulePron = ["sau" := "ˌsɔː", "ro" := "ɹə"], ruleExamples = ["parasaurolophus" := "ˌpæ.rə.ˌsɔː.ɹə.ˈloʊ.fəs"]}
337 , "lophus" := Rule{rulePron = ["lo" := "ˈloʊ", "fus" := "fəs"], ruleExamples = ["parasaurolophus" := "ˌpæ.rə.ˌsɔː.ɹə.ˈloʊ.fəs"]}
338 , "polo" := Rule{rulePron = ["po" := "ˈpəʊ", "lo" := "ləʊ"], ruleExamples = ["polo" := "ˈpəʊ.ləʊ"]}
339 , "pool" := Rule{rulePron = ["pool" := "pul"], ruleExamples = ["pool" := "pul"]}
340 , "power" := Rule{rulePron = ["power" := "ˈpaʊ̯ə̯"], ruleExamples = ["power" := "ˈpaʊ̯ə̯"]}
341 , "powers" := Rule{rulePron = ["powers" := "ˈpaʊəz"], ruleExamples = ["powers" := "ˈpaʊəz"]}
342 , "pteranodon" := Rule{rulePron = ["pte" := "tə", "ra" := "ˈræ", "no" := "nə", "don" := "dɒn"], ruleExamples = ["pteranodon" := "tə.ˈræ.nə.dɒn"]}
343 , "pteranodon" := Rule{rulePron = ["pte" := "tə", "ra" := "ˈræ", "no" := "nə", "don" := "dɒn"], ruleExamples = ["pteranodon" := "tə.ˈræ.nə.dɒn"]}
344 , "queen" := Rule{rulePron = ["queen" := "kwiːn"], ruleExamples = ["queen" := "kwiːn"]}
345 , "quetzal" := Rule{rulePron = ["quet" := "kɛt", "zal" := "səl"], ruleExamples = ["quetzalcoatlus" := "kɛt.səl.koʊ.ˈæt.ləs"]}
346 , "coatlus" := Rule{rulePron = ["co" := "koʊ", "at" := "ˈæt", "lus" := "ləs"], ruleExamples = ["quetzalcoatlus" := "kɛt.səl.koʊ.ˈæt.ləs"]}
347 , "raft" := Rule{rulePron = ["raft" := "ɹɑːft"], ruleExamples = ["raft" := "ɹɑːft"]}
348 , "ranger" := Rule{rulePron = ["ran" := "ˈɹeɪn", "ger" := "d͡ʒə"], ruleExamples = ["ranger" := "ˈɹeɪn.d͡ʒə"]}
349 , "raptor" := Rule{rulePron = ["rap" := "ˈɹæp", "tor" := "tɚ"], ruleExamples = ["raptor" := "ˈɹæp.tɚ"]}
350 , "raspberry" := Rule{rulePron = ["ras" := "ˈɹɑːz", "be" := "bə", "rry" := "ɹi"], ruleExamples = ["raspberry" := "ˈɹɑːz.bə.ɹi"]}
351 , "real" := Rule{rulePron = ["real" := "ˈɹiːəl"], ruleExamples = ["real" := "ˈɹiːəl"]}
352 , "really" := Rule{rulePron = ["rea" := "ˈɹɪə", "lly" := "li"], ruleExamples = ["really" := "ˈɹɪə.li"]}
353 , "realm" := Rule{rulePron = ["realm" := "ɹɛlm"], ruleExamples = ["realm" := "ɹɛlm"]}
354 , "red" := Rule{rulePron = ["red" := "ɹɛd"], ruleExamples = ["red" := "ɹɛd"]}
355 , "rex" := Rule{rulePron = ["rex" := "ɹɛks"], ruleExamples = ["rex" := "ɹɛks"]}
356 , "rhinoceros" := Rule{rulePron = ["rhi" := "ɹaɪ", "noc" <> [LexemeVowel] := "ˈnɒs", "e" := "ə", "ros" := "ɹəs"], ruleExamples = ["rhinoceros" := "ɹaɪ.ˈnɒs.ə.ɹəs"]}
357 , "riding" := Rule{rulePron = ["ri" := "ˈɹaɪ", "ding" := "dɪŋ"], ruleExamples = ["riding" := "ˈɹaɪ.dɪŋ"]}
358 , "ring" := Rule{rulePron = ["ring" := "ɹɪŋ"], ruleExamples = ["ring" := "ɹɪŋ"]}
359 , "rings" := Rule{rulePron = ["rings" := "ɹɪŋz"], ruleExamples = ["rings" := "ɹɪŋz"]}
360 , "run" := Rule{rulePron = ["run" := "ɹʌn"], ruleExamples = ["run" := "ɹʌn"]}
361 , "runs" := Rule{rulePron = ["runs" := "ɹʌns"], ruleExamples = ["runs" := "ɹʌns"]}
362 , "sailing" := Rule{rulePron = ["sai" := "ˈseɪ", "ling" := "lɪŋ"], ruleExamples = ["sailing" := "ˈseɪ.lɪŋ"]}
363 , "saura" := Rule{rulePron = ["sau" := "ˈsɔː", "ra" := "ɹa"], ruleExamples = ["maiasaura" := "ˈmeɪ.ə.ˈsɔː.ɹa"]}
364 , "saurus" := Rule{rulePron = ["sau" := "ˈsɔː", "rus" := "ɹəs"], ruleExamples = ["ankylosaurus" := "ˌæŋ.kə.loʊ.ˈsɔː.ɹəs"]}
365 , "scare" := Rule{rulePron = ["scare" := "skɛə"], ruleExamples = ["scare" := "skɛə"]}
366 , "scares" := Rule{rulePron = ["scares" := "skɛɹz"], ruleExamples = ["scares" := "skɛɹz"]}
367 , "scary" := Rule{rulePron = ["sca" := "ˈskɛə", "ry" := "ɹi"], ruleExamples = ["scary" := "ˈskɛə.ɹi"]}
368 , "scuba" := Rule{rulePron = ["scu" := "ˈskuː", "ba" := "bə"], ruleExamples = ["scuba" := "ˈskuː.bə"]}
369 , "seek" := Rule{rulePron = ["seek" := "siːk"], ruleExamples = ["seek" := "siːk"]}
370 , "shadow" := Rule{rulePron = ["sha" := "ˈʃæ", "dow" := "dəʊ"], ruleExamples = ["shadow" := "ˈʃæ.dəʊ"]}
371 , "ship" := Rule{rulePron = ["ship" := "ʃɪp"], ruleExamples = ["ship" := "ʃɪp"]}
372 , "shoot" := Rule{rulePron = ["shoot" := "ʃuːt"], ruleExamples = ["shoot" := "ʃuːt"]}
373 , "shoots" := Rule{rulePron = ["shoots" := "ʃuːts"], ruleExamples = ["shoots" := "ʃuːts"]}
374 , "short" := Rule{rulePron = ["short" := "ʃɔːt"], ruleExamples = ["short" := "ʃɔːt"]}
375 , "sick" := Rule{rulePron = ["sick" := "sɪk"], ruleExamples = ["sick" := "sɪk"]}
376 , "sit" := Rule{rulePron = ["sit" := "ˈsɪt"], ruleExamples = ["sit" := "ˈsɪt"]}
377 , "skeleton" := Rule{rulePron = ["ske" := "ˈskɛ", "le" := "lɪ", "ton" := "tn"], ruleExamples = ["skeleton" := "ˈskɛ.lɪ.tn"]}
378 , "ski" := Rule{rulePron = ["ski" := "skiː"], ruleExamples = ["ski" := "skiː"]}
379 , "smilodon" := Rule{rulePron = ["smi" := "ˈsmaɪ", "lo" := "lə", "don" := "dɒn"], ruleExamples = ["smilodon" := "ˈsmaɪ.lə.dɒn"]}
380 , "smoke" := Rule{rulePron = ["smoke" := "sməʊk"], ruleExamples = ["smoke" := "sməʊk"]}
381 , "smokes" := Rule{rulePron = ["smokes" := "sməʊks"], ruleExamples = ["smokes" := "sməʊks"]}
382 , "snorkel" := Rule{rulePron = ["snor" := "ˈsnɔː", "kel" := "kəl"], ruleExamples = ["snorkel" := "ˈsnɔː.kəl"]}
383 , "stab" := Rule{rulePron = ["stab" := "stæb"], ruleExamples = ["stab" := "stæb"]}
384 , "stabs" := Rule{rulePron = ["stabs" := "stæbs"], ruleExamples = ["stabs" := "stæbs"]}
385 , "staff" := Rule{rulePron = ["staff" := "stɑːf"], ruleExamples = ["staff" := "stɑːf"]}
386 , "stand" := Rule{rulePron = ["stand" := "stænd"], ruleExamples = ["stand" := "stænd"]}
387 , "stealthy" := Rule{rulePron = ["steal" := "ˈstɛl", "thy" := "θɪ"], ruleExamples = ["stealthy" := "ˈstɛl.θɪ"]}
388 , "stego" := Rule{rulePron = ["ste" := "ˌstɛ", "go" := "gə"], ruleExamples = ["stegoceras" := "ˌstɛ.gə.ˈsə.ɹəs"]}
389 , "straw" := Rule{rulePron = ["straw" := "stɹɔː"], ruleExamples = ["straw" := "stɹɔː"]}
390 , "suit" := Rule{rulePron = ["suit" := "suːt"], ruleExamples = ["suit" := "suːt"]}
391 , "sweet" := Rule{rulePron = ["sweet" := "swiːt"], ruleExamples = ["sweet" := "swiːt"]}
392 , "swim" := Rule{rulePron = ["swim" := "swɪm"], ruleExamples = ["swim" := "swɪm"]}
393 , "swimmer" := Rule{rulePron = ["swi" := "ˈswɪ", "mmer" := "mə"], ruleExamples = ["swimmer" := "ˈswɪ.mə"]}
394 , "swimming" := Rule{rulePron = ["swi" := "ˈswɪ", "mming" := "mɪŋ"], ruleExamples = ["swimming" := "ˈswɪ.mɪŋ"]}
395 , "sword" := Rule{rulePron = ["sword" := "sɔːd"], ruleExamples = ["sword" := "sɔːd"]}
396 , "syrup" := Rule{rulePron = ["sy" := "sɪ", "rup" := "ɹəp"], ruleExamples = ["syrup" := "sɪ.ɹəp"]}
397 , "tart" := Rule{rulePron = ["tart" := "tɑːt"], ruleExamples = ["tart" := "tɑːt"]}
398 , "teeth" := Rule{rulePron = ["teeth" := "ˈtiːθ"], ruleExamples = ["teeth" := "ˈtiːθ"]}
399 , "terrifying" := Rule{rulePron = ["te" := "ˈtɛ", "rri" := "ɹɪ", "fy" := "faɪ", "ing" := "ɪŋ"], ruleExamples = ["terrifying" := "ˈtɛ.ɹɪ.faɪ.ɪŋ"]}
400 , "tiara" := Rule{rulePron = ["ti" := "ti", "ra" := "ˈɑːɹə"], ruleExamples = ["tiara" := "ti.ˈɑːɹə"]}
401 , "tiger" := Rule{rulePron = ["ti" := "ˈtaɪ", "ger" := "gə"], ruleExamples = ["tiger" := "ˈtaɪ.gə"]}
402 , "tigress" := Rule{rulePron = ["ti" := "ˈtaɪ", "gress" := "gɹɪs"], ruleExamples = ["tigress" := "ˈtaɪ.gɹɪs"]}
403 , "titan" := Rule{rulePron = ["ti" := "ˈtaɪ", "tan" := "tən"], ruleExamples = ["titan" := "ˈtaɪ.tən"]}
404 , "together" := Rule{rulePron = ["to" := "tʊ", "geth" := "ˈgɛð", "er" := "ə"], ruleExamples = ["together" := "tʊ.ˈgɛð.ə"]}
405 , "top" := Rule{rulePron = ["top" := "tɒp"], ruleExamples = ["top" := "tɒp"]}
406 , "touches" := Rule{rulePron = ["tou" := "ˈtʌ", "ches" := "t͡ʃɪz"], ruleExamples = ["touches" := "ˈtʌ.t͡ʃɪz"]}
407 , "track" := Rule{rulePron = ["track" := "tɹæk"], ruleExamples = ["track" := "tɹæk"]}
408 , "trawler" := Rule{rulePron = ["traw" := "ˈtrɔː", "ler" := "lə"], ruleExamples = ["trawler" := "ˈtrɔː.lə"]}
409 , "tree" := Rule{rulePron = ["tree" := "tɹiː"], ruleExamples = ["tree" := "tɹiː"]}
410 , "trees" := Rule{rulePron = ["trees" := "tɹiːs"], ruleExamples = ["trees" := "tɹiːs"]}
411 , "triceratops" := Rule{rulePron = ["tri" := "traɪ", "ce" := "ˈsɛ", "ra" := "rə", "tops" := "ˌtɒps"], ruleExamples = ["triceratops" := "traɪ.ˈsɛ.rə.ˌtɒps"]}
412 , "tries" := Rule{rulePron = ["tries" := "tɹaɪz"], ruleExamples = ["tries" := "tɹaɪz"]}
413 , "trunks" := Rule{rulePron = ["trunks" := "tɹʌŋks"], ruleExamples = ["trunks" := "tɹʌŋks"]}
414 , "two" := Rule{rulePron = ["two" := "tu"], ruleExamples = ["two" := "tu"]}
415 , "tyranno" := Rule{rulePron = ["ty" := "taɪ", "ra" := "ˌɹæ", "nno" := "nə"], ruleExamples = ["tyrannosaurus" := "taɪ.ˌɹæ.nə.ˈsɔː.ɹəs"]}
416 , "under" := Rule{rulePron = ["un" := "ˈʌn", "der" := "də"], ruleExamples = ["under" := "ˈʌn.də"]}
417 , "unexpected" := Rule{rulePron = ["un" := "ʌn", "e" := "ɪ", "x" := ["k", "ˈs"], "pec" := "pɛk", "ted" := "tɪd"], ruleExamples = ["unexpected" := "ʌn.ɪk.ˈspɛk.tɪd"]}
418 , "up" := Rule{rulePron = ["up" := "ʌp"], ruleExamples = ["up" := "ʌp"]}
419 , "utah" := Rule{rulePron = ["u" := "ˈjuː", "tah" := "ˌtɑː"], ruleExamples = ["utah" := "ˈjuː.ˌtɑː"]}
420 , "veloci" := Rule{rulePron = ["ve" := "və", "lo" := "ˌlɒ", "ci" := "sɪ"], ruleExamples = ["velociraptor" := "və.ˌlɒ.sɪ.ˈɹæp.tɚ"]}
421 , "wait" := Rule{rulePron = ["wait" := "weɪt"], ruleExamples = ["wait" := "weɪt"]}
422 , "waits" := Rule{rulePron = ["waits" := "weɪts"], ruleExamples = ["waits" := "weɪts"]}
423 , "walk" := Rule{rulePron = ["walk" := "wɔːk"], ruleExamples = ["walk" := "wɔːk"]}
424 , "walks" := Rule{rulePron = ["walks" := "wɔːks"], ruleExamples = ["walks" := "wɔːks"]}
425 , "war" := Rule{rulePron = ["war" := "wɔː"], ruleExamples = ["war" := "wɔː"]}
426 , "wars" := Rule{rulePron = ["wars" := "wɔːz"], ruleExamples = ["wars" := "wɔːz"]}
427 , "water" := Rule{rulePron = ["wa" := "ˈwɔː", "ter" := "tə"], ruleExamples = ["water" := "ˈwɔː.tə"]}
428 , "wears" := Rule{rulePron = ["wears" := "wɛəz"], ruleExamples = ["wears" := "wɛəz"]}
429 , "white" := Rule{rulePron = ["white" := "waɪt"], ruleExamples = ["white" := "waɪt"]}
430 , "wield" := Rule{rulePron = ["wield" := "wiːld"], ruleExamples = ["wield" := "wiːld"]}
431 , "wields" := Rule{rulePron = ["wields" := "wiːlds"], ruleExamples = ["wields" := "wiːlds"]}
432 , "wild" := Rule{rulePron = ["wild" := "waɪld"], ruleExamples = ["wild" := "waɪld"]}
433 , "witch" := Rule{rulePron = ["witch" := "wɪt͡ʃ"], ruleExamples = ["witch" := "wɪt͡ʃ"]}
434 , "women" := Rule{rulePron = ["wom" := "ˈwɪm", "en" := "ɪn"], ruleExamples = ["women" := "ˈwɪm.ɪn"]}
435 , "wood" := Rule{rulePron = ["wood" := "wʊd"], ruleExamples = ["wood" := "wʊd"]}
436 , "woolly" := Rule{rulePron = ["woo" := "ˈwʊ", "lly" := "li"], ruleExamples = ["woolly" := "ˈwʊ.li"]}
437 , "works" := Rule{rulePron = ["works" := "wɜːks"], ruleExamples = ["fireworks" := "ˈfaɪ.ə.wɜːks"]}
438 , "wraith" := Rule{rulePron = ["wraith" := "ɹeɪθ"], ruleExamples = ["wraith" := "ɹeɪθ"]}
439 , "yacht" := Rule{rulePron = ["yacht" := "jɒt"], ruleExamples = ["yacht" := "jɒt"]}
440 , "zombie" := Rule{rulePron = ["zom" := "zɒm", "bie" := "bi"], ruleExamples = ["zombie" := "zɒm.bi"]}
441 , ending "ceras" := Rule{rulePron = ["ce" := "ˈsə", "ras" := "ɹəs"], ruleExamples = ["stegoceras" := "ˌstɛ.gə.ˈsə.ɹəs"]}
442 , "Éowyn" := Rule{rulePron = ["Eo" := "ˈeɪoʊ", "wyn" := "wɪn"], ruleExamples = ["Éowyn" := "ˈeɪoʊ.wɪn"]}
443 , -- , "her" := Rule{rulePron = ["her" := "ə"], ruleExamples = ["her" := "ə"]} -- unstressed
444 ending "'s" := Rule{rulePron = ["'" := [], ending "s" := "s"], ruleExamples = ["tiger's" := "ˈtaɪ.gə.s"]}
445 , ending "for" := Rule{rulePron = [word "for" := "fɔː"], ruleExamples = ["for" := "fɔː"]}
446 , ending "ing" := Rule{rulePron = [ending "ing" := "ɪŋ"], ruleExamples = ["beeing" := "ˈbiː.ɪŋ"]}
447 , ending "ling" := Rule{rulePron = [ending "ling" := "lɪŋ"], ruleExamples = ["snorkelling" := "ˈsnɔː.kəl.lɪŋ"]}
448 , ending "with" := Rule{rulePron = [ending "with" := "wɪθ"], ruleExamples = ["with" := "wɪθ"]}
449 , ending "with" <> " " <> begining [LexemeSemiVowel] := Rule{rulePron = [ending "with" <> " " <> begining [LexemeSemiVowel] := "wɪð"], ruleExamples = ["with you" := "wɪð.ju"]}
450 , word "a" := Rule{rulePron = [word "a" := "ə"], ruleExamples = ["a" := "ə"]}
451 , word "and" := Rule{rulePron = [word "and" := "ænd"], ruleExamples = ["and" := "ænd"]}
452 , word "end" := Rule{rulePron = ["end" := "ɛnd"], ruleExamples = ["end" := "ɛnd"]}
453 , word "in" := Rule{rulePron = [word "in" := "ɪn"], ruleExamples = ["in" := "ɪn"]}
454 , word "its" := Rule{rulePron = [word "its" := "ɪts"], ruleExamples = ["its" := "ɪts"]}
455 , word "of" := Rule{rulePron = [word "of" := "ɒv"], ruleExamples = ["of" := "ɒv"]}
456 , word "the" := Rule{rulePron = [word "the" := "ðə"], ruleExamples = ["the" := "ðə"]}
457 , word "the" <> " " <> [LexemeBorder, LexemeVowel] := Rule{rulePron = [word "the" <> " " <> [LexemeBorder, LexemeVowel] := "ði"], ruleExamples = ["the eye" := "ði.aɪ"]}
458 , word "the" <> " " <> [LexemeVowel] := Rule{rulePron = [word "the" <> " " <> [LexemeVowel] := "ði"], ruleExamples = ["the end" := "ði.ɛnd"]}
459 , word "to" := Rule{rulePron = [word "to" := "tuː"], ruleExamples = ["to" := "tuː"]}
460 , word "you" := Rule{rulePron = [word "you" := "ju"], ruleExamples = ["you" := "ju"]}
461 -- , "with" := Rule{rulePron = ["with" := ""], ruleExamples = ["with" := ""]}
462 -- , ending "s" := Rule{rulePron = [[LexemeConsonant] <> "s" := "ɪŋ"], ruleExamples = ["beeing" := "ˈbiː.ɪŋ"]}
463 ]
464 -- , "" := Rule{rulePron = ["" := ""], ruleExamples = ["" := ""]}
465 & Pron.withCapital
466 & fromList