diff --git a/dictionaries/fr_wordlist.xml b/dictionaries/fr_wordlist.xml
index 1e0436c..95b8950 100644
--- a/dictionaries/fr_wordlist.xml
+++ b/dictionaries/fr_wordlist.xml
@@ -1,4 +1,4 @@
-<wordlist locale="fr" description="Français" date="1337655131" version="10" options="french_ligature_processing">
+<wordlist locale="fr" description="Français" date="1337846842" version="11" options="french_ligature_processing">
  <w f="209" flags="">de</w>
  <w f="200" flags="">la</w>
  <w f="197" flags="">et</w>
@@ -19,7 +19,6 @@
  <w f="178" flags="">a</w>
  <w f="178" flags="">il</w>
  <w f="178" flags="">que</w>
- <w f="177" flags="">sur</w>
  <w f="176" flags="">son</w>
  <w f="175" flags="">avec</w>
  <w f="175" flags="">plus</w>
@@ -3712,7 +3711,6 @@
  <w f="110" flags="">mécanisme</w>
  <w f="110" flags="">médiévale</w>
  <w f="110" flags="">navale</w>
- <w f="110" flags="">no</w>
  <w f="110" flags="">observé</w>
  <w f="110" flags="">ondes</w>
  <w f="110" flags="">organisme</w>
@@ -19939,7 +19937,6 @@
  <w f="82" flags="">raquette</w>
  <w f="82" flags="">rattachent</w>
  <w f="82" flags="">rattrape</w>
- <w f="82" flags="">re</w>
  <w f="82" flags="">rebord</w>
  <w f="82" flags="">recensé</w>
  <w f="82" flags="">recherchant</w>
@@ -26818,7 +26815,6 @@
  <w f="76" flags="">testostérone</w>
  <w f="76" flags="">testées</w>
  <w f="76" flags="">thym</w>
- <w f="76" flags="">thébaine</w>
  <w f="76" flags="">tienne</w>
  <w f="76" flags="">tilleuls</w>
  <w f="76" flags="">timbales</w>
@@ -28173,7 +28169,6 @@
  <w f="75" flags="">titulature</w>
  <w f="75" flags="">tolérée</w>
  <w f="75" flags="">topologiques</w>
- <w f="75" flags="">torero</w>
  <w f="75" flags="">tourbillons</w>
  <w f="75" flags="">toxicomanie</w>
  <w f="75" flags="">tract</w>
@@ -28733,8 +28728,6 @@
  <w f="74" flags="">d'Auge</w>
  <w f="74" flags="">d'Aulnay</w>
  <w f="74" flags="">d'Eddie</w>
- <w f="74" flags="">d'Edouard</w>
- <w f="74" flags="">d'Elisabeth</w>
  <w f="74" flags="">d'Hannibal</w>
  <w f="74" flags="">d'Harvard</w>
  <w f="74" flags="">d'Hervé</w>
@@ -34518,7 +34511,6 @@
  <w f="70" flags="">bénitier</w>
  <w f="70" flags="">caennais</w>
  <w f="70" flags="">calligraphe</w>
- <w f="70" flags="">camera</w>
  <w f="70" flags="">caméo</w>
  <w f="70" flags="">cancérigène</w>
  <w f="70" flags="">canevas</w>
@@ -35627,7 +35619,6 @@
  <w f="70" flags="">togolais</w>
  <w f="70" flags="">tolérés</w>
  <w f="70" flags="">torches</w>
- <w f="70" flags="">toreros</w>
  <w f="70" flags="">torts</w>
  <w f="70" flags="">torturée</w>
  <w f="70" flags="">toulousains</w>
@@ -37985,7 +37976,6 @@
  <w f="68" flags="">d'Aubigny</w>
  <w f="68" flags="">d'Aure</w>
  <w f="68" flags="">d'Australie-Méridionale</w>
- <w f="68" flags="">d'Emile</w>
  <w f="68" flags="">d'Entrecasteaux</w>
  <w f="68" flags="">d'Eudes</w>
  <w f="68" flags="">d'Euripide</w>
@@ -38538,7 +38528,6 @@
  <w f="68" flags="">mourante</w>
  <w f="68" flags="">mousquets</w>
  <w f="68" flags="">mouvances</w>
- <w f="68" flags="abreviation">mu</w>
  <w f="68" flags="">multiplicatif</w>
  <w f="68" flags="">multiplications</w>
  <w f="68" flags="">munir</w>
@@ -39697,7 +39686,6 @@
  <w f="67" flags="">d'Augusta</w>
  <w f="67" flags="abreviation">d'EADS</w>
  <w f="67" flags="">d'Entremont</w>
- <w f="67" flags="">d'Etienne</w>
  <w f="67" flags="">d'Eylau</w>
  <w f="67" flags="">d'Halatte</w>
  <w f="67" flags="">d'Henriette</w>
@@ -42265,7 +42253,6 @@
  <w f="66" flags="">négationniste</w>
  <w f="66" flags="">négligées</w>
  <w f="66" flags="">néo-roman</w>
- <w f="66" flags="">nô</w>
  <w f="66" flags="">oblasts</w>
  <w f="66" flags="">oblongues</w>
  <w f="66" flags="">obscurité</w>
@@ -44563,7 +44550,6 @@
  <w f="65" flags="">superpuissance</w>
  <w f="65" flags="">supplicié</w>
  <w f="65" flags="">supportable</w>
- <w f="65" flags="">sure</w>
  <w f="65" flags="">surendettement</w>
  <w f="65" flags="">surplombé</w>
  <w f="65" flags="">sursauts</w>
@@ -45465,7 +45451,6 @@
  <w f="64" flags="">d'Aubenas</w>
  <w f="64" flags="">d'Augusto</w>
  <w f="64" flags="">d'Ayacucho</w>
- <w f="64" flags="">d'Edith</w>
  <w f="64" flags="">d'Enrico</w>
  <w f="64" flags="">d'Estienne</w>
  <w f="64" flags="">d'Estrémadure</w>
@@ -47280,7 +47265,6 @@
  <w f="63" flags="">calebasse</w>
  <w f="63" flags="">calembours</w>
  <w f="63" flags="">calligraphies</w>
- <w f="63" flags="">cameraman</w>
  <w f="63" flags="">camouflé</w>
  <w f="63" flags="">camphre</w>
  <w f="63" flags="">campé</w>
@@ -48129,7 +48113,6 @@
  <w f="63" flags="">natura</w>
  <w f="63" flags="">naïvement</w>
  <w f="63" flags="">naïves</w>
- <w f="63" flags="">negro</w>
  <w f="63" flags="">neigeuse</w>
  <w f="63" flags="">nestoriens</w>
  <w f="63" flags="">network</w>
@@ -52422,7 +52405,6 @@
  <w f="61" flags="">lymphe</w>
  <w f="61" flags="">lyrics</w>
  <w f="61" flags="">länder</w>
- <w f="61" flags="">lès</w>
  <w f="61" flags="">m'appelle</w>
  <w f="61" flags="">madriers</w>
  <w f="61" flags="">mafieuses</w>
@@ -53959,7 +53941,6 @@
  <w f="60" flags="">d'Axel</w>
  <w f="60" flags="">d'Eastwood</w>
  <w f="60" flags="">d'Eichsfeld</w>
- <w f="60" flags="">d'Elie</w>
  <w f="60" flags="">d'Eliza</w>
  <w f="60" flags="">d'Ellesmere</w>
  <w f="60" flags="">d'Encausse</w>
@@ -53968,7 +53949,6 @@
  <w f="60" flags="">d'Essling</w>
  <w f="60" flags="">d'Eton</w>
  <w f="60" flags="">d'Etterbeek</w>
- <w f="60" flags="">d'Eugene</w>
  <w f="60" flags="">d'Eugénie</w>
  <w f="60" flags="">d'Eumène</w>
  <w f="60" flags="">d'Hannah</w>
@@ -61149,7 +61129,6 @@
  <w f="57" flags="">d'amples</w>
  <w f="57" flags="">d'aménorrhée</w>
  <w f="57" flags="">d'anches</w>
- <w f="57" flags="">d'aout</w>
  <w f="57" flags="">d'appellations</w>
  <w f="57" flags="">d'approvisionnements</w>
  <w f="57" flags="">d'aqueduc</w>
@@ -64547,7 +64526,6 @@
  <w f="56" flags="">océanographe</w>
  <w f="56" flags="">offensant</w>
  <w f="56" flags="">offenser</w>
- <w f="56" flags="">oil</w>
  <w f="56" flags="">oisive</w>
  <w f="56" flags="">omises</w>
  <w f="56" flags="">ontologies</w>
@@ -66357,7 +66335,6 @@
  <w f="55" flags="">consultera</w>
  <w f="55" flags="">consulteur</w>
  <w f="55" flags="">contemplatifs</w>
- <w f="55" flags="">contigües</w>
  <w f="55" flags="">contractualisation</w>
  <w f="55" flags="">contrastait</w>
  <w f="55" flags="">contre-expertise</w>
@@ -67462,7 +67439,6 @@
  <w f="55" flags="">narcotique</w>
  <w f="55" flags="">nauplius</w>
  <w f="55" flags="">nauruane</w>
- <w f="55" flags="">neo</w>
  <w f="55" flags="">neurales</w>
  <w f="55" flags="">neurophysiologie</w>
  <w f="55" flags="">new-wave</w>
@@ -69038,7 +69014,6 @@
  <w f="54" flags="">brucellose</w>
  <w f="54" flags="">brugeoise</w>
  <w f="54" flags="">bruler</w>
- <w f="54" flags="">brêche</w>
  <w f="54" flags="">brûlantes</w>
  <w f="54" flags="">bugle</w>
  <w f="54" flags="">buissonnant</w>
@@ -69615,7 +69590,6 @@
  <w f="54" flags="">gazouillis</w>
  <w f="54" flags="">gestuelles</w>
  <w f="54" flags="">ghazal</w>
- <w f="54" flags="">git</w>
  <w f="54" flags="">glaire</w>
  <w f="54" flags="">glandulaires</w>
  <w f="54" flags="">glaçon</w>
@@ -69657,7 +69631,6 @@
  <w f="54" flags="">hellénisé</w>
  <w f="54" flags="">hellénisés</w>
  <w f="54" flags="">herbus</w>
- <w f="54" flags="">hero</w>
  <w f="54" flags="">hippocampes</w>
  <w f="54" flags="">hivernants</w>
  <w f="54" flags="">hominidé</w>
@@ -70300,7 +70273,6 @@
  <w f="54" flags="">raviolis</w>
  <w f="54" flags="">rebaptisant</w>
  <w f="54" flags="">rebellés</w>
- <w f="54" flags="">rebus</w>
  <w f="54" flags="">rebuté</w>
  <w f="54" flags="">recadrage</w>
  <w f="54" flags="">recomposé</w>
@@ -76005,7 +75977,6 @@
  <w f="52" flags="">nonante</w>
  <w f="52" flags="">noroît</w>
  <w f="52" flags="">notez</w>
- <w f="52" flags="">nucleus</w>
  <w f="52" flags="">nuevo</w>
  <w f="52" flags="">nuirait</w>
  <w f="52" flags="">numérotage</w>
@@ -78677,7 +78648,6 @@
  <w f="51" flags="">sadducéens</w>
  <w f="51" flags="">sagittal</w>
  <w f="51" flags="">sahélien</w>
- <w f="51" flags="">sai</w>
  <w f="51" flags="">sala</w>
  <w f="51" flags="">saladier</w>
  <w f="51" flags="">salant</w>
@@ -81211,7 +81181,6 @@
  <w f="50" flags="">suranné</w>
  <w f="50" flags="">surchauffé</w>
  <w f="50" flags="">surpuissants</w>
- <w f="50" flags="">surs</w>
  <w f="50" flags="">surveilla</w>
  <w f="50" flags="">survivrait</w>
  <w f="50" flags="">surévalué</w>
@@ -81231,7 +81200,6 @@
  <w f="50" flags="">sûtras</w>
  <w f="50" flags="">tabula</w>
  <w f="50" flags="">taffetas</w>
- <w f="50" flags="">taifa</w>
  <w f="50" flags="">tajine</w>
  <w f="50" flags="">tamia</w>
  <w f="50" flags="">tamisage</w>
@@ -85332,7 +85300,6 @@
  <w f="48" flags="">cornéen</w>
  <w f="48" flags="abreviation">corp</w>
  <w f="48" flags="">corroborées</w>
- <w f="48" flags="">cortes</w>
  <w f="48" flags="">corticaux</w>
  <w f="48" flags="">costauds</w>
  <w f="48" flags="">coter</w>
@@ -87949,7 +87916,6 @@
  <w f="47" flags="">bâillon</w>
  <w f="47" flags="">bélemnites</w>
  <w f="47" flags="">bénéficieraient</w>
- <w f="47" flags="">bété</w>
  <w f="47" flags="">cachexie</w>
  <w f="47" flags="">cachou</w>
  <w f="47" flags="">cagou</w>
@@ -89058,7 +89024,6 @@
  <w f="47" flags="">pragmatiste</w>
  <w f="47" flags="">praia</w>
  <w f="47" flags="">praline</w>
- <w f="47" flags="">pre</w>
  <w f="47" flags="">presbytie</w>
  <w f="47" flags="">presse-papier</w>
  <w f="47" flags="">pressenties</w>
@@ -92198,7 +92163,6 @@
  <w f="46" flags="">taxations</w>
  <w f="46" flags="">tchetniks</w>
  <w f="46" flags="">teinter</w>
- <w f="46" flags="">telecom</w>
  <w f="46" flags="">temporaux</w>
  <w f="46" flags="">tenais</w>
  <w f="46" flags="">tends</w>
@@ -94806,7 +94770,6 @@
  <w f="45" flags="">revînt</w>
  <w f="45" flags="">rhodamine</w>
  <w f="45" flags="">rhumatismale</w>
- <w f="45" flags="">rhô</w>
  <w f="45" flags="">rias</w>
  <w f="45" flags="">riboflavine</w>
  <w f="45" flags="">rivalisèrent</w>
@@ -96443,7 +96406,6 @@
  <w f="44" flags="">corrosives</w>
  <w f="44" flags="">corrélatif</w>
  <w f="44" flags="">corser</w>
- <w f="44" flags="">corte</w>
  <w f="44" flags="">cosse</w>
  <w f="44" flags="">cotices</w>
  <w f="44" flags="">coudrier</w>
@@ -103165,7 +103127,6 @@
  <w f="42" flags="">séjourneront</w>
  <w f="42" flags="">sémioticien</w>
  <w f="42" flags="">tabulation</w>
- <w f="42" flags="">taiga</w>
  <w f="42" flags="">taillanderie</w>
  <w f="42" flags="">talonnant</w>
  <w f="42" flags="">talwegs</w>
@@ -104521,7 +104482,6 @@
  <w f="41" flags="">d'allant</w>
  <w f="41" flags="">d'allée</w>
  <w f="41" flags="">d'amant</w>
- <w f="41" flags="">d'ambigüité</w>
  <w f="41" flags="">d'analphabètes</w>
  <w f="41" flags="">d'anhydride</w>
  <w f="41" flags="">d'annonceurs</w>
@@ -104692,7 +104652,6 @@
  <w f="41" flags="">débitées</w>
  <w f="41" flags="">déblayage</w>
  <w f="41" flags="">déblayée</w>
- <w f="41" flags="">débout</w>
  <w f="41" flags="">débouta</w>
  <w f="41" flags="">débridées</w>
  <w f="41" flags="">décadaire</w>
@@ -105304,7 +105263,6 @@
  <w f="41" flags="">logisticien</w>
  <w f="41" flags="">loi-programme</w>
  <w f="41" flags="">longes</w>
- <w f="41" flags="">lorsqu'a</w>
  <w f="41" flags="">lotit</w>
  <w f="41" flags="">loukoums</w>
  <w f="41" flags="">loupé</w>
@@ -105891,7 +105849,6 @@
  <w f="41" flags="">salubres</w>
  <w f="41" flags="">sami</w>
  <w f="41" flags="">samoyèdes</w>
- <w f="41" flags="">sante</w>
  <w f="41" flags="">sapant</w>
  <w f="41" flags="">sapé</w>
  <w f="41" flags="">sardanes</w>
@@ -105973,7 +105930,6 @@
  <w f="41" flags="">stathoudérat</w>
  <w f="41" flags="">statuera</w>
  <w f="41" flags="">statues-menhirs</w>
- <w f="41" flags="">ste</w>
  <w f="41" flags="">stigmatique</w>
  <w f="41" flags="">stramoine</w>
  <w f="41" flags="">stratifications</w>
@@ -107843,7 +107799,6 @@
  <w f="40" flags="">gazée</w>
  <w f="40" flags="">gel-dégel</w>
  <w f="40" flags="">gemmules</w>
- <w f="40" flags="">geo</w>
  <w f="40" flags="">germinative</w>
  <w f="40" flags="">gesticulant</w>
  <w f="40" flags="">gift</w>
@@ -108670,7 +108625,6 @@
  <w f="40" flags="">ravalés</w>
  <w f="40" flags="">ravelin</w>
  <w f="40" flags="">ravies</w>
- <w f="40" flags="">rea</w>
  <w f="40" flags="">rebroussa</w>
  <w f="40" flags="">recalcule</w>
  <w f="40" flags="">recalculé</w>
@@ -108730,7 +108684,6 @@
  <w f="40" flags="">reverrons</w>
  <w f="40" flags="">rhinolophes</w>
  <w f="40" flags="">rhinoplastie</w>
- <w f="40" flags="">rho</w>
  <w f="40" flags="">rhomboïde</w>
  <w f="40" flags="">rhéologiques</w>
  <w f="40" flags="">ricercare</w>
@@ -110564,7 +110517,6 @@
  <w f="39" flags="">charismes</w>
  <w f="39" flags="">charolaises</w>
  <w f="39" flags="">chat-qui-pelote</w>
- <w f="39" flags="">chatelain</w>
  <w f="39" flags="">chemin-de-fer</w>
  <w f="39" flags="">chemisé</w>
  <w f="39" flags="">chenu</w>
@@ -115609,7 +115561,6 @@
  <w f="37" flags="">fatiguait</w>
  <w f="37" flags="">faussetés</w>
  <w f="37" flags="">fedayin</w>
- <w f="37" flags="">fee</w>
  <w f="37" flags="">fenestration</w>
  <w f="37" flags="">fennecs</w>
  <w f="37" flags="">fermentescible</w>
@@ -115836,7 +115787,6 @@
  <w f="37" flags="">immunise</w>
  <w f="37" flags="">imméritée</w>
  <w f="37" flags="">imperfectifs</w>
- <w f="37" flags="">imperial</w>
  <w f="37" flags="">impondérable</w>
  <w f="37" flags="">impressionnable</w>
  <w f="37" flags="">imprimèrent</w>
@@ -117309,7 +117259,6 @@
  <w f="37" flags="">turbotrain</w>
  <w f="37" flags="">turf</w>
  <w f="37" flags="">turonien</w>
- <w f="37" flags="abreviation">tél</w>
  <w f="37" flags="">télé-vote</w>
  <w f="37" flags="">témoigneraient</w>
  <w f="37" flags="">térébrants</w>
@@ -117797,7 +117746,6 @@
  <w f="36" flags="">calmèrent</w>
  <w f="36" flags="">calomniateur</w>
  <w f="36" flags="">calomniés</w>
- <w f="36" flags="">cameras</w>
  <w f="36" flags="">campées</w>
  <w f="36" flags="">candidoses</w>
  <w f="36" flags="">cangue</w>
@@ -118355,7 +118303,6 @@
  <w f="36" flags="">hydrolysables</w>
  <w f="36" flags="">hypertrophiques</w>
  <w f="36" flags="">hématologue</w>
- <w f="36" flags="">héro</w>
  <w f="36" flags="">hétérocycliques</w>
  <w f="36" flags="">iconophiles</w>
  <w f="36" flags="">ignominie</w>
@@ -122917,7 +122864,6 @@
  <w f="35" flags="">terrifiées</w>
  <w f="35" flags="">terrorisées</w>
  <w f="35" flags="">testables</w>
- <w f="35" flags="">tetra</w>
  <w f="35" flags="">teutonne</w>
  <w f="35" flags="">texturés</w>
  <w f="35" flags="">thermolabiles</w>
@@ -123531,7 +123477,6 @@
  <w f="34" flags="">batcave</w>
  <w f="34" flags="">baud</w>
  <w f="34" flags="">beaune</w>
- <w f="34" flags="">beluga</w>
  <w f="34" flags="">bemba</w>
  <w f="34" flags="">bernés</w>
  <w f="34" flags="">berri</w>
@@ -124678,7 +124623,6 @@
  <w f="34" flags="">niveau-là</w>
  <w f="34" flags="">niveleuse</w>
  <w f="34" flags="">nivernaises</w>
- <w f="34" flags="">noel</w>
  <w f="34" flags="">noir-blanc</w>
  <w f="34" flags="">noises</w>
  <w f="34" flags="">non-abonnés</w>
@@ -125321,7 +125265,6 @@
  <w f="34" flags="">turbine-alternateur</w>
  <w f="34" flags="">turbiner</w>
  <w f="34" flags="">typer</w>
- <w f="34" flags="">tâchée</w>
  <w f="34" flags="">télécopies</w>
  <w f="34" flags="">télégraphia</w>
  <w f="34" flags="">téléguidage</w>
@@ -133237,7 +133180,6 @@
  <w f="31" flags="">taquiné</w>
  <w f="31" flags="">tarpon</w>
  <w f="31" flags="">tassant</w>
- <w f="31" flags="">tate</w>
  <w f="31" flags="">taxidermistes</w>
  <w f="31" flags="">taxèrent</w>
  <w f="31" flags="">temporisations</w>
@@ -135580,7 +135522,6 @@
  <w f="30" flags="">noyautés</w>
  <w f="30" flags="">nu-propriétaire</w>
  <w f="30" flags="">nucléarité</w>
- <w f="30" flags="">numérus</w>
  <w f="30" flags="">néantisation</w>
  <w f="30" flags="">nécroser</w>
  <w f="30" flags="">nécrosées</w>
@@ -137266,7 +137207,6 @@
  <w f="28" flags="">brasserie-restaurant</w>
  <w f="28" flags="">brassins</w>
  <w f="28" flags="">bredouiller</w>
- <w f="28" flags="">briquèterie</w>
  <w f="28" flags="">brocardent</w>
  <w f="28" flags="">brodequin</w>
  <w f="28" flags="">broncho-alvéolaire</w>
@@ -137590,7 +137530,6 @@
  <w f="28" flags="">d'alphabétisme</w>
  <w f="28" flags="">d'altercations</w>
  <w f="28" flags="">d'amabilité</w>
- <w f="28" flags="">d'ambigüités</w>
  <w f="28" flags="">d'amuseur</w>
  <w f="28" flags="">d'amuseurs</w>
  <w f="28" flags="">d'aménageur</w>
@@ -141365,7 +141304,6 @@
  <w f="27" flags="">contenterai</w>
  <w f="27" flags="">contentées</w>
  <w f="27" flags="">contesterait</w>
- <w f="27" flags="">contigüité</w>
  <w f="27" flags="">contingentées</w>
  <w f="27" flags="">contingentés</w>
  <w f="27" flags="">continuatrices</w>
@@ -141447,7 +141385,6 @@
  <w f="27" flags="">cystectomie</w>
  <w f="27" flags="">câblots</w>
  <w f="27" flags="">cèderait</w>
- <w f="27" flags="">cé</w>
  <w f="27" flags="">cédants</w>
  <w f="27" flags="">cémenté</w>
  <w f="27" flags="">cérémonieuse</w>
@@ -143260,7 +143197,6 @@
  <w f="27" flags="">ogresses</w>
  <w f="27" flags="">oka</w>
  <w f="27" flags="">okoumé</w>
- <w f="27" flags="">ole</w>
  <w f="27" flags="">olé</w>
  <w f="27" flags="">ombellules</w>
  <w f="27" flags="">ombragent</w>
@@ -145449,7 +145385,6 @@
  <w f="25" flags="">beefsteak</w>
  <w f="25" flags="">bel-étage</w>
  <w f="25" flags="">benn</w>
- <w f="25" flags="">benoite</w>
  <w f="25" flags="">benoîtement</w>
  <w f="25" flags="">berruyer</w>
  <w f="25" flags="">berthoud</w>
@@ -145701,7 +145636,6 @@
  <w f="25" flags="">charmées</w>
  <w f="25" flags="">chasse-bombardement</w>
  <w f="25" flags="">chasse-goupille</w>
- <w f="25" flags="">chatelet</w>
  <w f="25" flags="">chatouillement</w>
  <w f="25" flags="">chauffera</w>
  <w f="25" flags="">chaulé</w>
@@ -148557,7 +148491,6 @@
  <w f="25" flags="">redonnerait</w>
  <w f="25" flags="">redressèrent</w>
  <w f="25" flags="">redémarrés</w>
- <w f="25" flags="">ree</w>
  <w f="25" flags="">reformula</w>
  <w f="25" flags="">refoulait</w>
  <w f="25" flags="">regagneraient</w>
@@ -149123,7 +149056,6 @@
  <w f="25" flags="">suprasegmentales</w>
  <w f="25" flags="">sur-interprétation</w>
  <w f="25" flags="">sur-revenu</w>
- <w f="25" flags="">suraigüe</w>
  <w f="25" flags="">surcapacités</w>
  <w f="25" flags="">surcapitalisation</w>
  <w f="25" flags="">surchargent</w>
@@ -150734,7 +150666,6 @@
  <w f="23" flags="">cargues</w>
  <w f="23" flags="">cariste</w>
  <w f="23" flags="">cariée</w>
- <w f="23" flags="">carmine</w>
  <w f="23" flags="">carmins</w>
  <w f="23" flags="">carolus</w>
  <w f="23" flags="">carrousel-salon</w>
@@ -150812,7 +150743,6 @@
  <w f="23" flags="">chemisée</w>
  <w f="23" flags="">chercheras</w>
  <w f="23" flags="">cherchiez</w>
- <w f="23" flags="">cherif</w>
  <w f="23" flags="">cheval-jupon</w>
  <w f="23" flags="">chevalet-cordier</w>
  <w f="23" flags="">chevauchera</w>
@@ -158794,7 +158724,6 @@
  <w f="21" flags="">glabelle</w>
  <w f="21" flags="">glaceries</w>
  <w f="21" flags="">glaciaires-interglaciaires</w>
- <w f="21" flags="">glebe</w>
  <w f="21" flags="">glisseront</w>
  <w f="21" flags="">glissé-déposé</w>
  <w f="21" flags="">glockenspiels</w>
@@ -162051,7 +161980,6 @@
  <w f="21" flags="">sitars</w>
  <w f="21" flags="">situations-problèmes</w>
  <w f="21" flags="">situez</w>
- <w f="21" flags="">situè</w>
  <w f="21" flags="">siègeraient</w>
  <w f="21" flags="">skelter</w>
  <w f="21" flags="">slalomer</w>
@@ -169393,7 +169321,6 @@
  <w f="18" flags="">non-adaptation</w>
  <w f="18" flags="">non-adjacents</w>
  <w f="18" flags="">non-affiliées</w>
- <w f="18" flags="">non-ambigüe</w>
  <w f="18" flags="">non-anglicans</w>
  <w f="18" flags="">non-anthropomorphique</w>
  <w f="18" flags="">non-artistiques</w>
@@ -172080,7 +172007,6 @@
  <w f="18" flags="">teindra</w>
  <w f="18" flags="">teins</w>
  <w f="18" flags="">teintaient</w>
- <w f="18" flags="">telemark</w>
  <w f="18" flags="">tempéré-froid</w>
  <w f="18" flags="">tenaillaient</w>
  <w f="18" flags="">tentent-ils</w>
@@ -172296,7 +172222,6 @@
  <w f="18" flags="">tympanal</w>
  <w f="18" flags="">tyrosine-kinases</w>
  <w f="18" flags="">tâchez</w>
- <w f="18" flags="">tâchées</w>
  <w f="18" flags="">télescopages</w>
  <w f="18" flags="">téléchargera</w>
  <w f="18" flags="">télégraphiés</w>
@@ -175263,7 +175188,6 @@
  <w f="15" flags="">bedon</w>
  <w f="15" flags="">beira</w>
  <w f="15" flags="">bel-esprit</w>
- <w f="15" flags="">benin</w>
  <w f="15" flags="">berat</w>
  <w f="15" flags="">bercements</w>
  <w f="15" flags="">bergamotier</w>
@@ -182098,7 +182022,6 @@
  <w f="15" flags="">navre</w>
  <w f="15" flags="">nazaréennes</w>
  <w f="15" flags="">ne-me-touchez-pas</w>
- <w f="15" flags="">nene</w>
  <w f="15" flags="">nervations</w>
  <w f="15" flags="">nervi</w>
  <w f="15" flags="">net-art</w>
@@ -182179,7 +182102,6 @@
  <w f="15" flags="">non-certifiées</w>
  <w f="15" flags="">non-chemin</w>
  <w f="15" flags="">non-choix</w>
- <w f="15" flags="">non-cibles</w>
  <w f="15" flags="">non-circulaire</w>
  <w f="15" flags="">non-circulaires</w>
  <w f="15" flags="">non-circulation</w>
@@ -182540,7 +182462,6 @@
  <w f="15" flags="">nuança</w>
  <w f="15" flags="">nucléoprotéines</w>
  <w f="15" flags="">nullipare</w>
- <w f="15" flags="">nument</w>
  <w f="15" flags="">numéro-bilan</w>
  <w f="15" flags="">numérotaient</w>
  <w f="15" flags="">nymphaux</w>
@@ -182721,7 +182642,6 @@
  <w f="15" flags="">ossifications</w>
  <w f="15" flags="">ostioles</w>
  <w f="15" flags="">ostrogothes</w>
- <w f="15" flags="">ota</w>
  <w f="15" flags="">othello</w>
  <w f="15" flags="">oublieraient</w>
  <w f="15" flags="">oublieuses</w>
@@ -185679,7 +185599,6 @@
  <w f="15" flags="">styler</w>
  <w f="15" flags="">stylographes</w>
  <w f="15" flags="">styptiques</w>
- <w f="15" flags="">sté</w>
  <w f="15" flags="">sténogramme</w>
  <w f="15" flags="">sténographié</w>
  <w f="15" flags="">sténotypiste</w>
@@ -185689,8 +185608,6 @@
  <w f="15" flags="">stéthoscopes</w>
  <w f="15" flags="">suait</w>
  <w f="15" flags="">subaigu</w>
- <w f="15" flags="">subaigüe</w>
- <w f="15" flags="">subaigües</w>
  <w f="15" flags="">subcarpatiques</w>
  <w f="15" flags="">subiras</w>
  <w f="15" flags="">subirons</w>
@@ -186010,7 +185927,6 @@
  <w f="15" flags="">terrons</w>
  <w f="15" flags="">terrorisante</w>
  <w f="15" flags="">testacelles</w>
- <w f="15" flags="">teton</w>
  <w f="15" flags="">texturisation</w>
  <w f="15" flags="">thermie</w>
  <w f="15" flags="">thermomagnétique</w>
@@ -186279,7 +186195,6 @@
  <w f="15" flags="">téléguide</w>
  <w f="15" flags="">téléphonée</w>
  <w f="15" flags="">télérobotique</w>
- <w f="15" flags="">télévises</w>
  <w f="15" flags="">témoignera-t-il</w>
  <w f="15" flags="">témoignées</w>
  <w f="15" flags="">ténorino</w>
@@ -187546,7 +187461,6 @@
  <w f="10" flags="">bousille</w>
  <w f="10" flags="">boutefas</w>
  <w f="10" flags="">boutet</w>
- <w f="10" flags="">boué</w>
  <w f="10" flags="">box-set</w>
  <w f="10" flags="">boy-girl</w>
  <w f="10" flags="">boy-love</w>
@@ -189008,7 +188922,6 @@
  <w f="10" flags="">nové</w>
  <w f="10" flags="">novés</w>
  <w f="10" flags="">nutrition-santé</w>
- <w f="10" flags="">nué</w>
  <w f="10" flags="">nénés</w>
  <w f="10" flags="">néo-grenadin</w>
  <w f="10" flags="">néo-indien</w>
@@ -190541,7 +190454,6 @@
  <w f="1" flags="">bonder</w>
  <w f="1" flags="">bondons</w>
  <w f="1" flags="">boniche</w>
- <w f="1" flags="">bonte</w>
  <w f="1" flags="">bony</w>
  <w f="1" flags="">bordeaux-côtes-de-francs</w>
  <w f="1" flags="">bordet</w>
@@ -190929,7 +190841,6 @@
  <w f="1" flags="">gaube</w>
  <w f="1" flags="">gava</w>
  <w f="1" flags="">gaîtés</w>
- <w f="1" flags="">gaï</w>
  <w f="1" flags="">gelas</w>
  <w f="1" flags="">geoffrin</w>
  <w f="1" flags="">geordie</w>
@@ -191986,7 +191897,6 @@
  <w f="0" flags="e">nègre</w>
  <w f="0" flags="n">nécrophilie</w>
  <w f="0" flags="e">négritude</w>
- <w f="0" flags="e">négro</w>
  <w f="0" flags="e">néonazi</w>
  <w f="0" flags="n">obscène</w>
  <w f="0" flags="n">obsédé</w>
@@ -192034,6 +191944,7 @@
  <w f="0" flags="n">quéquette</w>
  <w f="0" flags="e">racaille</w>
  <w f="0" flags="e">raton</w>
+ <w f="0" flags="">re</w>
  <w f="0" flags="n">relation</w>
  <w f="0" flags="e">rital</w>
  <w f="0" flags="e">ritals</w>
diff --git a/java/res/raw/main_fr.dict b/java/res/raw/main_fr.dict
index 4723961..17920f0 100644
--- a/java/res/raw/main_fr.dict
+++ b/java/res/raw/main_fr.dict
Binary files differ
diff --git a/java/res/xml/spellchecker.xml b/java/res/xml/spellchecker.xml
index 2e4448c..66cd662 100644
--- a/java/res/xml/spellchecker.xml
+++ b/java/res/xml/spellchecker.xml
@@ -29,6 +29,14 @@
     />
     <subtype
             android:label="@string/subtype_generic"
+            android:subtypeLocale="en_US"
+    />
+    <subtype
+            android:label="@string/subtype_generic"
+            android:subtypeLocale="en_GB"
+    />
+    <subtype
+            android:label="@string/subtype_generic"
             android:subtypeLocale="fr"
     />
     <subtype
@@ -55,4 +63,12 @@
             android:label="@string/subtype_generic"
             android:subtypeLocale="nl"
     />
+    <subtype
+            android:label="@string/subtype_generic"
+            android:subtypeLocale="hr"
+    />
+    <subtype
+            android:label="@string/subtype_generic"
+            android:subtypeLocale="pt_BR"
+    />
 </spell-checker>
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
index 37fa674..2e4ce19 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java
@@ -31,6 +31,7 @@
 import com.android.inputmethod.keyboard.PointerTracker.TimerProxy;
 import com.android.inputmethod.keyboard.internal.KeyboardState;
 import com.android.inputmethod.latin.DebugSettings;
+import com.android.inputmethod.latin.ImfUtils;
 import com.android.inputmethod.latin.InputView;
 import com.android.inputmethod.latin.LatinIME;
 import com.android.inputmethod.latin.LatinImeLogger;
@@ -180,7 +181,8 @@
                 || !keyboard.mId.mLocale.equals(oldKeyboard.mId.mLocale);
         final boolean needsToDisplayLanguage = mSubtypeSwitcher.needsToDisplayLanguage(
                 keyboard.mId.mLocale);
-        mKeyboardView.startDisplayLanguageOnSpacebar(subtypeChanged, needsToDisplayLanguage);
+        mKeyboardView.startDisplayLanguageOnSpacebar(subtypeChanged, needsToDisplayLanguage,
+                ImfUtils.hasMultipleEnabledIMEsOrSubtypes(mLatinIME, true));
     }
 
     public Keyboard getKeyboard() {
diff --git a/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java b/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java
index cb37672..b159993 100644
--- a/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/LatinKeyboardView.java
@@ -43,7 +43,6 @@
 import com.android.inputmethod.accessibility.AccessibleKeyboardViewProxy;
 import com.android.inputmethod.keyboard.PointerTracker.DrawingProxy;
 import com.android.inputmethod.keyboard.PointerTracker.TimerProxy;
-import com.android.inputmethod.latin.ImfUtils;
 import com.android.inputmethod.latin.LatinIME;
 import com.android.inputmethod.latin.LatinImeLogger;
 import com.android.inputmethod.latin.R;
@@ -83,6 +82,7 @@
     private ObjectAnimator mLanguageOnSpacebarFadeoutAnimator;
     private static final int ALPHA_OPAQUE = 255;
     private boolean mNeedsToDisplayLanguage;
+    private boolean mHasMultipleEnabledIMEsOrSubtypes;
     private int mLanguageOnSpacebarAnimAlpha = ALPHA_OPAQUE;
     private final float mSpacebarTextRatio;
     private float mSpacebarTextSize;
@@ -847,9 +847,10 @@
     }
 
     public void startDisplayLanguageOnSpacebar(boolean subtypeChanged,
-            boolean needsToDisplayLanguage) {
-        final ObjectAnimator animator = mLanguageOnSpacebarFadeoutAnimator;
+            boolean needsToDisplayLanguage, boolean hasMultipleEnabledIMEsOrSubtypes) {
         mNeedsToDisplayLanguage = needsToDisplayLanguage;
+        mHasMultipleEnabledIMEsOrSubtypes = hasMultipleEnabledIMEsOrSubtypes;
+        final ObjectAnimator animator = mLanguageOnSpacebarFadeoutAnimator;
         if (animator == null) {
             mNeedsToDisplayLanguage = false;
         } else {
@@ -881,18 +882,13 @@
         }
         if (key.mCode == Keyboard.CODE_SPACE) {
             drawSpacebar(key, canvas, paint);
-
             // Whether space key needs to show the "..." popup hint for special purposes
-            if (key.isLongPressEnabled() && ImfUtils.hasMultipleEnabledIMEsOrSubtypes(
-                    getContext(), true /* include aux subtypes */)) {
+            if (key.isLongPressEnabled() && mHasMultipleEnabledIMEsOrSubtypes) {
                 drawKeyPopupHint(key, canvas, paint, params);
             }
         } else if (key.mCode == Keyboard.CODE_LANGUAGE_SWITCH) {
             super.onDrawKeyTopVisuals(key, canvas, paint, params);
-            if (ImfUtils.hasMultipleEnabledIMEsOrSubtypes(
-                    getContext(), true /* include aux subtypes */)) {
-                drawKeyPopupHint(key, canvas, paint, params);
-            }
+            drawKeyPopupHint(key, canvas, paint, params);
         } else {
             super.onDrawKeyTopVisuals(key, canvas, paint, params);
         }
diff --git a/java/src/com/android/inputmethod/latin/AdditionalSubtype.java b/java/src/com/android/inputmethod/latin/AdditionalSubtype.java
index ffdbfbb..f8f1395 100644
--- a/java/src/com/android/inputmethod/latin/AdditionalSubtype.java
+++ b/java/src/com/android/inputmethod/latin/AdditionalSubtype.java
@@ -28,6 +28,7 @@
 import java.util.ArrayList;
 
 public class AdditionalSubtype {
+    private static final InputMethodSubtype[] EMPTY_SUBTYPE_ARRAY = new InputMethodSubtype[0];
 
     private AdditionalSubtype() {
         // This utility class is not publicly instantiable.
@@ -86,7 +87,7 @@
 
     public static InputMethodSubtype[] createAdditionalSubtypesArray(String prefSubtypes) {
         if (TextUtils.isEmpty(prefSubtypes)) {
-            return null;
+            return EMPTY_SUBTYPE_ARRAY;
         }
         final String[] prefSubtypeArray = prefSubtypes.split(PREF_SUBTYPE_SEPARATOR);
         final ArrayList<InputMethodSubtype> subtypesList =
diff --git a/java/src/com/android/inputmethod/latin/AutoCorrection.java b/java/src/com/android/inputmethod/latin/AutoCorrection.java
index da1936a..32b213e 100644
--- a/java/src/com/android/inputmethod/latin/AutoCorrection.java
+++ b/java/src/com/android/inputmethod/latin/AutoCorrection.java
@@ -22,7 +22,7 @@
 import android.util.Log;
 
 import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
 
 public class AutoCorrection {
     private static final boolean DBG = LatinImeLogger.sDBG;
@@ -33,10 +33,10 @@
     }
 
     public static CharSequence computeAutoCorrectionWord(
-            HashMap<String, Dictionary> dictionaries,
-            WordComposer wordComposer, ArrayList<SuggestedWordInfo> suggestions,
-            CharSequence consideredWord, float autoCorrectionThreshold,
-            CharSequence whitelistedWord) {
+            final ConcurrentHashMap<String, Dictionary> dictionaries,
+            final WordComposer wordComposer, final ArrayList<SuggestedWordInfo> suggestions,
+            final CharSequence consideredWord, final float autoCorrectionThreshold,
+            final CharSequence whitelistedWord) {
         if (hasAutoCorrectionForWhitelistedWord(whitelistedWord)) {
             return whitelistedWord;
         } else if (hasAutoCorrectionForConsideredWord(
@@ -49,8 +49,8 @@
         return null;
     }
 
-    public static boolean isValidWord(
-            HashMap<String, Dictionary> dictionaries, CharSequence word, boolean ignoreCase) {
+    public static boolean isValidWord(final ConcurrentHashMap<String, Dictionary> dictionaries,
+           CharSequence word, boolean ignoreCase) {
         if (TextUtils.isEmpty(word)) {
             return false;
         }
@@ -75,7 +75,8 @@
     }
 
     public static boolean allowsToBeAutoCorrected(
-            HashMap<String, Dictionary> dictionaries, CharSequence word, boolean ignoreCase) {
+            final ConcurrentHashMap<String, Dictionary> dictionaries,
+            final CharSequence word, final boolean ignoreCase) {
         final WhitelistDictionary whitelistDictionary =
                 (WhitelistDictionary)dictionaries.get(Suggest.DICT_KEY_WHITELIST);
         // If "word" is in the whitelist dictionary, it should not be auto corrected.
@@ -91,8 +92,9 @@
     }
 
     private static boolean hasAutoCorrectionForConsideredWord(
-            HashMap<String, Dictionary> dictionaries, WordComposer wordComposer,
-            ArrayList<SuggestedWordInfo> suggestions, CharSequence consideredWord) {
+            final ConcurrentHashMap<String, Dictionary> dictionaries,
+            final WordComposer wordComposer, final ArrayList<SuggestedWordInfo> suggestions,
+            final CharSequence consideredWord) {
         if (TextUtils.isEmpty(consideredWord)) return false;
         return wordComposer.size() > 1 && suggestions.size() > 0
                 && !allowsToBeAutoCorrected(dictionaries, consideredWord, false);
diff --git a/java/src/com/android/inputmethod/latin/ExpandableDictionary.java b/java/src/com/android/inputmethod/latin/ExpandableDictionary.java
index 7a740b3..dd9c57e 100644
--- a/java/src/com/android/inputmethod/latin/ExpandableDictionary.java
+++ b/java/src/com/android/inputmethod/latin/ExpandableDictionary.java
@@ -261,6 +261,28 @@
         return (node == null) ? false : !node.mShortcutOnly;
     }
 
+    protected boolean removeBigram(String word1, String word2) {
+        // Refer to addOrSetBigram() about word1.toLowerCase()
+        final Node firstWord = searchWord(mRoots, word1.toLowerCase(), 0, null);
+        final Node secondWord = searchWord(mRoots, word2, 0, null);
+        LinkedList<NextWord> bigram = firstWord.mNGrams;
+        NextWord bigramNode = null;
+        if (bigram == null || bigram.size() == 0) {
+            return false;
+        } else {
+            for (NextWord nw : bigram) {
+                if (nw.mWord == secondWord) {
+                    bigramNode = nw;
+                    break;
+                }
+            }
+        }
+        if (bigramNode == null) {
+            return false;
+        }
+        return bigram.remove(bigramNode);
+    }
+
     /**
      * Returns the word's frequency or -1 if not found
      */
@@ -639,167 +661,167 @@
      * is combined.
      */
     private static final char BASE_CHARS[] = {
-        0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 
-        0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, 
-        0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 
-        0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, 
-        0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 
-        0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, 
-        0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 
-        0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, 
-        0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 
-        0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 
-        0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 
-        0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, 
-        0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 
-        0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 
-        0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 
-        0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, 
-        0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 
-        0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, 
-        0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 
-        0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, 
-        0x0020, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, 
-        0x0020, 0x00a9, 0x0061, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x0020, 
-        0x00b0, 0x00b1, 0x0032, 0x0033, 0x0020, 0x03bc, 0x00b6, 0x00b7, 
-        0x0020, 0x0031, 0x006f, 0x00bb, 0x0031, 0x0031, 0x0033, 0x00bf, 
-        0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x00c6, 0x0043, 
-        0x0045, 0x0045, 0x0045, 0x0045, 0x0049, 0x0049, 0x0049, 0x0049, 
-        0x00d0, 0x004e, 0x004f, 0x004f, 0x004f, 0x004f, 0x004f, 0x00d7, 
+        0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
+        0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
+        0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
+        0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,
+        0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
+        0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
+        0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
+        0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
+        0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
+        0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
+        0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
+        0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,
+        0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
+        0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,
+        0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
+        0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,
+        0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,
+        0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,
+        0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,
+        0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,
+        0x0020, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,
+        0x0020, 0x00a9, 0x0061, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x0020,
+        0x00b0, 0x00b1, 0x0032, 0x0033, 0x0020, 0x03bc, 0x00b6, 0x00b7,
+        0x0020, 0x0031, 0x006f, 0x00bb, 0x0031, 0x0031, 0x0033, 0x00bf,
+        0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x00c6, 0x0043,
+        0x0045, 0x0045, 0x0045, 0x0045, 0x0049, 0x0049, 0x0049, 0x0049,
+        0x00d0, 0x004e, 0x004f, 0x004f, 0x004f, 0x004f, 0x004f, 0x00d7,
         0x004f, 0x0055, 0x0055, 0x0055, 0x0055, 0x0059, 0x00de, 0x0073, // Manually changed d8 to 4f
                                                                         // Manually changed df to 73
-        0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x00e6, 0x0063, 
-        0x0065, 0x0065, 0x0065, 0x0065, 0x0069, 0x0069, 0x0069, 0x0069, 
-        0x00f0, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x00f7, 
+        0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x00e6, 0x0063,
+        0x0065, 0x0065, 0x0065, 0x0065, 0x0069, 0x0069, 0x0069, 0x0069,
+        0x00f0, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x00f7,
         0x006f, 0x0075, 0x0075, 0x0075, 0x0075, 0x0079, 0x00fe, 0x0079, // Manually changed f8 to 6f
-        0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0043, 0x0063, 
-        0x0043, 0x0063, 0x0043, 0x0063, 0x0043, 0x0063, 0x0044, 0x0064, 
-        0x0110, 0x0111, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 
-        0x0045, 0x0065, 0x0045, 0x0065, 0x0047, 0x0067, 0x0047, 0x0067, 
-        0x0047, 0x0067, 0x0047, 0x0067, 0x0048, 0x0068, 0x0126, 0x0127, 
-        0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069, 
-        0x0049, 0x0131, 0x0049, 0x0069, 0x004a, 0x006a, 0x004b, 0x006b, 
-        0x0138, 0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 
-        0x006c, 0x0141, 0x0142, 0x004e, 0x006e, 0x004e, 0x006e, 0x004e, 
-        0x006e, 0x02bc, 0x014a, 0x014b, 0x004f, 0x006f, 0x004f, 0x006f, 
-        0x004f, 0x006f, 0x0152, 0x0153, 0x0052, 0x0072, 0x0052, 0x0072, 
-        0x0052, 0x0072, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073, 
-        0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0166, 0x0167, 
-        0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 
-        0x0055, 0x0075, 0x0055, 0x0075, 0x0057, 0x0077, 0x0059, 0x0079, 
-        0x0059, 0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0073, 
-        0x0180, 0x0181, 0x0182, 0x0183, 0x0184, 0x0185, 0x0186, 0x0187, 
-        0x0188, 0x0189, 0x018a, 0x018b, 0x018c, 0x018d, 0x018e, 0x018f, 
-        0x0190, 0x0191, 0x0192, 0x0193, 0x0194, 0x0195, 0x0196, 0x0197, 
-        0x0198, 0x0199, 0x019a, 0x019b, 0x019c, 0x019d, 0x019e, 0x019f, 
-        0x004f, 0x006f, 0x01a2, 0x01a3, 0x01a4, 0x01a5, 0x01a6, 0x01a7, 
-        0x01a8, 0x01a9, 0x01aa, 0x01ab, 0x01ac, 0x01ad, 0x01ae, 0x0055, 
-        0x0075, 0x01b1, 0x01b2, 0x01b3, 0x01b4, 0x01b5, 0x01b6, 0x01b7, 
-        0x01b8, 0x01b9, 0x01ba, 0x01bb, 0x01bc, 0x01bd, 0x01be, 0x01bf, 
-        0x01c0, 0x01c1, 0x01c2, 0x01c3, 0x0044, 0x0044, 0x0064, 0x004c, 
-        0x004c, 0x006c, 0x004e, 0x004e, 0x006e, 0x0041, 0x0061, 0x0049, 
-        0x0069, 0x004f, 0x006f, 0x0055, 0x0075, 0x00dc, 0x00fc, 0x00dc, 
-        0x00fc, 0x00dc, 0x00fc, 0x00dc, 0x00fc, 0x01dd, 0x00c4, 0x00e4, 
-        0x0226, 0x0227, 0x00c6, 0x00e6, 0x01e4, 0x01e5, 0x0047, 0x0067, 
-        0x004b, 0x006b, 0x004f, 0x006f, 0x01ea, 0x01eb, 0x01b7, 0x0292, 
-        0x006a, 0x0044, 0x0044, 0x0064, 0x0047, 0x0067, 0x01f6, 0x01f7, 
-        0x004e, 0x006e, 0x00c5, 0x00e5, 0x00c6, 0x00e6, 0x00d8, 0x00f8, 
-        0x0041, 0x0061, 0x0041, 0x0061, 0x0045, 0x0065, 0x0045, 0x0065, 
-        0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f, 
-        0x0052, 0x0072, 0x0052, 0x0072, 0x0055, 0x0075, 0x0055, 0x0075, 
-        0x0053, 0x0073, 0x0054, 0x0074, 0x021c, 0x021d, 0x0048, 0x0068, 
-        0x0220, 0x0221, 0x0222, 0x0223, 0x0224, 0x0225, 0x0041, 0x0061, 
-        0x0045, 0x0065, 0x00d6, 0x00f6, 0x00d5, 0x00f5, 0x004f, 0x006f, 
-        0x022e, 0x022f, 0x0059, 0x0079, 0x0234, 0x0235, 0x0236, 0x0237, 
-        0x0238, 0x0239, 0x023a, 0x023b, 0x023c, 0x023d, 0x023e, 0x023f, 
-        0x0240, 0x0241, 0x0242, 0x0243, 0x0244, 0x0245, 0x0246, 0x0247, 
-        0x0248, 0x0249, 0x024a, 0x024b, 0x024c, 0x024d, 0x024e, 0x024f, 
-        0x0250, 0x0251, 0x0252, 0x0253, 0x0254, 0x0255, 0x0256, 0x0257, 
-        0x0258, 0x0259, 0x025a, 0x025b, 0x025c, 0x025d, 0x025e, 0x025f, 
-        0x0260, 0x0261, 0x0262, 0x0263, 0x0264, 0x0265, 0x0266, 0x0267, 
-        0x0268, 0x0269, 0x026a, 0x026b, 0x026c, 0x026d, 0x026e, 0x026f, 
-        0x0270, 0x0271, 0x0272, 0x0273, 0x0274, 0x0275, 0x0276, 0x0277, 
-        0x0278, 0x0279, 0x027a, 0x027b, 0x027c, 0x027d, 0x027e, 0x027f, 
-        0x0280, 0x0281, 0x0282, 0x0283, 0x0284, 0x0285, 0x0286, 0x0287, 
-        0x0288, 0x0289, 0x028a, 0x028b, 0x028c, 0x028d, 0x028e, 0x028f, 
-        0x0290, 0x0291, 0x0292, 0x0293, 0x0294, 0x0295, 0x0296, 0x0297, 
-        0x0298, 0x0299, 0x029a, 0x029b, 0x029c, 0x029d, 0x029e, 0x029f, 
-        0x02a0, 0x02a1, 0x02a2, 0x02a3, 0x02a4, 0x02a5, 0x02a6, 0x02a7, 
-        0x02a8, 0x02a9, 0x02aa, 0x02ab, 0x02ac, 0x02ad, 0x02ae, 0x02af, 
-        0x0068, 0x0266, 0x006a, 0x0072, 0x0279, 0x027b, 0x0281, 0x0077, 
-        0x0079, 0x02b9, 0x02ba, 0x02bb, 0x02bc, 0x02bd, 0x02be, 0x02bf, 
-        0x02c0, 0x02c1, 0x02c2, 0x02c3, 0x02c4, 0x02c5, 0x02c6, 0x02c7, 
-        0x02c8, 0x02c9, 0x02ca, 0x02cb, 0x02cc, 0x02cd, 0x02ce, 0x02cf, 
-        0x02d0, 0x02d1, 0x02d2, 0x02d3, 0x02d4, 0x02d5, 0x02d6, 0x02d7, 
-        0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x02de, 0x02df, 
-        0x0263, 0x006c, 0x0073, 0x0078, 0x0295, 0x02e5, 0x02e6, 0x02e7, 
-        0x02e8, 0x02e9, 0x02ea, 0x02eb, 0x02ec, 0x02ed, 0x02ee, 0x02ef, 
-        0x02f0, 0x02f1, 0x02f2, 0x02f3, 0x02f4, 0x02f5, 0x02f6, 0x02f7, 
-        0x02f8, 0x02f9, 0x02fa, 0x02fb, 0x02fc, 0x02fd, 0x02fe, 0x02ff, 
-        0x0300, 0x0301, 0x0302, 0x0303, 0x0304, 0x0305, 0x0306, 0x0307, 
-        0x0308, 0x0309, 0x030a, 0x030b, 0x030c, 0x030d, 0x030e, 0x030f, 
-        0x0310, 0x0311, 0x0312, 0x0313, 0x0314, 0x0315, 0x0316, 0x0317, 
-        0x0318, 0x0319, 0x031a, 0x031b, 0x031c, 0x031d, 0x031e, 0x031f, 
-        0x0320, 0x0321, 0x0322, 0x0323, 0x0324, 0x0325, 0x0326, 0x0327, 
-        0x0328, 0x0329, 0x032a, 0x032b, 0x032c, 0x032d, 0x032e, 0x032f, 
-        0x0330, 0x0331, 0x0332, 0x0333, 0x0334, 0x0335, 0x0336, 0x0337, 
-        0x0338, 0x0339, 0x033a, 0x033b, 0x033c, 0x033d, 0x033e, 0x033f, 
-        0x0300, 0x0301, 0x0342, 0x0313, 0x0308, 0x0345, 0x0346, 0x0347, 
-        0x0348, 0x0349, 0x034a, 0x034b, 0x034c, 0x034d, 0x034e, 0x034f, 
-        0x0350, 0x0351, 0x0352, 0x0353, 0x0354, 0x0355, 0x0356, 0x0357, 
-        0x0358, 0x0359, 0x035a, 0x035b, 0x035c, 0x035d, 0x035e, 0x035f, 
-        0x0360, 0x0361, 0x0362, 0x0363, 0x0364, 0x0365, 0x0366, 0x0367, 
-        0x0368, 0x0369, 0x036a, 0x036b, 0x036c, 0x036d, 0x036e, 0x036f, 
-        0x0370, 0x0371, 0x0372, 0x0373, 0x02b9, 0x0375, 0x0376, 0x0377, 
-        0x0378, 0x0379, 0x0020, 0x037b, 0x037c, 0x037d, 0x003b, 0x037f, 
-        0x0380, 0x0381, 0x0382, 0x0383, 0x0020, 0x00a8, 0x0391, 0x00b7, 
-        0x0395, 0x0397, 0x0399, 0x038b, 0x039f, 0x038d, 0x03a5, 0x03a9, 
-        0x03ca, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 
-        0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, 
-        0x03a0, 0x03a1, 0x03a2, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 
-        0x03a8, 0x03a9, 0x0399, 0x03a5, 0x03b1, 0x03b5, 0x03b7, 0x03b9, 
-        0x03cb, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7, 
-        0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf, 
-        0x03c0, 0x03c1, 0x03c2, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 
-        0x03c8, 0x03c9, 0x03b9, 0x03c5, 0x03bf, 0x03c5, 0x03c9, 0x03cf, 
-        0x03b2, 0x03b8, 0x03a5, 0x03d2, 0x03d2, 0x03c6, 0x03c0, 0x03d7, 
-        0x03d8, 0x03d9, 0x03da, 0x03db, 0x03dc, 0x03dd, 0x03de, 0x03df, 
-        0x03e0, 0x03e1, 0x03e2, 0x03e3, 0x03e4, 0x03e5, 0x03e6, 0x03e7, 
-        0x03e8, 0x03e9, 0x03ea, 0x03eb, 0x03ec, 0x03ed, 0x03ee, 0x03ef, 
-        0x03ba, 0x03c1, 0x03c2, 0x03f3, 0x0398, 0x03b5, 0x03f6, 0x03f7, 
-        0x03f8, 0x03a3, 0x03fa, 0x03fb, 0x03fc, 0x03fd, 0x03fe, 0x03ff, 
-        0x0415, 0x0415, 0x0402, 0x0413, 0x0404, 0x0405, 0x0406, 0x0406, 
-        0x0408, 0x0409, 0x040a, 0x040b, 0x041a, 0x0418, 0x0423, 0x040f, 
-        0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, 
-        0x0418, 0x0418, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, 
-        0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 
-        0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f, 
-        0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, 
-        0x0438, 0x0438, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, 
-        0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 
-        0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f, 
-        0x0435, 0x0435, 0x0452, 0x0433, 0x0454, 0x0455, 0x0456, 0x0456, 
-        0x0458, 0x0459, 0x045a, 0x045b, 0x043a, 0x0438, 0x0443, 0x045f, 
-        0x0460, 0x0461, 0x0462, 0x0463, 0x0464, 0x0465, 0x0466, 0x0467, 
-        0x0468, 0x0469, 0x046a, 0x046b, 0x046c, 0x046d, 0x046e, 0x046f, 
-        0x0470, 0x0471, 0x0472, 0x0473, 0x0474, 0x0475, 0x0474, 0x0475, 
-        0x0478, 0x0479, 0x047a, 0x047b, 0x047c, 0x047d, 0x047e, 0x047f, 
-        0x0480, 0x0481, 0x0482, 0x0483, 0x0484, 0x0485, 0x0486, 0x0487, 
-        0x0488, 0x0489, 0x048a, 0x048b, 0x048c, 0x048d, 0x048e, 0x048f, 
-        0x0490, 0x0491, 0x0492, 0x0493, 0x0494, 0x0495, 0x0496, 0x0497, 
-        0x0498, 0x0499, 0x049a, 0x049b, 0x049c, 0x049d, 0x049e, 0x049f, 
-        0x04a0, 0x04a1, 0x04a2, 0x04a3, 0x04a4, 0x04a5, 0x04a6, 0x04a7, 
-        0x04a8, 0x04a9, 0x04aa, 0x04ab, 0x04ac, 0x04ad, 0x04ae, 0x04af, 
-        0x04b0, 0x04b1, 0x04b2, 0x04b3, 0x04b4, 0x04b5, 0x04b6, 0x04b7, 
-        0x04b8, 0x04b9, 0x04ba, 0x04bb, 0x04bc, 0x04bd, 0x04be, 0x04bf, 
-        0x04c0, 0x0416, 0x0436, 0x04c3, 0x04c4, 0x04c5, 0x04c6, 0x04c7, 
-        0x04c8, 0x04c9, 0x04ca, 0x04cb, 0x04cc, 0x04cd, 0x04ce, 0x04cf, 
-        0x0410, 0x0430, 0x0410, 0x0430, 0x04d4, 0x04d5, 0x0415, 0x0435, 
-        0x04d8, 0x04d9, 0x04d8, 0x04d9, 0x0416, 0x0436, 0x0417, 0x0437, 
-        0x04e0, 0x04e1, 0x0418, 0x0438, 0x0418, 0x0438, 0x041e, 0x043e, 
-        0x04e8, 0x04e9, 0x04e8, 0x04e9, 0x042d, 0x044d, 0x0423, 0x0443, 
-        0x0423, 0x0443, 0x0423, 0x0443, 0x0427, 0x0447, 0x04f6, 0x04f7, 
-        0x042b, 0x044b, 0x04fa, 0x04fb, 0x04fc, 0x04fd, 0x04fe, 0x04ff, 
+        0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0043, 0x0063,
+        0x0043, 0x0063, 0x0043, 0x0063, 0x0043, 0x0063, 0x0044, 0x0064,
+        0x0110, 0x0111, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,
+        0x0045, 0x0065, 0x0045, 0x0065, 0x0047, 0x0067, 0x0047, 0x0067,
+        0x0047, 0x0067, 0x0047, 0x0067, 0x0048, 0x0068, 0x0126, 0x0127,
+        0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069,
+        0x0049, 0x0131, 0x0049, 0x0069, 0x004a, 0x006a, 0x004b, 0x006b,
+        0x0138, 0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x004c,
+        0x006c, 0x0141, 0x0142, 0x004e, 0x006e, 0x004e, 0x006e, 0x004e,
+        0x006e, 0x02bc, 0x014a, 0x014b, 0x004f, 0x006f, 0x004f, 0x006f,
+        0x004f, 0x006f, 0x0152, 0x0153, 0x0052, 0x0072, 0x0052, 0x0072,
+        0x0052, 0x0072, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,
+        0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0166, 0x0167,
+        0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,
+        0x0055, 0x0075, 0x0055, 0x0075, 0x0057, 0x0077, 0x0059, 0x0079,
+        0x0059, 0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0073,
+        0x0180, 0x0181, 0x0182, 0x0183, 0x0184, 0x0185, 0x0186, 0x0187,
+        0x0188, 0x0189, 0x018a, 0x018b, 0x018c, 0x018d, 0x018e, 0x018f,
+        0x0190, 0x0191, 0x0192, 0x0193, 0x0194, 0x0195, 0x0196, 0x0197,
+        0x0198, 0x0199, 0x019a, 0x019b, 0x019c, 0x019d, 0x019e, 0x019f,
+        0x004f, 0x006f, 0x01a2, 0x01a3, 0x01a4, 0x01a5, 0x01a6, 0x01a7,
+        0x01a8, 0x01a9, 0x01aa, 0x01ab, 0x01ac, 0x01ad, 0x01ae, 0x0055,
+        0x0075, 0x01b1, 0x01b2, 0x01b3, 0x01b4, 0x01b5, 0x01b6, 0x01b7,
+        0x01b8, 0x01b9, 0x01ba, 0x01bb, 0x01bc, 0x01bd, 0x01be, 0x01bf,
+        0x01c0, 0x01c1, 0x01c2, 0x01c3, 0x0044, 0x0044, 0x0064, 0x004c,
+        0x004c, 0x006c, 0x004e, 0x004e, 0x006e, 0x0041, 0x0061, 0x0049,
+        0x0069, 0x004f, 0x006f, 0x0055, 0x0075, 0x00dc, 0x00fc, 0x00dc,
+        0x00fc, 0x00dc, 0x00fc, 0x00dc, 0x00fc, 0x01dd, 0x00c4, 0x00e4,
+        0x0226, 0x0227, 0x00c6, 0x00e6, 0x01e4, 0x01e5, 0x0047, 0x0067,
+        0x004b, 0x006b, 0x004f, 0x006f, 0x01ea, 0x01eb, 0x01b7, 0x0292,
+        0x006a, 0x0044, 0x0044, 0x0064, 0x0047, 0x0067, 0x01f6, 0x01f7,
+        0x004e, 0x006e, 0x00c5, 0x00e5, 0x00c6, 0x00e6, 0x00d8, 0x00f8,
+        0x0041, 0x0061, 0x0041, 0x0061, 0x0045, 0x0065, 0x0045, 0x0065,
+        0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,
+        0x0052, 0x0072, 0x0052, 0x0072, 0x0055, 0x0075, 0x0055, 0x0075,
+        0x0053, 0x0073, 0x0054, 0x0074, 0x021c, 0x021d, 0x0048, 0x0068,
+        0x0220, 0x0221, 0x0222, 0x0223, 0x0224, 0x0225, 0x0041, 0x0061,
+        0x0045, 0x0065, 0x00d6, 0x00f6, 0x00d5, 0x00f5, 0x004f, 0x006f,
+        0x022e, 0x022f, 0x0059, 0x0079, 0x0234, 0x0235, 0x0236, 0x0237,
+        0x0238, 0x0239, 0x023a, 0x023b, 0x023c, 0x023d, 0x023e, 0x023f,
+        0x0240, 0x0241, 0x0242, 0x0243, 0x0244, 0x0245, 0x0246, 0x0247,
+        0x0248, 0x0249, 0x024a, 0x024b, 0x024c, 0x024d, 0x024e, 0x024f,
+        0x0250, 0x0251, 0x0252, 0x0253, 0x0254, 0x0255, 0x0256, 0x0257,
+        0x0258, 0x0259, 0x025a, 0x025b, 0x025c, 0x025d, 0x025e, 0x025f,
+        0x0260, 0x0261, 0x0262, 0x0263, 0x0264, 0x0265, 0x0266, 0x0267,
+        0x0268, 0x0269, 0x026a, 0x026b, 0x026c, 0x026d, 0x026e, 0x026f,
+        0x0270, 0x0271, 0x0272, 0x0273, 0x0274, 0x0275, 0x0276, 0x0277,
+        0x0278, 0x0279, 0x027a, 0x027b, 0x027c, 0x027d, 0x027e, 0x027f,
+        0x0280, 0x0281, 0x0282, 0x0283, 0x0284, 0x0285, 0x0286, 0x0287,
+        0x0288, 0x0289, 0x028a, 0x028b, 0x028c, 0x028d, 0x028e, 0x028f,
+        0x0290, 0x0291, 0x0292, 0x0293, 0x0294, 0x0295, 0x0296, 0x0297,
+        0x0298, 0x0299, 0x029a, 0x029b, 0x029c, 0x029d, 0x029e, 0x029f,
+        0x02a0, 0x02a1, 0x02a2, 0x02a3, 0x02a4, 0x02a5, 0x02a6, 0x02a7,
+        0x02a8, 0x02a9, 0x02aa, 0x02ab, 0x02ac, 0x02ad, 0x02ae, 0x02af,
+        0x0068, 0x0266, 0x006a, 0x0072, 0x0279, 0x027b, 0x0281, 0x0077,
+        0x0079, 0x02b9, 0x02ba, 0x02bb, 0x02bc, 0x02bd, 0x02be, 0x02bf,
+        0x02c0, 0x02c1, 0x02c2, 0x02c3, 0x02c4, 0x02c5, 0x02c6, 0x02c7,
+        0x02c8, 0x02c9, 0x02ca, 0x02cb, 0x02cc, 0x02cd, 0x02ce, 0x02cf,
+        0x02d0, 0x02d1, 0x02d2, 0x02d3, 0x02d4, 0x02d5, 0x02d6, 0x02d7,
+        0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x02de, 0x02df,
+        0x0263, 0x006c, 0x0073, 0x0078, 0x0295, 0x02e5, 0x02e6, 0x02e7,
+        0x02e8, 0x02e9, 0x02ea, 0x02eb, 0x02ec, 0x02ed, 0x02ee, 0x02ef,
+        0x02f0, 0x02f1, 0x02f2, 0x02f3, 0x02f4, 0x02f5, 0x02f6, 0x02f7,
+        0x02f8, 0x02f9, 0x02fa, 0x02fb, 0x02fc, 0x02fd, 0x02fe, 0x02ff,
+        0x0300, 0x0301, 0x0302, 0x0303, 0x0304, 0x0305, 0x0306, 0x0307,
+        0x0308, 0x0309, 0x030a, 0x030b, 0x030c, 0x030d, 0x030e, 0x030f,
+        0x0310, 0x0311, 0x0312, 0x0313, 0x0314, 0x0315, 0x0316, 0x0317,
+        0x0318, 0x0319, 0x031a, 0x031b, 0x031c, 0x031d, 0x031e, 0x031f,
+        0x0320, 0x0321, 0x0322, 0x0323, 0x0324, 0x0325, 0x0326, 0x0327,
+        0x0328, 0x0329, 0x032a, 0x032b, 0x032c, 0x032d, 0x032e, 0x032f,
+        0x0330, 0x0331, 0x0332, 0x0333, 0x0334, 0x0335, 0x0336, 0x0337,
+        0x0338, 0x0339, 0x033a, 0x033b, 0x033c, 0x033d, 0x033e, 0x033f,
+        0x0300, 0x0301, 0x0342, 0x0313, 0x0308, 0x0345, 0x0346, 0x0347,
+        0x0348, 0x0349, 0x034a, 0x034b, 0x034c, 0x034d, 0x034e, 0x034f,
+        0x0350, 0x0351, 0x0352, 0x0353, 0x0354, 0x0355, 0x0356, 0x0357,
+        0x0358, 0x0359, 0x035a, 0x035b, 0x035c, 0x035d, 0x035e, 0x035f,
+        0x0360, 0x0361, 0x0362, 0x0363, 0x0364, 0x0365, 0x0366, 0x0367,
+        0x0368, 0x0369, 0x036a, 0x036b, 0x036c, 0x036d, 0x036e, 0x036f,
+        0x0370, 0x0371, 0x0372, 0x0373, 0x02b9, 0x0375, 0x0376, 0x0377,
+        0x0378, 0x0379, 0x0020, 0x037b, 0x037c, 0x037d, 0x003b, 0x037f,
+        0x0380, 0x0381, 0x0382, 0x0383, 0x0020, 0x00a8, 0x0391, 0x00b7,
+        0x0395, 0x0397, 0x0399, 0x038b, 0x039f, 0x038d, 0x03a5, 0x03a9,
+        0x03ca, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,
+        0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f,
+        0x03a0, 0x03a1, 0x03a2, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7,
+        0x03a8, 0x03a9, 0x0399, 0x03a5, 0x03b1, 0x03b5, 0x03b7, 0x03b9,
+        0x03cb, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7,
+        0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf,
+        0x03c0, 0x03c1, 0x03c2, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7,
+        0x03c8, 0x03c9, 0x03b9, 0x03c5, 0x03bf, 0x03c5, 0x03c9, 0x03cf,
+        0x03b2, 0x03b8, 0x03a5, 0x03d2, 0x03d2, 0x03c6, 0x03c0, 0x03d7,
+        0x03d8, 0x03d9, 0x03da, 0x03db, 0x03dc, 0x03dd, 0x03de, 0x03df,
+        0x03e0, 0x03e1, 0x03e2, 0x03e3, 0x03e4, 0x03e5, 0x03e6, 0x03e7,
+        0x03e8, 0x03e9, 0x03ea, 0x03eb, 0x03ec, 0x03ed, 0x03ee, 0x03ef,
+        0x03ba, 0x03c1, 0x03c2, 0x03f3, 0x0398, 0x03b5, 0x03f6, 0x03f7,
+        0x03f8, 0x03a3, 0x03fa, 0x03fb, 0x03fc, 0x03fd, 0x03fe, 0x03ff,
+        0x0415, 0x0415, 0x0402, 0x0413, 0x0404, 0x0405, 0x0406, 0x0406,
+        0x0408, 0x0409, 0x040a, 0x040b, 0x041a, 0x0418, 0x0423, 0x040f,
+        0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,
+        0x0418, 0x0418, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f,
+        0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,
+        0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f,
+        0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,
+        0x0438, 0x0438, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,
+        0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,
+        0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f,
+        0x0435, 0x0435, 0x0452, 0x0433, 0x0454, 0x0455, 0x0456, 0x0456,
+        0x0458, 0x0459, 0x045a, 0x045b, 0x043a, 0x0438, 0x0443, 0x045f,
+        0x0460, 0x0461, 0x0462, 0x0463, 0x0464, 0x0465, 0x0466, 0x0467,
+        0x0468, 0x0469, 0x046a, 0x046b, 0x046c, 0x046d, 0x046e, 0x046f,
+        0x0470, 0x0471, 0x0472, 0x0473, 0x0474, 0x0475, 0x0474, 0x0475,
+        0x0478, 0x0479, 0x047a, 0x047b, 0x047c, 0x047d, 0x047e, 0x047f,
+        0x0480, 0x0481, 0x0482, 0x0483, 0x0484, 0x0485, 0x0486, 0x0487,
+        0x0488, 0x0489, 0x048a, 0x048b, 0x048c, 0x048d, 0x048e, 0x048f,
+        0x0490, 0x0491, 0x0492, 0x0493, 0x0494, 0x0495, 0x0496, 0x0497,
+        0x0498, 0x0499, 0x049a, 0x049b, 0x049c, 0x049d, 0x049e, 0x049f,
+        0x04a0, 0x04a1, 0x04a2, 0x04a3, 0x04a4, 0x04a5, 0x04a6, 0x04a7,
+        0x04a8, 0x04a9, 0x04aa, 0x04ab, 0x04ac, 0x04ad, 0x04ae, 0x04af,
+        0x04b0, 0x04b1, 0x04b2, 0x04b3, 0x04b4, 0x04b5, 0x04b6, 0x04b7,
+        0x04b8, 0x04b9, 0x04ba, 0x04bb, 0x04bc, 0x04bd, 0x04be, 0x04bf,
+        0x04c0, 0x0416, 0x0436, 0x04c3, 0x04c4, 0x04c5, 0x04c6, 0x04c7,
+        0x04c8, 0x04c9, 0x04ca, 0x04cb, 0x04cc, 0x04cd, 0x04ce, 0x04cf,
+        0x0410, 0x0430, 0x0410, 0x0430, 0x04d4, 0x04d5, 0x0415, 0x0435,
+        0x04d8, 0x04d9, 0x04d8, 0x04d9, 0x0416, 0x0436, 0x0417, 0x0437,
+        0x04e0, 0x04e1, 0x0418, 0x0438, 0x0418, 0x0438, 0x041e, 0x043e,
+        0x04e8, 0x04e9, 0x04e8, 0x04e9, 0x042d, 0x044d, 0x0423, 0x0443,
+        0x0423, 0x0443, 0x0423, 0x0443, 0x0427, 0x0447, 0x04f6, 0x04f7,
+        0x042b, 0x044b, 0x04fa, 0x04fb, 0x04fc, 0x04fd, 0x04fe, 0x04ff,
     };
 
     // generated with:
diff --git a/java/src/com/android/inputmethod/latin/LastComposedWord.java b/java/src/com/android/inputmethod/latin/LastComposedWord.java
index af0ef4b..4e1f5fe 100644
--- a/java/src/com/android/inputmethod/latin/LastComposedWord.java
+++ b/java/src/com/android/inputmethod/latin/LastComposedWord.java
@@ -46,17 +46,18 @@
     public final String mTypedWord;
     public final String mCommittedWord;
     public final int mSeparatorCode;
+    public final CharSequence mPrevWord;
 
     private boolean mActive;
 
     public static final LastComposedWord NOT_A_COMPOSED_WORD =
-            new LastComposedWord(null, null, null, "", "", NOT_A_SEPARATOR);
+            new LastComposedWord(null, null, null, "", "", NOT_A_SEPARATOR, null);
 
     // Warning: this is using the passed objects as is and fully expects them to be
     // immutable. Do not fiddle with their contents after you passed them to this constructor.
     public LastComposedWord(final int[] primaryKeyCodes, final int[] xCoordinates,
             final int[] yCoordinates, final String typedWord, final String committedWord,
-            final int separatorCode) {
+            final int separatorCode, final CharSequence prevWord) {
         mPrimaryKeyCodes = primaryKeyCodes;
         mXCoordinates = xCoordinates;
         mYCoordinates = yCoordinates;
@@ -64,6 +65,7 @@
         mCommittedWord = committedWord;
         mSeparatorCode = separatorCode;
         mActive = true;
+        mPrevWord = prevWord;
     }
 
     public void deactivate() {
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 83658f7..d7d27b5 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1027,16 +1027,16 @@
         if (!mWordComposer.isComposingWord()) return;
         final CharSequence typedWord = mWordComposer.getTypedWord();
         if (typedWord.length() > 0) {
-            mLastComposedWord = mWordComposer.commitWord(
-                    LastComposedWord.COMMIT_TYPE_USER_TYPED_WORD, typedWord.toString(),
-                    separatorCode);
             if (ic != null) {
                 ic.commitText(typedWord, 1);
                 if (ProductionFlag.IS_EXPERIMENTAL) {
                     ResearchLogger.latinIME_commitText(typedWord);
                 }
             }
-            addToUserHistoryDictionary(typedWord);
+            final CharSequence prevWord = addToUserHistoryDictionary(typedWord);
+            mLastComposedWord = mWordComposer.commitWord(
+                    LastComposedWord.COMMIT_TYPE_USER_TYPED_WORD, typedWord.toString(),
+                    separatorCode, prevWord);
         }
         updateSuggestions();
     }
@@ -1836,8 +1836,6 @@
             mExpectingUpdateSelection = true;
             commitChosenWord(autoCorrection, LastComposedWord.COMMIT_TYPE_DECIDED_WORD,
                     separatorCodePoint);
-            // Add the word to the user history dictionary
-            addToUserHistoryDictionary(autoCorrection);
             if (!typedWord.equals(autoCorrection) && null != ic) {
                 // This will make the correction flash for a short while as a visual clue
                 // to the user that auto-correction happened.
@@ -1915,8 +1913,6 @@
                 LastComposedWord.NOT_A_SEPARATOR);
         // Don't allow cancellation of manual pick
         mLastComposedWord.deactivate();
-        // Add the word to the user history dictionary
-        addToUserHistoryDictionary(suggestion);
         mSpaceState = SPACE_STATE_PHANTOM;
         // TODO: is this necessary?
         mKeyboardSwitcher.updateShiftState();
@@ -1959,31 +1955,33 @@
     /**
      * Commits the chosen word to the text field and saves it for later retrieval.
      */
-    private void commitChosenWord(final CharSequence bestWord, final int commitType,
+    private void commitChosenWord(final CharSequence chosenWord, final int commitType,
             final int separatorCode) {
         final InputConnection ic = getCurrentInputConnection();
         if (ic != null) {
             if (mSettingsValues.mEnableSuggestionSpanInsertion) {
                 final SuggestedWords suggestedWords = mSuggestionsView.getSuggestions();
                 ic.commitText(SuggestionSpanUtils.getTextWithSuggestionSpan(
-                        this, bestWord, suggestedWords, mIsMainDictionaryAvailable),
+                        this, chosenWord, suggestedWords, mIsMainDictionaryAvailable),
                         1);
                 if (ProductionFlag.IS_EXPERIMENTAL) {
-                    ResearchLogger.latinIME_commitText(bestWord);
+                    ResearchLogger.latinIME_commitText(chosenWord);
                 }
             } else {
-                ic.commitText(bestWord, 1);
+                ic.commitText(chosenWord, 1);
                 if (ProductionFlag.IS_EXPERIMENTAL) {
-                    ResearchLogger.latinIME_commitText(bestWord);
+                    ResearchLogger.latinIME_commitText(chosenWord);
                 }
             }
         }
+        // Add the word to the user history dictionary
+        final CharSequence prevWord = addToUserHistoryDictionary(chosenWord);
         // TODO: figure out here if this is an auto-correct or if the best word is actually
         // what user typed. Note: currently this is done much later in
         // LastComposedWord#didCommitTypedWord by string equality of the remembered
         // strings.
-        mLastComposedWord = mWordComposer.commitWord(commitType, bestWord.toString(),
-                separatorCode);
+        mLastComposedWord = mWordComposer.commitWord(commitType, chosenWord.toString(),
+                separatorCode, prevWord);
     }
 
     public void updateBigramPredictions() {
@@ -2023,15 +2021,15 @@
         setSuggestionStripShown(isSuggestionsStripVisible());
     }
 
-    private void addToUserHistoryDictionary(final CharSequence suggestion) {
-        if (TextUtils.isEmpty(suggestion)) return;
+    private CharSequence addToUserHistoryDictionary(final CharSequence suggestion) {
+        if (TextUtils.isEmpty(suggestion)) return null;
 
         // Only auto-add to dictionary if auto-correct is ON. Otherwise we'll be
         // adding words in situations where the user or application really didn't
         // want corrections enabled or learned.
         if (!(mCorrectionMode == Suggest.CORRECTION_FULL
                 || mCorrectionMode == Suggest.CORRECTION_FULL_BIGRAM)) {
-            return;
+            return null;
         }
 
         if (mUserHistoryDictionary != null) {
@@ -2051,7 +2049,9 @@
             }
             mUserHistoryDictionary.addToUserHistory(null == prevWord ? null : prevWord.toString(),
                     secondWord);
+            return prevWord;
         }
+        return null;
     }
 
     public boolean isCursorTouchingWord() {
@@ -2136,6 +2136,7 @@
 
     // "ic" must not be null
     private void revertCommit(final InputConnection ic) {
+        final CharSequence previousWord = mLastComposedWord.mPrevWord;
         final String originallyTypedWord = mLastComposedWord.mTypedWord;
         final CharSequence committedWord = mLastComposedWord.mCommittedWord;
         final int cancelLength = committedWord.length();
@@ -2160,6 +2161,10 @@
         if (ProductionFlag.IS_EXPERIMENTAL) {
             ResearchLogger.latinIME_deleteSurroundingText(deleteLength);
         }
+        if (!TextUtils.isEmpty(previousWord) && !TextUtils.isEmpty(committedWord)) {
+            mUserHistoryDictionary.cancelAddingUserHistory(
+                    previousWord.toString(), committedWord.toString());
+        }
         if (0 == separatorLength || mLastComposedWord.didCommitTypedWord()) {
             // This is the case when we cancel a manual pick.
             // We should restart suggestion on the word right away.
diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index c98a27b..336a76f 100644
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -26,9 +26,9 @@
 
 import java.io.File;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Locale;
+import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * This class loads a dictionary and provides a list of suggestions for a given sequence of
@@ -68,10 +68,10 @@
     private boolean mHasMainDictionary;
     private Dictionary mContactsDict;
     private WhitelistDictionary mWhiteListDictionary;
-    private final HashMap<String, Dictionary> mUnigramDictionaries =
-            new HashMap<String, Dictionary>();
-    private final HashMap<String, Dictionary> mBigramDictionaries =
-            new HashMap<String, Dictionary>();
+    private final ConcurrentHashMap<String, Dictionary> mUnigramDictionaries =
+            new ConcurrentHashMap<String, Dictionary>();
+    private final ConcurrentHashMap<String, Dictionary> mBigramDictionaries =
+            new ConcurrentHashMap<String, Dictionary>();
 
     private int mPrefMaxSuggestions = 18;
 
@@ -117,8 +117,9 @@
         initWhitelistAndAutocorrectAndPool(context, locale);
     }
 
-    private static void addOrReplaceDictionary(HashMap<String, Dictionary> dictionaries, String key,
-            Dictionary dict) {
+    private static void addOrReplaceDictionary(
+            final ConcurrentHashMap<String, Dictionary> dictionaries,
+            final String key, final Dictionary dict) {
         final Dictionary oldDict = (dict == null)
                 ? dictionaries.remove(key)
                 : dictionaries.put(key, dict);
@@ -151,7 +152,7 @@
         return mContactsDict;
     }
 
-    public HashMap<String, Dictionary> getUnigramDictionaries() {
+    public ConcurrentHashMap<String, Dictionary> getUnigramDictionaries() {
         return mUnigramDictionaries;
     }
 
diff --git a/java/src/com/android/inputmethod/latin/UserHistoryDictionary.java b/java/src/com/android/inputmethod/latin/UserHistoryDictionary.java
index e13602e..efafacc 100644
--- a/java/src/com/android/inputmethod/latin/UserHistoryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/UserHistoryDictionary.java
@@ -202,6 +202,15 @@
         return freq;
     }
 
+    public boolean cancelAddingUserHistory(String word1, String word2) {
+        final Bigram bi = new Bigram(word1, word2, 0);
+        if (mPendingWrites.contains(bi)) {
+            mPendingWrites.remove(bi);
+            return super.removeBigram(word1, word2);
+        }
+        return false;
+    }
+
     /**
      * Schedules a background thread to write any pending words to the database.
      */
diff --git a/java/src/com/android/inputmethod/latin/WordComposer.java b/java/src/com/android/inputmethod/latin/WordComposer.java
index e27a546..ca9caa1 100644
--- a/java/src/com/android/inputmethod/latin/WordComposer.java
+++ b/java/src/com/android/inputmethod/latin/WordComposer.java
@@ -313,7 +313,7 @@
 
     // `type' should be one of the LastComposedWord.COMMIT_TYPE_* constants above.
     public LastComposedWord commitWord(final int type, final String committedWord,
-            final int separatorCode) {
+            final int separatorCode, final CharSequence prevWord) {
         // Note: currently, we come here whenever we commit a word. If it's a MANUAL_PICK
         // or a DECIDED_WORD we may cancel the commit later; otherwise, we should deactivate
         // the last composed word to ensure this does not happen.
@@ -324,7 +324,8 @@
         mXCoordinates = new int[N];
         mYCoordinates = new int[N];
         final LastComposedWord lastComposedWord = new LastComposedWord(primaryKeyCodes,
-                xCoordinates, yCoordinates, mTypedWord.toString(), committedWord, separatorCode);
+                xCoordinates, yCoordinates, mTypedWord.toString(), committedWord, separatorCode,
+                prevWord);
         if (type != LastComposedWord.COMMIT_TYPE_DECIDED_WORD
                 && type != LastComposedWord.COMMIT_TYPE_MANUAL_PICK) {
             lastComposedWord.deactivate();
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
index 9807d28..aa32501 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
@@ -102,13 +102,19 @@
         // will never have any suggestions, so it makes no sense checking them.
         mLanguageToScript = new TreeMap<String, Integer>();
         mLanguageToScript.put("en", SCRIPT_LATIN);
+        mLanguageToScript.put("en_US", SCRIPT_LATIN);
+        mLanguageToScript.put("en_GB", SCRIPT_LATIN);
         mLanguageToScript.put("fr", SCRIPT_LATIN);
         mLanguageToScript.put("de", SCRIPT_LATIN);
         mLanguageToScript.put("nl", SCRIPT_LATIN);
         mLanguageToScript.put("cs", SCRIPT_LATIN);
         mLanguageToScript.put("es", SCRIPT_LATIN);
         mLanguageToScript.put("it", SCRIPT_LATIN);
+        mLanguageToScript.put("hr", SCRIPT_LATIN);
+        mLanguageToScript.put("pt_BR", SCRIPT_LATIN);
         mLanguageToScript.put("ru", SCRIPT_CYRILLIC);
+        // TODO: Make a persian proximity, and activate the Farsi subtype.
+        // mLanguageToScript.put("fa", SCRIPT_PERSIAN);
     }
 
     @Override public void onCreate() {
@@ -669,6 +675,28 @@
             return retval;
         }
 
+        @Override
+        public SuggestionsInfo[] onGetSuggestionsMultiple(TextInfo[] textInfos,
+                int suggestionsLimit, boolean sequentialWords) {
+            final int length = textInfos.length;
+            final SuggestionsInfo[] retval = new SuggestionsInfo[length];
+            for (int i = 0; i < length; ++i) {
+                final String prevWord;
+                if (sequentialWords && i > 0) {
+                    final String prevWordCandidate = textInfos[i - 1].getText();
+                    // Note that an empty string would be used to indicate the initial word
+                    // in the future.
+                    prevWord = TextUtils.isEmpty(prevWordCandidate) ? null : prevWordCandidate;
+                } else {
+                    prevWord = null;
+                }
+                retval[i] = onGetSuggestions(textInfos[i], prevWord, suggestionsLimit);
+                retval[i].setCookieAndSequence(
+                        textInfos[i].getCookie(), textInfos[i].getSequence());
+            }
+            return retval;
+        }
+
         // Note : this must be reentrant
         /**
          * Gets a list of suggestions for a specific string. This returns a list of possible
@@ -678,6 +706,11 @@
         @Override
         public SuggestionsInfo onGetSuggestions(final TextInfo textInfo,
                 final int suggestionsLimit) {
+            return onGetSuggestions(textInfo, null, suggestionsLimit);
+        }
+
+        private SuggestionsInfo onGetSuggestions(
+                final TextInfo textInfo, final String prevWord, final int suggestionsLimit) {
             try {
                 final String inText = textInfo.getText();
                 final SuggestionsParams cachedSuggestionsParams =
@@ -732,7 +765,7 @@
                 try {
                     dictInfo = mDictionaryPool.takeOrGetNull();
                     if (null == dictInfo) return getNotInDictEmptySuggestions();
-                    dictInfo.mDictionary.getWords(composer, null, suggestionsGatherer,
+                    dictInfo.mDictionary.getWords(composer, prevWord, suggestionsGatherer,
                             dictInfo.mProximityInfo);
                     isInDict = dictInfo.mDictionary.isValidWord(text);
                     if (!isInDict && CAPITALIZE_NONE != capitalizeType) {
diff --git a/native/jni/Android.mk b/native/jni/Android.mk
index 5e0d351..d53757f 100644
--- a/native/jni/Android.mk
+++ b/native/jni/Android.mk
@@ -20,24 +20,6 @@
 #FLAG_DBG := true
 #FLAG_DO_PROFILE := true
 
-TARGETING_UNBUNDLED_FROYO := true
-
-ifeq ($(TARGET_ARCH), x86)
-    TARGETING_UNBUNDLED_FROYO := false
-endif
-
-ifeq ($(TARGET_ARCH), mips)
-    TARGETING_UNBUNDLED_FROYO := false
-endif
-
-ifeq ($(FLAG_DBG), true)
-    TARGETING_UNBUNDLED_FROYO := false
-endif
-
-ifeq ($(FLAG_DO_PROFILE), true)
-    TARGETING_UNBUNDLED_FROYO := false
-endif
-
 ######################################
 include $(CLEAR_VARS)
 
@@ -69,11 +51,6 @@
     $(LATIN_IME_JNI_SRC_FILES) \
     $(addprefix $(LATIN_IME_SRC_DIR)/,$(LATIN_IME_CORE_SRC_FILES))
 
-ifeq ($(TARGETING_UNBUNDLED_FROYO), true)
-    LOCAL_NDK_VERSION := 4
-    LOCAL_SDK_VERSION := 8
-endif
-
 ifeq ($(FLAG_DO_PROFILE), true)
     $(warning Making profiling version of native library)
     LOCAL_CFLAGS += -DFLAG_DO_PROFILE
@@ -117,11 +94,6 @@
 endif # FLAG_DBG
 endif # FLAG_DO_PROFILE
 
-ifeq ($(TARGETING_UNBUNDLED_FROYO), true)
-    LOCAL_NDK_VERSION := 4
-    LOCAL_SDK_VERSION := 8
-endif
-
 LOCAL_MODULE := libjni_latinime
 LOCAL_MODULE_TAGS := optional
 
diff --git a/tools/makedict/Android.mk b/tools/makedict/Android.mk
index 2f0957a..7b5dee2 100644
--- a/tools/makedict/Android.mk
+++ b/tools/makedict/Android.mk
@@ -24,7 +24,6 @@
         $(filter-out $(addprefix %, $(LOCAL_TOOL_SRC_FILES)), $(LOCAL_MAIN_SRC_FILES))
 LOCAL_SRC_FILES += $(call all-java-files-under,tests)
 LOCAL_JAR_MANIFEST := etc/manifest.txt
-LOCAL_MODULE_TAGS := eng
 LOCAL_MODULE := makedict
 LOCAL_JAVA_LIBRARIES := junit
 
diff --git a/tools/makedict/etc/Android.mk b/tools/makedict/etc/Android.mk
index 96a90cb..1b7d7cf 100644
--- a/tools/makedict/etc/Android.mk
+++ b/tools/makedict/etc/Android.mk
@@ -15,7 +15,5 @@
 LOCAL_PATH := $(call my-dir)
 include $(CLEAR_VARS)
 
-LOCAL_MODULE_TAGS := eng
-
 LOCAL_PREBUILT_EXECUTABLES := makedict
 include $(BUILD_HOST_PREBUILT)
