# Ffeil AFF:
# Hawlfraint (C) 2008-2012, Troi (http://troi.org)
# Hawlfraint (C) 2004-2011, Prifysgol Bangor (http://www.bangor.ac.uk)
# 
# Ffeil DIC:
# Hawlfraint (C) 2004-2011, Prifysgol Bangor (http://www.bangor.ac.uk)
# 
# Mae'r geiriadur hwn feddalwedd rhydd; gallwch ei aildosbarthu a/neu ei
# addasu dan delerau Trwydded Gyhoeddus Gyffredinol Lai GNU (yr LGPL) fel
# y'i cyhoeddwyd gan y Free Software Foundation; naill ai fersiwn 3 y
# Drwydded, neu (yn ôl eich dewis) unrhyw fersiwn diweddarach.
# 
# Dosbarthir y geiriadur hwn yn y gobaith y bydd yn ddefnyddiol, ond heb
# unrhyw warant; heb hyd yn oed y warant oblygedig o farsiandwyaeth neu
# ffitrwydd at bwrpas arbennig.

SET UTF-8
TRY -ŷŶŵŴïÏâÂôÔêÊjJëËäÄáÁéÉîÎöÖóÓòÒàÀíÍüÜìÌèÈûÛÿùÙûÛ.aAdDiIeEnNhHrRyYoOsSlLtTcCwWgGfFmMuUbBpPkKvVzZqQxX

NEEDAFFIX X

BREAK 3
BREAK -
BREAK '
BREAK ’

# Mutations
PFX M Y 26
PFX M   c           g          c[^h]
PFX M   C           G          C[^h]
PFX M   p           b          p[^h]
PFX M   P           B          P[^h]
PFX M   t           d          t[^h]
PFX M   T           D          T[^h]
PFX M   g           0          g
PFX M   Ga          A          Ga
PFX M   Ge          E          Ge
PFX M   Gi          I          Gi
PFX M   Gl          L          Gl
PFX M   Go          O          Go
PFX M   Gr          R          Gr
PFX M   Gu          U          Gu
PFX M   Gw          W          Gw
PFX M   Gy          Y          Gy
PFX M   b           f          b
PFX M   B           F          B
PFX M   d           dd         d[^d]
PFX M   D           Dd         D[^d]
PFX M   ll          l          ll
PFX M   Ll          L          Ll
PFX M   m           f          m
PFX M   M           F          M
PFX M   rh          r          rh
PFX M   Rh          R          Rh

PFX T Y 12
PFX T   c           ngh        c[^h]
PFX T   C           Ngh        C[^h]
PFX T   p           mh         p[^h]
PFX T   P           Mh         P[^h]
PFX T   t           nh         t[^h]
PFX T   T           Nh         T[^h]
PFX T   g           ng         g
PFX T   G           Ng         G
PFX T   b           m          b
PFX T   B           M          B
PFX T   d           n          d[^d]
PFX T   D           N          D[^d]

PFX L Y 6
PFX L   c           ch         c[^h]
PFX L   C           Ch         C[^h]
PFX L   p           ph         p[^h]
PFX L   P           Ph         P[^h]
PFX L   t           th         t[^hs]
PFX L   T           Th         T[^hs]

PFX H Y 16
PFX H   0           h          [aeiouwyâêîûôŵŷï]
PFX H   A           Ha         A
PFX H   E           He         E
PFX H   I           Hi         I
PFX H   O           Ho         O
PFX H   U           Hu         U
PFX H   W           Hw         W
PFX H   Y           Hy         Y
PFX H   Â           Hâ         Â
PFX H   Ê           Hê         Ê
PFX H   Î           Hî         Î
PFX H   Ô           Hô         Ô
PFX H   Û           Hû         Û
PFX H   Ŵ           Hŵ         Ŵ
PFX H   Ŷ           Hŷ         Ŷ
PFX H   Ï           Hï         Ï

SFX v Y 26
SFX v   nn  na/aMLHX nn
SFX v   n   na/aMLHX [^n]n
SFX v   rr  ra/aMLHX rr
SFX v   r   ra/aMLHX [^r]r
SFX v   w   w/aMLHX  aw
SFX v   w   w/aMLHX  lyw
SFX v   w   wa/aMLHX [^ay]w
SFX v   w   wa/aMLHX [^l]yw
SFX v   el  el/aMLHX el
SFX v   l   la/aMLHX [^e]l
SFX v   eu  eu/aMLHX eu
SFX v   eu  eua/aMLHX eu
SFX v   u   ua/aMLHX [^e]u
SFX v   NI  nia/aMLHX  NI
SFX v   a   a/aMLHX  a
SFX v   ë   ea/aMLHX ë
SFX v   o   oe/aMLHX o
SFX v   O   oe/aMLHX O
SFX v   0   a/aMLHX  [^nrwIlaëoO]
SFX v   NI  nni/bcfMLHX  NI
SFX v   NI  ni/deghijMLHX  NI
SFX v   ë   ë/bcdfghMLHX  ë
SFX v   ë   e/eijMLHX  ë
SFX v   O   O/iMLHX  O
SFX v   O   o/bcdefghjMLHX  O
SFX v   0   0/bcdefghijMLHX  [^IëO]

SFX w Y 1
SFX w   0   0/bcdeMLHX  .

SFX y Y 3
SFX y   NI  nni/bcfMLHX  NI
SFX y   NI  ni/deghijMLHX  NI
SFX y   0   0/bcdefghijMLHX  [^I]

SFX z Y 1
SFX z   0   a/aMLHX .

SFX a Y 11
SFX a 0 som  .
SFX a 0 soch .
SFX a 0 sant .
SFX a 0 swn  .
SFX a 0 sit  .
SFX a 0 set  .
SFX a 0 sai  .
SFX a 0 sem  .
SFX a 0 sech .
SFX a 0 sent .
SFX a 0 sid  .

SFX b Y 9
SFX b 0 i       [^iïa]
SFX b i i       i
SFX b ï i       ï
SFX b 0 ir      [^iïa]
SFX b i ir      i
SFX b ï iir     ï
SFX b 0 id      [^iïa]
SFX b i id      i
SFX b ï iid     ï

SFX c Y 3
SFX c 0 ych     [^iïa]
SFX c i ych     i
SFX c ï ych     ï

SFX d Y 2
SFX d 0 wch     [^wa]
SFX d w wch     w

SFX e Y 4
SFX e 0 ais     [^ao]
SFX e o ois     o
SFX e 0 aist    [^ao]
SFX e o oist    o

SFX f Y 3
SFX f 0 it      [^iï]
SFX f i it      i
SFX f ï iit     ï

SFX g Y 6
SFX g 0 ith     [^iïa]
SFX g i ith     i
SFX g ï iith    ï
SFX g 0 iff     [^iïa]
SFX g i iff     i
SFX g ï iiff    ï

SFX h Y 6
SFX h 0 wn      [^w]
SFX h w wn      w
SFX h 0 wyd     [^w]
SFX h w wyd     w
SFX h 0 wyf     [^w]
SFX h w wyf     w

SFX i Y 14
SFX i a âf      [^h]a
SFX i a âf      tha
SFX i a âf      cha
SFX i a af      [^tc]ha
SFX i O of      O
SFX i 0 af      [^aO]
SFX i a â       [^h]a
SFX i a â       tha
SFX i a â       cha
SFX i a a       [^ct]ha
SFX i 0 a       [^aO]
SFX i a ânt     a
SFX i O ônt     O
SFX i 0 ant     [^aO]

SFX j Y 30
SFX j 0 et      .
SFX j 0 ai      [^oa]
SFX j a âi      a
SFX j o ôi      o
SFX j 0 em      .
SFX j 0 ech     .
SFX j 0 ent     .
SFX j 0 odd     .
SFX j a âed     [^h]a
SFX j a âed     tha
SFX j a âed     cha
SFX j a aed     [^tc]ha
SFX j 0 ed      [^a]
SFX j 0 o       [^o]
SFX j o o       o
SFX j 0 om      [^o]
SFX j o ôm      o
SFX j 0 och     [^o]
SFX j o och     o
SFX j 0 ont     [^o]
SFX j o ônt     o
SFX j a âer     [^h]a
SFX j a âer     tha
SFX j a âer     cha
SFX j a aer     [^tc]ha
SFX j 0 er      [^a]
SFX j 0 es      .
SFX j 0 est     .
SFX j 0 on      .
SFX j 0 an      .

SFX k Y 9
SFX k 0 wn/MLH  .
SFX k 0 odd/MLH .
SFX k 0 on/MLH  .
SFX k 0 och/MLH .
SFX k 0 es/MLH  .
SFX k 0 est/MLH .
SFX k 0 ith/MLH .
SFX k 0 iff/MLH .
SFX k 0 an/MLH  .

SFX A Y 3
SFX A 0 ed
SFX A 0 ach
SFX A 0 af

SFX B Y 1
SFX B 0 au

SFX C Y 1
SFX C 0 ion

SFX D Y 1
SFX D 0 iau

SFX E Y 1
SFX E 0 oedd

SFX F Y 1
SFX F 0 nau

SFX G Y 1
SFX G 0 iaid

SFX I Y 1
SFX I 0 on

SFX J Y 1
SFX J 0 s

SFX K Y 1
SFX K 0 od

SFX S Y 7
SFX S 0 'r       [aeiouwyAEIOUWYâêîôûŵŷÂÊÎÔÛŴŶ]
SFX S 0 'n       [aeiouwyAEIOUWYâêîôûŵŷÂÊÎÔÛŴŶ]
SFX S 0 'i       [aeiouwyAEIOUWYâêîôûŵŷÂÊÎÔÛŴŶ]
SFX S 0 'u       [aeiouwyAEIOUWYâêîôûŵŷÂÊÎÔÛŴŶ]
SFX S 0 'ch      [aeiouwyAEIOUWYâêîôûŵŷÂÊÎÔÛŴŶ]
SFX S 0 'm       [aeiouwyAEIOUWYâêîôûŵŷÂÊÎÔÛŴŶ]
SFX S 0 'th      [aeiouwyAEIOUWYâêîôûŵŷÂÊÎÔÛŴŶ]

# Common spelling substitutions
REP 79
REP a â
REP e ê
REP i î
REP o ô
REP u û
REP w ŵ
REP y ŷ
REP ol ôl
REP ty tŷ
REP io ïo
REP ea aea
REP en em
REP eu ae
REP ae eu
REP e au
REP ei a
REP a ei
REP y ai
REP au heu
REP iff a
REP ai e
REP e ai
REP s ys
REP ' f
REP ir ys
REP i au
REP ' s
REP m rn
REP ph ff
REP m ym
REP x cs
REP io u
REP u io
REP ur u'r
REP ir i'r
REP 'l el
REP afon awsom
REP u iw
REP roa roesa
REP y -y-
REP o aw
REP ei a
REP m ym
REP j si
REP ch ts
REP oe wy
REP s eis
REP rn m
REP bydd bu
REP fydd fu
REP u we
REP dio deuo
REP a ef
REP ad aid
REP ad iaid
REP dyla dylai
REP og us
REP us og
REP ol us
REP us ol
REP og ol
REP ol og
REP n ng
REP g ng
REP rn m
REP rn nn
REP we weu
REP dwe dywe
REP d'w dyw
REP d'w diw
REP son asom
REP son om
REP ad ail
REP ail ad
REP 1 i
REP 1 l
REP 0 o
REP 6 ô
REP 6 o
