*** en_US.orig.aff	2015-12-30 18:55:30.352821552 +0100
--- en_US.aff	2016-01-09 13:16:31.514054846 +0100
***************
*** 1,18 ****
  SET UTF8
  TRY esianrtolcdugmphbyfvkwzESIANRTOLCDUGMPHBYFVKWZ'
! ICONV 1
! ICONV ’ '
  NOSUGGEST !
  
! # ordinal numbers
! COMPOUNDMIN 1
! # only in compounds: 1th, 2th, 3th
! ONLYINCOMPOUND c
! # compound rules:
! # 1. [0-9]*1[0-9]th (10th, 11th, 12th, 56714th, etc.)
! # 2. [0-9]*[02-9](1st|2nd|3rd|[4-9]th) (21st, 22nd, 123rd, 1234th, etc.)
! COMPOUNDRULE 2
! COMPOUNDRULE n*1t
! COMPOUNDRULE n*mp
! WORDCHARS 0123456789
  
--- 1,164 ----
+ # Affix file for US English MySpell dictionary
  SET UTF8
  TRY esianrtolcdugmphbyfvkwzESIANRTOLCDUGMPHBYFVKWZ'
! 
! FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
! LOW  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
! UPP  ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
! 
! MIDWORD	'
! 
! RARE ?
! BAD %
! 
! MAP 9
! MAP aàáâãäå
! MAP eèéêë
! MAP iìíîï
! MAP oòóôõö
! MAP uùúûü
! MAP nñ
! MAP cç
! MAP yÿý
! MAP sß
! 
! # This comes from Aspell en_phonet.dat, version 1.1, 2000-01-07
! 
! SAL AH(AEIOUY)-^         *H
! SAL AR(AEIOUY)-^         *R
! SAL A(HR)^               *
! SAL A^                   *
! SAL AH(AEIOUY)-          H
! SAL AR(AEIOUY)-          R
! SAL A(HR)                _
! SAL À^                   *
! SAL Å^                   *
! SAL BB-                  _
! SAL B                    B
! SAL CQ-                  _
! SAL CIA                  X
! SAL CH                   X
! SAL C(EIY)-              S
! SAL CK                   K
! SAL COUGH^               KF
! SAL CC<                  C
! SAL C                    K
! SAL DG(EIY)              K
! SAL DD-                  _
! SAL D                    T
! SAL É<                   E
! SAL EH(AEIOUY)-^         *H
! SAL ER(AEIOUY)-^         *R
! SAL E(HR)^               *
! SAL ENOUGH^$             *NF
! SAL E^                   *
! SAL EH(AEIOUY)-          H
! SAL ER(AEIOUY)-          R
! SAL E(HR)                _
! SAL FF-                  _
! SAL F                    F
! SAL GN^                  N
! SAL GN$                  N
! SAL GNS$                 NS
! SAL GNED$                N
! SAL GH(AEIOUY)-          K
! SAL GH                   _
! SAL GG9                  K
! SAL G                    K
! SAL H                    H
! SAL IH(AEIOUY)-^         *H
! SAL IR(AEIOUY)-^         *R
! SAL I(HR)^               *
! SAL I^                   *
! SAL ING6                 N
! SAL IH(AEIOUY)-          H
! SAL IR(AEIOUY)-          R
! SAL I(HR)                _
! SAL J                    K
! SAL KN^                  N
! SAL KK-                  _
! SAL K                    K
! SAL LAUGH^               LF
! SAL LL-                  _
! SAL L                    L
! SAL MB$                  M
! SAL MM                   M
! SAL M                    M
! SAL NN-                  _
! SAL N                    N
! SAL OH(AEIOUY)-^         *H
! SAL OR(AEIOUY)-^         *R
! SAL O(HR)^               *
! SAL O^                   *
! SAL OH(AEIOUY)-          H
! SAL OR(AEIOUY)-          R
! SAL O(HR)                _
! SAL PH                   F
! SAL PN^                  N
! SAL PP-                  _
! SAL P                    P
! SAL Q                    K
! SAL RH^                  R
! SAL ROUGH^               RF
! SAL RR-                  _
! SAL R                    R
! SAL SCH(EOU)-            SK
! SAL SC(IEY)-             S
! SAL SH                   X
! SAL SI(AO)-              X
! SAL SS-                  _
! SAL S                    S
! SAL TI(AO)-              X
! SAL TH                   @
! SAL TCH--                _
! SAL TOUGH^               TF
! SAL TT-                  _
! SAL T                    T
! SAL UH(AEIOUY)-^         *H
! SAL UR(AEIOUY)-^         *R
! SAL U(HR)^               *
! SAL U^                   *
! SAL UH(AEIOUY)-          H
! SAL UR(AEIOUY)-          R
! SAL U(HR)                _
! SAL V^                   W
! SAL V                    F
! SAL WR^                  R
! SAL WH^                  W
! SAL W(AEIOU)-            W
! SAL X^                   S
! SAL X                    KS
! SAL Y(AEIOU)-            Y
! SAL ZZ-                  _
! SAL Z                    S
! 
! # When soundfolding "th" is turned into "@".  When this is mistyped as "ht" it
! # soundfolds to "ht".  This difference is too big, thus use REP items to lower
! # the score.
! REPSAL 2
! REPSAL ht @
! REPSAL @ ht
! 
! # ICONV 1
! # ICONV ’ '
! 
  NOSUGGEST !
  
! # This is disabled, because if Vim does not support NOCOMPOUNDSUGS giving
! # suggestions is extremely slow.
! # This is disabled, because without NOCOMPOUNDSUGS support giving suggestions
! # is extremely slow.
! ## ordinal numbers
! #COMPOUNDMIN 1
! ## only in compounds: 1th, 2th, 3th
! #ONLYINCOMPOUND c
! ## compound rules:
! ## 1. [0-9]*1[0-9]th (10th, 11th, 12th, 56714th, etc.)
! ## 2. [0-9]*[02-9](1st|2nd|3rd|[4-9]th) (21st, 22nd, 123rd, 1234th, etc.)
! #COMPOUNDRULE 2
! #COMPOUNDRULE n*1t
! #COMPOUNDRULE n*mp
! #NOCOMPOUNDSUGS
! 
! # WORDCHARS 0123456789
  
*** en_US.orig.dic	2015-12-30 18:55:58.928512408 +0100
--- en_US.dic	2016-01-08 23:04:15.241835664 +0100
***************
*** 1,25 ****
  48756
! 0/nm
! 0th/pt
! 1/n1
! 1st/p
! 1th/tc
! 2/nm
! 2nd/p
! 2th/tc
! 3/nm
! 3rd/p
! 3th/tc
! 4/nm
! 4th/pt
! 5/nm
! 5th/pt
! 6/nm
! 6th/pt
! 7/nm
! 7th/pt
! 8/nm
! 8th/pt
! 9/nm
! 9th/pt
  A/SM
--- 1,12 ----
  48756
! 0th
! 1st
! 2nd
! 3rd
! 4th
! 5th
! 6th
! 7th
! 8th
! 9th
  A/SM
***************
*** 48757 ****
--- 48744,48754 ----
  zymurgy/M
+ a a/%
+ a an/%
+ a the/%
+ an a/%
+ an an/%
+ an the/%
+ and and/%
+ the a/%
+ the an/%
+ the the/%
