Mercurial > pidgin
comparison plugins/spellchk.c @ 11150:0ef4fbeeefaf
[gaim-migrate @ 13230]
1. Hack around the case where period is being used as an abbreviation instead of as a full stop.
2. Fix a couple memory leaks.
3. Commit some additions to the correction list that have been building up since the big patch to this file was accepted.
committer: Tailor Script <tailor@pidgin.im>
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Sun, 24 Jul 2005 08:15:55 +0000 |
parents | 2714b51a0dad |
children | a4ce03725025 |
comparison
equal
deleted
inserted
replaced
11149:239918d22c5f | 11150:0ef4fbeeefaf |
---|---|
210 | 210 |
211 /* Pango doesn't know about the "'" character. Let's fix that. */ | 211 /* Pango doesn't know about the "'" character. Let's fix that. */ |
212 static gboolean | 212 static gboolean |
213 spellchk_inside_word(GtkTextIter *iter) | 213 spellchk_inside_word(GtkTextIter *iter) |
214 { | 214 { |
215 gunichar ucs4_char = gtk_text_iter_get_char(iter); | |
216 gchar *utf8_str; | |
217 gchar c = 0; | |
215 gboolean result; | 218 gboolean result; |
216 gboolean output; | 219 gboolean output; |
217 | 220 |
221 utf8_str = g_ucs4_to_utf8(&ucs4_char, 1, NULL, NULL, NULL); | |
222 if (utf8_str != NULL) | |
223 { | |
224 c = utf8_str[0]; | |
225 g_free(utf8_str); | |
226 } | |
227 | |
228 /* Hack because otherwise typing things like U.S. gets difficult | |
229 * if you have 'u' -> 'you' set as a correction... | |
230 * | |
231 * Part 1 of 2: This marks . as being an inside-word character. */ | |
232 if (c == '.') | |
233 return TRUE; | |
234 | |
218 if (gtk_text_iter_inside_word (iter) == TRUE) | 235 if (gtk_text_iter_inside_word (iter) == TRUE) |
219 return TRUE; | 236 return TRUE; |
220 | 237 |
221 if (gtk_text_iter_get_char(iter) == '\'') { | 238 if (c == '\'') { |
222 result = gtk_text_iter_backward_char(iter); | 239 result = gtk_text_iter_backward_char(iter); |
223 output = gtk_text_iter_inside_word(iter); | 240 output = gtk_text_iter_inside_word(iter); |
224 | 241 |
225 if (result) | 242 if (result) |
226 gtk_text_iter_forward_char(iter); | 243 gtk_text_iter_forward_char(iter); |
267 static void | 284 static void |
268 check_range(spellchk *spell, GtkTextBuffer *buffer, | 285 check_range(spellchk *spell, GtkTextBuffer *buffer, |
269 GtkTextIter start, GtkTextIter end) { | 286 GtkTextIter start, GtkTextIter end) { |
270 | 287 |
271 gboolean result; | 288 gboolean result; |
289 gchar *tmp; | |
290 int period_count = 0; | |
272 gchar *word; | 291 gchar *word; |
273 | 292 |
274 /* We need to go backwords to find out if we are inside a word or not. */ | 293 /* We need to go backwords to find out if we are inside a word or not. */ |
275 gtk_text_iter_backward_char(&end); | 294 gtk_text_iter_backward_char(&end); |
276 | 295 |
292 gtk_text_iter_forward_char(&end); | 311 gtk_text_iter_forward_char(&end); |
293 | 312 |
294 /* Move backwards to the beginning of the word. */ | 313 /* Move backwards to the beginning of the word. */ |
295 spellchk_backward_word_start(&start); | 314 spellchk_backward_word_start(&start); |
296 | 315 |
297 spell->word = g_strdup(gtk_text_iter_get_text(&start, &end)); | 316 spell->word = gtk_text_iter_get_text(&start, &end); |
298 if ((word = substitute_word(gtk_text_iter_get_text(&start, &end)))) { | 317 |
318 /* Hack because otherwise typing things like U.S. gets difficult | |
319 * if you have 'u' -> 'you' set as a correction... | |
320 * | |
321 * Part 2 of 2: This chops periods off the end of the word so | |
322 * the right substitution entry is found. */ | |
323 tmp = g_strdup(spell->word); | |
324 if (tmp != NULL && *tmp != '\0') { | |
325 gchar *c; | |
326 for (c = tmp + strlen(tmp) - 1 ; c != tmp ; c--) { | |
327 if (*c == '.') { | |
328 *c = '\0'; | |
329 period_count++; | |
330 } else | |
331 break; | |
332 } | |
333 } | |
334 | |
335 if ((word = substitute_word(tmp))) { | |
299 GtkTextMark *mark; | 336 GtkTextMark *mark; |
300 GtkTextIter pos; | 337 GtkTextIter pos; |
338 gchar *tmp2; | |
339 int i; | |
340 | |
341 for (i = 1 ; i <= period_count ; i++) { | |
342 tmp2 = g_strconcat(word, ".", NULL); | |
343 g_free(word); | |
344 word = tmp2; | |
345 } | |
301 | 346 |
302 gtk_text_buffer_delete(buffer, &start, &end); | 347 gtk_text_buffer_delete(buffer, &start, &end); |
303 gtk_text_buffer_insert(buffer, &start, word, -1); | 348 gtk_text_buffer_insert(buffer, &start, word, -1); |
304 | 349 |
305 mark = gtk_text_buffer_get_insert(buffer); | 350 mark = gtk_text_buffer_get_insert(buffer); |
306 gtk_text_buffer_get_iter_at_mark(buffer, &pos, mark); | 351 gtk_text_buffer_get_iter_at_mark(buffer, &pos, mark); |
307 spell->pos = gtk_text_iter_get_offset(&pos); | 352 spell->pos = gtk_text_iter_get_offset(&pos); |
308 | 353 |
354 g_free(word); | |
355 g_free(tmp); | |
309 return; | 356 return; |
310 } | 357 } |
358 g_free(tmp); | |
311 | 359 |
312 /* g_free(spell->word); */ | 360 /* g_free(spell->word); */ |
313 spell->word = NULL; | 361 spell->word = NULL; |
314 | 362 |
315 } | 363 } |
524 "BAD agreemnet\nGOOD agreement\n" | 572 "BAD agreemnet\nGOOD agreement\n" |
525 "BAD agreemnets\nGOOD agreements\n" | 573 "BAD agreemnets\nGOOD agreements\n" |
526 "BAD agressive\nGOOD aggressive\n" | 574 "BAD agressive\nGOOD aggressive\n" |
527 "BAD agressiveness\nGOOD aggressiveness\n" | 575 "BAD agressiveness\nGOOD aggressiveness\n" |
528 "BAD ahd\nGOOD had\n" | 576 "BAD ahd\nGOOD had\n" |
577 "BAD ahold\nGOOD a hold\n" | |
529 "BAD ahppen\nGOOD happen\n" | 578 "BAD ahppen\nGOOD happen\n" |
530 "BAD ahve\nGOOD have\n" | 579 "BAD ahve\nGOOD have\n" |
531 "BAD allready\nGOOD already\n" | 580 "BAD allready\nGOOD already\n" |
532 "BAD allwasy\nGOOD always\n" | 581 "BAD allwasy\nGOOD always\n" |
533 "BAD allwyas\nGOOD always\n" | 582 "BAD allwyas\nGOOD always\n" |
695 "BAD comunity\nGOOD community\n" | 744 "BAD comunity\nGOOD community\n" |
696 "BAD condolances\nGOOD condolences\n" | 745 "BAD condolances\nGOOD condolences\n" |
697 "BAD conected\nGOOD connected\n" | 746 "BAD conected\nGOOD connected\n" |
698 "BAD conferance\nGOOD conference\n" | 747 "BAD conferance\nGOOD conference\n" |
699 "BAD confirmmation\nGOOD confirmation\n" | 748 "BAD confirmmation\nGOOD confirmation\n" |
749 "BAD congradulations\nGOOD congratulations\n" | |
700 "BAD considerit\nGOOD considerate\n" | 750 "BAD considerit\nGOOD considerate\n" |
701 "BAD considerite\nGOOD considerate\n" | 751 "BAD considerite\nGOOD considerate\n" |
702 "BAD consonent\nGOOD consonant\n" | 752 "BAD consonent\nGOOD consonant\n" |
703 "BAD conspiricy\nGOOD conspiracy\n" | 753 "BAD conspiricy\nGOOD conspiracy\n" |
704 "BAD consultent\nGOOD consultant\n" | 754 "BAD consultent\nGOOD consultant\n" |
719 "BAD couldthe\nGOOD could the\n" | 769 "BAD couldthe\nGOOD could the\n" |
720 "BAD couldve\nGOOD could've\n" | 770 "BAD couldve\nGOOD could've\n" |
721 "BAD cpoy\nGOOD copy\n" | 771 "BAD cpoy\nGOOD copy\n" |
722 "BAD creme\nGOOD crème\n" | 772 "BAD creme\nGOOD crème\n" |
723 "BAD ctaegory\nGOOD category\n" | 773 "BAD ctaegory\nGOOD category\n" |
774 "BAD cu\nGOOD see you\n" | |
724 "BAD cusotmer\nGOOD customer\n" | 775 "BAD cusotmer\nGOOD customer\n" |
725 "BAD cusotmers\nGOOD customers\n" | 776 "BAD cusotmers\nGOOD customers\n" |
726 "BAD cutsomer\nGOOD customer\n" | 777 "BAD cutsomer\nGOOD customer\n" |
727 "BAD cutsomers\nGOOD customer\n" | 778 "BAD cutsomers\nGOOD customer\n" |
728 "BAD cuz\nGOOD because\n" | 779 "BAD cuz\nGOOD because\n" |
793 "BAD doign\nGOOD doing\n" | 844 "BAD doign\nGOOD doing\n" |
794 "BAD doimg\nGOOD doing\n" | 845 "BAD doimg\nGOOD doing\n" |
795 "BAD doind\nGOOD doing\n" | 846 "BAD doind\nGOOD doing\n" |
796 "BAD dollers\nGOOD dollars\n" | 847 "BAD dollers\nGOOD dollars\n" |
797 "BAD donig\nGOOD doing\n" | 848 "BAD donig\nGOOD doing\n" |
849 "BAD donno\nGOOD don't know\n" | |
798 "BAD dont\nGOOD don't\n" | 850 "BAD dont\nGOOD don't\n" |
799 "BAD do'nt\nGOOD don't\n" | 851 "BAD do'nt\nGOOD don't\n" |
800 "BAD don;t\nGOOD don't\n" | 852 "BAD don;t\nGOOD don't\n" |
801 "BAD don't no\nGOOD don't know\n" | 853 "BAD don't no\nGOOD don't know\n" |
802 "BAD dosn't\nGOOD doesn't\n" | 854 "BAD dosn't\nGOOD doesn't\n" |
803 "BAD driveing\nGOOD driving\n" | 855 "BAD driveing\nGOOD driving\n" |
804 "BAD drnik\nGOOD drink\n" | 856 "BAD drnik\nGOOD drink\n" |
857 "BAD dunno\nGOOD don't know\n" | |
805 "BAD eclair\nGOOD éclair\n" | 858 "BAD eclair\nGOOD éclair\n" |
806 "BAD efel\nGOOD feel\n" | 859 "BAD efel\nGOOD feel\n" |
807 "BAD effecient\nGOOD efficient\n" | 860 "BAD effecient\nGOOD efficient\n" |
808 "BAD efort\nGOOD effort\n" | 861 "BAD efort\nGOOD effort\n" |
809 "BAD eforts\nGOOD efforts\n" | 862 "BAD eforts\nGOOD efforts\n" |
811 "BAD eligable\nGOOD eligible\n" | 864 "BAD eligable\nGOOD eligible\n" |
812 "BAD embarass\nGOOD embarrass\n" | 865 "BAD embarass\nGOOD embarrass\n" |
813 "BAD emigre\nGOOD émigré\n" | 866 "BAD emigre\nGOOD émigré\n" |
814 "BAD enought\nGOOD enough\n" | 867 "BAD enought\nGOOD enough\n" |
815 "BAD entree\nGOOD entrée\n" | 868 "BAD entree\nGOOD entrée\n" |
869 "BAD enuf\nGOOD enough\n" | |
816 "BAD equippment\nGOOD equipment\n" | 870 "BAD equippment\nGOOD equipment\n" |
817 "BAD equivalant\nGOOD equivalent\n" | 871 "BAD equivalant\nGOOD equivalent\n" |
818 "BAD esle\nGOOD else\n" | 872 "BAD esle\nGOOD else\n" |
819 "BAD especally\nGOOD especially\n" | 873 "BAD especally\nGOOD especially\n" |
820 "BAD especialyl\nGOOD especially\n" | 874 "BAD especialyl\nGOOD especially\n" |
913 "BAD hesaid\nGOOD he said\n" | 967 "BAD hesaid\nGOOD he said\n" |
914 "BAD hewas\nGOOD he was\n" | 968 "BAD hewas\nGOOD he was\n" |
915 "BAD hge\nGOOD he\n" | 969 "BAD hge\nGOOD he\n" |
916 "BAD hismelf\nGOOD himself\n" | 970 "BAD hismelf\nGOOD himself\n" |
917 "BAD hlep\nGOOD help\n" | 971 "BAD hlep\nGOOD help\n" |
972 "BAD hott\nGOOD hot\n" | |
918 "BAD hows\nGOOD how's\n" | 973 "BAD hows\nGOOD how's\n" |
919 "BAD hsa\nGOOD has\n" | 974 "BAD hsa\nGOOD has\n" |
920 "BAD hse\nGOOD she\n" | 975 "BAD hse\nGOOD she\n" |
921 "BAD hsi\nGOOD his\n" | 976 "BAD hsi\nGOOD his\n" |
922 "BAD hte\nGOOD the\n" | 977 "BAD hte\nGOOD the\n" |
931 "BAD httpL\nGOOD http:\n" | 986 "BAD httpL\nGOOD http:\n" |
932 "BAD hvae\nGOOD have\n" | 987 "BAD hvae\nGOOD have\n" |
933 "BAD hvaing\nGOOD having\n" | 988 "BAD hvaing\nGOOD having\n" |
934 "BAD hwich\nGOOD which\n" | 989 "BAD hwich\nGOOD which\n" |
935 "BAD i\nGOOD I\n" | 990 "BAD i\nGOOD I\n" |
991 "BAD i c\nGOOD I see\n" | |
936 "BAD i;d\nGOOD I'd\n" | 992 "BAD i;d\nGOOD I'd\n" |
937 "BAD i'd\nGOOD I'd\n" | 993 "BAD i'd\nGOOD I'd\n" |
938 "BAD I;d\nGOOD I'd\n" | 994 "BAD I;d\nGOOD I'd\n" |
939 "BAD idae\nGOOD idea\n" | 995 "BAD idae\nGOOD idea\n" |
940 "BAD idaes\nGOOD ideas\n" | 996 "BAD idaes\nGOOD ideas\n" |
1012 "BAD konw\nGOOD know\n" | 1068 "BAD konw\nGOOD know\n" |
1013 "BAD konwn\nGOOD known\n" | 1069 "BAD konwn\nGOOD known\n" |
1014 "BAD konws\nGOOD knows\n" | 1070 "BAD konws\nGOOD knows\n" |
1015 "BAD labratory\nGOOD laboratory\n" | 1071 "BAD labratory\nGOOD laboratory\n" |
1016 "BAD lastyear\nGOOD last year\n" | 1072 "BAD lastyear\nGOOD last year\n" |
1073 "BAD laterz\nGOOD later\n" | |
1017 "BAD learnign\nGOOD learning\n" | 1074 "BAD learnign\nGOOD learning\n" |
1018 "BAD lenght\nGOOD length\n" | 1075 "BAD lenght\nGOOD length\n" |
1019 "BAD let;s\nGOOD let's\n" | 1076 "BAD let;s\nGOOD let's\n" |
1020 "BAD let's him\nGOOD lets him\n" | 1077 "BAD let's him\nGOOD lets him\n" |
1021 "BAD let's it\nGOOD lets it\n" | 1078 "BAD let's it\nGOOD lets it\n" |
1064 "BAD must of been\nGOOD must have been\n" | 1121 "BAD must of been\nGOOD must have been\n" |
1065 "BAD must of had\nGOOD must have had\n" | 1122 "BAD must of had\nGOOD must have had\n" |
1066 "BAD mysefl\nGOOD myself\n" | 1123 "BAD mysefl\nGOOD myself\n" |
1067 "BAD myu\nGOOD my\n" | 1124 "BAD myu\nGOOD my\n" |
1068 "BAD naive\nGOOD naïve\n" | 1125 "BAD naive\nGOOD naïve\n" |
1126 "BAD ne way\nGOOD anyway\n" | |
1127 "BAD ne ways\nGOOD anyways\n" | |
1069 "BAD ne1\nGOOD anyone\n" | 1128 "BAD ne1\nGOOD anyone\n" |
1129 "BAD neway\nGOOD anyway\n" | |
1130 "BAD neways\nGOOD anyways\n" | |
1070 "BAD necassarily\nGOOD necessarily\n" | 1131 "BAD necassarily\nGOOD necessarily\n" |
1071 "BAD necassary\nGOOD necessary\n" | 1132 "BAD necassary\nGOOD necessary\n" |
1072 "BAD neccessarily\nGOOD necessarily\n" | 1133 "BAD neccessarily\nGOOD necessarily\n" |
1073 "BAD neccessary\nGOOD necessary\n" | 1134 "BAD neccessary\nGOOD necessary\n" |
1074 "BAD necesarily\nGOOD necessarily\n" | 1135 "BAD necesarily\nGOOD necessarily\n" |
1081 "BAD nwe\nGOOD new\n" | 1142 "BAD nwe\nGOOD new\n" |
1082 "BAD nwo\nGOOD now\n" | 1143 "BAD nwo\nGOOD now\n" |
1083 "BAD obediant\nGOOD obedient\n" | 1144 "BAD obediant\nGOOD obedient\n" |
1084 "BAD ocasion\nGOOD occasion\n" | 1145 "BAD ocasion\nGOOD occasion\n" |
1085 "BAD occassion\nGOOD occasion\n" | 1146 "BAD occassion\nGOOD occasion\n" |
1147 "BAD occurance\nGOOD occurrence\n" | |
1086 "BAD occured\nGOOD occurred\n" | 1148 "BAD occured\nGOOD occurred\n" |
1087 "BAD occurence\nGOOD occurrence\n" | 1149 "BAD occurence\nGOOD occurrence\n" |
1088 "BAD occurrance\nGOOD occurrence\n" | 1150 "BAD occurrance\nGOOD occurrence\n" |
1089 "BAD oclock\nGOOD o'clock\n" | 1151 "BAD oclock\nGOOD o'clock\n" |
1090 "BAD oculd\nGOOD could\n" | 1152 "BAD oculd\nGOOD could\n" |
1143 "BAD porblem\nGOOD problem\n" | 1205 "BAD porblem\nGOOD problem\n" |
1144 "BAD porblems\nGOOD problems\n" | 1206 "BAD porblems\nGOOD problems\n" |
1145 "BAD porvide\nGOOD provide\n" | 1207 "BAD porvide\nGOOD provide\n" |
1146 "BAD possable\nGOOD possible\n" | 1208 "BAD possable\nGOOD possible\n" |
1147 "BAD postition\nGOOD position\n" | 1209 "BAD postition\nGOOD position\n" |
1210 "BAD potatoe\nGOOD potato\n" | |
1211 "BAD potatos\nGOOD potatoes\n" | |
1148 "BAD potentialy\nGOOD potentially\n" | 1212 "BAD potentialy\nGOOD potentially\n" |
1149 "BAD ppl\nGOOD people\n" | 1213 "BAD ppl\nGOOD people\n" |
1150 "BAD pregnent\nGOOD pregnant\n" | 1214 "BAD pregnent\nGOOD pregnant\n" |
1151 "BAD presance\nGOOD presence\n" | 1215 "BAD presance\nGOOD presence\n" |
1216 "BAD primative\nGOOD primitive\n" | |
1152 "BAD probelm\nGOOD problem\n" | 1217 "BAD probelm\nGOOD problem\n" |
1153 "BAD probelms\nGOOD problems\n" | 1218 "BAD probelms\nGOOD problems\n" |
1219 "BAD probly\nGOOD probably\n" | |
1154 "BAD prominant\nGOOD prominent\n" | 1220 "BAD prominant\nGOOD prominent\n" |
1155 "BAD protege\nGOOD protégé\n" | 1221 "BAD protege\nGOOD protégé\n" |
1156 "BAD protoge\nGOOD protégé\n" | 1222 "BAD protoge\nGOOD protégé\n" |
1157 "BAD psoition\nGOOD position\n" | 1223 "BAD psoition\nGOOD position\n" |
1158 "BAD ptogress\nGOOD progress\n" | 1224 "BAD ptogress\nGOOD progress\n" |
1167 "BAD questiosn\nGOOD questions\n" | 1233 "BAD questiosn\nGOOD questions\n" |
1168 "BAD questoin\nGOOD question\n" | 1234 "BAD questoin\nGOOD question\n" |
1169 "BAD quetion\nGOOD question\n" | 1235 "BAD quetion\nGOOD question\n" |
1170 "BAD quetions\nGOOD questions\n" | 1236 "BAD quetions\nGOOD questions\n" |
1171 "BAD r\nGOOD are\n" | 1237 "BAD r\nGOOD are\n" |
1238 "BAD raeson\nGOOD reason\n" | |
1172 "BAD realyl\nGOOD really\n" | 1239 "BAD realyl\nGOOD really\n" |
1173 "BAD reccomend\nGOOD recommend\n" | 1240 "BAD reccomend\nGOOD recommend\n" |
1174 "BAD reccommend\nGOOD recommend\n" | 1241 "BAD reccommend\nGOOD recommend\n" |
1175 "BAD receieve\nGOOD receive\n" | 1242 "BAD receieve\nGOOD receive\n" |
1176 "BAD recieve\nGOOD receive\n" | 1243 "BAD recieve\nGOOD receive\n" |
1181 "BAD recomendations\nGOOD recommendations\n" | 1248 "BAD recomendations\nGOOD recommendations\n" |
1182 "BAD recomended\nGOOD recommended\n" | 1249 "BAD recomended\nGOOD recommended\n" |
1183 "BAD reconize\nGOOD recognize\n" | 1250 "BAD reconize\nGOOD recognize\n" |
1184 "BAD recrod\nGOOD record\n" | 1251 "BAD recrod\nGOOD record\n" |
1185 "BAD rediculous\nGOOD ridiculous\n" | 1252 "BAD rediculous\nGOOD ridiculous\n" |
1253 "BAD reguard\nGOOD regard\n" | |
1186 "BAD religous\nGOOD religious\n" | 1254 "BAD religous\nGOOD religious\n" |
1187 "BAD reluctent\nGOOD reluctant\n" | 1255 "BAD reluctent\nGOOD reluctant\n" |
1188 "BAD remeber\nGOOD remember\n" | 1256 "BAD remeber\nGOOD remember\n" |
1189 "BAD reommend\nGOOD recommend\n" | 1257 "BAD reommend\nGOOD recommend\n" |
1190 "BAD representativs\nGOOD representatives\n" | 1258 "BAD representativs\nGOOD representatives\n" |
1212 "BAD saidhe\nGOOD said he\n" | 1280 "BAD saidhe\nGOOD said he\n" |
1213 "BAD saidit\nGOOD said it\n" | 1281 "BAD saidit\nGOOD said it\n" |
1214 "BAD saidthat\nGOOD said that\n" | 1282 "BAD saidthat\nGOOD said that\n" |
1215 "BAD saidthe\nGOOD said the\n" | 1283 "BAD saidthe\nGOOD said the\n" |
1216 "BAD saidt he\nGOOD said the\n" | 1284 "BAD saidt he\nGOOD said the\n" |
1285 "BAD sandwhich\nGOOD sandwich\n" | |
1286 "BAD sandwitch\nGOOD sandwich\n" | |
1217 "BAD saturday\nGOOD Saturday\n" | 1287 "BAD saturday\nGOOD Saturday\n" |
1218 "BAD scedule\nGOOD schedule\n" | 1288 "BAD scedule\nGOOD schedule\n" |
1219 "BAD sceduled\nGOOD scheduled\n" | 1289 "BAD sceduled\nGOOD scheduled\n" |
1220 "BAD seance\nGOOD séance\n" | 1290 "BAD seance\nGOOD séance\n" |
1221 "BAD secratary\nGOOD secretary\n" | 1291 "BAD secratary\nGOOD secretary\n" |
1266 "BAD soudn\nGOOD sound\n" | 1336 "BAD soudn\nGOOD sound\n" |
1267 "BAD soudns\nGOOD sounds\n" | 1337 "BAD soudns\nGOOD sounds\n" |
1268 "BAD speach\nGOOD speech\n" | 1338 "BAD speach\nGOOD speech\n" |
1269 "BAD specificaly\nGOOD specifically\n" | 1339 "BAD specificaly\nGOOD specifically\n" |
1270 "BAD specificalyl\nGOOD specifically\n" | 1340 "BAD specificalyl\nGOOD specifically\n" |
1341 "BAD spelt\nGOOD spelled\n" | |
1271 "BAD sry\nGOOD sorry\n" | 1342 "BAD sry\nGOOD sorry\n" |
1272 "BAD statment\nGOOD statement\n" | 1343 "BAD statment\nGOOD statement\n" |
1273 "BAD statments\nGOOD statements\n" | 1344 "BAD statments\nGOOD statements\n" |
1274 "BAD stnad\nGOOD stand\n" | 1345 "BAD stnad\nGOOD stand\n" |
1275 "BAD stopry\nGOOD story\n" | 1346 "BAD stopry\nGOOD story\n" |
1290 "BAD sunday\nGOOD Sunday\n" | 1361 "BAD sunday\nGOOD Sunday\n" |
1291 "BAD suposed\nGOOD supposed\n" | 1362 "BAD suposed\nGOOD supposed\n" |
1292 "BAD suppossed\nGOOD supposed\n" | 1363 "BAD suppossed\nGOOD supposed\n" |
1293 "BAD suprise\nGOOD surprise\n" | 1364 "BAD suprise\nGOOD surprise\n" |
1294 "BAD suprised\nGOOD surprised\n" | 1365 "BAD suprised\nGOOD surprised\n" |
1366 "BAD sux\nGOOD sucks\n" | |
1295 "BAD swiming\nGOOD swimming\n" | 1367 "BAD swiming\nGOOD swimming\n" |
1296 "BAD tahn\nGOOD than\n" | 1368 "BAD tahn\nGOOD than\n" |
1297 "BAD taht\nGOOD that\n" | 1369 "BAD taht\nGOOD that\n" |
1298 "BAD talekd\nGOOD talked\n" | 1370 "BAD talekd\nGOOD talked\n" |
1299 "BAD talkign\nGOOD talking\n" | 1371 "BAD talkign\nGOOD talking\n" |
1305 "BAD termoil\nGOOD turmoil\n" | 1377 "BAD termoil\nGOOD turmoil\n" |
1306 "BAD tets\nGOOD test\n" | 1378 "BAD tets\nGOOD test\n" |
1307 "BAD tghe\nGOOD the\n" | 1379 "BAD tghe\nGOOD the\n" |
1308 "BAD tghis\nGOOD this\n" | 1380 "BAD tghis\nGOOD this\n" |
1309 "BAD thansk\nGOOD thanks\n" | 1381 "BAD thansk\nGOOD thanks\n" |
1382 "BAD thanx\nGOOD thanks\n" | |
1310 "BAD thats\nGOOD that's\n" | 1383 "BAD thats\nGOOD that's\n" |
1311 "BAD thatthe\nGOOD that the\n" | 1384 "BAD thatthe\nGOOD that the\n" |
1312 "BAD thatt he\nGOOD that the\n" | 1385 "BAD thatt he\nGOOD that the\n" |
1313 "BAD thecompany\nGOOD the company\n" | 1386 "BAD thecompany\nGOOD the company\n" |
1314 "BAD thefirst\nGOOD the first\n" | 1387 "BAD thefirst\nGOOD the first\n" |
1344 "BAD thme\nGOOD them\n" | 1417 "BAD thme\nGOOD them\n" |
1345 "BAD thna\nGOOD than\n" | 1418 "BAD thna\nGOOD than\n" |
1346 "BAD thne\nGOOD then\n" | 1419 "BAD thne\nGOOD then\n" |
1347 "BAD thnig\nGOOD thing\n" | 1420 "BAD thnig\nGOOD thing\n" |
1348 "BAD thnigs\nGOOD things\n" | 1421 "BAD thnigs\nGOOD things\n" |
1422 "BAD tho\nGOOD though\n" | |
1349 "BAD threatend\nGOOD threatened\n" | 1423 "BAD threatend\nGOOD threatened\n" |
1350 "BAD thsi\nGOOD this\n" | 1424 "BAD thsi\nGOOD this\n" |
1351 "BAD thsoe\nGOOD those\n" | 1425 "BAD thsoe\nGOOD those\n" |
1352 "BAD thta\nGOOD that\n" | 1426 "BAD thta\nGOOD that\n" |
1353 "BAD thursday\nGOOD Thursday\n" | 1427 "BAD thursday\nGOOD Thursday\n" |
1366 "BAD togehter\nGOOD together\n" | 1440 "BAD togehter\nGOOD together\n" |
1367 "BAD toldt he\nGOOD told the\n" | 1441 "BAD toldt he\nGOOD told the\n" |
1368 "BAD tomorow\nGOOD tomorrow\n" | 1442 "BAD tomorow\nGOOD tomorrow\n" |
1369 "BAD tongiht\nGOOD tonight\n" | 1443 "BAD tongiht\nGOOD tonight\n" |
1370 "BAD tonihgt\nGOOD tonight\n" | 1444 "BAD tonihgt\nGOOD tonight\n" |
1445 "BAD tonite\nGOOD tonight\n" | |
1371 "BAD totaly\nGOOD totally\n" | 1446 "BAD totaly\nGOOD totally\n" |
1372 "BAD totalyl\nGOOD totally\n" | 1447 "BAD totalyl\nGOOD totally\n" |
1373 "BAD tothe\nGOOD to the\n" | 1448 "BAD tothe\nGOOD to the\n" |
1374 "BAD tot he\nGOOD to the\n" | 1449 "BAD tot he\nGOOD to the\n" |
1375 "BAD towrad\nGOOD toward\n" | 1450 "BAD towrad\nGOOD toward\n" |
1404 "BAD waht\nGOOD what\n" | 1479 "BAD waht\nGOOD what\n" |
1405 "BAD warrent\nGOOD warrant\n" | 1480 "BAD warrent\nGOOD warrant\n" |
1406 "BAD wa snot\nGOOD was not\n" | 1481 "BAD wa snot\nGOOD was not\n" |
1407 "BAD wasnt\nGOOD wasn't\n" | 1482 "BAD wasnt\nGOOD wasn't\n" |
1408 "BAD wasn;t\nGOOD wasn't\n" | 1483 "BAD wasn;t\nGOOD wasn't\n" |
1484 "BAD wat\nGOOD what\n" | |
1409 "BAD watn\nGOOD want\n" | 1485 "BAD watn\nGOOD want\n" |
1410 "BAD we;d\nGOOD we'd\n" | 1486 "BAD we;d\nGOOD we'd\n" |
1411 "BAD wednesday\nGOOD Wednesday\n" | 1487 "BAD wednesday\nGOOD Wednesday\n" |
1488 "BAD wel\nGOOD we'll\n" | |
1412 "BAD wehn\nGOOD when\n" | 1489 "BAD wehn\nGOOD when\n" |
1413 "BAD wel\nGOOD we'll\n" | 1490 "BAD we'l\nGOOD we'll\n" |
1414 "BAD we;ll\nGOOD we'll\n" | 1491 "BAD we;ll\nGOOD we'll\n" |
1415 "BAD we;re\nGOOD we're\n" | 1492 "BAD we;re\nGOOD we're\n" |
1416 "BAD werent\nGOOD weren't\n" | 1493 "BAD werent\nGOOD weren't\n" |
1417 "BAD weren;t\nGOOD weren't\n" | 1494 "BAD weren;t\nGOOD weren't\n" |
1418 "BAD wern't\nGOOD weren't\n" | 1495 "BAD wern't\nGOOD weren't\n" |
1474 "BAD wtih\nGOOD with\n" | 1551 "BAD wtih\nGOOD with\n" |
1475 "BAD wuould\nGOOD would\n" | 1552 "BAD wuould\nGOOD would\n" |
1476 "BAD wut\nGOOD what\n" | 1553 "BAD wut\nGOOD what\n" |
1477 "BAD wya\nGOOD way\n" | 1554 "BAD wya\nGOOD way\n" |
1478 "BAD y\nGOOD why\n" | 1555 "BAD y\nGOOD why\n" |
1556 "BAD yeh\nGOOD yeah\n" | |
1479 "BAD yera\nGOOD year\n" | 1557 "BAD yera\nGOOD year\n" |
1480 "BAD yeras\nGOOD years\n" | 1558 "BAD yeras\nGOOD years\n" |
1481 "BAD yersa\nGOOD years\n" | 1559 "BAD yersa\nGOOD years\n" |
1482 "BAD yoiu\nGOOD you\n" | 1560 "BAD yoiu\nGOOD you\n" |
1483 "BAD youare\nGOOD you are\n" | 1561 "BAD youare\nGOOD you are\n" |