Import Debian changes 5.1.2-1
nuspell (5.1.2-1) unstable; urgency=medium
.
* New upstream release. (Closes: #1020967)
Thorsten Alteholz
1 year, 7 months ago
20 | 20 | env: |
21 | 21 | CXXFLAGS: ${{ matrix.cxxflags }} |
22 | 22 | steps: |
23 | - uses: actions/checkout@v2 | |
23 | - uses: actions/checkout@v3 | |
24 | 24 | with: { submodules: true } |
25 | 25 | |
26 | 26 | - name: Configure CMake |
42 | 42 | runs-on: windows-latest |
43 | 43 | |
44 | 44 | steps: |
45 | - uses: actions/checkout@v2 | |
45 | - uses: actions/checkout@v3 | |
46 | with: { submodules: true } | |
46 | 47 | |
47 | 48 | - name: Bring runner env vars to workflows |
48 | 49 | shell: bash |
49 | 50 | run: | |
50 | 51 | echo "local_app_data=$LOCALAPPDATA" >> $GITHUB_ENV |
51 | 52 | echo "vcpkg_root=$VCPKG_INSTALLATION_ROOT" >> $GITHUB_ENV |
52 | vcpkg x-history icu | awk 'NR==2{ print "icu_ver="$1 }' >> $GITHUB_ENV | |
53 | vcpkg x-history catch2 | awk 'NR==2{ print "catch2_ver="$1 }' >> $GITHUB_ENV | |
53 | vcpkg search icu | awk '$1=="icu"{ print "icu_ver="$2 }' >> $GITHUB_ENV | |
54 | 54 | |
55 | - uses: actions/cache@v2 | |
55 | - uses: actions/cache@v3 | |
56 | 56 | with: |
57 | 57 | # use backslashes in path here for Windows. |
58 | 58 | path: ${{ env.local_app_data }}\vcpkg\archives |
59 | key: windows-vcpkg-cache-${{ env.icu_ver }}-${{ env.catch2_ver }} | |
59 | key: windows-vcpkg-cache-${{ env.icu_ver }} | |
60 | 60 | restore-keys: windows-vcpkg-cache- |
61 | 61 | |
62 | 62 | - name: Pull Vcpkg dependencies |
63 | run: vcpkg install icu catch2 --triplet=x64-windows | |
63 | run: vcpkg install icu getopt --triplet=x64-windows | |
64 | 64 | |
65 | 65 | - name: Configure CMake |
66 | 66 | run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} |
4 | 4 | |
5 | 5 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
6 | 6 | and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
7 | ||
8 | ## [5.1.2] - 2022-09-29 | |
9 | ### Changed | |
10 | - Rewrite internal testing tool verify and improve it to support testing | |
11 | suggestions. | |
12 | ||
13 | ### Fixed | |
14 | - Greatly improve the speed of suggestions in certain edge cases. See #45. | |
15 | - Fix minor encoding issue in the CLI tool on Windows when reading from file(s) | |
16 | instead of the standard input. UTF-8 is now the default encoding in that case | |
17 | and not the one of the console. | |
18 | ||
19 | ## [5.1.1] - 2022-09-09 | |
20 | ### Added | |
21 | - Add configuration option `BUILD_TOOLS` that can be used to disable building | |
22 | the CLI tool. It is ON by default. See #122. | |
23 | ||
24 | ### Changed | |
25 | - Made error reporting more detailed and robust. The message in the thrown | |
26 | exception is much richer when there are parsing errors. The library does | |
27 | not write directly to `cerr`, it does not pollute it. See #123. | |
28 | ||
29 | ### Fixed | |
30 | - Fix compiler warnings regarding usage of deprecated functions. | |
31 | - Fix CLI tool on Windows + MSVC to properly accept arguments. Windows + MSVC | |
32 | now requires library `getopt` from Vcpkg. Fixes #122. | |
7 | 33 | |
8 | 34 | ## [5.1.0] - 2022-02-15 |
9 | 35 | ### Added |
225 | 251 | - Spelling error detection (checking) is closely matching Hunspell |
226 | 252 | - Support for spelling error correction (suggestions) |
227 | 253 | |
228 | [Unreleased]: https://github.com/nuspell/nuspell/compare/v5.1.0...HEAD | |
254 | [Unreleased]: https://github.com/nuspell/nuspell/compare/v5.1.2...HEAD | |
255 | [5.1.2]: https://github.com/nuspell/nuspell/compare/v5.1.1...v5.1.2 | |
256 | [5.1.1]: https://github.com/nuspell/nuspell/compare/v5.1.0...v5.1.1 | |
229 | 257 | [5.1.0]: https://github.com/nuspell/nuspell/compare/v5.0.1...v5.1.0 |
230 | 258 | [5.0.1]: https://github.com/nuspell/nuspell/compare/v5.0.0...v5.0.1 |
231 | 259 | [5.0.0]: https://github.com/nuspell/nuspell/compare/v4.2.0...v5.0.0 |
0 | 0 | cmake_minimum_required(VERSION 3.8) |
1 | project(nuspell VERSION 5.1.0) | |
1 | project(nuspell VERSION 5.1.2) | |
2 | 2 | set(PROJECT_HOMEPAGE_URL "https://nuspell.github.io/") |
3 | 3 | |
4 | 4 | option(BUILD_SHARED_LIBS "Build as shared library" ON) |
5 | option(BUILD_TESTING "Build the testing tree." ON) | |
6 | option(BUILD_TOOLS "Build the CLI tool." ON) | |
5 | 7 | |
6 | 8 | include(GNUInstallDirs) |
7 | 9 | include(CMakePackageConfigHelpers) |
10 | find_package(ICU 60 REQUIRED COMPONENTS uc data) | |
11 | get_directory_property(subproject PARENT_DIRECTORY) | |
12 | add_subdirectory(src/nuspell) | |
8 | 13 | |
9 | find_package(ICU 60 REQUIRED COMPONENTS uc data) | |
10 | ||
11 | get_directory_property(subproject PARENT_DIRECTORY) | |
12 | ||
13 | add_subdirectory(src/nuspell) | |
14 | add_subdirectory(src/tools) | |
15 | ||
14 | if (MSVC AND (BUILD_TOOLS OR BUILD_TESTING)) | |
15 | find_path(GETOPT_INCLUDE_DIR getopt.h) | |
16 | if (NOT GETOPT_INCLUDE_DIR) | |
17 | message(FATAL_ERROR "Can not find getopt.h") | |
18 | endif() | |
19 | find_library(GETOPT_LIBRARY getopt) | |
20 | if (NOT GETOPT_LIBRARY) | |
21 | message(FATAL_ERROR "Can not find library getopt") | |
22 | endif() | |
23 | endif() | |
24 | if (BUILD_TOOLS) | |
25 | add_subdirectory(src/tools) | |
26 | endif() | |
16 | 27 | if (subproject) |
17 | # if added as subproject just build Nuspell | |
18 | # no need to test, build docs or install | |
19 | return() | |
28 | # if added as subproject just build Nuspell | |
29 | # no need to test, build docs or install | |
30 | return() | |
20 | 31 | endif() |
21 | 32 | |
22 | 33 | function(find_catch2_from_source) |
23 | set(Catch2_FOUND Catch2-NOTFOUND PARENT_SCOPE) | |
24 | set(catch_cmake_lists ${PROJECT_SOURCE_DIR}/external/Catch2/CMakeLists.txt) | |
25 | if (NOT EXISTS ${catch_cmake_lists}) | |
26 | find_package(Git) | |
27 | if (NOT Git_FOUND) | |
28 | return() | |
29 | endif() | |
30 | execute_process( | |
31 | COMMAND ${GIT_EXECUTABLE} submodule update --init -- Catch2 | |
32 | WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/external | |
33 | RESULT_VARIABLE git_submodule_error | |
34 | ERROR_QUIET) | |
35 | if (git_submodule_error OR NOT EXISTS ${catch_cmake_lists}) | |
36 | return() | |
37 | endif() | |
38 | endif() | |
39 | add_subdirectory(external/Catch2) | |
40 | list(APPEND CMAKE_MODULE_PATH | |
41 | ${PROJECT_SOURCE_DIR}/external/Catch2/contrib) | |
42 | set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" PARENT_SCOPE) | |
43 | set(Catch2_FOUND 1 PARENT_SCOPE) | |
34 | set(Catch2_FOUND Catch2-NOTFOUND PARENT_SCOPE) | |
35 | set(catch_cmake_lists | |
36 | ${PROJECT_SOURCE_DIR}/external/Catch2/CMakeLists.txt) | |
37 | if (NOT EXISTS ${catch_cmake_lists}) | |
38 | find_package(Git) | |
39 | if (NOT Git_FOUND) | |
40 | return() | |
41 | endif() | |
42 | execute_process( | |
43 | COMMAND ${GIT_EXECUTABLE} submodule update --init Catch2 | |
44 | WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/external | |
45 | RESULT_VARIABLE git_submodule_error | |
46 | ERROR_QUIET) | |
47 | if (git_submodule_error OR NOT EXISTS ${catch_cmake_lists}) | |
48 | return() | |
49 | endif() | |
50 | endif() | |
51 | add_subdirectory(external/Catch2) | |
52 | list(APPEND CMAKE_MODULE_PATH | |
53 | ${PROJECT_SOURCE_DIR}/external/Catch2/contrib) | |
54 | set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" PARENT_SCOPE) | |
55 | set(Catch2_FOUND 1 PARENT_SCOPE) | |
44 | 56 | endfunction() |
45 | 57 | |
46 | option(BUILD_TESTING "Build the testing tree." ON) | |
47 | 58 | if (BUILD_TESTING) |
48 | enable_testing() | |
49 | find_package(Catch2 2.3.0 QUIET) | |
50 | if (NOT Catch2_FOUND) | |
51 | find_catch2_from_source() | |
52 | endif() | |
53 | if (Catch2_FOUND) | |
54 | add_subdirectory(external/hunspell/hunspell) | |
55 | add_subdirectory(tests) | |
56 | else() | |
57 | message(WARNING "Can not find Catch2, tests will be disabled") | |
58 | endif() | |
59 | enable_testing() | |
60 | find_package(Catch2 2.3.0 QUIET) | |
61 | if (NOT Catch2_FOUND) | |
62 | find_catch2_from_source() | |
63 | endif() | |
64 | if (Catch2_FOUND) | |
65 | add_subdirectory(external/hunspell/hunspell) | |
66 | add_subdirectory(tests) | |
67 | else() | |
68 | message(WARNING "Can not find Catch2, tests will be disabled") | |
69 | endif() | |
59 | 70 | endif() |
60 | 71 | |
61 | 72 | |
64 | 75 | configure_file(nuspell.pc.in nuspell.pc @ONLY) |
65 | 76 | #configure_file(NuspellConfig.cmake NuspellConfig.cmake COPYONLY) |
66 | 77 | write_basic_package_version_file(NuspellConfigVersion.cmake |
67 | COMPATIBILITY AnyNewerVersion) | |
78 | COMPATIBILITY AnyNewerVersion) | |
68 | 79 | |
69 | 80 | install(FILES ${CMAKE_CURRENT_BINARY_DIR}/nuspell.pc |
70 | DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) | |
81 | DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) | |
71 | 82 | install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/NuspellConfig.cmake |
72 | ${CMAKE_CURRENT_BINARY_DIR}/NuspellConfigVersion.cmake | |
73 | DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/nuspell) | |
83 | ${CMAKE_CURRENT_BINARY_DIR}/NuspellConfigVersion.cmake | |
84 | DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/nuspell) | |
74 | 85 | install(FILES README.md DESTINATION ${CMAKE_INSTALL_DOCDIR}) |
24 | 24 | |
25 | 25 | Build-only dependencies: |
26 | 26 | |
27 | - C++ 17 compiler, GCC >= v8, Clang >= v7, MSVC >= 2017 | |
27 | - C++ 17 compiler with support for `std::filesystem`, e.g. GCC >= v9 | |
28 | 28 | - CMake >= v3.8 |
29 | 29 | - Catch2 >= v2.3.0 (It is only needed when building the tests. If it is not |
30 | 30 | available as a system package, the the Git submodule will be used.) |
31 | - Getopt (It is needed only on Windows + MSVC and only when the CLI tool or | |
32 | the tests are built. It is available in vcpkg. Other platforms provide | |
33 | it out of the box.) | |
31 | 34 | |
32 | 35 | Run-time (and build-time) dependencies: |
33 | 36 | |
99 | 102 | Visual Studio Build Tools. |
100 | 103 | 2. Install Git for Windows and Cmake. |
101 | 104 | 3. Install vcpkg in some folder, e.g. in `c:\vcpkg`. |
102 | 4. With vcpkg install: icu. | |
105 | 4. Run `vcpkg install icu getopt --triplet=x64-windows`. | |
103 | 106 | 5. Run the commands bellow. |
104 | 107 | |
105 | 108 | <!-- end list --> |
107 | 110 | ```bat |
108 | 111 | mkdir build |
109 | 112 | cd build |
110 | cmake .. -DCMAKE_TOOLCHAIN_FILE=c:\vcpkg\scripts\buildsystems\vcpkg.cmake -A Win32 | |
113 | cmake .. -DCMAKE_TOOLCHAIN_FILE=c:\vcpkg\scripts\buildsystems\vcpkg.cmake -A x64 | |
111 | 114 | cmake --build . |
112 | 115 | ``` |
113 | 116 |
0 | nuspell (5.1.2-1) unstable; urgency=medium | |
1 | ||
2 | * New upstream release. (Closes: #1020967) | |
3 | ||
4 | -- Thorsten Alteholz <debian@alteholz.de> Fri, 30 Sep 2022 22:36:33 +0200 | |
5 | ||
0 | 6 | nuspell (5.1.0-1) unstable; urgency=medium |
1 | 7 | |
2 | 8 | * New upstream release. (Closes: #1006900) |
13 | 13 | generate_export_header(nuspell) |
14 | 14 | |
15 | 15 | set(nuspell_headers aff_data.hxx checker.hxx suggester.hxx dictionary.hxx |
16 | finder.hxx structures.hxx unicode.hxx | |
17 | ${CMAKE_CURRENT_BINARY_DIR}/nuspell_export.h) | |
16 | finder.hxx structures.hxx unicode.hxx | |
17 | ${CMAKE_CURRENT_BINARY_DIR}/nuspell_export.h) | |
18 | 18 | set_target_properties(nuspell PROPERTIES |
19 | PUBLIC_HEADER "${nuspell_headers}" | |
20 | VERSION ${PROJECT_VERSION} | |
21 | SOVERSION ${PROJECT_VERSION_MAJOR} | |
22 | CXX_VISIBILITY_PRESET hidden) | |
19 | PUBLIC_HEADER "${nuspell_headers}" | |
20 | VERSION ${PROJECT_VERSION} | |
21 | SOVERSION ${PROJECT_VERSION_MAJOR} | |
22 | CXX_VISIBILITY_PRESET hidden) | |
23 | 23 | |
24 | 24 | target_compile_features(nuspell PUBLIC cxx_std_17) |
25 | 25 | |
26 | 26 | target_include_directories(nuspell |
27 | PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}> | |
28 | INTERFACE $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src> | |
29 | $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>) | |
27 | PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}> | |
28 | INTERFACE $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src> | |
29 | $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>) | |
30 | 30 | |
31 | 31 | target_link_libraries(nuspell PUBLIC ICU::uc ICU::data) |
32 | 32 | |
33 | if (NOT subproject) | |
34 | install(TARGETS nuspell | |
35 | EXPORT NuspellTargets | |
36 | ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} | |
37 | LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} | |
38 | RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} | |
39 | PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/nuspell) | |
40 | install(EXPORT NuspellTargets | |
41 | DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/nuspell | |
42 | NAMESPACE Nuspell::) | |
33 | if (subproject) | |
34 | return() | |
43 | 35 | endif() |
36 | ||
37 | install(TARGETS nuspell | |
38 | EXPORT NuspellTargets | |
39 | ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} | |
40 | LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} | |
41 | RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} | |
42 | PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/nuspell) | |
43 | install(EXPORT NuspellTargets | |
44 | DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/nuspell | |
45 | NAMESPACE Nuspell::) |
18 | 18 | #include "aff_data.hxx" |
19 | 19 | #include "utils.hxx" |
20 | 20 | |
21 | #include <cassert> | |
21 | 22 | #include <charconv> |
22 | #include <iostream> | |
23 | 23 | #include <locale> |
24 | 24 | #include <sstream> |
25 | 25 | #include <unordered_map> |
57 | 57 | } |
58 | 58 | |
59 | 59 | enum class Parsing_Error_Code { |
60 | NO_FLAGS_AFTER_SLASH_WARNING = -2, | |
61 | NONUTF8_FLAGS_ABOVE_127_WARNING = -1, | |
60 | NO_FLAGS_AFTER_SLASH_WARNING = -16, | |
61 | NONUTF8_FLAGS_ABOVE_127_WARNING, | |
62 | ARRAY_COMMAND_EXTRA_ENTRIES_WARNING, | |
63 | MULTIPLE_ENTRIES_WARNING, | |
62 | 64 | NO_ERROR = 0, |
65 | ISTREAM_READING_ERROR, | |
66 | INVALID_ENCODING_IDENTIFIER, | |
67 | ENCODING_CONVERSION_ERROR, | |
68 | INVALID_FLAG_TYPE, | |
69 | INVALID_LANG_IDENTIFIER, | |
63 | 70 | MISSING_FLAGS, |
64 | 71 | UNPAIRED_LONG_FLAG, |
65 | 72 | INVALID_NUMERIC_FLAG, |
67 | 74 | INVALID_UTF8, |
68 | 75 | FLAG_ABOVE_65535, |
69 | 76 | INVALID_NUMERIC_ALIAS, |
77 | AFX_CROSS_CHAR_INVALID, | |
70 | 78 | AFX_CONDITION_INVALID_FORMAT, |
71 | COMPOUND_RULE_INVALID_FORMAT | |
79 | COMPOUND_RULE_INVALID_FORMAT, | |
80 | ARRAY_COMMAND_NO_COUNT | |
72 | 81 | }; |
73 | 82 | |
74 | 83 | auto decode_flags(string_view s, Flag_Type t, const Encoding& enc, |
167 | 176 | return Parsing_Error_Code::INVALID_NUMERIC_ALIAS; |
168 | 177 | } |
169 | 178 | |
170 | auto report_parsing_error(Parsing_Error_Code err, size_t line_num) | |
179 | auto get_parsing_error_message(Parsing_Error_Code err) | |
171 | 180 | { |
172 | 181 | using Err = Parsing_Error_Code; |
173 | 182 | switch (err) { |
174 | 183 | case Err::NO_FLAGS_AFTER_SLASH_WARNING: |
175 | cerr << "Nuspell warning: no flags after slash in line " | |
176 | << line_num << '\n'; | |
177 | break; | |
184 | return "Nuspell warning: no flags after slash."; | |
178 | 185 | case Err::NONUTF8_FLAGS_ABOVE_127_WARNING: |
179 | cerr << "Nuspell warning: bytes above 127 in flags in UTF-8 " | |
180 | "file are treated as lone bytes for backward " | |
181 | "compatibility. That means if in the flags you have " | |
182 | "ONE character above ASCII, it may be interpreted as " | |
183 | "2, 3, or 4 flags. Please update dictionary and affix " | |
184 | "files to use FLAG UTF-8 and make the file valid " | |
185 | "UTF-8 if it is not already. Warning in line " | |
186 | << line_num << '\n'; | |
187 | break; | |
186 | return "Nuspell warning: bytes above 127 in flags in UTF-8 " | |
187 | "file are treated as lone bytes for backward " | |
188 | "compatibility. That means if in the flags you have " | |
189 | "ONE character above ASCII, it may be interpreted as " | |
190 | "2, 3, or 4 flags. Please update dictionary and affix " | |
191 | "files to use FLAG UTF-8 and make the file valid " | |
192 | "UTF-8 if it is not already."; | |
193 | case Err::ARRAY_COMMAND_EXTRA_ENTRIES_WARNING: | |
194 | return "Nuspell warning: extra entries of array command."; | |
195 | case Err::MULTIPLE_ENTRIES_WARNING: | |
196 | return "Nuspell warning: multiple entries the same command."; | |
188 | 197 | case Err::NO_ERROR: |
189 | break; | |
198 | return ""; | |
199 | case Err::ISTREAM_READING_ERROR: | |
200 | return "Nuspell error: problem reading number or string from " | |
201 | "istream."; | |
202 | case Err::INVALID_ENCODING_IDENTIFIER: | |
203 | return "Nuspell error: Invalid identifier of encoding."; | |
204 | case Err::ENCODING_CONVERSION_ERROR: | |
205 | return "Nuspell error: encoding conversion error."; | |
206 | case Err::INVALID_FLAG_TYPE: | |
207 | return "Nuspell error: invalid identifier for the type of the " | |
208 | "flags."; | |
209 | case Err::INVALID_LANG_IDENTIFIER: | |
210 | return "Nuspell error: invalid language code."; | |
190 | 211 | case Err::MISSING_FLAGS: |
191 | cerr << "Nuspell error: missing flags in line " << line_num | |
192 | << '\n'; | |
193 | break; | |
212 | return "Nuspell error: missing flags."; | |
194 | 213 | case Err::UNPAIRED_LONG_FLAG: |
195 | cerr << "Nuspell error: the number of chars in string of long " | |
196 | "flags is odd, should be even. Error in line " | |
197 | << line_num << '\n'; | |
198 | break; | |
214 | return "Nuspell error: the number of chars in string of long " | |
215 | "flags is odd, should be even."; | |
199 | 216 | case Err::INVALID_NUMERIC_FLAG: |
200 | cerr << "Nuspell error: invalid numerical flag in line" | |
201 | << line_num << '\n'; | |
202 | break; | |
217 | return "Nuspell error: invalid numerical flag."; | |
203 | 218 | // case Err::FLAGS_ARE_UTF8_BUT_FILE_NOT: |
204 | // cerr << "Nuspell error: flags are UTF-8 but file is not\n"; | |
205 | // break; | |
219 | // return "Nuspell error: flags are UTF-8 but file is not\n"; | |
206 | 220 | case Err::INVALID_UTF8: |
207 | cerr << "Nuspell error: Invalid UTF-8 in flags in line " | |
208 | << line_num << '\n'; | |
209 | break; | |
221 | return "Nuspell error: Invalid UTF-8 in flags"; | |
210 | 222 | case Err::FLAG_ABOVE_65535: |
211 | cerr << "Nuspell error: Flag above 65535 in line " << line_num | |
212 | << '\n'; | |
213 | break; | |
223 | return "Nuspell error: Flag above 65535 in line"; | |
214 | 224 | case Err::INVALID_NUMERIC_ALIAS: |
215 | cerr << "Nuspell error: Flag alias is invalid in line" | |
216 | << line_num << '\n'; | |
217 | break; | |
225 | return "Nuspell error: Flag alias is invalid."; | |
226 | case Err::AFX_CROSS_CHAR_INVALID: | |
227 | return "Nuspell error: Invalid cross char in affix entry. It " | |
228 | "must be Y or N."; | |
218 | 229 | case Err::AFX_CONDITION_INVALID_FORMAT: |
219 | cerr << "Nuspell error: Affix condition is invalid in line " | |
220 | << line_num << '\n'; | |
221 | break; | |
230 | return "Nuspell error: Affix condition is invalid."; | |
222 | 231 | case Err::COMPOUND_RULE_INVALID_FORMAT: |
223 | cerr << "Nuspell error: Compound rule is in invalid format in " | |
224 | "line " | |
225 | << line_num << '\n'; | |
226 | break; | |
227 | } | |
232 | return "Nuspell error: Compound rule is in invalid format."; | |
233 | case Err::ARRAY_COMMAND_NO_COUNT: | |
234 | return "Nuspell error: The first line of array command (series " | |
235 | "of similar commands) has no count. Ignoring all of " | |
236 | "them."; | |
237 | } | |
238 | return "Unknown error"; | |
228 | 239 | } |
229 | 240 | |
230 | 241 | auto decode_compound_rule(string_view s, Flag_Type t, const Encoding& enc, |
313 | 324 | return {r}; |
314 | 325 | } |
315 | 326 | |
316 | class Aff_Line_IO_Manip; | |
317 | ||
318 | template <class T> | |
319 | struct Ref_Wrapper_1 { | |
320 | Aff_Line_IO_Manip& manip; | |
321 | T& data; | |
322 | }; | |
323 | ||
324 | struct Ref_Wrapper_1_Cpd_Rule { | |
325 | Aff_Line_IO_Manip& manip; | |
326 | Compound_Rule_Ref_Wrapper data; | |
327 | }; | |
328 | ||
329 | template <class T, class U> | |
330 | struct Ref_Wrapper_2 { | |
331 | Aff_Line_IO_Manip& manip; | |
332 | T& data1; | |
333 | U& data2; | |
334 | }; | |
335 | ||
336 | class Aff_Line_IO_Manip { | |
327 | class Aff_Line_Parser { | |
337 | 328 | std::string str_buf; |
338 | 329 | std::u16string flag_buffer; |
339 | 330 | |
340 | 331 | const Aff_Data* aff_data = nullptr; |
341 | 332 | Encoding_Converter cvt; |
342 | 333 | |
334 | using Err = Parsing_Error_Code; | |
335 | ||
343 | 336 | public: |
344 | 337 | Parsing_Error_Code err = {}; |
345 | 338 | |
346 | Aff_Line_IO_Manip() = default; | |
347 | Aff_Line_IO_Manip(Aff_Data& a) | |
339 | Aff_Line_Parser() = default; | |
340 | Aff_Line_Parser(Aff_Data& a) | |
348 | 341 | : aff_data(&a), cvt(a.encoding.value_or_default()) |
349 | 342 | { |
350 | 343 | } |
352 | 345 | auto& parse(istream& in, Encoding& enc) |
353 | 346 | { |
354 | 347 | in >> str_buf; |
355 | if (in.fail()) | |
356 | return in; | |
348 | if (in.fail()) { | |
349 | err = Err::ISTREAM_READING_ERROR; | |
350 | return in; | |
351 | } | |
357 | 352 | enc = str_buf; |
358 | 353 | cvt = Encoding_Converter(enc.value_or_default()); |
359 | if (!cvt.valid()) | |
360 | in.setstate(in.failbit); | |
354 | if (!cvt.valid()) { | |
355 | err = Err::INVALID_ENCODING_IDENTIFIER; | |
356 | in.setstate(in.failbit); | |
357 | } | |
361 | 358 | return in; |
362 | 359 | } |
363 | 360 | |
364 | 361 | auto& parse(istream& in, std::string& str) |
365 | 362 | { |
366 | 363 | in >> str_buf; |
367 | if (in.fail()) // str_buf is unmodified on fail | |
368 | return in; | |
364 | if (in.fail()) { // str_buf is unmodified on fail | |
365 | err = Err::ISTREAM_READING_ERROR; | |
366 | return in; | |
367 | } | |
369 | 368 | auto ok = cvt.to_utf8(str_buf, str); |
370 | if (!ok) | |
371 | in.setstate(in.failbit); | |
369 | if (!ok) { | |
370 | err = Err::INVALID_ENCODING_IDENTIFIER; | |
371 | in.setstate(in.failbit); | |
372 | } | |
372 | 373 | return in; |
373 | 374 | } |
374 | 375 | |
377 | 378 | using Ft = Flag_Type; |
378 | 379 | flag_type = {}; |
379 | 380 | in >> str_buf; |
380 | if (in.fail()) | |
381 | return in; | |
381 | if (in.fail()) { | |
382 | err = Err::ISTREAM_READING_ERROR; | |
383 | return in; | |
384 | } | |
382 | 385 | to_upper_ascii(str_buf); |
383 | 386 | if (str_buf == "LONG") |
384 | 387 | flag_type = Ft::DOUBLE_CHAR; |
386 | 389 | flag_type = Ft::NUMBER; |
387 | 390 | else if (str_buf == "UTF-8") |
388 | 391 | flag_type = Ft::UTF8; |
389 | else | |
390 | in.setstate(in.failbit); | |
392 | else { | |
393 | err = Err::INVALID_FLAG_TYPE; | |
394 | in.setstate(in.failbit); | |
395 | } | |
391 | 396 | return in; |
392 | 397 | } |
393 | 398 | |
394 | 399 | auto& parse(istream& in, icu::Locale& loc) |
395 | 400 | { |
396 | 401 | in >> str_buf; |
397 | if (in.fail()) | |
398 | return in; | |
402 | if (in.fail()) { | |
403 | err = Err::ISTREAM_READING_ERROR; | |
404 | return in; | |
405 | } | |
399 | 406 | loc = icu::Locale(str_buf.c_str()); |
400 | if (loc.isBogus()) | |
401 | in.setstate(in.failbit); | |
407 | if (loc.isBogus()) { | |
408 | err = Err::INVALID_LANG_IDENTIFIER; | |
409 | in.setstate(in.failbit); | |
410 | } | |
402 | 411 | return in; |
403 | 412 | } |
404 | 413 | |
406 | 415 | auto& parse_flags(istream& in, std::u16string& flags) |
407 | 416 | { |
408 | 417 | in >> str_buf; |
409 | if (in.fail()) | |
410 | return in; | |
418 | if (in.fail()) { | |
419 | err = Err::ISTREAM_READING_ERROR; | |
420 | return in; | |
421 | } | |
411 | 422 | err = decode_flags(str_buf, aff_data->flag_type, |
412 | 423 | aff_data->encoding, flags); |
413 | 424 | if (static_cast<int>(err) > 0) |
435 | 446 | |
436 | 447 | auto& parse_word_slash_flags(istream& in, string& word, Flag_Set& flags) |
437 | 448 | { |
438 | using Err = Parsing_Error_Code; | |
439 | 449 | in >> str_buf; |
440 | if (in.fail()) | |
441 | return in; | |
450 | if (in.fail()) { | |
451 | err = Err::ISTREAM_READING_ERROR; | |
452 | return in; | |
453 | } | |
442 | 454 | // err = {}; |
443 | 455 | auto slash_pos = str_buf.find('/'); |
444 | 456 | if (slash_pos != str_buf.npos) { |
452 | 464 | err = Err::NO_FLAGS_AFTER_SLASH_WARNING; |
453 | 465 | flags = flag_buffer; |
454 | 466 | } |
467 | if (static_cast<int>(err) > 0) { | |
468 | in.setstate(in.failbit); | |
469 | return in; | |
470 | } | |
455 | 471 | auto ok = cvt.to_utf8(str_buf, word); |
456 | if (!ok) | |
457 | in.setstate(in.failbit); | |
458 | if (static_cast<int>(err) > 0) | |
459 | in.setstate(in.failbit); | |
472 | if (!ok) { | |
473 | err = Err::ENCODING_CONVERSION_ERROR; | |
474 | in.setstate(in.failbit); | |
475 | } | |
460 | 476 | return in; |
461 | 477 | } |
462 | 478 | |
464 | 480 | char16_t& flag) -> istream& |
465 | 481 | { |
466 | 482 | in >> str_buf; |
467 | if (in.fail()) | |
468 | return in; | |
483 | if (in.fail()) { | |
484 | err = Err::ISTREAM_READING_ERROR; | |
485 | return in; | |
486 | } | |
469 | 487 | // err = {}; |
470 | 488 | auto slash_pos = str_buf.find('/'); |
471 | 489 | if (slash_pos != str_buf.npos) { |
477 | 495 | if (!flag_buffer.empty()) |
478 | 496 | flag = flag_buffer[0]; |
479 | 497 | } |
498 | if (static_cast<int>(err) > 0) { | |
499 | in.setstate(in.failbit); | |
500 | return in; | |
501 | } | |
480 | 502 | auto ok = cvt.to_utf8(str_buf, word); |
481 | if (!ok) | |
482 | in.setstate(in.failbit); | |
483 | if (static_cast<int>(err) > 0) | |
484 | in.setstate(in.failbit); | |
503 | if (!ok) { | |
504 | err = Err::ENCODING_CONVERSION_ERROR; | |
505 | in.setstate(in.failbit); | |
506 | } | |
485 | 507 | return in; |
486 | 508 | } |
487 | 509 | |
488 | 510 | auto& parse_compound_rule(istream& in, u16string& out) |
489 | 511 | { |
490 | 512 | in >> str_buf; |
491 | if (in.fail()) | |
492 | return in; | |
513 | if (in.fail()) { | |
514 | err = Err::ISTREAM_READING_ERROR; | |
515 | return in; | |
516 | } | |
493 | 517 | err = decode_compound_rule(str_buf, aff_data->flag_type, |
494 | 518 | aff_data->encoding, out); |
495 | 519 | if (static_cast<int>(err) > 0) |
497 | 521 | return in; |
498 | 522 | } |
499 | 523 | |
500 | template <class T> | |
501 | auto operator()(T& x) -> Ref_Wrapper_1<T> | |
502 | { | |
503 | return {*this, x}; | |
504 | } | |
505 | ||
506 | auto operator()(Compound_Rule_Ref_Wrapper x) -> Ref_Wrapper_1_Cpd_Rule | |
507 | { | |
508 | return {*this, x}; | |
509 | } | |
510 | ||
511 | template <class T, class U> | |
512 | auto operator()(T& x, U& y) -> Ref_Wrapper_2<T, U> | |
513 | { | |
514 | return {*this, x, y}; | |
524 | auto& parse(istream& in, pair<string, string>& out) | |
525 | { | |
526 | parse(in, out.first); | |
527 | parse(in, out.second); | |
528 | return in; | |
529 | } | |
530 | ||
531 | auto& parse(istream& in, Condition& x) | |
532 | { | |
533 | auto str = string(); | |
534 | parse(in, str); | |
535 | if (in.fail()) | |
536 | return in; | |
537 | try { | |
538 | x = std::move(str); | |
539 | } | |
540 | catch (const Condition_Exception& ex) { | |
541 | err = Parsing_Error_Code::AFX_CONDITION_INVALID_FORMAT; | |
542 | in.setstate(in.failbit); | |
543 | } | |
544 | return in; | |
545 | } | |
546 | ||
547 | auto& parse(istream& in, Compound_Rule_Ref_Wrapper x) | |
548 | { | |
549 | return parse_compound_rule(in, x.rule); | |
550 | } | |
551 | ||
552 | auto& parse(istream& in, string& word, Flag_Set& flags) | |
553 | { | |
554 | return parse_word_slash_flags(in, word, flags); | |
555 | } | |
556 | ||
557 | auto& parse(istream& in, string& word, char16_t& flag) | |
558 | { | |
559 | return parse_word_slash_single_flag(in, word, flag); | |
560 | } | |
561 | ||
562 | auto& parse(istream& in, Compound_Pattern& p) | |
563 | { | |
564 | auto first_word_end = string(); | |
565 | auto second_word_begin = string(); | |
566 | p.match_first_only_unaffixed_or_zero_affixed = false; | |
567 | parse(in, first_word_end, p.first_word_flag); | |
568 | parse(in, second_word_begin, p.second_word_flag); | |
569 | if (in.fail()) | |
570 | return in; | |
571 | if (first_word_end == "0") { | |
572 | first_word_end.clear(); | |
573 | p.match_first_only_unaffixed_or_zero_affixed = true; | |
574 | } | |
575 | p.begin_end_chars = {first_word_end, second_word_begin}; | |
576 | parse(in, p.replacement); // optional | |
577 | if (in.fail() && in.eof() && !in.bad()) { | |
578 | err = {}; | |
579 | reset_failbit_istream(in); | |
580 | p.replacement.clear(); | |
581 | } | |
582 | return in; | |
515 | 583 | } |
516 | 584 | }; |
517 | 585 | |
518 | template <class T, class = decltype(declval<Aff_Line_IO_Manip&>().parse( | |
519 | declval<istream&>(), declval<T&>()))> | |
520 | auto& operator>>(istream& in, Ref_Wrapper_1<T> x) | |
521 | { | |
522 | return x.manip.parse(in, x.data); | |
523 | } | |
524 | ||
525 | auto& operator>>(istream& in, Ref_Wrapper_1<pair<string, string>> x) | |
526 | { | |
527 | return in >> x.manip(x.data.first) >> x.manip(x.data.second); | |
528 | } | |
529 | ||
530 | auto& operator>>(istream& in, Ref_Wrapper_1<Condition> x) | |
531 | { | |
532 | auto str = string(); | |
533 | in >> x.manip(str); | |
534 | if (in.fail()) | |
535 | return in; | |
536 | try { | |
537 | x.data = std::move(str); | |
538 | } | |
539 | catch (const Condition_Exception& ex) { | |
540 | x.manip.err = Parsing_Error_Code::AFX_CONDITION_INVALID_FORMAT; | |
541 | in.setstate(in.failbit); | |
542 | } | |
543 | return in; | |
544 | } | |
545 | ||
546 | auto& operator>>(istream& in, Ref_Wrapper_1_Cpd_Rule x) | |
547 | { | |
548 | return x.manip.parse_compound_rule(in, x.data.rule); | |
549 | } | |
550 | ||
551 | auto& operator>>(istream& in, Ref_Wrapper_2<string, Flag_Set> x) | |
552 | { | |
553 | return x.manip.parse_word_slash_flags(in, x.data1, x.data2); | |
554 | } | |
555 | ||
556 | auto& operator>>(istream& in, Ref_Wrapper_2<string, char16_t> x) | |
557 | { | |
558 | return x.manip.parse_word_slash_single_flag(in, x.data1, x.data2); | |
559 | } | |
560 | ||
561 | auto& operator>>(istream& in, Ref_Wrapper_1<Compound_Pattern> x) | |
562 | { | |
563 | auto [manip, p] = x; | |
564 | auto first_word_end = string(); | |
565 | auto second_word_begin = string(); | |
566 | p.match_first_only_unaffixed_or_zero_affixed = false; | |
567 | in >> manip(first_word_end, p.first_word_flag); | |
568 | in >> manip(second_word_begin, p.second_word_flag); | |
569 | if (in.fail()) | |
570 | return in; | |
571 | if (first_word_end == "0") { | |
572 | first_word_end.clear(); | |
573 | p.match_first_only_unaffixed_or_zero_affixed = true; | |
574 | } | |
575 | p.begin_end_chars = {first_word_end, second_word_begin}; | |
576 | auto old_mask = in.exceptions(); | |
577 | in.exceptions(in.goodbit); // disable exceptions | |
578 | in >> manip(p.replacement); // optional | |
579 | if (in.fail() && in.eof() && !in.bad()) { | |
580 | reset_failbit_istream(in); | |
581 | p.replacement.clear(); | |
582 | } | |
583 | in.exceptions(old_mask); | |
584 | return in; | |
585 | } | |
586 | ||
587 | 586 | template <class T, class Func = identity> |
588 | auto parse_vector_of_T(istream& in, Aff_Line_IO_Manip& p, const string& command, | |
587 | auto parse_vector_of_T(istream& in, Aff_Line_Parser& p, const string& command, | |
589 | 588 | unordered_map<string, size_t>& counts, vector<T>& vec, |
590 | 589 | Func modifier_wrapper = Func()) -> void |
591 | 590 | { |
597 | 596 | in >> a; |
598 | 597 | if (in) |
599 | 598 | cnt = a; |
600 | else | |
601 | cerr << "Nuspell error: a vector command (series of " | |
602 | "of similar commands) has no count. Ignoring " | |
603 | "all of them.\n"; | |
599 | else { | |
600 | // cnt aka counts[command] remains 0. | |
601 | p.err = Parsing_Error_Code::ARRAY_COMMAND_NO_COUNT; | |
602 | in.setstate(in.failbit); | |
603 | } | |
604 | 604 | } |
605 | 605 | else if (dat->second != 0) { |
606 | 606 | dat->second--; |
607 | vec.emplace_back(); | |
608 | in >> p(modifier_wrapper(vec.back())); | |
609 | if (in.fail()) | |
610 | cerr << "Nuspell error: single entry of a vector " | |
611 | "command (series of " | |
612 | "of similar commands) is invalid.\n"; | |
607 | auto& elem = vec.emplace_back(); | |
608 | p.parse(in, modifier_wrapper(elem)); | |
613 | 609 | } |
614 | 610 | else { |
615 | cerr << "Nuspell warning: extra entries of " << command << "\n"; | |
616 | // cerr << "Nuspell warning in line " << line_num << endl; | |
611 | p.err = Parsing_Error_Code::ARRAY_COMMAND_EXTRA_ENTRIES_WARNING; | |
617 | 612 | } |
618 | 613 | } |
619 | 614 | |
620 | 615 | template <class AffixT> |
621 | auto parse_affix(istream& in, Aff_Line_IO_Manip& p, string& command, | |
616 | auto parse_affix(istream& in, Aff_Line_Parser& p, string& command, | |
622 | 617 | vector<AffixT>& vec, |
623 | 618 | unordered_map<string, pair<bool, size_t>>& cmd_affix) -> void |
624 | 619 | { |
620 | using Err = Parsing_Error_Code; | |
625 | 621 | char16_t f; |
626 | in >> p(f); | |
622 | p.parse(in, f); | |
627 | 623 | if (in.fail()) |
628 | 624 | return; |
629 | 625 | command.append(reinterpret_cast<char*>(&f), sizeof(f)); |
630 | 626 | auto dat = cmd_affix.find(command); |
631 | 627 | // note: the current affix parser does not allow the same flag |
632 | // to be used once with cross product and again witohut | |
628 | // to be used once with cross product and again without | |
633 | 629 | // one flag is tied to one cross product value |
634 | 630 | if (dat == cmd_affix.end()) { |
635 | 631 | char cross_char; // 'Y' or 'N' |
636 | 632 | size_t cnt; |
637 | 633 | auto& cross_and_cnt = cmd_affix[command]; // == false, 0 |
638 | 634 | in >> cross_char >> cnt; |
639 | if (in.fail()) | |
635 | if (in.fail()) { | |
636 | p.err = Parsing_Error_Code::ISTREAM_READING_ERROR; | |
640 | 637 | return; |
638 | } | |
641 | 639 | if (cross_char != 'Y' && cross_char != 'N') { |
640 | p.err = Err::AFX_CROSS_CHAR_INVALID; | |
642 | 641 | in.setstate(in.failbit); |
643 | 642 | return; |
644 | 643 | } |
647 | 646 | } |
648 | 647 | else if (dat->second.second) { |
649 | 648 | dat->second.second--; |
650 | vec.emplace_back(); | |
651 | auto& elem = vec.back(); | |
649 | auto& elem = vec.emplace_back(); | |
652 | 650 | elem.flag = f; |
653 | 651 | elem.cross_product = dat->second.first; |
654 | in >> p(elem.stripping); | |
652 | p.parse(in, elem.stripping); | |
655 | 653 | if (elem.stripping == "0") |
656 | 654 | elem.stripping.clear(); |
657 | in >> p(elem.appending, elem.cont_flags); | |
655 | p.parse(in, elem.appending, elem.cont_flags); | |
658 | 656 | if (elem.appending == "0") |
659 | 657 | elem.appending.clear(); |
660 | 658 | if (in.fail()) |
661 | 659 | return; |
662 | auto old_mask = in.exceptions(); | |
663 | in.exceptions(in.goodbit); | |
664 | in >> p(elem.condition); // optional | |
660 | p.parse(in, elem.condition); // optional | |
665 | 661 | if (in.fail() && in.eof() && !in.bad()) { |
666 | 662 | elem.condition = "."; |
663 | p.err = {}; | |
667 | 664 | reset_failbit_istream(in); |
668 | 665 | } |
669 | in.exceptions(old_mask); | |
670 | 666 | |
671 | 667 | // in >> elem.morphological_fields; |
672 | 668 | } |
673 | 669 | else { |
674 | cerr << "Nuspell warning: extra entries of " | |
675 | << command.substr(0, 3) << "\n"; | |
670 | p.err = Parsing_Error_Code::ARRAY_COMMAND_EXTRA_ENTRIES_WARNING; | |
676 | 671 | } |
677 | 672 | } |
678 | 673 | |
679 | 674 | } // namespace |
680 | 675 | |
681 | auto Aff_Data::parse_aff(istream& in) -> bool | |
676 | auto Aff_Data::parse_aff(istream& in, ostream& err_msg) -> bool | |
682 | 677 | { |
683 | 678 | auto prefixes = vector<Prefix>(); |
684 | 679 | auto suffixes = vector<Suffix>(); |
763 | 758 | auto command = string(); |
764 | 759 | auto line_num = size_t(0); |
765 | 760 | auto ss = istringstream(); |
766 | auto p = Aff_Line_IO_Manip(*this); | |
761 | auto p = Aff_Line_Parser(*this); | |
767 | 762 | auto error_happened = false; |
768 | 763 | // while parsing, the streams must have plain ascii locale without |
769 | 764 | // any special number separator otherwise istream >> int might fail |
778 | 773 | ss.clear(); |
779 | 774 | p.err = {}; |
780 | 775 | ss >> ws; |
781 | if (ss.eof() || ss.peek() == '#') { | |
776 | if (ss.eof() || ss.peek() == '#') | |
782 | 777 | continue; // skip comment or empty lines |
783 | } | |
784 | 778 | ss >> command; |
785 | 779 | to_upper_ascii(command); |
786 | 780 | if (command == "SFX") { |
792 | 786 | else if (command_strings.count(command)) { |
793 | 787 | auto& str = *command_strings[command]; |
794 | 788 | if (str.empty()) |
795 | ss >> p(str); | |
789 | p.parse(ss, str); | |
796 | 790 | else |
797 | cerr << "Nuspell warning: " | |
798 | "setting " | |
799 | << command << " more than once, ignoring\n" | |
800 | << "Nuspell warning in line " << line_num | |
801 | << endl; | |
791 | p.err = Parsing_Error_Code:: | |
792 | MULTIPLE_ENTRIES_WARNING; | |
802 | 793 | } |
803 | 794 | else if (command_bools.count(command)) { |
804 | 795 | *command_bools[command] = true; |
812 | 803 | max_diff_factor = 5; |
813 | 804 | } |
814 | 805 | else if (command_flag.count(command)) { |
815 | ss >> p(*command_flag[command]); | |
806 | p.parse(ss, *command_flag[command]); | |
816 | 807 | } |
817 | 808 | else if (command == "MAP") { |
818 | 809 | parse_vector_of_T(ss, p, command, cmd_with_vec_cnt, |
824 | 815 | vec); |
825 | 816 | } |
826 | 817 | else if (command == "SET") { |
827 | if (encoding.empty()) { | |
828 | ss >> p(encoding); | |
829 | } | |
830 | else { | |
831 | cerr << "Nuspell warning: " | |
832 | "setting " | |
833 | << command << " more than once, ignoring\n" | |
834 | << "Nuspell warning in line " << line_num | |
835 | << endl; | |
836 | } | |
818 | if (encoding.empty()) | |
819 | p.parse(ss, encoding); | |
820 | else | |
821 | p.err = Parsing_Error_Code:: | |
822 | MULTIPLE_ENTRIES_WARNING; | |
837 | 823 | } |
838 | 824 | else if (command == "FLAG") { |
839 | ss >> p(flag_type); | |
825 | p.parse(ss, flag_type); | |
840 | 826 | } |
841 | 827 | else if (command == "LANG") { |
842 | ss >> p(icu_locale); | |
828 | p.parse(ss, icu_locale); | |
843 | 829 | } |
844 | 830 | else if (command == "AF") { |
845 | 831 | parse_vector_of_T(ss, p, command, cmd_with_vec_cnt, |
864 | 850 | } |
865 | 851 | else if (command == "COMPOUNDSYLLABLE") { |
866 | 852 | ss >> compound_syllable_max; |
867 | ss >> p(compound_syllable_vowels); | |
853 | p.parse(ss, compound_syllable_vowels); | |
868 | 854 | } |
869 | 855 | else if (command == "WORDCHARS") { |
870 | ss >> wordchars; | |
856 | p.parse(ss, wordchars); | |
871 | 857 | } |
872 | 858 | if (ss.fail()) { |
859 | assert(static_cast<int>(p.err) > 0); | |
873 | 860 | error_happened = true; |
874 | cerr | |
875 | << "Nuspell error: could not parse affix file line " | |
876 | << line_num << ": " << line << endl; | |
877 | report_parsing_error(p.err, line_num); | |
861 | err_msg << "Nuspell error: could not parse affix file. " | |
862 | << line_num << ": " << line << '\n' | |
863 | << get_parsing_error_message(p.err) << endl; | |
878 | 864 | } |
879 | 865 | else if (p.err != Parsing_Error_Code::NO_ERROR) { |
880 | cerr | |
881 | << "Nuspell warning: while parsing affix file line " | |
882 | << line_num << ": " << line << endl; | |
883 | report_parsing_error(p.err, line_num); | |
866 | assert(static_cast<int>(p.err) < 0); | |
867 | err_msg << "Nuspell warning: while parsing affix file. " | |
868 | << line_num << ": " << line << '\n' | |
869 | << get_parsing_error_message(p.err) << endl; | |
884 | 870 | } |
885 | 871 | } |
886 | 872 | // default BREAK definition |
909 | 895 | this->prefixes = std::move(prefixes); |
910 | 896 | this->suffixes = std::move(suffixes); |
911 | 897 | |
912 | cerr.flush(); | |
913 | 898 | return in.eof() && !error_happened; // true for success |
914 | 899 | } |
915 | 900 | |
916 | auto Aff_Data::parse_dic(istream& in) -> bool | |
901 | auto Aff_Data::parse_dic(istream& in, ostream& err_msg) -> bool | |
917 | 902 | { |
918 | 903 | size_t line_number = 1; |
919 | 904 | size_t approximate_size; |
930 | 915 | in.imbue(locale::classic()); |
931 | 916 | |
932 | 917 | strip_utf8_bom(in); |
933 | if (in >> approximate_size) | |
934 | words.reserve(approximate_size); | |
935 | else | |
918 | in >> approximate_size; | |
919 | if (in.fail()) { | |
920 | err_msg << "Nuspell error: while parsing first line of .dic " | |
921 | "file. There is no number." | |
922 | << endl; | |
936 | 923 | return false; |
924 | } | |
925 | words.reserve(approximate_size); | |
937 | 926 | getline(in, line); |
938 | 927 | |
939 | 928 | while (getline(in, line)) { |
997 | 986 | flags_str == "None")) |
998 | 987 | err = Parsing_Error_Code:: |
999 | 988 | NO_FLAGS_AFTER_SLASH_WARNING; |
1000 | report_parsing_error(err, line_number); | |
1001 | 989 | if (static_cast<int>(err) > 0) { |
990 | err_msg << "Nuspell error: while parsing " | |
991 | ".dic file. " | |
992 | << line_number << ": " << line << '\n' | |
993 | << get_parsing_error_message(err) | |
994 | << endl; | |
1002 | 995 | success = false; |
1003 | 996 | continue; |
997 | } | |
998 | else if (static_cast<int>(err) < 0) { | |
999 | err_msg << "Nuspell warning: while parsing " | |
1000 | ".dic file. " | |
1001 | << line_number << ": " << line << '\n' | |
1002 | << get_parsing_error_message(err) | |
1003 | << endl; | |
1004 | 1004 | } |
1005 | 1005 | } |
1006 | 1006 | if (empty(word)) |
158 | 158 | std::vector<Flag_Set> flag_aliases; |
159 | 159 | std::string wordchars; // deprecated? |
160 | 160 | |
161 | auto parse_aff(std::istream& in) -> bool; | |
162 | auto parse_dic(std::istream& in) -> bool; | |
163 | auto parse_aff_dic(std::istream& aff, std::istream& dic) | |
161 | auto parse_aff(std::istream& in, std::ostream& err_msg) -> bool; | |
162 | auto parse_dic(std::istream& in, std::ostream& err_msg) -> bool; | |
163 | auto parse_aff_dic(std::istream& aff, std::istream& dic, | |
164 | std::ostream& err_msg) | |
164 | 165 | { |
165 | if (parse_aff(aff)) | |
166 | return parse_dic(dic); | |
166 | if (parse_aff(aff, err_msg)) | |
167 | return parse_dic(dic, err_msg); | |
167 | 168 | return false; |
168 | 169 | } |
169 | 170 | }; |
19 | 19 | #include "utils.hxx" |
20 | 20 | |
21 | 21 | #include <fstream> |
22 | #include <iostream> | |
22 | #include <sstream> | |
23 | 23 | #include <stdexcept> |
24 | 24 | |
25 | 25 | using namespace std; |
44 | 44 | */ |
45 | 45 | auto Dictionary::load_aff_dic(std::istream& aff, std::istream& dic) -> void |
46 | 46 | { |
47 | if (!parse_aff_dic(aff, dic)) | |
48 | throw Dictionary_Loading_Error("error parsing"); | |
47 | auto err_msg = ostringstream(); | |
48 | if (!parse_aff_dic(aff, dic, err_msg)) | |
49 | throw Dictionary_Loading_Error(std::move(err_msg).str()); | |
50 | } | |
51 | ||
52 | static auto open_aff_dic(const filesystem::path& aff_path) | |
53 | -> pair<ifstream, ifstream> | |
54 | { | |
55 | auto aff_file = ifstream(aff_path); | |
56 | if (aff_file.fail()) { | |
57 | auto err = "Aff file " + aff_path.string() + " not found."; | |
58 | throw Dictionary_Loading_Error(err); | |
59 | } | |
60 | auto dic_path = aff_path; | |
61 | dic_path.replace_extension(".dic"); | |
62 | auto dic_file = ifstream(dic_path); | |
63 | if (dic_file.fail()) { | |
64 | auto err = "Dic file " + dic_path.string() + " not found."; | |
65 | throw Dictionary_Loading_Error(err); | |
66 | } | |
67 | return {move(aff_file), move(dic_file)}; | |
49 | 68 | } |
50 | 69 | |
51 | 70 | /** |
57 | 76 | */ |
58 | 77 | auto Dictionary::load_aff_dic(const std::filesystem::path& aff_path) -> void |
59 | 78 | { |
60 | auto aff_file = ifstream(aff_path); | |
61 | if (aff_file.fail()) { | |
62 | auto err = "Aff file " + aff_path.string() + " not found"; | |
63 | throw Dictionary_Loading_Error(err); | |
64 | } | |
65 | auto dic_path = aff_path; | |
66 | dic_path.replace_extension(".dic"); | |
67 | auto dic_file = ifstream(dic_path); | |
68 | if (dic_file.fail()) { | |
69 | auto err = "Dic file " + dic_path.string() + " not found"; | |
70 | throw Dictionary_Loading_Error(err); | |
71 | } | |
72 | load_aff_dic(aff_file, dic_file); | |
79 | auto [aff, dic] = open_aff_dic(aff_path); | |
80 | load_aff_dic(aff, dic); | |
81 | } | |
82 | ||
83 | auto Dictionary::load_aff_dic_internal(const std::filesystem::path& aff_path, | |
84 | std::ostream& err_msg) -> void | |
85 | { | |
86 | auto [aff, dic] = open_aff_dic(aff_path); | |
87 | if (!parse_aff_dic(aff, dic, err_msg)) | |
88 | throw Dictionary_Loading_Error("Parsing error."); | |
73 | 89 | } |
74 | 90 | |
75 | 91 | /** |
88 | 104 | auto Dictionary::load_from_aff_dic(std::istream& aff, std::istream& dic) |
89 | 105 | -> Dictionary |
90 | 106 | { |
91 | return Dictionary(aff, dic); | |
107 | auto d = Dictionary(); | |
108 | d.load_aff_dic(aff, dic); | |
109 | return d; | |
92 | 110 | } |
93 | 111 | |
94 | 112 | /** |
42 | 42 | * @brief The only important public class |
43 | 43 | */ |
44 | 44 | class NUSPELL_EXPORT Dictionary : private Suggester { |
45 | Dictionary(std::istream& aff, std::istream& dic); | |
45 | [[deprecated]] Dictionary(std::istream& aff, std::istream& dic); | |
46 | 46 | |
47 | 47 | public: |
48 | 48 | Dictionary(); |
49 | 49 | auto load_aff_dic(std::istream& aff, std::istream& dic) -> void; |
50 | 50 | auto load_aff_dic(const std::filesystem::path& aff_path) -> void; |
51 | ||
52 | /** | |
53 | * @internal | |
54 | * @brief Do not use, only for Nuspell's CLI tool | |
55 | */ | |
56 | auto load_aff_dic_internal(const std::filesystem::path& aff_path, | |
57 | std::ostream& err_msg) -> void; | |
58 | ||
51 | 59 | [[deprecated]] auto static load_from_aff_dic(std::istream& aff, |
52 | 60 | std::istream& dic) |
53 | 61 | -> Dictionary; |
348 | 348 | [](const fs::path& p) { return p.string(); }); |
349 | 349 | } |
350 | 350 | |
351 | auto search_dir_for_dicts(const string& dir_path, | |
352 | vector<pair<string, string>>& dict_list) -> void | |
353 | { | |
354 | auto out = vector<fs::path>(); | |
355 | search_dir_for_dicts(dir_path, out); | |
356 | transform(begin(out), end(out), back_inserter(dict_list), | |
357 | [](const fs::path& p) { | |
351 | static auto new_to_old_dict_list(vector<fs::path>& new_aff_paths, | |
352 | vector<pair<string, string>>& dict_list) | |
353 | -> void | |
354 | { | |
355 | transform(begin(new_aff_paths), end(new_aff_paths), | |
356 | back_inserter(dict_list), [](const fs::path& p) { | |
358 | 357 | return pair{p.stem().string(), |
359 | 358 | fs::path(p).replace_extension().string()}; |
360 | 359 | }); |
361 | 360 | } |
362 | 361 | |
362 | auto search_dir_for_dicts(const string& dir_path, | |
363 | vector<pair<string, string>>& dict_list) -> void | |
364 | { | |
365 | auto new_dict_list = vector<fs::path>(); | |
366 | search_dir_for_dicts(dir_path, new_dict_list); | |
367 | new_to_old_dict_list(new_dict_list, dict_list); | |
368 | } | |
369 | ||
363 | 370 | auto search_dirs_for_dicts(const std::vector<string>& dir_paths, |
364 | 371 | std::vector<std::pair<string, string>>& dict_list) |
365 | 372 | -> void |
366 | 373 | { |
374 | auto new_dict_list = vector<fs::path>(); | |
367 | 375 | for (auto& p : dir_paths) |
368 | search_dir_for_dicts(p, dict_list); | |
376 | search_dir_for_dicts(p, new_dict_list); | |
377 | new_to_old_dict_list(new_dict_list, dict_list); | |
369 | 378 | } |
370 | 379 | |
371 | 380 | auto search_default_dirs_for_dicts( |
372 | 381 | std::vector<std::pair<std::string, std::string>>& dict_list) -> void |
373 | 382 | { |
374 | auto dir_paths = vector<string>(); | |
375 | append_default_dir_paths(dir_paths); | |
376 | search_dirs_for_dicts(dir_paths, dict_list); | |
383 | auto new_dir_paths = vector<fs::path>(); | |
384 | auto new_dict_list = vector<fs::path>(); | |
385 | append_default_dir_paths(new_dir_paths); | |
386 | search_dirs_for_dicts(new_dir_paths, new_dict_list); | |
387 | new_to_old_dict_list(new_dict_list, dict_list); | |
377 | 388 | } |
378 | 389 | |
379 | 390 | auto find_dictionary( |
385 | 396 | [&](auto& e) { return e.first == dict_name; }); |
386 | 397 | } |
387 | 398 | |
388 | Dict_Finder_For_CLI_Tool::Dict_Finder_For_CLI_Tool() | |
389 | { | |
390 | } | |
399 | Dict_Finder_For_CLI_Tool::Dict_Finder_For_CLI_Tool() {} | |
391 | 400 | auto Dict_Finder_For_CLI_Tool::get_dictionary_path(const std::string&) const |
392 | 401 | -> std::string |
393 | 402 | { |
877 | 877 | class Prefix_Multiset { |
878 | 878 | public: |
879 | 879 | using Value_Type = T; |
880 | using Key_Type = std::remove_reference_t<decltype( | |
881 | std::declval<Key_Extr>()(std::declval<T>()))>; | |
880 | using Key_Type = | |
881 | std::remove_reference_t<decltype(std::declval<Key_Extr>()( | |
882 | std::declval<T>()))>; | |
882 | 883 | using Char_Type = typename Key_Type::value_type; |
883 | 884 | using Traits = typename Key_Type::traits_type; |
884 | 885 | using Vector_Type = std::vector<T>; |
885 | 886 | using Iterator = typename Vector_Type::const_iterator; |
886 | 887 | |
887 | 888 | private: |
888 | struct Ebo_Key_Extr : public Key_Extr { | |
889 | }; | |
890 | struct Ebo_Key_Transf : public Key_Transform { | |
891 | }; | |
889 | struct Ebo_Key_Extr : public Key_Extr {}; | |
890 | struct Ebo_Key_Transf : public Key_Transform {}; | |
892 | 891 | struct Ebo : public Ebo_Key_Extr, Ebo_Key_Transf { |
893 | 892 | Vector_Type table; |
894 | 893 | } ebo; |
1259 | 1258 | } |
1260 | 1259 | auto begin() const { return table.data().begin(); } |
1261 | 1260 | auto end() const { return table.data().end(); } |
1261 | auto size() const { return table.data().size(); } | |
1262 | 1262 | |
1263 | 1263 | auto has_continuation_flags() const |
1264 | 1264 | { |
1310 | 1310 | } |
1311 | 1311 | auto begin() const { return table.data().begin(); } |
1312 | 1312 | auto end() const { return table.data().end(); } |
1313 | auto size() const { return table.data().size(); } | |
1313 | 1314 | |
1314 | 1315 | auto has_continuation_flags() const |
1315 | 1316 | { |
219 | 219 | auto Suggester::suggest_low(std::string& word, List_Strings& out) const |
220 | 220 | -> High_Quality_Sugs |
221 | 221 | { |
222 | auto ret = ALL_LOW_QUALITY_SUGS; | |
223 | 222 | auto old_size = out.size(); |
224 | 223 | uppercase_suggest(word, out); |
225 | 224 | rep_suggest(word, out); |
226 | 225 | map_suggest(word, out); |
227 | ret = High_Quality_Sugs(old_size != out.size()); | |
226 | auto high_quality_sugs = | |
227 | old_size != out.size() || | |
228 | ||
229 | // If the word is already correct, set high_quality_sugs as true, | |
230 | // which then disables the expensive ngram sugs and makes the | |
231 | // benchmarks happy. In Hunspell, its map_suggest() adds the word as | |
232 | // suggestion if it's already correct and achieves the same. | |
233 | (!empty(similarities) && | |
234 | check_word(word, FORBID_BAD_FORCEUCASE, SKIP_HIDDEN_HOMONYM)); | |
228 | 235 | adjacent_swap_suggest(word, out); |
229 | 236 | distant_swap_suggest(word, out); |
230 | 237 | keyboard_suggest(word, out); |
234 | 241 | bad_char_suggest(word, out); |
235 | 242 | doubled_two_chars_suggest(word, out); |
236 | 243 | two_words_suggest(word, out); |
237 | return ret; | |
244 | return High_Quality_Sugs(high_quality_sugs); | |
238 | 245 | } |
239 | 246 | |
240 | 247 | auto Suggester::add_sug_if_correct(std::string& word, List_Strings& out) const |
377 | 384 | |
378 | 385 | auto Suggester::max_attempts_for_long_alogs(string_view word) const -> size_t |
379 | 386 | { |
380 | auto ret = 10'000'000 / size(word); | |
387 | unsigned long long p = size(prefixes) / 20; | |
388 | unsigned long long s = size(suffixes) / 20; | |
389 | auto cost = 1 + p + s + p * s; | |
390 | if (!complex_prefixes) | |
391 | cost += s * s + 2 * p * s * s; | |
392 | else | |
393 | cost += p * p + 2 * s * p * p; | |
394 | cost = clamp(cost, 250'000ull, 25'000'000'000ull); | |
395 | auto ret = 25'000'000'000 / cost; | |
381 | 396 | if (compound_flag || compound_begin_flag || compound_last_flag || |
382 | 397 | compound_middle_flag) |
383 | 398 | ret /= size(word); |
324 | 324 | { |
325 | 325 | if (cnv) |
326 | 326 | ucnv_close(cnv); |
327 | } | |
328 | ||
329 | Encoding_Converter::Encoding_Converter(const Encoding_Converter& other) | |
330 | { | |
331 | auto err = UErrorCode(); | |
332 | cnv = ucnv_safeClone(other.cnv, nullptr, nullptr, &err); | |
333 | } | |
334 | ||
335 | auto Encoding_Converter::operator=(const Encoding_Converter& other) | |
336 | -> Encoding_Converter& | |
337 | { | |
338 | this->~Encoding_Converter(); | |
339 | auto err = UErrorCode(); | |
340 | cnv = ucnv_safeClone(other.cnv, nullptr, nullptr, &err); | |
341 | return *this; | |
342 | 327 | } |
343 | 328 | |
344 | 329 | auto Encoding_Converter::to_utf8(string_view in, string& out) -> bool |
117 | 117 | { |
118 | 118 | } |
119 | 119 | ~Encoding_Converter(); |
120 | Encoding_Converter(const Encoding_Converter& other); | |
120 | Encoding_Converter(const Encoding_Converter& other) = delete; | |
121 | 121 | Encoding_Converter(Encoding_Converter&& other) noexcept |
122 | 122 | { |
123 | 123 | cnv = other.cnv; |
124 | 124 | cnv = nullptr; |
125 | 125 | } |
126 | auto operator=(const Encoding_Converter& other) -> Encoding_Converter&; | |
126 | auto operator=(const Encoding_Converter& other) | |
127 | -> Encoding_Converter& = delete; | |
127 | 128 | auto operator=(Encoding_Converter&& other) noexcept |
128 | 129 | -> Encoding_Converter& |
129 | 130 | { |
0 | 0 | add_executable(nuspell-exe nuspell.cxx) |
1 | 1 | set_target_properties(nuspell-exe PROPERTIES RUNTIME_OUTPUT_NAME nuspell) |
2 | 2 | target_compile_definitions(nuspell-exe PRIVATE |
3 | PROJECT_VERSION=\"${PROJECT_VERSION}\") | |
4 | target_link_libraries(nuspell-exe Nuspell::nuspell) | |
3 | PROJECT_VERSION=\"${PROJECT_VERSION}\") | |
4 | target_link_libraries(nuspell-exe PRIVATE Nuspell::nuspell) | |
5 | if (MSVC) | |
6 | target_include_directories(nuspell-exe PRIVATE ${GETOPT_INCLUDE_DIR}) | |
7 | target_link_libraries(nuspell-exe PRIVATE ${GETOPT_LIBRARY}) | |
8 | endif() | |
5 | 9 | if (BUILD_SHARED_LIBS AND WIN32) |
6 | # This should be PRE_LINK (or PRE_BUILD), so Vcpkg's POST_BUILD | |
7 | # step (see VCPKG_APPLOCAL_DEPS) that copies dll can pick up nuspell.dll | |
8 | # inside the folder ../tools and copy its transitive dependencies. | |
9 | add_custom_command(TARGET nuspell-exe PRE_LINK | |
10 | COMMAND ${CMAKE_COMMAND} -E copy_if_different | |
11 | $<TARGET_FILE:nuspell> $<TARGET_FILE_DIR:nuspell-exe>) | |
10 | # This should be PRE_LINK (or PRE_BUILD), so Vcpkg's POST_BUILD | |
11 | # step (see VCPKG_APPLOCAL_DEPS) that copies dll can pick up nuspell.dll | |
12 | # inside the folder ../tools and copy its transitive dependencies. | |
13 | add_custom_command(TARGET nuspell-exe PRE_LINK | |
14 | COMMAND ${CMAKE_COMMAND} -E copy_if_different | |
15 | $<TARGET_FILE:nuspell> $<TARGET_FILE_DIR:nuspell-exe>) | |
12 | 16 | endif() |
13 | 17 | if (NOT subproject) |
14 | install(TARGETS nuspell-exe DESTINATION ${CMAKE_INSTALL_BINDIR}) | |
18 | install(TARGETS nuspell-exe DESTINATION ${CMAKE_INSTALL_BINDIR}) | |
15 | 19 | endif() |
26 | 26 | #include <unicode/brkiter.h> |
27 | 27 | #include <unicode/ucnv.h> |
28 | 28 | |
29 | #if __has_include(<getopt.h>) | |
30 | #define HAVE_GETOPT_H 1 | |
31 | 29 | #include <getopt.h> |
32 | #endif | |
30 | ||
33 | 31 | #if __has_include(<unistd.h>) |
34 | 32 | #include <unistd.h> // defines _POSIX_VERSION |
35 | 33 | #endif |
335 | 333 | auto dictionary = string(); |
336 | 334 | auto input_enc = string(); |
337 | 335 | auto output_enc = string(); |
338 | const char* const* files_first = nullptr; | |
339 | const char* const* files_last = nullptr; | |
340 | 336 | |
341 | 337 | if (argc > 0 && argv[0]) |
342 | 338 | program_name = argv[0]; |
343 | 339 | |
344 | 340 | ios_base::sync_with_stdio(false); |
345 | 341 | |
346 | #if HAVE_GETOPT_H | |
347 | 342 | auto optstring = "d:D"; |
348 | 343 | option longopts[] = { |
349 | 344 | {"help", no_argument, &mode_int, Mode::HELP}, |
382 | 377 | return EXIT_FAILURE; |
383 | 378 | } |
384 | 379 | } |
385 | files_first = &argv[optind]; | |
386 | files_last = &argv[argc]; | |
387 | #endif | |
388 | 380 | auto mode = static_cast<Mode>(mode_int); |
389 | 381 | if (mode == Mode::VERSION) { |
390 | 382 | print_version(); |
436 | 428 | if (output_enc.empty()) |
437 | 429 | output_enc = enc_str; |
438 | 430 | #elif _WIN32 |
439 | if (_isatty(_fileno(stdin))) | |
431 | if (optind == argc && _isatty(_fileno(stdin))) | |
440 | 432 | input_enc = "cp" + to_string(GetConsoleCP()); |
441 | 433 | else if (input_enc.empty()) |
442 | 434 | input_enc = "UTF-8"; |
448 | 440 | auto loc_str_sv = string_view(loc_str); |
449 | 441 | clog << "INFO: Locale LC_CTYPE=" << loc_str_sv |
450 | 442 | << ", Input encoding=" << input_enc |
451 | << ", Output encoding=" << output_enc << '\n'; | |
443 | << ", Output encoding=" << output_enc << endl; | |
452 | 444 | |
453 | 445 | if (dictionary.empty()) { |
454 | 446 | auto denv = getenv("DICTIONARY"); |
461 | 453 | dictionary = loc_str_sv.substr(0, idx); |
462 | 454 | } |
463 | 455 | if (dictionary.empty()) { |
464 | cerr << "No dictionary provided and can not infer from OS " | |
465 | "locale\n"; | |
456 | clog << "ERROR: No dictionary provided and can not infer from " | |
457 | "OS locale\n"; | |
466 | 458 | return EXIT_FAILURE; |
467 | 459 | } |
468 | 460 | auto filename = f.get_dictionary_path(dictionary); |
469 | 461 | if (filename.empty()) { |
470 | cerr << "Dictionary " << dictionary << " not found\n"; | |
462 | clog << "ERROR: Dictionary " << dictionary << " not found\n"; | |
471 | 463 | return EXIT_FAILURE; |
472 | 464 | } |
473 | clog << "INFO: Pointed dictionary " << filename.string() << '\n'; | |
465 | clog << "INFO: Pointed dictionary " << filename.string() << endl; | |
474 | 466 | auto dic = Dictionary(); |
475 | 467 | try { |
476 | dic.load_aff_dic(filename); | |
468 | dic.load_aff_dic_internal(filename, clog); | |
477 | 469 | } |
478 | 470 | catch (const Dictionary_Loading_Error& e) { |
479 | cerr << e.what() << '\n'; | |
471 | clog << "ERROR: " << e.what() << '\n'; | |
480 | 472 | return EXIT_FAILURE; |
481 | 473 | } |
482 | 474 | // ICU reports all types of errors, logic errors and runtime errors |
497 | 489 | auto in_ucnv = |
498 | 490 | icu::LocalUConverterPointer(ucnv_open(inp_enc_cstr, &uerr)); |
499 | 491 | if (U_FAILURE(uerr)) { |
500 | cerr << "ERROR: Invalid encoding " << input_enc << ".\n"; | |
492 | clog << "ERROR: Invalid encoding " << input_enc << ".\n"; | |
501 | 493 | return EXIT_FAILURE; |
502 | 494 | } |
503 | 495 | |
504 | auto out_enc_cstr = output_enc.c_str(); | |
505 | if (output_enc.empty()) { | |
506 | out_enc_cstr = nullptr; | |
507 | clog << "WARNING: using default ICU encoding converter for IO" | |
508 | << endl; | |
509 | } | |
510 | auto out_ucnv = | |
511 | icu::LocalUConverterPointer(ucnv_open(out_enc_cstr, &uerr)); | |
512 | if (U_FAILURE(uerr)) { | |
513 | cerr << "ERROR: Invalid encoding " << output_enc << ".\n"; | |
514 | return EXIT_FAILURE; | |
515 | } | |
516 | ||
517 | if (files_first == files_last) { | |
518 | process_text(dic, cin, in_ucnv.getAlias(), cout, | |
519 | out_ucnv.getAlias(), uerr); | |
496 | auto out_ucnv_smart_ptr = icu::LocalUConverterPointer(); | |
497 | auto out_ucnv = in_ucnv.getAlias(); // often output_enc is same as input | |
498 | if (output_enc != input_enc) { | |
499 | auto output_enc_cstr = output_enc.c_str(); | |
500 | if (output_enc.empty()) { | |
501 | output_enc_cstr = nullptr; | |
502 | clog << "WARNING: using default ICU encoding converter " | |
503 | "for IO" | |
504 | << endl; | |
505 | } | |
506 | out_ucnv = ucnv_open(output_enc_cstr, &uerr); | |
507 | out_ucnv_smart_ptr.adoptInstead(out_ucnv); | |
508 | if (U_FAILURE(uerr)) { | |
509 | clog << "ERROR: Invalid encoding " << output_enc | |
510 | << ".\n"; | |
511 | return EXIT_FAILURE; | |
512 | } | |
513 | } | |
514 | ||
515 | if (optind == argc) { | |
516 | process_text(dic, cin, in_ucnv.getAlias(), cout, out_ucnv, | |
517 | uerr); | |
520 | 518 | } |
521 | 519 | else { |
522 | for (auto it = files_first; it != files_last; ++it) { | |
523 | auto file_name = *it; | |
520 | for (; optind != argc; ++optind) { | |
521 | auto file_name = argv[optind]; | |
524 | 522 | ifstream in(file_name); |
525 | 523 | if (!in.is_open()) { |
526 | cerr << "Can't open " << file_name << '\n'; | |
524 | clog << "ERROR: Can't open " << file_name | |
525 | << '\n'; | |
527 | 526 | return EXIT_FAILURE; |
528 | 527 | } |
529 | 528 | process_text(dic, in, in_ucnv.getAlias(), cout, |
530 | out_ucnv.getAlias(), uerr); | |
531 | } | |
532 | } | |
533 | } | |
529 | out_ucnv, uerr); | |
530 | } | |
531 | } | |
532 | } |
0 | 0 | add_executable(unit_test unit_test.cxx catch_main.cxx) |
1 | target_link_libraries(unit_test nuspell Catch2::Catch2) | |
1 | target_link_libraries(unit_test PRIVATE nuspell Catch2::Catch2) | |
2 | 2 | if (MSVC) |
3 | target_compile_options(unit_test PRIVATE "/utf-8") | |
4 | # Consider doing this for all the other targets by setting this flag | |
5 | # globally for MSVC. ATM we use unicode string literals only in the tests. | |
3 | target_compile_options(unit_test PRIVATE "/utf-8") | |
4 | # Consider doing this for all the other targets by setting this flag | |
5 | # globally for MSVC. ATM we use unicode string literals only here. | |
6 | 6 | endif() |
7 | 7 | |
8 | 8 | add_executable(legacy_test legacy_test.cxx) |
9 | target_link_libraries(legacy_test nuspell) | |
9 | target_link_libraries(legacy_test PRIVATE nuspell) | |
10 | 10 | |
11 | 11 | add_executable(verify verify.cxx) |
12 | target_link_libraries(verify nuspell hunspell) | |
12 | target_link_libraries(verify PRIVATE nuspell hunspell) | |
13 | if (MSVC) | |
14 | target_include_directories(verify PRIVATE ${GETOPT_INCLUDE_DIR}) | |
15 | target_link_libraries(verify PRIVATE ${GETOPT_LIBRARY}) | |
16 | endif() | |
13 | 17 | |
14 | 18 | if (BUILD_SHARED_LIBS AND WIN32) |
15 | add_custom_command(TARGET verify PRE_LINK | |
16 | COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:nuspell> | |
17 | $<TARGET_FILE:hunspell> $<TARGET_FILE_DIR:unit_test>) | |
19 | add_custom_command(TARGET verify PRE_LINK | |
20 | COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:nuspell> | |
21 | $<TARGET_FILE:hunspell> $<TARGET_FILE_DIR:unit_test>) | |
18 | 22 | endif() |
19 | 23 | |
20 | 24 | add_test(NAME unit_test COMMAND unit_test) |
21 | 25 | |
22 | 26 | file(GLOB v1tests |
23 | RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/v1cmdline | |
24 | "v1cmdline/*.dic" | |
25 | "v1cmdline/*.sug") | |
27 | RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/v1cmdline | |
28 | "v1cmdline/*.dic" | |
29 | "v1cmdline/*.sug") | |
26 | 30 | foreach(t ${v1tests}) |
27 | add_test( | |
28 | NAME ${t} | |
29 | COMMAND legacy_test ${CMAKE_CURRENT_SOURCE_DIR}/v1cmdline/${t}) | |
31 | add_test( | |
32 | NAME ${t} | |
33 | COMMAND legacy_test ${CMAKE_CURRENT_SOURCE_DIR}/v1cmdline/${t}) | |
30 | 34 | endforeach() |
31 | 35 | |
32 | 36 | set_tests_properties( |
0 | # source: http://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines | |
1 | # released under the Creative Commons Attribution-Share-Alike License 3.0 | |
2 | # http://creativecommons.org/licenses/by-sa/3.0/ | |
3 | ||
4 | abandonned abandoned | |
5 | aberation aberration | |
6 | abilties abilities | |
7 | abilty ability | |
8 | abondon abandon | |
9 | abondoned abandoned | |
10 | abondoning abandoning | |
11 | abondons abandons | |
12 | aborigene aborigine | |
13 | abortificant abortifacient | |
14 | abreviated abbreviated | |
15 | abreviation abbreviation | |
16 | abritrary arbitrary | |
17 | absense absence | |
18 | absolutly absolutely | |
19 | absorbsion absorption | |
20 | absorbtion absorption | |
21 | abundacies abundances | |
22 | abundancies abundances | |
23 | abundunt abundant | |
24 | abutts abuts | |
25 | acadamy academy | |
26 | acadmic academic | |
27 | accademic academic | |
28 | accademy academy | |
29 | acccused accused | |
30 | accelleration acceleration | |
31 | accension accession, ascension | |
32 | acceptence acceptance | |
33 | acceptible acceptable | |
34 | accessable accessible | |
35 | accidentaly accidentally | |
36 | accidently accidentally | |
37 | acclimitization acclimatization | |
38 | acommodate accommodate | |
39 | accomadate accommodate | |
40 | accomadated accommodated | |
41 | accomadates accommodates | |
42 | accomadating accommodating | |
43 | accomadation accommodation | |
44 | accomadations accommodations | |
45 | accomdate accommodate | |
46 | accomodate accommodate | |
47 | accomodated accommodated | |
48 | accomodates accommodates | |
49 | accomodating accommodating | |
50 | accomodation accommodation | |
51 | accomodations accommodations | |
52 | accompanyed accompanied | |
53 | accordeon accordion | |
54 | accordian accordion | |
55 | accoring according | |
56 | accoustic acoustic | |
57 | accquainted acquainted | |
58 | accross across | |
59 | accussed accused | |
60 | acedemic academic | |
61 | acheive achieve | |
62 | acheived achieved | |
63 | acheivement achievement | |
64 | acheivements achievements | |
65 | acheives achieves | |
66 | acheiving achieving | |
67 | acheivment achievement | |
68 | acheivments achievements | |
69 | achievment achievement | |
70 | achievments achievements | |
71 | achive achieve, archive | |
72 | achived achieved, archived | |
73 | achivement achievement | |
74 | achivements achievements | |
75 | acknowldeged acknowledged | |
76 | acknowledgeing acknowledging | |
77 | ackward awkward, backward | |
78 | acomplish accomplish | |
79 | acomplished accomplished | |
80 | acomplishment accomplishment | |
81 | acomplishments accomplishments | |
82 | acording according | |
83 | acordingly accordingly | |
84 | acquaintence acquaintance | |
85 | acquaintences acquaintances | |
86 | acquiantence acquaintance | |
87 | acquiantences acquaintances | |
88 | acquited acquitted | |
89 | activites activities | |
90 | activly actively | |
91 | actualy actually | |
92 | acuracy accuracy | |
93 | acused accused | |
94 | acustom accustom | |
95 | acustommed accustomed | |
96 | adavanced advanced | |
97 | adbandon abandon | |
98 | additinally additionally | |
99 | additionaly additionally | |
100 | addmission admission | |
101 | addopt adopt | |
102 | addopted adopted | |
103 | addoptive adoptive | |
104 | addres address, adders | |
105 | addresable addressable | |
106 | addresed addressed | |
107 | addresing addressing | |
108 | addressess addresses | |
109 | addtion addition | |
110 | addtional additional | |
111 | adecuate adequate | |
112 | adhearing adhering | |
113 | adherance adherence | |
114 | admendment amendment | |
115 | admininistrative administrative | |
116 | adminstered administered | |
117 | adminstrate administrate | |
118 | adminstration administration | |
119 | adminstrative administrative | |
120 | adminstrator administrator | |
121 | admissability admissibility | |
122 | admissable admissible | |
123 | admited admitted | |
124 | admitedly admittedly | |
125 | adn and | |
126 | adolecent adolescent | |
127 | adquire acquire | |
128 | adquired acquired | |
129 | adquires acquires | |
130 | adquiring acquiring | |
131 | adres address | |
132 | adresable addressable | |
133 | adresing addressing | |
134 | adress address | |
135 | adressable addressable | |
136 | adressed addressed | |
137 | adressing addressing, dressing | |
138 | adventrous adventurous | |
139 | advertisment advertisement | |
140 | advertisments advertisements | |
141 | advesary adversary | |
142 | adviced advised | |
143 | aeriel aerial | |
144 | aeriels aerials | |
145 | afair affair | |
146 | afficianados aficionados | |
147 | afficionado aficionado | |
148 | afficionados aficionados | |
149 | affilate affiliate | |
150 | affilliate affiliate | |
151 | affort afford, effort | |
152 | aforememtioned aforementioned | |
153 | againnst against | |
154 | agains against | |
155 | agaisnt against | |
156 | aganist against | |
157 | aggaravates aggravates | |
158 | aggreed agreed | |
159 | aggreement agreement | |
160 | aggregious egregious | |
161 | aggresive aggressive | |
162 | agian again | |
163 | agianst against | |
164 | agin again | |
165 | agina again, angina | |
166 | aginst against | |
167 | agravate aggravate | |
168 | agre agree | |
169 | agred agreed | |
170 | agreeement agreement | |
171 | agreemnt agreement | |
172 | agregate aggregate | |
173 | agregates aggregates | |
174 | agreing agreeing | |
175 | agression aggression | |
176 | agressive aggressive | |
177 | agressively aggressively | |
178 | agressor aggressor | |
179 | agricuture agriculture | |
180 | agrieved aggrieved | |
181 | ahev have | |
182 | ahppen happen | |
183 | ahve have | |
184 | aicraft aircraft | |
185 | aiport airport | |
186 | airbourne airborne | |
187 | aircaft aircraft | |
188 | aircrafts aircraft | |
189 | airporta airports | |
190 | airrcraft aircraft | |
191 | aisian asian | |
192 | albiet albeit | |
193 | alchohol alcohol | |
194 | alchoholic alcoholic | |
195 | alchol alcohol | |
196 | alcholic alcoholic | |
197 | alcohal alcohol | |
198 | alcoholical alcoholic | |
199 | aledge allege | |
200 | aledged alleged | |
201 | aledges alleges | |
202 | alege allege | |
203 | aleged alleged | |
204 | alegience allegiance | |
205 | algebraical algebraic | |
206 | algorhitms algorithms | |
207 | algoritm algorithm | |
208 | algoritms algorithms | |
209 | alientating alienating | |
210 | alledge allege | |
211 | alledged alleged | |
212 | alledgedly allegedly | |
213 | alledges alleges | |
214 | allegedely allegedly | |
215 | allegedy allegedly | |
216 | allegely allegedly | |
217 | allegence allegiance | |
218 | allegience allegiance | |
219 | allign align | |
220 | alligned aligned | |
221 | alliviate alleviate | |
222 | allopone allophone | |
223 | allopones allophones | |
224 | allready already | |
225 | allthough although | |
226 | alltime all-time | |
227 | alltogether altogether | |
228 | almsot almost | |
229 | alochol alcohol | |
230 | alomst almost | |
231 | alot a lot, allot | |
232 | alotted allotted | |
233 | alowed allowed | |
234 | alowing allowing | |
235 | alreayd already | |
236 | alse else | |
237 | alsot also | |
238 | alternitives alternatives | |
239 | altho although | |
240 | althought although | |
241 | altough although | |
242 | alusion allusion, illusion | |
243 | alwasy always | |
244 | alwyas always | |
245 | amalgomated amalgamated | |
246 | amatuer amateur | |
247 | amature armature, amateur | |
248 | amendmant amendment | |
249 | amerliorate ameliorate | |
250 | amke make | |
251 | amking making | |
252 | ammend amend | |
253 | ammended amended | |
254 | ammendment amendment | |
255 | ammendments amendments | |
256 | ammount amount | |
257 | ammused amused | |
258 | amoung among | |
259 | amoungst amongst | |
260 | amung among | |
261 | analagous analogous | |
262 | analitic analytic | |
263 | analogeous analogous | |
264 | anarchim anarchism | |
265 | anarchistm anarchism | |
266 | anbd and | |
267 | ancestory ancestry | |
268 | ancilliary ancillary | |
269 | androgenous androgynous | |
270 | androgeny androgyny | |
271 | anihilation annihilation | |
272 | aniversary anniversary | |
273 | annoint anoint | |
274 | annointed anointed | |
275 | annointing anointing | |
276 | annoints anoints | |
277 | annouced announced | |
278 | annualy annually | |
279 | annuled annulled | |
280 | anohter another | |
281 | anomolies anomalies | |
282 | anomolous anomalous | |
283 | anomoly anomaly | |
284 | anonimity anonymity | |
285 | anounced announced | |
286 | ansalisation nasalisation | |
287 | ansalization nasalization | |
288 | ansestors ancestors | |
289 | antartic antarctic | |
290 | anthromorphization anthropomorphization | |
291 | anual annual, anal | |
292 | anulled annulled | |
293 | anwsered answered | |
294 | anyhwere anywhere | |
295 | anyother any other | |
296 | anytying anything | |
297 | aparent apparent | |
298 | aparment apartment | |
299 | apenines apennines, Apennines | |
300 | aplication application | |
301 | aplied applied | |
302 | apolegetics apologetics | |
303 | apon upon, apron | |
304 | apparant apparent | |
305 | apparantly apparently | |
306 | appart apart | |
307 | appartment apartment | |
308 | appartments apartments | |
309 | appealling appealing, appalling | |
310 | appeareance appearance | |
311 | appearence appearance | |
312 | appearences appearances | |
313 | appenines apennines, Apennines | |
314 | apperance appearance | |
315 | apperances appearances | |
316 | applicaiton application | |
317 | applicaitons applications | |
318 | appologies apologies | |
319 | appology apology | |
320 | apprearance appearance | |
321 | apprieciate appreciate | |
322 | approachs approaches | |
323 | appropiate appropriate | |
324 | appropraite appropriate | |
325 | appropropiate appropriate | |
326 | approproximate approximate | |
327 | approxamately approximately | |
328 | approxiately approximately | |
329 | approximitely approximately | |
330 | aprehensive apprehensive | |
331 | apropriate appropriate | |
332 | aproximate approximate | |
333 | aproximately approximately | |
334 | aquaintance acquaintance | |
335 | aquainted acquainted | |
336 | aquiantance acquaintance | |
337 | aquire acquire | |
338 | aquired acquired | |
339 | aquiring acquiring | |
340 | aquisition acquisition | |
341 | aquitted acquitted | |
342 | aranged arranged | |
343 | arangement arrangement | |
344 | arbitarily arbitrarily | |
345 | arbitary arbitrary | |
346 | archaelogists archaeologists | |
347 | archaelogy archaeology | |
348 | archaoelogy archeology, archaeology | |
349 | archaology archeology, archaeology | |
350 | archeaologist archeologist, archaeologist | |
351 | archeaologists archeologists, archaeologists | |
352 | archetect architect | |
353 | archetects architects | |
354 | archetectural architectural | |
355 | archetecturally architecturally | |
356 | archetecture architecture | |
357 | archiac archaic | |
358 | archictect architect | |
359 | archimedian archimedean | |
360 | architechturally architecturally | |
361 | architechture architecture | |
362 | architechtures architectures | |
363 | architectual architectural | |
364 | archtype archetype | |
365 | archtypes archetypes | |
366 | aready already | |
367 | areodynamics aerodynamics | |
368 | argubly arguably | |
369 | arguement argument | |
370 | arguements arguments | |
371 | arised arose | |
372 | arival arrival | |
373 | armamant armament | |
374 | armistace armistice | |
375 | aroud around | |
376 | arrangment arrangement | |
377 | arrangments arrangements | |
378 | arround around | |
379 | artical article | |
380 | artice article | |
381 | articel article | |
382 | artifical artificial | |
383 | artifically artificially | |
384 | artillary artillery | |
385 | arund around | |
386 | asetic ascetic | |
387 | asign assign | |
388 | aslo also | |
389 | asociated associated | |
390 | asorbed absorbed | |
391 | asphyxation asphyxiation | |
392 | assasin assassin | |
393 | assasinate assassinate | |
394 | assasinated assassinated | |
395 | assasinates assassinates | |
396 | assasination assassination | |
397 | assasinations assassinations | |
398 | assasined assassinated | |
399 | assasins assassins | |
400 | assassintation assassination | |
401 | assemple assemble | |
402 | assertation assertion | |
403 | asside aside | |
404 | assisnate assassinate | |
405 | assit assist | |
406 | assitant assistant | |
407 | assocation association | |
408 | assoicate associate | |
409 | assoicated associated | |
410 | assoicates associates | |
411 | assosication assassination | |
412 | asssassans assassins | |
413 | assualt assault | |
414 | assualted assaulted | |
415 | assymetric asymmetric | |
416 | assymetrical asymmetrical | |
417 | asteriod asteroid | |
418 | asthetic aesthetic | |
419 | asthetical aesthetical | |
420 | asthetically aesthetically | |
421 | asume assume | |
422 | aswell as well | |
423 | atain attain | |
424 | atempting attempting | |
425 | atheistical atheistic | |
426 | athenean athenian | |
427 | atheneans athenians | |
428 | athiesm atheism | |
429 | athiest atheist | |
430 | atorney attorney | |
431 | atribute attribute | |
432 | atributed attributed | |
433 | atributes attributes | |
434 | attaindre attainder, attained | |
435 | attemp attempt | |
436 | attemped attempted | |
437 | attemt attempt | |
438 | attemted attempted | |
439 | attemting attempting | |
440 | attemts attempts | |
441 | attendence attendance | |
442 | attendent attendant | |
443 | attendents attendants | |
444 | attened attended | |
445 | attension attention | |
446 | attitide attitude | |
447 | attributred attributed | |
448 | attrocities atrocities | |
449 | audeince audience | |
450 | auromated automated | |
451 | austrailia Australia | |
452 | austrailian Australian | |
453 | auther author | |
454 | authobiographic autobiographic | |
455 | authobiography autobiography | |
456 | authorative authoritative | |
457 | authorites authorities | |
458 | authorithy authority | |
459 | authoritiers authorities | |
460 | authoritive authoritative | |
461 | authrorities authorities | |
462 | autochtonous autochthonous | |
463 | autoctonous autochthonous | |
464 | automaticly automatically | |
465 | automibile automobile | |
466 | automonomous autonomous | |
467 | autor author | |
468 | autority authority | |
469 | auxilary auxiliary | |
470 | auxillaries auxiliaries | |
471 | auxillary auxiliary | |
472 | auxilliaries auxiliaries | |
473 | auxilliary auxiliary | |
474 | availablity availability | |
475 | availaible available | |
476 | availble available | |
477 | availiable available | |
478 | availible available | |
479 | avalable available | |
480 | avalance avalanche | |
481 | avaliable available | |
482 | avation aviation | |
483 | avengence a vengeance | |
484 | averageed averaged | |
485 | avilable available | |
486 | awared awarded | |
487 | awya away | |
488 | baceause because | |
489 | backgorund background | |
490 | backrounds backgrounds | |
491 | bakc back | |
492 | banannas bananas | |
493 | bandwith bandwidth | |
494 | bankrupcy bankruptcy | |
495 | banruptcy bankruptcy | |
496 | baout about, bout | |
497 | basicaly basically | |
498 | basicly basically | |
499 | bcak back | |
500 | beachead beachhead | |
501 | beacuse because | |
502 | beastiality bestiality | |
503 | beatiful beautiful | |
504 | beaurocracy bureaucracy | |
505 | beaurocratic bureaucratic | |
506 | beautyfull beautiful | |
507 | becamae became | |
508 | becasue because | |
509 | beccause because | |
510 | becomeing becoming | |
511 | becomming becoming | |
512 | becouse because | |
513 | becuase because | |
514 | bedore before | |
515 | befoer before | |
516 | beggin begin, begging | |
517 | begginer beginner | |
518 | begginers beginners | |
519 | beggining beginning | |
520 | begginings beginnings | |
521 | beggins begins | |
522 | begining beginning | |
523 | beginnig beginning | |
524 | behavour behavior, behaviour | |
525 | beleagured beleaguered | |
526 | beleif belief | |
527 | beleive believe | |
528 | beleived believed | |
529 | beleives believes | |
530 | beleiving believing | |
531 | beligum belgium | |
532 | belive believe | |
533 | belived believed | |
534 | belives believes, beliefs | |
535 | belligerant belligerent | |
536 | bellweather bellwether | |
537 | bemusemnt bemusement | |
538 | beneficary beneficiary | |
539 | beng being | |
540 | benificial beneficial | |
541 | benifit benefit | |
542 | benifits benefits | |
543 | bergamont bergamot | |
544 | Bernouilli Bernoulli | |
545 | beseige besiege | |
546 | beseiged besieged | |
547 | beseiging besieging | |
548 | betwen between | |
549 | beween between | |
550 | bewteen between | |
551 | bilateraly bilaterally | |
552 | billingualism bilingualism | |
553 | binominal binomial | |
554 | bizzare bizarre | |
555 | blaim blame | |
556 | blaimed blamed | |
557 | blessure blessing | |
558 | Blitzkreig Blitzkrieg | |
559 | boaut bout, boat, about | |
560 | bodydbuilder bodybuilder | |
561 | bombardement bombardment | |
562 | bombarment bombardment | |
563 | bondary boundary | |
564 | Bonnano Bonanno | |
565 | borke broke | |
566 | boundry boundary | |
567 | bouyancy buoyancy | |
568 | bouyant buoyant | |
569 | boyant buoyant | |
570 | Brasillian Brazilian | |
571 | breakthough breakthrough | |
572 | breakthroughts breakthroughs | |
573 | breif brief | |
574 | breifly briefly | |
575 | brethen brethren | |
576 | bretheren brethren | |
577 | briliant brilliant | |
578 | brillant brilliant | |
579 | brimestone brimstone | |
580 | Britian Britain | |
581 | Brittish British | |
582 | broacasted broadcast | |
583 | broadacasting broadcasting | |
584 | broady broadly | |
585 | Buddah Buddha | |
586 | buisness business | |
587 | buisnessman businessman | |
588 | buoancy buoyancy | |
589 | buring burying, burning, burin, during | |
590 | burried buried | |
591 | busineses business, businesses | |
592 | busness business | |
593 | bussiness business | |
594 | cacuses caucuses | |
595 | cahracters characters | |
596 | calaber caliber | |
597 | calander calendar, calender, colander | |
598 | calculs calculus | |
599 | calenders calendars | |
600 | caligraphy calligraphy | |
601 | caluclate calculate | |
602 | caluclated calculated | |
603 | caluculate calculate | |
604 | caluculated calculated | |
605 | calulate calculate | |
606 | calulated calculated | |
607 | Cambrige Cambridge | |
608 | camoflage camouflage | |
609 | campain campaign | |
610 | campains campaigns | |
611 | candadate candidate | |
612 | candiate candidate | |
613 | candidiate candidate | |
614 | cannister canister | |
615 | cannisters canisters | |
616 | cannnot cannot | |
617 | cannonical canonical | |
618 | cannotation connotation | |
619 | cannotations connotations | |
620 | cant cannot, can not, can't | |
621 | caost coast | |
622 | caperbility capability | |
623 | Capetown Cape Town | |
624 | capible capable | |
625 | captial capital | |
626 | captued captured | |
627 | capturd captured | |
628 | carachter character | |
629 | caracterized characterized | |
630 | carcas carcass, Caracas | |
631 | carefull careful | |
632 | careing caring | |
633 | carismatic charismatic | |
634 | Carmalite Carmelite | |
635 | carmel caramel, carmel-by-the-sea | |
636 | carniverous carnivorous | |
637 | carreer career | |
638 | carrers careers | |
639 | Carribbean Caribbean | |
640 | Carribean Caribbean | |
641 | cartdridge cartridge | |
642 | Carthagian Carthaginian | |
643 | carthographer cartographer | |
644 | cartilege cartilage | |
645 | cartilidge cartilage | |
646 | cartrige cartridge | |
647 | casette cassette | |
648 | casion caisson | |
649 | cassawory cassowary | |
650 | cassowarry cassowary | |
651 | casulaties casualties | |
652 | casulaty casualty | |
653 | catagories categories | |
654 | catagorized categorized | |
655 | catagory category | |
656 | catergorize categorize | |
657 | catergorized categorized | |
658 | Cataline Catiline, Catalina | |
659 | cathlic catholic | |
660 | catholocism catholicism | |
661 | catterpilar caterpillar | |
662 | catterpilars caterpillars | |
663 | cattleship battleship | |
664 | causalities casualties | |
665 | Ceasar Caesar | |
666 | Celcius Celsius | |
667 | cellpading cellpadding | |
668 | cementary cemetery | |
669 | cemetarey cemetery | |
670 | cemetaries cemeteries | |
671 | cemetary cemetery | |
672 | cencus census | |
673 | censur censor, censure | |
674 | cententenial centennial | |
675 | centruies centuries | |
676 | centruy century | |
677 | ceratin certain, keratin | |
678 | cerimonial ceremonial | |
679 | cerimonies ceremonies | |
680 | cerimonious ceremonious | |
681 | cerimony ceremony | |
682 | ceromony ceremony | |
683 | certainity certainty | |
684 | certian certain | |
685 | cervial cervical, servile, serval | |
686 | chalenging challenging | |
687 | challange challenge | |
688 | challanged challenged | |
689 | challege challenge | |
690 | Champange Champagne | |
691 | changable changeable | |
692 | charachter character | |
693 | charactor character | |
694 | charachters characters | |
695 | charactersistic characteristic | |
696 | charactors characters | |
697 | charasmatic charismatic | |
698 | charaterized characterized | |
699 | chariman chairman | |
700 | charistics characteristics | |
701 | chasr chaser, chase | |
702 | cheif chief | |
703 | chemcial chemical | |
704 | chemcially chemically | |
705 | chemestry chemistry | |
706 | chemicaly chemically | |
707 | childbird childbirth | |
708 | childen children | |
709 | choosen chosen | |
710 | chracter character | |
711 | chuch church | |
712 | churchs churches | |
713 | Cincinatti Cincinnati | |
714 | Cincinnatti Cincinnati | |
715 | circulaton circulation | |
716 | circumsicion circumcision | |
717 | circut circuit | |
718 | ciricuit circuit | |
719 | ciriculum curriculum | |
720 | civillian civilian | |
721 | claer clear | |
722 | claerer clearer | |
723 | claerly clearly | |
724 | claimes claims | |
725 | clas class | |
726 | clasic classic | |
727 | clasical classical | |
728 | clasically classically | |
729 | cleareance clearance | |
730 | clera clear, sclera | |
731 | clincial clinical | |
732 | clinicaly clinically | |
733 | cmo com | |
734 | cmoputer computer | |
735 | co-incided coincided | |
736 | coctail cocktail | |
737 | coform conform | |
738 | cognizent cognizant | |
739 | coincedentally coincidentally | |
740 | colaborations collaborations | |
741 | colateral collateral | |
742 | colelctive collective | |
743 | collaberative collaborative | |
744 | collecton collection | |
745 | collegue colleague | |
746 | collegues colleagues | |
747 | collonade colonnade | |
748 | collonies colonies | |
749 | collony colony | |
750 | collosal colossal | |
751 | colonizators colonizers | |
752 | comander commander, commandeer | |
753 | comando commando | |
754 | comandos commandos | |
755 | comany company | |
756 | comapany company | |
757 | comback comeback | |
758 | combanations combinations | |
759 | combinatins combinations | |
760 | combusion combustion | |
761 | comdemnation condemnation | |
762 | comemmorates commemorates | |
763 | comemoretion commemoration | |
764 | comision commission | |
765 | comisioned commissioned | |
766 | comisioner commissioner | |
767 | comisioning commissioning | |
768 | comisions commissions | |
769 | comission commission | |
770 | comissioned commissioned | |
771 | comissioner commissioner | |
772 | comissioning commissioning | |
773 | comissions commissions | |
774 | comited committed | |
775 | comiting committing | |
776 | comitted committed | |
777 | comittee committee | |
778 | comitting committing | |
779 | commandoes commandos | |
780 | commedic comedic | |
781 | commemerative commemorative | |
782 | commemmorate commemorate | |
783 | commemmorating commemorating | |
784 | commerical commercial | |
785 | commerically commercially | |
786 | commericial commercial | |
787 | commericially commercially | |
788 | commerorative commemorative | |
789 | comming coming | |
790 | comminication communication | |
791 | commision commission | |
792 | commisioned commissioned | |
793 | commisioner commissioner | |
794 | commisioning commissioning | |
795 | commisions commissions | |
796 | commited committed | |
797 | commitee committee | |
798 | commiting committing | |
799 | committe committee | |
800 | committment commitment | |
801 | committments commitments | |
802 | commmemorated commemorated | |
803 | commongly commonly | |
804 | commonweath commonwealth | |
805 | commuications communications | |
806 | commuinications communications | |
807 | communciation communication | |
808 | communiation communication | |
809 | communites communities | |
810 | compability compatibility | |
811 | comparision comparison | |
812 | comparisions comparisons | |
813 | comparitive comparative | |
814 | comparitively comparatively | |
815 | compatabilities compatibilities | |
816 | compatability compatibility | |
817 | compatable compatible | |
818 | compatablities compatibilities | |
819 | compatablity compatibility | |
820 | compatiable compatible | |
821 | compatiblities compatibilities | |
822 | compatiblity compatibility | |
823 | compeitions competitions | |
824 | compensantion compensation | |
825 | competance competence | |
826 | competant competent | |
827 | competative competitive | |
828 | competion competition, completion | |
829 | competitiion competition | |
830 | competive competitive | |
831 | competiveness competitiveness | |
832 | comphrehensive comprehensive | |
833 | compitent competent | |
834 | completedthe completed the | |
835 | completelyl completely | |
836 | completetion completion | |
837 | complier compiler | |
838 | componant component | |
839 | comprable comparable | |
840 | comprimise compromise | |
841 | compulsary compulsory | |
842 | compulsery compulsory | |
843 | computarized computerized | |
844 | concensus consensus | |
845 | concider consider | |
846 | concidered considered | |
847 | concidering considering | |
848 | conciders considers | |
849 | concieted conceited | |
850 | concieved conceived | |
851 | concious conscious | |
852 | conciously consciously | |
853 | conciousness consciousness | |
854 | condamned condemned | |
855 | condemmed condemned | |
856 | condidtion condition | |
857 | condidtions conditions | |
858 | conditionsof conditions of | |
859 | conected connected | |
860 | conection connection | |
861 | conesencus consensus | |
862 | confidental confidential | |
863 | confidentally confidentially | |
864 | confids confides | |
865 | configureable configurable | |
866 | confortable comfortable | |
867 | congradulations congratulations | |
868 | congresional congressional | |
869 | conived connived | |
870 | conjecutre conjecture | |
871 | conjuction conjunction | |
872 | Conneticut Connecticut | |
873 | conotations connotations | |
874 | conquerd conquered | |
875 | conquerer conqueror | |
876 | conquerers conquerors | |
877 | conqured conquered | |
878 | conscent consent | |
879 | consciouness consciousness | |
880 | consdider consider | |
881 | consdidered considered | |
882 | consdiered considered | |
883 | consectutive consecutive | |
884 | consenquently consequently | |
885 | consentrate concentrate | |
886 | consentrated concentrated | |
887 | consentrates concentrates | |
888 | consept concept | |
889 | consequentually consequently | |
890 | consequeseces consequences | |
891 | consern concern | |
892 | conserned concerned | |
893 | conserning concerning | |
894 | conservitive conservative | |
895 | consiciousness consciousness | |
896 | consicousness consciousness | |
897 | considerd considered | |
898 | consideres considered | |
899 | consious conscious | |
900 | consistant consistent | |
901 | consistantly consistently | |
902 | consituencies constituencies | |
903 | consituency constituency | |
904 | consituted constituted | |
905 | consitution constitution | |
906 | consitutional constitutional | |
907 | consolodate consolidate | |
908 | consolodated consolidated | |
909 | consonent consonant | |
910 | consonents consonants | |
911 | consorcium consortium | |
912 | conspiracys conspiracies | |
913 | conspiriator conspirator | |
914 | constaints constraints | |
915 | constanly constantly | |
916 | constarnation consternation | |
917 | constatn constant | |
918 | constinually continually | |
919 | constituant constituent | |
920 | constituants constituents | |
921 | constituion constitution | |
922 | constituional constitutional | |
923 | consttruction construction | |
924 | constuction construction | |
925 | consulant consultant | |
926 | consumate consummate | |
927 | consumated consummated | |
928 | contaiminate contaminate | |
929 | containes contains | |
930 | contamporaries contemporaries | |
931 | contamporary contemporary | |
932 | contempoary contemporary | |
933 | contemporaneus contemporaneous | |
934 | contempory contemporary | |
935 | contendor contender | |
936 | contined continued | |
937 | continous continuous | |
938 | continously continuously | |
939 | continueing continuing | |
940 | contravercial controversial | |
941 | contraversy controversy | |
942 | contributer contributor | |
943 | contributers contributors | |
944 | contritutions contributions | |
945 | controled controlled | |
946 | controling controlling | |
947 | controll control | |
948 | controlls controls | |
949 | controvercial controversial | |
950 | controvercy controversy | |
951 | controveries controversies | |
952 | controversal controversial | |
953 | controversey controversy | |
954 | controvertial controversial | |
955 | controvery controversy | |
956 | contruction construction | |
957 | conveinent convenient | |
958 | convenant covenant | |
959 | convential conventional | |
960 | convertables convertibles | |
961 | convertion conversion | |
962 | conveyer conveyor | |
963 | conviced convinced | |
964 | convienient convenient | |
965 | coordiantion coordination | |
966 | coorperation cooperation, corporation | |
967 | coorperations corporations | |
968 | copmetitors competitors | |
969 | coputer computer | |
970 | copywrite copyright | |
971 | coridal cordial | |
972 | cornmitted committed | |
973 | corosion corrosion | |
974 | corparate corporate | |
975 | corperations corporations | |
976 | correcters correctors | |
977 | correponding corresponding | |
978 | correposding corresponding | |
979 | correspondant correspondent | |
980 | correspondants correspondents | |
981 | corridoors corridors | |
982 | corrispond correspond | |
983 | corrispondant correspondent | |
984 | corrispondants correspondents | |
985 | corrisponded corresponded | |
986 | corrisponding corresponding | |
987 | corrisponds corresponds | |
988 | costitution constitution | |
989 | coucil council | |
990 | coudl could, cloud | |
991 | councellor councillor, counselor, councilor | |
992 | councellors councillors, counselors, councilors | |
993 | counries countries | |
994 | countains contains | |
995 | countires countries | |
996 | coururier courier, couturier | |
997 | coverted converted, covered, coveted | |
998 | cpoy coy, copy | |
999 | creaeted created | |
1000 | creedence credence | |
1001 | critereon criterion | |
1002 | criterias criteria | |
1003 | criticists critics | |
1004 | critising criticising, criticizing | |
1005 | critisising criticising | |
1006 | critisism criticism | |
1007 | critisisms criticisms | |
1008 | critisize criticise, criticize | |
1009 | critisized criticised, criticized | |
1010 | critisizes criticises, criticizes | |
1011 | critisizing criticising, criticizing | |
1012 | critized criticized | |
1013 | critizing criticizing | |
1014 | crockodiles crocodiles | |
1015 | crowm crown | |
1016 | crtical critical | |
1017 | crticised criticised | |
1018 | crucifiction crucifixion | |
1019 | crusies cruises | |
1020 | crystalisation crystallisation | |
1021 | culiminating culminating | |
1022 | cumulatative cumulative | |
1023 | curch church | |
1024 | curcuit circuit | |
1025 | currenly currently | |
1026 | curriculem curriculum | |
1027 | cxan cyan | |
1028 | cyclinder cylinder | |
1029 | dael deal, dial, dahl | |
1030 | dalmation dalmatian | |
1031 | damenor demeanor | |
1032 | Dardenelles Dardanelles | |
1033 | dacquiri daiquiri | |
1034 | debateable debatable | |
1035 | decendant descendant | |
1036 | decendants descendants | |
1037 | decendent descendant | |
1038 | decendents descendants | |
1039 | decideable decidable | |
1040 | decidely decidedly | |
1041 | decieved deceived | |
1042 | decison decision | |
1043 | decomissioned decommissioned | |
1044 | decomposit decompose | |
1045 | decomposited decomposed | |
1046 | decompositing decomposing | |
1047 | decomposits decomposes | |
1048 | decress decrees | |
1049 | decribe describe | |
1050 | decribed described | |
1051 | decribes describes | |
1052 | decribing describing | |
1053 | dectect detect | |
1054 | defendent defendant | |
1055 | defendents defendants | |
1056 | deffensively defensively | |
1057 | deffine define | |
1058 | deffined defined | |
1059 | definance defiance | |
1060 | definate definite | |
1061 | definately definitely | |
1062 | definatly definitely | |
1063 | definetly definitely | |
1064 | definining defining | |
1065 | definit definite | |
1066 | definitly definitely | |
1067 | definiton definition | |
1068 | defintion definition | |
1069 | degrate degrade | |
1070 | delagates delegates | |
1071 | delapidated dilapidated | |
1072 | delerious delirious | |
1073 | delevopment development | |
1074 | deliberatly deliberately | |
1075 | delusionally delusively | |
1076 | demenor demeanor | |
1077 | demographical demographic | |
1078 | demolision demolition | |
1079 | demorcracy democracy | |
1080 | demostration demonstration | |
1081 | denegrating denigrating | |
1082 | densly densely | |
1083 | deparment department | |
1084 | deparments departments | |
1085 | deparmental departmental | |
1086 | dependance dependence | |
1087 | dependancy dependency | |
1088 | dependant dependent | |
1089 | deram dram, dream | |
1090 | deriviated derived | |
1091 | derivitive derivative | |
1092 | derogitory derogatory | |
1093 | descendands descendants | |
1094 | descibed described | |
1095 | descision decision | |
1096 | descisions decisions | |
1097 | descriibes describes | |
1098 | descripters descriptors | |
1099 | descripton description | |
1100 | desctruction destruction | |
1101 | descuss discuss | |
1102 | desgined designed | |
1103 | deside decide | |
1104 | desigining designing | |
1105 | desinations destinations | |
1106 | desintegrated disintegrated | |
1107 | desintegration disintegration | |
1108 | desireable desirable | |
1109 | desitned destined | |
1110 | desktiop desktop | |
1111 | desorder disorder | |
1112 | desoriented disoriented | |
1113 | desparate desperate, disparate | |
1114 | despatched dispatched | |
1115 | despict depict | |
1116 | despiration desperation | |
1117 | dessicated desiccated | |
1118 | dessigned designed | |
1119 | destablized destabilized | |
1120 | destory destroy | |
1121 | detailled detailed | |
1122 | detatched detached | |
1123 | deteoriated deteriorated | |
1124 | deteriate deteriorate | |
1125 | deterioriating deteriorating | |
1126 | determinining determining | |
1127 | detremental detrimental | |
1128 | devasted devastated | |
1129 | develope develop | |
1130 | developement development | |
1131 | developped developed | |
1132 | develpment development | |
1133 | devels delves | |
1134 | devestated devastated | |
1135 | devestating devastating | |
1136 | devide divide | |
1137 | devided divided | |
1138 | devistating devastating | |
1139 | devolopement development | |
1140 | diablical diabolical | |
1141 | diamons diamonds | |
1142 | diaster disaster | |
1143 | dichtomy dichotomy | |
1144 | diconnects disconnects | |
1145 | dicover discover | |
1146 | dicovered discovered | |
1147 | dicovering discovering | |
1148 | dicovers discovers | |
1149 | dicovery discovery | |
1150 | dicussed discussed | |
1151 | didnt didn't | |
1152 | diea idea, die | |
1153 | dieing dying, dyeing | |
1154 | dieties deities | |
1155 | diety deity | |
1156 | diferent different | |
1157 | diferrent different | |
1158 | differentiatiations differentiations | |
1159 | differnt different | |
1160 | difficulity difficulty | |
1161 | diffrent different | |
1162 | dificulties difficulties | |
1163 | dificulty difficulty | |
1164 | dimenions dimensions | |
1165 | dimention dimension | |
1166 | dimentional dimensional | |
1167 | dimentions dimensions | |
1168 | dimesnional dimensional | |
1169 | diminuitive diminutive | |
1170 | diosese diocese | |
1171 | diphtong diphthong | |
1172 | diphtongs diphthongs | |
1173 | diplomancy diplomacy | |
1174 | dipthong diphthong | |
1175 | dipthongs diphthongs | |
1176 | dirived derived | |
1177 | disagreeed disagreed | |
1178 | disapeared disappeared | |
1179 | disapointing disappointing | |
1180 | disappearred disappeared | |
1181 | disaproval disapproval | |
1182 | disasterous disastrous | |
1183 | disatisfaction dissatisfaction | |
1184 | disatisfied dissatisfied | |
1185 | disatrous disastrous | |
1186 | discontentment discontent | |
1187 | discribe describe | |
1188 | discribed described | |
1189 | discribes describes | |
1190 | discribing describing | |
1191 | disctinction distinction | |
1192 | disctinctive distinctive | |
1193 | disemination dissemination | |
1194 | disenchanged disenchanted | |
1195 | disiplined disciplined | |
1196 | disobediance disobedience | |
1197 | disobediant disobedient | |
1198 | disolved dissolved | |
1199 | disover discover | |
1200 | dispair despair | |
1201 | disparingly disparagingly | |
1202 | dispence dispense | |
1203 | dispenced dispensed | |
1204 | dispencing dispensing | |
1205 | dispicable despicable | |
1206 | dispite despite | |
1207 | dispostion disposition | |
1208 | disproportiate disproportionate | |
1209 | disputandem disputandum | |
1210 | disricts districts | |
1211 | dissagreement disagreement | |
1212 | dissapear disappear | |
1213 | dissapearance disappearance | |
1214 | dissapeared disappeared | |
1215 | dissapearing disappearing | |
1216 | dissapears disappears | |
1217 | dissappear disappear | |
1218 | dissappears disappears | |
1219 | dissappointed disappointed | |
1220 | dissarray disarray | |
1221 | dissobediance disobedience | |
1222 | dissobediant disobedient | |
1223 | dissobedience disobedience | |
1224 | dissobedient disobedient | |
1225 | distiction distinction | |
1226 | distingish distinguish | |
1227 | distingished distinguished | |
1228 | distingishes distinguishes | |
1229 | distingishing distinguishing | |
1230 | distingquished distinguished | |
1231 | distrubution distribution | |
1232 | distruction destruction | |
1233 | distructive destructive | |
1234 | ditributed distributed | |
1235 | diversed diverse, diverged | |
1236 | divice device | |
1237 | divison division | |
1238 | divisons divisions | |
1239 | doccument document | |
1240 | doccumented documented | |
1241 | doccuments documents | |
1242 | docrines doctrines | |
1243 | doctines doctrines | |
1244 | documenatry documentary | |
1245 | doens does | |
1246 | doesnt doesn't | |
1247 | doign doing | |
1248 | dominaton domination | |
1249 | dominent dominant | |
1250 | dominiant dominant | |
1251 | donig doing | |
1252 | dosen't doesn't | |
1253 | doub doubt, daub | |
1254 | doulbe double | |
1255 | dowloads downloads | |
1256 | dramtic dramatic | |
1257 | draughtman draughtsman | |
1258 | Dravadian Dravidian | |
1259 | dreasm dreams | |
1260 | driectly directly | |
1261 | drnik drink | |
1262 | druming drumming | |
1263 | drummless drumless | |
1264 | dupicate duplicate | |
1265 | durig during | |
1266 | durring during | |
1267 | duting during | |
1268 | dyas dryas | |
1269 | eahc each | |
1270 | ealier earlier | |
1271 | earlies earliest | |
1272 | earnt earned | |
1273 | ecclectic eclectic | |
1274 | eceonomy economy | |
1275 | ecidious deciduous | |
1276 | eclispe eclipse | |
1277 | ecomonic economic | |
1278 | ect etc | |
1279 | eearly early | |
1280 | efel evil | |
1281 | effeciency efficiency | |
1282 | effecient efficient | |
1283 | effeciently efficiently | |
1284 | efficency efficiency | |
1285 | efficent efficient | |
1286 | efficently efficiently | |
1287 | efford effort, afford | |
1288 | effords efforts, affords | |
1289 | effulence effluence | |
1290 | eigth eighth, eight | |
1291 | eiter either | |
1292 | elction election | |
1293 | electic eclectic, electric | |
1294 | electon election, electron | |
1295 | electrial electrical | |
1296 | electricly electrically | |
1297 | electricty electricity | |
1298 | elementay elementary | |
1299 | eleminated eliminated | |
1300 | eleminating eliminating | |
1301 | eles eels | |
1302 | eletricity electricity | |
1303 | elicided elicited | |
1304 | eligable eligible | |
1305 | elimentary elementary | |
1306 | ellected elected | |
1307 | elphant elephant | |
1308 | embarass embarrass | |
1309 | embarassed embarrassed | |
1310 | embarassing embarrassing | |
1311 | embarassment embarrassment | |
1312 | embargos embargoes | |
1313 | embarras embarrass | |
1314 | embarrased embarrassed | |
1315 | embarrasing embarrassing | |
1316 | embarrasment embarrassment | |
1317 | embezelled embezzled | |
1318 | emblamatic emblematic | |
1319 | eminate emanate | |
1320 | eminated emanated | |
1321 | emision emission | |
1322 | emited emitted | |
1323 | emiting emitting | |
1324 | emition emission, emotion | |
1325 | emmediately immediately | |
1326 | emmigrated emigrated | |
1327 | emminent eminent, imminent | |
1328 | emminently eminently | |
1329 | emmisaries emissaries | |
1330 | emmisarries emissaries | |
1331 | emmisarry emissary | |
1332 | emmisary emissary | |
1333 | emmision emission | |
1334 | emmisions emissions | |
1335 | emmited emitted | |
1336 | emmiting emitting | |
1337 | emmitted emitted | |
1338 | emmitting emitting | |
1339 | emnity enmity | |
1340 | emperical empirical | |
1341 | emphaised emphasised | |
1342 | emphsis emphasis | |
1343 | emphysyma emphysema | |
1344 | empirial empirical, imperial | |
1345 | emprisoned imprisoned | |
1346 | enameld enameled | |
1347 | enchancement enhancement | |
1348 | encouraing encouraging | |
1349 | encryptiion encryption | |
1350 | encylopedia encyclopedia | |
1351 | endevors endeavors | |
1352 | endevour endeavour | |
1353 | endig ending | |
1354 | endolithes endoliths | |
1355 | enduce induce | |
1356 | ened need | |
1357 | enflamed inflamed | |
1358 | enforceing enforcing | |
1359 | engagment engagement | |
1360 | engeneer engineer | |
1361 | engeneering engineering | |
1362 | engieneer engineer | |
1363 | engieneers engineers | |
1364 | enlargment enlargement | |
1365 | enlargments enlargements | |
1366 | Enlish English, enlist | |
1367 | enourmous enormous | |
1368 | enourmously enormously | |
1369 | ensconsed ensconced | |
1370 | entaglements entanglements | |
1371 | enteratinment entertainment | |
1372 | entitity entity | |
1373 | entitlied entitled | |
1374 | entrepeneur entrepreneur | |
1375 | entrepeneurs entrepreneurs | |
1376 | enviorment environment | |
1377 | enviormental environmental | |
1378 | enviormentally environmentally | |
1379 | enviorments environments | |
1380 | enviornment environment | |
1381 | enviornmental environmental | |
1382 | enviornmentalist environmentalist | |
1383 | enviornmentally environmentally | |
1384 | enviornments environments | |
1385 | enviroment environment | |
1386 | enviromental environmental | |
1387 | enviromentalist environmentalist | |
1388 | enviromentally environmentally | |
1389 | enviroments environments | |
1390 | envolutionary evolutionary | |
1391 | envrionments environments | |
1392 | enxt next | |
1393 | epidsodes episodes | |
1394 | epsiode episode | |
1395 | equialent equivalent | |
1396 | equilibium equilibrium | |
1397 | equilibrum equilibrium | |
1398 | equiped equipped | |
1399 | equippment equipment | |
1400 | equitorial equatorial | |
1401 | equivelant equivalent | |
1402 | equivelent equivalent | |
1403 | equivilant equivalent | |
1404 | equivilent equivalent | |
1405 | equivlalent equivalent | |
1406 | erally orally, really | |
1407 | eratic erratic | |
1408 | eratically erratically | |
1409 | eraticly erratically | |
1410 | erested arrested, erected | |
1411 | errupted erupted | |
1412 | esential essential | |
1413 | esitmated estimated | |
1414 | esle else | |
1415 | especialy especially | |
1416 | essencial essential | |
1417 | essense essence | |
1418 | essentail essential | |
1419 | essentialy essentially | |
1420 | essentual essential | |
1421 | essesital essential | |
1422 | estabishes establishes | |
1423 | establising establishing | |
1424 | ethnocentricm ethnocentrism | |
1425 | ethose those, ethos | |
1426 | Europian European | |
1427 | Europians Europeans | |
1428 | Eurpean European | |
1429 | Eurpoean European | |
1430 | evenhtually eventually | |
1431 | eventally eventually | |
1432 | eventially eventually | |
1433 | eventualy eventually | |
1434 | everthing everything | |
1435 | everytime every time | |
1436 | everyting everything | |
1437 | eveyr every | |
1438 | evidentally evidently | |
1439 | exagerate exaggerate | |
1440 | exagerated exaggerated | |
1441 | exagerates exaggerates | |
1442 | exagerating exaggerating | |
1443 | exagerrate exaggerate | |
1444 | exagerrated exaggerated | |
1445 | exagerrates exaggerates | |
1446 | exagerrating exaggerating | |
1447 | examinated examined | |
1448 | exampt exempt | |
1449 | exapansion expansion | |
1450 | excact exact | |
1451 | excange exchange | |
1452 | excecute execute | |
1453 | excecuted executed | |
1454 | excecutes executes | |
1455 | excecuting executing | |
1456 | excecution execution | |
1457 | excedded exceeded | |
1458 | excelent excellent | |
1459 | excell excel | |
1460 | excellance excellence | |
1461 | excellant excellent | |
1462 | excells excels | |
1463 | excercise exercise | |
1464 | exchanching exchanging | |
1465 | excisted existed | |
1466 | exculsivly exclusively | |
1467 | execising exercising | |
1468 | exection execution | |
1469 | exectued executed | |
1470 | exeedingly exceedingly | |
1471 | exelent excellent | |
1472 | exellent excellent | |
1473 | exemple example | |
1474 | exept except | |
1475 | exeptional exceptional | |
1476 | exerbate exacerbate | |
1477 | exerbated exacerbated | |
1478 | exerciese exercises | |
1479 | exerpt excerpt | |
1480 | exerpts excerpts | |
1481 | exersize exercise | |
1482 | exerternal external | |
1483 | exhalted exalted | |
1484 | exhibtion exhibition | |
1485 | exibition exhibition | |
1486 | exibitions exhibitions | |
1487 | exicting exciting | |
1488 | exinct extinct | |
1489 | existance existence | |
1490 | existant existent | |
1491 | existince existence | |
1492 | exliled exiled | |
1493 | exludes excludes | |
1494 | exmaple example | |
1495 | exonorate exonerate | |
1496 | exoskelaton exoskeleton | |
1497 | expalin explain | |
1498 | expeced expected | |
1499 | expecially especially | |
1500 | expeditonary expeditionary | |
1501 | expeiments experiments | |
1502 | expell expel | |
1503 | expells expels | |
1504 | experiance experience | |
1505 | experianced experienced | |
1506 | expiditions expeditions | |
1507 | expierence experience | |
1508 | explaination explanation | |
1509 | explaning explaining | |
1510 | explictly explicitly | |
1511 | exploititive exploitative | |
1512 | explotation exploitation | |
1513 | expropiated expropriated | |
1514 | expropiation expropriation | |
1515 | exressed expressed | |
1516 | extemely extremely | |
1517 | extention extension | |
1518 | extentions extensions | |
1519 | extered exerted | |
1520 | extermist extremist | |
1521 | extint extinct, extant | |
1522 | extradiction extradition | |
1523 | extraterrestial extraterrestrial | |
1524 | extraterrestials extraterrestrials | |
1525 | extravagent extravagant | |
1526 | extrememly extremely | |
1527 | extremeophile extremophile | |
1528 | extremly extremely | |
1529 | extrordinarily extraordinarily | |
1530 | extrordinary extraordinary | |
1531 | eyar year, eyas | |
1532 | eyars years, eyas | |
1533 | eyasr years, eyas | |
1534 | faciliate facilitate | |
1535 | faciliated facilitated | |
1536 | faciliates facilitates | |
1537 | facilites facilities | |
1538 | facillitate facilitate | |
1539 | facinated fascinated | |
1540 | facist fascist | |
1541 | familes families | |
1542 | familliar familiar | |
1543 | famoust famous | |
1544 | fanatism fanaticism | |
1545 | Farenheit Fahrenheit | |
1546 | fatc fact | |
1547 | faught fought | |
1548 | favoutrable favourable | |
1549 | feasable feasible | |
1550 | Febuary February | |
1551 | fedreally federally | |
1552 | feromone pheromone | |
1553 | fertily fertility | |
1554 | fianite finite | |
1555 | fianlly finally | |
1556 | ficticious fictitious | |
1557 | fictious fictitious | |
1558 | fidn find | |
1559 | fiel feel, field, file, phial | |
1560 | fiels feels, fields, files, phials | |
1561 | fiercly fiercely | |
1562 | fightings fighting | |
1563 | filiament filament | |
1564 | fimilies families | |
1565 | finacial financial | |
1566 | finaly finally | |
1567 | financialy financially | |
1568 | firends friends | |
1569 | firts flirts, first | |
1570 | fisionable fissionable | |
1571 | flamable flammable | |
1572 | flawess flawless | |
1573 | fleed fled, freed | |
1574 | Flemmish Flemish | |
1575 | florescent fluorescent | |
1576 | flourescent fluorescent | |
1577 | fluorish flourish | |
1578 | follwoing following | |
1579 | folowing following | |
1580 | fomed formed | |
1581 | fomr from, form | |
1582 | fonetic phonetic | |
1583 | fontrier fontier | |
1584 | foootball football | |
1585 | forbad forbade | |
1586 | forbiden forbidden | |
1587 | foreward foreword | |
1588 | forfiet forfeit | |
1589 | forhead forehead | |
1590 | foriegn foreign | |
1591 | Formalhaut Fomalhaut | |
1592 | formallize formalize | |
1593 | formallized formalized | |
1594 | formaly formally | |
1595 | formelly formerly | |
1596 | formidible formidable | |
1597 | formost foremost | |
1598 | forsaw foresaw | |
1599 | forseeable foreseeable | |
1600 | fortelling foretelling | |
1601 | forunner forerunner | |
1602 | foucs focus | |
1603 | foudn found | |
1604 | fougth fought | |
1605 | foundaries foundries | |
1606 | foundary foundry | |
1607 | Foundland Newfoundland | |
1608 | fourties forties | |
1609 | fourty forty | |
1610 | fouth fourth | |
1611 | foward forward | |
1612 | fucntion function | |
1613 | fucntioning functioning | |
1614 | Fransiscan Franciscan | |
1615 | Fransiscans Franciscans | |
1616 | freind friend | |
1617 | freindly friendly | |
1618 | frequentily frequently | |
1619 | frome from | |
1620 | fromed formed | |
1621 | froniter frontier | |
1622 | fufill fulfill | |
1623 | fufilled fulfilled | |
1624 | fulfiled fulfilled | |
1625 | fundametal fundamental | |
1626 | fundametals fundamentals | |
1627 | funguses fungi | |
1628 | funtion function | |
1629 | furuther further | |
1630 | futher further | |
1631 | futhermore furthermore | |
1632 | futhroc futhark, futhorc | |
1633 | gae game, Gael, gale | |
1634 | galatic galactic | |
1635 | Galations Galatians | |
1636 | gallaxies galaxies | |
1637 | galvinized galvanized | |
1638 | Gameboy Game Boy | |
1639 | ganerate generate | |
1640 | ganes games | |
1641 | ganster gangster | |
1642 | garantee guarantee | |
1643 | garanteed guaranteed | |
1644 | garantees guarantees | |
1645 | garnison garrison | |
1646 | gauarana guaraná | |
1647 | gaurantee guarantee | |
1648 | gauranteed guaranteed | |
1649 | gaurantees guarantees | |
1650 | gaurd guard, gourd | |
1651 | gaurentee guarantee | |
1652 | gaurenteed guaranteed | |
1653 | gaurentees guarantees | |
1654 | geneological genealogical | |
1655 | geneologies genealogies | |
1656 | geneology genealogy | |
1657 | generaly generally | |
1658 | generatting generating | |
1659 | genialia genitalia | |
1660 | geographicial geographical | |
1661 | geometrician geometer | |
1662 | geometricians geometers | |
1663 | gerat great | |
1664 | Ghandi Gandhi | |
1665 | glight flight | |
1666 | gnawwed gnawed | |
1667 | godess goddess | |
1668 | godesses goddesses | |
1669 | Godounov Godunov | |
1670 | gogin going, Gauguin | |
1671 | goign going | |
1672 | gonig going | |
1673 | Gothenberg Gothenburg | |
1674 | Gottleib Gottlieb | |
1675 | gouvener governor | |
1676 | govement government | |
1677 | govenment government | |
1678 | govenrment government | |
1679 | goverance governance | |
1680 | goverment government | |
1681 | govermental governmental | |
1682 | governer governor | |
1683 | governmnet government | |
1684 | govorment government | |
1685 | govormental governmental | |
1686 | govornment government | |
1687 | gracefull graceful | |
1688 | graet great | |
1689 | grafitti graffiti | |
1690 | gramatically grammatically | |
1691 | grammaticaly grammatically | |
1692 | grammer grammar | |
1693 | grat great | |
1694 | gratuitious gratuitous | |
1695 | greatful grateful | |
1696 | greatfully gratefully | |
1697 | greif grief | |
1698 | gridles griddles | |
1699 | gropu group | |
1700 | grwo grow | |
1701 | Guaduloupe Guadalupe, Guadeloupe | |
1702 | Guadulupe Guadalupe, Guadeloupe | |
1703 | guage gauge | |
1704 | guarentee guarantee | |
1705 | guarenteed guaranteed | |
1706 | guarentees guarantees | |
1707 | Guatamala Guatemala | |
1708 | Guatamalan Guatemalan | |
1709 | guerilla guerrilla | |
1710 | guerillas guerrillas | |
1711 | guerrila guerrilla | |
1712 | guerrilas guerrillas | |
1713 | guidence guidance | |
1714 | Guilia Giulia | |
1715 | Guilio Giulio | |
1716 | Guiness Guinness | |
1717 | Guiseppe Giuseppe | |
1718 | gunanine guanine | |
1719 | gurantee guarantee | |
1720 | guranteed guaranteed | |
1721 | gurantees guarantees | |
1722 | guttaral guttural | |
1723 | gutteral guttural | |
1724 | habaeus habeas | |
1725 | habeus habeas | |
1726 | Habsbourg Habsburg | |
1727 | haemorrage haemorrhage | |
1728 | haev have, heave | |
1729 | Hallowean Hallowe'en, Halloween | |
1730 | halp help | |
1731 | hapen happen | |
1732 | hapened happened | |
1733 | hapening happening | |
1734 | happend happened | |
1735 | happended happened | |
1736 | happenned happened | |
1737 | harased harassed | |
1738 | harases harasses | |
1739 | harasment harassment | |
1740 | harasments harassments | |
1741 | harassement harassment | |
1742 | harras harass | |
1743 | harrased harassed | |
1744 | harrases harasses | |
1745 | harrasing harassing | |
1746 | harrasment harassment | |
1747 | harrasments harassments | |
1748 | harrassed harassed | |
1749 | harrasses harassed | |
1750 | harrassing harassing | |
1751 | harrassment harassment | |
1752 | harrassments harassments | |
1753 | hasnt hasn't | |
1754 | haviest heaviest | |
1755 | headquater headquarter | |
1756 | headquarer headquarter | |
1757 | headquatered headquartered | |
1758 | headquaters headquarters | |
1759 | healthercare healthcare | |
1760 | heared heard | |
1761 | heathy healthy | |
1762 | Heidelburg Heidelberg | |
1763 | heigher higher | |
1764 | heirarchy hierarchy | |
1765 | heiroglyphics hieroglyphics | |
1766 | helment helmet | |
1767 | helpfull helpful | |
1768 | helpped helped | |
1769 | hemmorhage hemorrhage | |
1770 | herad heard, Hera | |
1771 | heridity heredity | |
1772 | heroe hero | |
1773 | heros heroes | |
1774 | hertzs hertz | |
1775 | hesistant hesitant | |
1776 | heterogenous heterogeneous | |
1777 | hieght height | |
1778 | hierachical hierarchical | |
1779 | hierachies hierarchies | |
1780 | hierachy hierarchy | |
1781 | hierarcical hierarchical | |
1782 | hierarcy hierarchy | |
1783 | hieroglph hieroglyph | |
1784 | hieroglphs hieroglyphs | |
1785 | higer higher | |
1786 | higest highest | |
1787 | higway highway | |
1788 | hillarious hilarious | |
1789 | himselv himself | |
1790 | hinderance hindrance | |
1791 | hinderence hindrance | |
1792 | hindrence hindrance | |
1793 | hipopotamus hippopotamus | |
1794 | hismelf himself | |
1795 | histocompatability histocompatibility | |
1796 | historicians historians | |
1797 | hitsingles hit singles | |
1798 | holliday holiday | |
1799 | homestate home state | |
1800 | homogeneize homogenize | |
1801 | homogeneized homogenized | |
1802 | honory honorary | |
1803 | horrifing horrifying | |
1804 | hosited hoisted | |
1805 | hospitible hospitable | |
1806 | hounour honour | |
1807 | housr hours, house | |
1808 | howver however | |
1809 | hsitorians historians | |
1810 | hstory history | |
1811 | hten then, hen, the | |
1812 | htere there, here | |
1813 | htey they | |
1814 | htikn think | |
1815 | hting thing | |
1816 | htink think | |
1817 | htis this | |
1818 | humer humor, humour | |
1819 | humerous humorous, humerus | |
1820 | huminoid humanoid | |
1821 | humoural humoral | |
1822 | humurous humorous | |
1823 | husban husband | |
1824 | hvae have | |
1825 | hvaing having | |
1826 | hvea have, heave | |
1827 | hwihc which | |
1828 | hwile while | |
1829 | hwole whole | |
1830 | hydogen hydrogen | |
1831 | hydropile hydrophile | |
1832 | hydropilic hydrophilic | |
1833 | hydropobe hydrophobe | |
1834 | hydropobic hydrophobic | |
1835 | hygeine hygiene | |
1836 | hypocracy hypocrisy | |
1837 | hypocrasy hypocrisy | |
1838 | hypocricy hypocrisy | |
1839 | hypocrit hypocrite | |
1840 | hypocrits hypocrites | |
1841 | iconclastic iconoclastic | |
1842 | idaeidae idea | |
1843 | idaes ideas | |
1844 | idealogies ideologies | |
1845 | idealogy ideology | |
1846 | identicial identical | |
1847 | identifers identifiers | |
1848 | ideosyncratic idiosyncratic | |
1849 | idesa ideas, ides | |
1850 | idiosyncracy idiosyncrasy | |
1851 | Ihaca Ithaca | |
1852 | illegimacy illegitimacy | |
1853 | illegitmate illegitimate | |
1854 | illess illness | |
1855 | illiegal illegal | |
1856 | illution illusion | |
1857 | ilness illness | |
1858 | ilogical illogical | |
1859 | imagenary imaginary | |
1860 | imagin imagine | |
1861 | imaginery imaginary, imagery | |
1862 | imanent eminent, imminent | |
1863 | imcomplete incomplete | |
1864 | imediately immediately | |
1865 | imense immense | |
1866 | imigrant emigrant, immigrant | |
1867 | imigrated emigrated, immigrated | |
1868 | imigration emigration, immigration | |
1869 | iminent eminent, imminent, immanent | |
1870 | immediatley immediately | |
1871 | immediatly immediately | |
1872 | immidately immediately | |
1873 | immidiately immediately | |
1874 | immitate imitate | |
1875 | immitated imitated | |
1876 | immitating imitating | |
1877 | immitator imitator | |
1878 | immunosupressant immunosuppressant | |
1879 | impecabbly impeccably | |
1880 | impedence impedance | |
1881 | implamenting implementing | |
1882 | impliment implement | |
1883 | implimented implemented | |
1884 | imploys employs | |
1885 | importamt important | |
1886 | imprioned imprisoned | |
1887 | imprisonned imprisoned | |
1888 | improvision improvisation | |
1889 | improvments improvements | |
1890 | inablility inability | |
1891 | inaccessable inaccessible | |
1892 | inadiquate inadequate | |
1893 | inadquate inadequate | |
1894 | inadvertant inadvertent | |
1895 | inadvertantly inadvertently | |
1896 | inagurated inaugurated | |
1897 | inaguration inauguration | |
1898 | inappropiate inappropriate | |
1899 | inaugures inaugurates | |
1900 | inbalance imbalance | |
1901 | inbalanced imbalanced | |
1902 | inbetween between | |
1903 | incarcirated incarcerated | |
1904 | incidentially incidentally | |
1905 | incidently incidentally | |
1906 | inclreased increased | |
1907 | includ include | |
1908 | includng including | |
1909 | incompatabilities incompatibilities | |
1910 | incompatability incompatibility | |
1911 | incompatable incompatible | |
1912 | incompatablities incompatibilities | |
1913 | incompatablity incompatibility | |
1914 | incompatiblities incompatibilities | |
1915 | incompatiblity incompatibility | |
1916 | incompetance incompetence | |
1917 | incompetant incompetent | |
1918 | incomptable incompatible | |
1919 | incomptetent incompetent | |
1920 | inconsistant inconsistent | |
1921 | incorperation incorporation | |
1922 | incorportaed incorporated | |
1923 | incorprates incorporates | |
1924 | incorruptable incorruptible | |
1925 | incramentally incrementally | |
1926 | increadible incredible | |
1927 | incredable incredible | |
1928 | inctroduce introduce | |
1929 | inctroduced introduced | |
1930 | incuding including | |
1931 | incunabla incunabula | |
1932 | indefinately indefinitely | |
1933 | indefineable undefinable | |
1934 | indefinitly indefinitely | |
1935 | indentical identical | |
1936 | indepedantly independently | |
1937 | indepedence independence | |
1938 | independance independence | |
1939 | independant independent | |
1940 | independantly independently | |
1941 | independece independence | |
1942 | independendet independent | |
1943 | indictement indictment | |
1944 | indigineous indigenous | |
1945 | indipendence independence | |
1946 | indipendent independent | |
1947 | indipendently independently | |
1948 | indespensible indispensable | |
1949 | indespensable indispensable | |
1950 | indispensible indispensable | |
1951 | indisputible indisputable | |
1952 | indisputibly indisputably | |
1953 | indite indict | |
1954 | individualy individually | |
1955 | indpendent independent | |
1956 | indpendently independently | |
1957 | indulgue indulge | |
1958 | indutrial industrial | |
1959 | indviduals individuals | |
1960 | inefficienty inefficiently | |
1961 | inevatible inevitable | |
1962 | inevitible inevitable | |
1963 | inevititably inevitably | |
1964 | infalability infallibility | |
1965 | infallable infallible | |
1966 | infectuous infectious | |
1967 | infered inferred | |
1968 | infilitrate infiltrate | |
1969 | infilitrated infiltrated | |
1970 | infilitration infiltration | |
1971 | infinit infinite | |
1972 | inflamation inflammation | |
1973 | influencial influential | |
1974 | influented influenced | |
1975 | infomation information | |
1976 | informtion information | |
1977 | infrantryman infantryman | |
1978 | infrigement infringement | |
1979 | ingenius ingenious | |
1980 | ingreediants ingredients | |
1981 | inhabitans inhabitants | |
1982 | inherantly inherently | |
1983 | inheritage heritage, inheritance | |
1984 | inheritence inheritance | |
1985 | inital initial | |
1986 | initally initially | |
1987 | initation initiation | |
1988 | initiaitive initiative | |
1989 | inlcuding including | |
1990 | inmigrant immigrant | |
1991 | inmigrants immigrants | |
1992 | innoculated inoculated | |
1993 | inocence innocence | |
1994 | inofficial unofficial | |
1995 | inot into | |
1996 | inpeach impeach | |
1997 | inpolite impolite | |
1998 | inprisonment imprisonment | |
1999 | inproving improving | |
2000 | insectiverous insectivorous | |
2001 | insensative insensitive | |
2002 | inseperable inseparable | |
2003 | insistance insistence | |
2004 | insitution institution | |
2005 | insitutions institutions | |
2006 | inspite in spite, inspire | |
2007 | instade instead | |
2008 | instatance instance | |
2009 | institue institute | |
2010 | instuction instruction | |
2011 | instuments instruments | |
2012 | instutionalized institutionalized | |
2013 | instutions intuitions | |
2014 | insurence insurance | |
2015 | intelectual intellectual | |
2016 | inteligence intelligence | |
2017 | inteligent intelligent | |
2018 | intenational international | |
2019 | intepretation interpretation | |
2020 | intepretator interpretor | |
2021 | interational international | |
2022 | interbread interbreed, interbred | |
2023 | interchangable interchangeable | |
2024 | interchangably interchangeably | |
2025 | intercontinetal intercontinental | |
2026 | intered interred, interned | |
2027 | interelated interrelated | |
2028 | interferance interference | |
2029 | interfereing interfering | |
2030 | intergrated integrated | |
2031 | intergration integration | |
2032 | interm interim | |
2033 | internation international | |
2034 | interpet interpret | |
2035 | interrim interim | |
2036 | interrugum interregnum | |
2037 | intertaining entertaining | |
2038 | interupt interrupt | |
2039 | intervines intervenes | |
2040 | intevene intervene | |
2041 | intial initial | |
2042 | intially initially | |
2043 | intrduced introduced | |
2044 | intrest interest | |
2045 | introdued introduced | |
2046 | intruduced introduced | |
2047 | intrusted entrusted | |
2048 | intutive intuitive | |
2049 | intutively intuitively | |
2050 | inudstry industry | |
2051 | inumerable enumerable, innumerable | |
2052 | inventer inventor | |
2053 | invertibrates invertebrates | |
2054 | investingate investigate | |
2055 | involvment involvement | |
2056 | irelevent irrelevant | |
2057 | iresistable irresistible | |
2058 | iresistably irresistibly | |
2059 | iresistible irresistible | |
2060 | iresistibly irresistibly | |
2061 | iritable irritable | |
2062 | iritated irritated | |
2063 | ironicly ironically | |
2064 | irregardless regardless | |
2065 | irrelevent irrelevant | |
2066 | irreplacable irreplaceable | |
2067 | irresistable irresistible | |
2068 | irresistably irresistibly | |
2069 | isnt isn't | |
2070 | Israelies Israelis | |
2071 | issueing issuing | |
2072 | itnroduced introduced | |
2073 | iunior junior | |
2074 | iwll will | |
2075 | iwth with | |
2076 | Japanes Japanese | |
2077 | jaques jacques | |
2078 | jeapardy jeopardy | |
2079 | jewllery jewellery | |
2080 | Johanine Johannine | |
2081 | Jospeh Joseph | |
2082 | jouney journey | |
2083 | journied journeyed | |
2084 | journies journeys | |
2085 | jstu just | |
2086 | jsut just | |
2087 | Juadaism Judaism | |
2088 | Juadism Judaism | |
2089 | judical judicial | |
2090 | judisuary judiciary | |
2091 | juducial judicial | |
2092 | juristiction jurisdiction | |
2093 | juristictions jurisdictions | |
2094 | kindergarden kindergarten | |
2095 | klenex kleenex | |
2096 | knifes knives | |
2097 | knive knife | |
2098 | knowlege knowledge | |
2099 | knowlegeable knowledgeable | |
2100 | knwo know | |
2101 | knwos knows | |
2102 | konw know | |
2103 | konws knows | |
2104 | kwno know | |
2105 | labatory lavatory, laboratory | |
2106 | labled labelled, labeled | |
2107 | labratory laboratory | |
2108 | laguage language | |
2109 | laguages languages | |
2110 | larg large | |
2111 | largst largest | |
2112 | larrry larry | |
2113 | lastr last | |
2114 | lattitude latitude | |
2115 | launchs launch | |
2116 | launhed launched | |
2117 | lavae larvae | |
2118 | layed laid | |
2119 | lazyness laziness | |
2120 | leaded led | |
2121 | leage league | |
2122 | leanr lean, learn, leaner | |
2123 | leathal lethal | |
2124 | lefted left | |
2125 | legitamate legitimate | |
2126 | legitmate legitimate | |
2127 | leibnitz leibniz | |
2128 | lenght length | |
2129 | leran learn | |
2130 | lerans learns | |
2131 | lieuenant lieutenant | |
2132 | leutenant lieutenant | |
2133 | levetate levitate | |
2134 | levetated levitated | |
2135 | levetates levitates | |
2136 | levetating levitating | |
2137 | levle level | |
2138 | liasion liaison | |
2139 | liason liaison | |
2140 | liasons liaisons | |
2141 | libary library | |
2142 | libell libel | |
2143 | libguistic linguistic | |
2144 | libguistics linguistics | |
2145 | libitarianisn libertarianism | |
2146 | lible libel, liable | |
2147 | lieing lying | |
2148 | liek like | |
2149 | liekd liked | |
2150 | liesure leisure | |
2151 | lieved lived | |
2152 | liftime lifetime | |
2153 | lightyear light year | |
2154 | lightyears light years | |
2155 | likelyhood likelihood | |
2156 | linnaena linnaean | |
2157 | lippizaner lipizzaner | |
2158 | liquify liquefy | |
2159 | liscense license, licence | |
2160 | lisence license, licence | |
2161 | lisense license, licence | |
2162 | listners listeners | |
2163 | litature literature | |
2164 | literture literature | |
2165 | littel little | |
2166 | litterally literally | |
2167 | liuke like | |
2168 | livley lively | |
2169 | lmits limits | |
2170 | loev love | |
2171 | lonelyness loneliness | |
2172 | longitudonal longitudinal | |
2173 | lonley lonely | |
2174 | lonly lonely, only | |
2175 | loosing losing | |
2176 | lotharingen lothringen | |
2177 | lsat last | |
2178 | lukid likud | |
2179 | lveo love | |
2180 | lvoe love | |
2181 | Lybia Libya | |
2182 | mackeral mackerel | |
2183 | magasine magazine | |
2184 | magincian magician | |
2185 | magnificient magnificent | |
2186 | magolia magnolia | |
2187 | mailny mainly | |
2188 | maintainance maintenance | |
2189 | maintainence maintenance | |
2190 | maintance maintenance | |
2191 | maintenence maintenance | |
2192 | maintinaing maintaining | |
2193 | maintioned mentioned | |
2194 | majoroty majority | |
2195 | maked marked, made | |
2196 | makse makes | |
2197 | Malcom Malcolm | |
2198 | maltesian Maltese | |
2199 | mamal mammal | |
2200 | mamalian mammalian | |
2201 | managable manageable, manageably | |
2202 | managment management | |
2203 | manisfestations manifestations | |
2204 | manoeuverability maneuverability | |
2205 | manouver maneuver, manoeuvre | |
2206 | manouverability maneuverability, manoeuvrability, manoeuverability | |
2207 | manouverable maneuverable, manoeuvrable | |
2208 | manouvers maneuvers, manoeuvres | |
2209 | mantained maintained | |
2210 | manuever maneuver, manoeuvre | |
2211 | manuevers maneuvers, manoeuvres | |
2212 | manufacturedd manufactured | |
2213 | manufature manufacture | |
2214 | manufatured manufactured | |
2215 | manufaturing manufacturing | |
2216 | manuver maneuver | |
2217 | mariage marriage | |
2218 | marjority majority | |
2219 | markes marks | |
2220 | marketting marketing | |
2221 | marmelade marmalade | |
2222 | marrage marriage | |
2223 | marraige marriage | |
2224 | marrtyred martyred | |
2225 | marryied married | |
2226 | Massachussets Massachusetts | |
2227 | Massachussetts Massachusetts | |
2228 | massmedia mass media | |
2229 | masterbation masturbation | |
2230 | mataphysical metaphysical | |
2231 | materalists materialist | |
2232 | mathamatics mathematics | |
2233 | mathematican mathematician | |
2234 | mathematicas mathematics | |
2235 | matheticians mathematicians | |
2236 | mathmatically mathematically | |
2237 | mathmatician mathematician | |
2238 | mathmaticians mathematicians | |
2239 | mccarthyst mccarthyist | |
2240 | mchanics mechanics | |
2241 | meaninng meaning | |
2242 | mear wear, mere, mare | |
2243 | mechandise merchandise | |
2244 | medacine medicine | |
2245 | medeival medieval | |
2246 | medevial medieval | |
2247 | mediciney mediciny | |
2248 | medievel medieval | |
2249 | mediterainnean mediterranean | |
2250 | Mediteranean Mediterranean | |
2251 | meerkrat meerkat | |
2252 | melieux milieux | |
2253 | membranaphone membranophone | |
2254 | memeber member | |
2255 | menally mentally | |
2256 | meranda veranda, Miranda | |
2257 | mercentile mercantile | |
2258 | messanger messenger | |
2259 | messenging messaging | |
2260 | metalic metallic | |
2261 | metalurgic metallurgic | |
2262 | metalurgical metallurgical | |
2263 | metalurgy metallurgy | |
2264 | metamorphysis metamorphosis | |
2265 | metaphoricial metaphorical | |
2266 | meterologist meteorologist | |
2267 | meterology meteorology | |
2268 | methaphor metaphor | |
2269 | methaphors metaphors | |
2270 | Michagan Michigan | |
2271 | micoscopy microscopy | |
2272 | midwifes midwives | |
2273 | mileau milieu | |
2274 | milennia millennia | |
2275 | milennium millennium | |
2276 | mileu milieu | |
2277 | miliary military | |
2278 | milion million | |
2279 | miliraty military | |
2280 | millenia millennia | |
2281 | millenial millennial | |
2282 | millenialism millennialism | |
2283 | millenium millennium | |
2284 | millepede millipede | |
2285 | millioniare millionaire | |
2286 | millitary military | |
2287 | millon million | |
2288 | miltary military | |
2289 | minature miniature | |
2290 | minerial mineral | |
2291 | miniscule minuscule | |
2292 | ministery ministry | |
2293 | minstries ministries | |
2294 | minstry ministry | |
2295 | minumum minimum | |
2296 | mirrorred mirrored | |
2297 | miscelaneous miscellaneous | |
2298 | miscellanious miscellaneous | |
2299 | miscellanous miscellaneous | |
2300 | mischeivous mischievous | |
2301 | mischevious mischievous | |
2302 | mischievious mischievous | |
2303 | misdameanor misdemeanor | |
2304 | misdameanors misdemeanors | |
2305 | misdemenor misdemeanor | |
2306 | misdemenors misdemeanors | |
2307 | misfourtunes misfortunes | |
2308 | misile missile | |
2309 | Misouri Missouri | |
2310 | mispell misspell | |
2311 | mispelled misspelled | |
2312 | mispelling misspelling | |
2313 | missen mizzen | |
2314 | Missisipi Mississippi | |
2315 | Missisippi Mississippi | |
2316 | missle missile | |
2317 | missonary missionary | |
2318 | misterious mysterious | |
2319 | mistery mystery | |
2320 | misteryous mysterious | |
2321 | mkae make | |
2322 | mkaes makes | |
2323 | mkaing making | |
2324 | mkea make | |
2325 | moderm modem | |
2326 | modle model | |
2327 | moent moment | |
2328 | moeny money | |
2329 | mohammedans muslims | |
2330 | moil mohel | |
2331 | moleclues molecules | |
2332 | momento memento | |
2333 | monestaries monasteries | |
2334 | monestary monastery, monetary | |
2335 | monickers monikers | |
2336 | monolite monolithic | |
2337 | Monserrat Montserrat | |
2338 | montains mountains | |
2339 | montanous mountainous | |
2340 | monts months | |
2341 | montypic monotypic | |
2342 | moreso more, more so | |
2343 | morgage mortgage | |
2344 | Morisette Morissette | |
2345 | Morrisette Morissette | |
2346 | morroccan moroccan | |
2347 | morrocco morocco | |
2348 | morroco morocco | |
2349 | mosture moisture | |
2350 | motiviated motivated | |
2351 | mounth month | |
2352 | movei movie | |
2353 | movment movement | |
2354 | mroe more | |
2355 | mucuous mucous | |
2356 | muder murder | |
2357 | mudering murdering | |
2358 | muhammadan muslim | |
2359 | multicultralism multiculturalism | |
2360 | multipled multiplied | |
2361 | multiplers multipliers | |
2362 | munbers numbers | |
2363 | muncipalities municipalities | |
2364 | muncipality municipality | |
2365 | munnicipality municipality | |
2366 | muscels mussels, muscles | |
2367 | muscial musical | |
2368 | muscician musician | |
2369 | muscicians musicians | |
2370 | mutiliated mutilated | |
2371 | myraid myriad | |
2372 | mysef myself | |
2373 | mysogynist misogynist | |
2374 | mysogyny misogyny | |
2375 | mysterous mysterious | |
2376 | Mythraic Mithraic | |
2377 | naieve naive | |
2378 | Napoleonian Napoleonic | |
2379 | naturaly naturally | |
2380 | naturely naturally | |
2381 | naturual natural | |
2382 | naturually naturally | |
2383 | Nazereth Nazareth | |
2384 | neccesarily necessarily | |
2385 | neccesary necessary | |
2386 | neccessarily necessarily | |
2387 | neccessary necessary | |
2388 | neccessities necessities | |
2389 | necesarily necessarily | |
2390 | necesary necessary | |
2391 | necessiate necessitate | |
2392 | neglible negligible | |
2393 | negligable negligible | |
2394 | negociate negotiate | |
2395 | negociation negotiation | |
2396 | negociations negotiations | |
2397 | negotation negotiation | |
2398 | neice niece, nice | |
2399 | neigborhood neighborhood | |
2400 | neigbour neighbour, neighbor | |
2401 | neigbourhood neighbourhood | |
2402 | neigbouring neighbouring, neighboring | |
2403 | neigbours neighbours, neighbors | |
2404 | neolitic neolithic | |
2405 | nessasarily necessarily | |
2406 | nessecary necessary | |
2407 | nestin nesting | |
2408 | neverthless nevertheless | |
2409 | newletters newsletters | |
2410 | Newyorker New Yorker | |
2411 | nickle nickel | |
2412 | nightfa;; nightfall | |
2413 | nightime nighttime | |
2414 | nineth ninth | |
2415 | ninteenth nineteenth | |
2416 | ninties 1990s | |
2417 | ninty ninety | |
2418 | nkow know | |
2419 | nkwo know | |
2420 | nmae name | |
2421 | noncombatents noncombatants | |
2422 | nonsence nonsense | |
2423 | nontheless nonetheless | |
2424 | noone no one | |
2425 | norhern northern | |
2426 | northen northern | |
2427 | northereastern northeastern | |
2428 | notabley notably | |
2429 | noteable notable | |
2430 | noteably notably | |
2431 | noteriety notoriety | |
2432 | noth north | |
2433 | nothern northern | |
2434 | noticable noticeable | |
2435 | noticably noticeably | |
2436 | noticeing noticing | |
2437 | noticible noticeable | |
2438 | notwhithstanding notwithstanding | |
2439 | noveau nouveau | |
2440 | nowdays nowadays | |
2441 | nowe now | |
2442 | nto not | |
2443 | nucular nuclear | |
2444 | nuculear nuclear | |
2445 | nuisanse nuisance | |
2446 | Nullabour Nullarbor | |
2447 | numberous numerous | |
2448 | Nuremburg Nuremberg | |
2449 | nusance nuisance | |
2450 | nutritent nutrient | |
2451 | nutritents nutrients | |
2452 | nuturing nurturing | |
2453 | obediance obedience | |
2454 | obediant obedient | |
2455 | obession obsession | |
2456 | obssessed obsessed | |
2457 | obstacal obstacle | |
2458 | obstancles obstacles | |
2459 | obstruced obstructed | |
2460 | ocasion occasion | |
2461 | ocasional occasional | |
2462 | ocasionally occasionally | |
2463 | ocasionaly occasionally | |
2464 | ocasioned occasioned | |
2465 | ocasions occasions | |
2466 | ocassion occasion | |
2467 | ocassional occasional | |
2468 | ocassionally occasionally | |
2469 | ocassionaly occasionally | |
2470 | ocassioned occasioned | |
2471 | ocassions occasions | |
2472 | occaison occasion | |
2473 | occassion occasion | |
2474 | occassional occasional | |
2475 | occassionally occasionally | |
2476 | occassionaly occasionally | |
2477 | occassioned occasioned | |
2478 | occassions occasions | |
2479 | occationally occasionally | |
2480 | occour occur | |
2481 | occurance occurrence | |
2482 | occurances occurrences | |
2483 | occured occurred | |
2484 | occurence occurrence | |
2485 | occurences occurrences | |
2486 | occuring occurring | |
2487 | occurr occur | |
2488 | occurrance occurrence | |
2489 | occurrances occurrences | |
2490 | octohedra octahedra | |
2491 | octohedral octahedral | |
2492 | octohedron octahedron | |
2493 | ocuntries countries | |
2494 | ocuntry country | |
2495 | ocurr occur | |
2496 | ocurrance occurrence | |
2497 | ocurred occurred | |
2498 | ocurrence occurrence | |
2499 | offcers officers | |
2500 | offcially officially | |
2501 | offereings offerings | |
2502 | offical official | |
2503 | officals officials | |
2504 | offically officially | |
2505 | officaly officially | |
2506 | officialy officially | |
2507 | offred offered | |
2508 | oftenly often | |
2509 | oging going, ogling | |
2510 | omision omission | |
2511 | omited omitted | |
2512 | omiting omitting | |
2513 | omlette omelette | |
2514 | ommision omission | |
2515 | ommited omitted | |
2516 | ommiting omitting | |
2517 | ommitted omitted | |
2518 | ommitting omitting | |
2519 | omniverous omnivorous | |
2520 | omniverously omnivorously | |
2521 | omre more | |
2522 | onot note, not | |
2523 | onyl only | |
2524 | openess openness | |
2525 | oponent opponent | |
2526 | oportunity opportunity | |
2527 | opose oppose | |
2528 | oposite opposite | |
2529 | oposition opposition | |
2530 | oppenly openly | |
2531 | oppinion opinion | |
2532 | opponant opponent | |
2533 | oppononent opponent | |
2534 | oppositition opposition | |
2535 | oppossed opposed | |
2536 | opprotunity opportunity | |
2537 | opression oppression | |
2538 | opressive oppressive | |
2539 | opthalmic ophthalmic | |
2540 | opthalmologist ophthalmologist | |
2541 | opthalmology ophthalmology | |
2542 | opthamologist ophthalmologist | |
2543 | optmizations optimizations | |
2544 | optomism optimism | |
2545 | orded ordered | |
2546 | organim organism | |
2547 | organiztion organization | |
2548 | orgin origin, organ | |
2549 | orginal original | |
2550 | orginally originally | |
2551 | orginize organise | |
2552 | oridinarily ordinarily | |
2553 | origanaly originally | |
2554 | originall original, originally | |
2555 | originaly originally | |
2556 | originially originally | |
2557 | originnally originally | |
2558 | origional original | |
2559 | orignally originally | |
2560 | orignially originally | |
2561 | otehr other | |
2562 | ouevre oeuvre | |
2563 | overshaddowed overshadowed | |
2564 | overthere over there | |
2565 | overwelming overwhelming | |
2566 | overwheliming overwhelming | |
2567 | owrk work | |
2568 | owudl would | |
2569 | oxigen oxygen | |
2570 | oximoron oxymoron | |
2571 | paide paid | |
2572 | paitience patience | |
2573 | palce place, palace | |
2574 | paleolitic paleolithic | |
2575 | paliamentarian parliamentarian | |
2576 | Palistian Palestinian | |
2577 | Palistinian Palestinian | |
2578 | Palistinians Palestinians | |
2579 | pallete palette | |
2580 | pamflet pamphlet | |
2581 | pamplet pamphlet | |
2582 | pantomine pantomime | |
2583 | Papanicalou Papanicolaou | |
2584 | paralel parallel | |
2585 | paralell parallel | |
2586 | paralelly parallelly | |
2587 | paralely parallelly | |
2588 | parallely parallelly | |
2589 | paranthesis parenthesis | |
2590 | paraphenalia paraphernalia | |
2591 | parellels parallels | |
2592 | parituclar particular | |
2593 | parliment parliament | |
2594 | parrakeets parakeets | |
2595 | parralel parallel | |
2596 | parrallel parallel | |
2597 | parrallell parallel | |
2598 | parrallelly parallelly | |
2599 | parrallely parallelly | |
2600 | partialy partially | |
2601 | particually particularly | |
2602 | particualr particular | |
2603 | particuarly particularly | |
2604 | particularily particularly | |
2605 | particulary particularly | |
2606 | pary party | |
2607 | pased passed | |
2608 | pasengers passengers | |
2609 | passerbys passersby | |
2610 | pasttime pastime | |
2611 | pastural pastoral | |
2612 | paticular particular | |
2613 | pattented patented | |
2614 | pavillion pavilion | |
2615 | payed paid | |
2616 | peacefuland peaceful and | |
2617 | peageant pageant | |
2618 | peculure peculiar | |
2619 | pedestrain pedestrian | |
2620 | peice piece | |
2621 | Peloponnes Peloponnesus | |
2622 | penatly penalty | |
2623 | penerator penetrator | |
2624 | penisula peninsula | |
2625 | penisular peninsular | |
2626 | penninsula peninsula | |
2627 | penninsular peninsular | |
2628 | pennisula peninsula | |
2629 | pensinula peninsula | |
2630 | peom poem | |
2631 | peoms poems | |
2632 | peopel people | |
2633 | peotry poetry | |
2634 | perade parade | |
2635 | percepted perceived | |
2636 | percieve perceive | |
2637 | percieved perceived | |
2638 | perenially perennially | |
2639 | perfomers performers | |
2640 | performence performance | |
2641 | performes performed, performs | |
2642 | perhasp perhaps | |
2643 | perheaps perhaps | |
2644 | perhpas perhaps | |
2645 | peripathetic peripatetic | |
2646 | peristent persistent | |
2647 | perjery perjury | |
2648 | perjorative pejorative | |
2649 | permanant permanent | |
2650 | permenant permanent | |
2651 | permenantly permanently | |
2652 | permissable permissible | |
2653 | perogative prerogative | |
2654 | peronal personal | |
2655 | perosnality personality | |
2656 | perphas perhaps | |
2657 | perpindicular perpendicular | |
2658 | perseverence perseverance | |
2659 | persistance persistence | |
2660 | persistant persistent | |
2661 | personel personnel, personal | |
2662 | personell personnel | |
2663 | personnell personnel | |
2664 | persuded persuaded | |
2665 | persue pursue | |
2666 | persued pursued | |
2667 | persuing pursuing | |
2668 | persuit pursuit | |
2669 | persuits pursuits | |
2670 | pertubation perturbation | |
2671 | pertubations perturbations | |
2672 | pessiary pessary | |
2673 | petetion petition | |
2674 | Pharoah Pharaoh | |
2675 | phenomenom phenomenon | |
2676 | phenomenonal phenomenal | |
2677 | phenomenonly phenomenally | |
2678 | phenomonenon phenomenon | |
2679 | phenomonon phenomenon | |
2680 | phenonmena phenomena | |
2681 | Philipines Philippines | |
2682 | philisopher philosopher | |
2683 | philisophical philosophical | |
2684 | philisophy philosophy | |
2685 | Phillipine Philippine | |
2686 | Phillipines Philippines | |
2687 | Phillippines Philippines | |
2688 | phillosophically philosophically | |
2689 | philospher philosopher | |
2690 | philosphies philosophies | |
2691 | philosphy philosophy | |
2692 | Phonecian Phoenecian | |
2693 | phongraph phonograph | |
2694 | phylosophical philosophical | |
2695 | physicaly physically | |
2696 | pich pitch | |
2697 | pilgrimmage pilgrimage | |
2698 | pilgrimmages pilgrimages | |
2699 | pinapple pineapple | |
2700 | pinnaple pineapple | |
2701 | pinoneered pioneered | |
2702 | plagarism plagiarism | |
2703 | planation plantation | |
2704 | planed planned | |
2705 | plantiff plaintiff | |
2706 | plateu plateau | |
2707 | plausable plausible | |
2708 | playright playwright | |
2709 | playwrite playwright | |
2710 | playwrites playwrights | |
2711 | pleasent pleasant | |
2712 | plebicite plebiscite | |
2713 | plesant pleasant | |
2714 | poeoples peoples | |
2715 | poety poetry | |
2716 | poisin poison | |
2717 | polical political | |
2718 | polinator pollinator | |
2719 | polinators pollinators | |
2720 | politican politician | |
2721 | politicans politicians | |
2722 | poltical political | |
2723 | polute pollute | |
2724 | poluted polluted | |
2725 | polutes pollutes | |
2726 | poluting polluting | |
2727 | polution pollution | |
2728 | polyphonyic polyphonic | |
2729 | polysaccaride polysaccharide | |
2730 | polysaccharid polysaccharide | |
2731 | pomegranite pomegranate | |
2732 | pomotion promotion | |
2733 | poportional proportional | |
2734 | popoulation population | |
2735 | popularaty popularity | |
2736 | populare popular | |
2737 | populer popular | |
2738 | portayed portrayed | |
2739 | portraing portraying | |
2740 | Portugese Portuguese | |
2741 | portuguease portuguese | |
2742 | posess possess | |
2743 | posessed possessed | |
2744 | posesses possesses | |
2745 | posessing possessing | |
2746 | posession possession | |
2747 | posessions possessions | |
2748 | posion poison | |
2749 | positon position, positron | |
2750 | possable possible | |
2751 | possably possibly | |
2752 | posseses possesses | |
2753 | possesing possessing | |
2754 | possesion possession | |
2755 | possessess possesses | |
2756 | possibile possible | |
2757 | possibilty possibility | |
2758 | possiblility possibility | |
2759 | possiblilty possibility | |
2760 | possiblities possibilities | |
2761 | possiblity possibility | |
2762 | possition position | |
2763 | Postdam Potsdam | |
2764 | posthomous posthumous | |
2765 | postion position | |
2766 | postive positive | |
2767 | potatos potatoes | |
2768 | portait portrait | |
2769 | potrait portrait | |
2770 | potrayed portrayed | |
2771 | poulations populations | |
2772 | poverful powerful | |
2773 | poweful powerful | |
2774 | powerfull powerful | |
2775 | practial practical | |
2776 | practially practically | |
2777 | practicaly practically | |
2778 | practicioner practitioner | |
2779 | practicioners practitioners | |
2780 | practicly practically | |
2781 | practioner practitioner | |
2782 | practioners practitioners | |
2783 | prairy prairie | |
2784 | prarie prairie | |
2785 | praries prairies | |
2786 | pratice practice | |
2787 | preample preamble | |
2788 | precedessor predecessor | |
2789 | preceed precede | |
2790 | preceeded preceded | |
2791 | preceeding preceding | |
2792 | preceeds precedes | |
2793 | precentage percentage | |
2794 | precice precise | |
2795 | precisly precisely | |
2796 | precurser precursor | |
2797 | predecesors predecessors | |
2798 | predicatble predictable | |
2799 | predicitons predictions | |
2800 | predomiantly predominately | |
2801 | prefered preferred | |
2802 | prefering preferring | |
2803 | preferrably preferably | |
2804 | pregancies pregnancies | |
2805 | preiod period | |
2806 | preliferation proliferation | |
2807 | premeire premiere | |
2808 | premeired premiered | |
2809 | premillenial premillennial | |
2810 | preminence preeminence | |
2811 | premission permission | |
2812 | Premonasterians Premonstratensians | |
2813 | preocupation preoccupation | |
2814 | prepair prepare | |
2815 | prepartion preparation | |
2816 | prepatory preparatory | |
2817 | preperation preparation | |
2818 | preperations preparations | |
2819 | preriod period | |
2820 | presedential presidential | |
2821 | presense presence | |
2822 | presidenital presidential | |
2823 | presidental presidential | |
2824 | presitgious prestigious | |
2825 | prespective perspective | |
2826 | prestigeous prestigious | |
2827 | prestigous prestigious | |
2828 | presumabely presumably | |
2829 | presumibly presumably | |
2830 | pretection protection | |
2831 | prevelant prevalent | |
2832 | preverse perverse | |
2833 | previvous previous | |
2834 | pricipal principal | |
2835 | priciple principle | |
2836 | priestood priesthood | |
2837 | primarly primarily | |
2838 | primative primitive | |
2839 | primatively primitively | |
2840 | primatives primitives | |
2841 | primordal primordial | |
2842 | priveledges privileges | |
2843 | privelege privilege | |
2844 | priveleged privileged | |
2845 | priveleges privileges | |
2846 | privelige privilege | |
2847 | priveliged privileged | |
2848 | priveliges privileges | |
2849 | privelleges privileges | |
2850 | privilage privilege | |
2851 | priviledge privilege | |
2852 | priviledges privileges | |
2853 | privledge privilege | |
2854 | privte private | |
2855 | probabilaty probability | |
2856 | probablistic probabilistic | |
2857 | probablly probably | |
2858 | probalibity probability | |
2859 | probaly probably | |
2860 | probelm problem | |
2861 | proccess process | |
2862 | proccessing processing | |
2863 | procede proceed, precede | |
2864 | proceded proceeded, preceded | |
2865 | procedes proceeds, precedes | |
2866 | procedger procedure | |
2867 | proceding proceeding, preceding | |
2868 | procedings proceedings | |
2869 | proceedure procedure | |
2870 | proces process | |
2871 | processer processor | |
2872 | proclaimation proclamation | |
2873 | proclamed proclaimed | |
2874 | proclaming proclaiming | |
2875 | proclomation proclamation | |
2876 | profesion profusion, profession | |
2877 | profesor professor | |
2878 | professer professor | |
2879 | proffesed professed | |
2880 | proffesion profession | |
2881 | proffesional professional | |
2882 | proffesor professor | |
2883 | profilic prolific | |
2884 | progessed progressed | |
2885 | programable programmable | |
2886 | progrom pogrom, program | |
2887 | progroms pogroms, programs | |
2888 | prohabition prohibition | |
2889 | prologomena prolegomena | |
2890 | prominance prominence | |
2891 | prominant prominent | |
2892 | prominantly prominently | |
2893 | prominately prominently, predominately | |
2894 | promiscous promiscuous | |
2895 | promotted promoted | |
2896 | pronomial pronominal | |
2897 | pronouced pronounced | |
2898 | pronounched pronounced | |
2899 | pronounciation pronunciation | |
2900 | proove prove | |
2901 | prooved proved | |
2902 | prophacy prophecy | |
2903 | propietary proprietary | |
2904 | propmted prompted | |
2905 | propoganda propaganda | |
2906 | propogate propagate | |
2907 | propogates propagates | |
2908 | propogation propagation | |
2909 | propostion proposition | |
2910 | propotions proportions | |
2911 | propper proper | |
2912 | propperly properly | |
2913 | proprietory proprietary | |
2914 | proseletyzing proselytizing | |
2915 | protaganist protagonist | |
2916 | protaganists protagonists | |
2917 | protocal protocol | |
2918 | protoganist protagonist | |
2919 | protrayed portrayed | |
2920 | protruberance protuberance | |
2921 | protruberances protuberances | |
2922 | prouncements pronouncements | |
2923 | provacative provocative | |
2924 | provded provided | |
2925 | provicial provincial | |
2926 | provinicial provincial | |
2927 | provisonal provisional | |
2928 | provisiosn provision | |
2929 | proximty proximity | |
2930 | pseudononymous pseudonymous | |
2931 | pseudonyn pseudonym | |
2932 | psuedo pseudo | |
2933 | psycology psychology | |
2934 | psyhic psychic | |
2935 | publicaly publicly | |
2936 | puchasing purchasing | |
2937 | Pucini Puccini | |
2938 | Puertorrican Puerto Rican | |
2939 | Puertorricans Puerto Ricans | |
2940 | pumkin pumpkin | |
2941 | puritannical puritanical | |
2942 | purposedly purposely | |
2943 | purpotedly purportedly | |
2944 | pursuade persuade | |
2945 | pursuaded persuaded | |
2946 | pursuades persuades | |
2947 | pususading persuading | |
2948 | puting putting | |
2949 | pwoer power | |
2950 | pyscic psychic | |
2951 | qtuie quite, quiet | |
2952 | quantaty quantity | |
2953 | quantitiy quantity | |
2954 | quarantaine quarantine | |
2955 | Queenland Queensland | |
2956 | questonable questionable | |
2957 | quicklyu quickly | |
2958 | quinessential quintessential | |
2959 | quitted quit | |
2960 | quizes quizzes | |
2961 | qutie quite, quiet | |
2962 | rabinnical rabbinical | |
2963 | racaus raucous | |
2964 | radiactive radioactive | |
2965 | radify ratify | |
2966 | raelly really | |
2967 | rarified rarefied | |
2968 | reaccurring recurring | |
2969 | reacing reaching | |
2970 | reacll recall | |
2971 | readmition readmission | |
2972 | realitvely relatively | |
2973 | realsitic realistic | |
2974 | realtions relations | |
2975 | realy really | |
2976 | realyl really | |
2977 | reasearch research | |
2978 | rebiulding rebuilding | |
2979 | rebllions rebellions | |
2980 | rebounce rebound | |
2981 | reccomend recommend | |
2982 | reccomendations recommendations | |
2983 | reccomended recommended | |
2984 | reccomending recommending | |
2985 | reccommend recommend | |
2986 | reccommended recommended | |
2987 | reccommending recommending | |
2988 | reccuring recurring | |
2989 | receeded receded | |
2990 | receeding receding | |
2991 | receivedfrom received from | |
2992 | recepient recipient | |
2993 | recepients recipients | |
2994 | receving receiving | |
2995 | rechargable rechargeable | |
2996 | reched reached | |
2997 | recide reside | |
2998 | recided resided | |
2999 | recident resident | |
3000 | recidents residents | |
3001 | reciding residing | |
3002 | reciepents recipients | |
3003 | reciept receipt | |
3004 | recieve receive | |
3005 | recieved received | |
3006 | reciever receiver | |
3007 | recievers receivers | |
3008 | recieves receives | |
3009 | recieving receiving | |
3010 | recipiant recipient | |
3011 | recipiants recipients | |
3012 | recived received | |
3013 | recivership receivership | |
3014 | recogise recognise | |
3015 | recogize recognize | |
3016 | recomend recommend | |
3017 | recomended recommended | |
3018 | recomending recommending | |
3019 | recomends recommends | |
3020 | recommedations recommendations | |
3021 | reconaissance reconnaissance | |
3022 | reconcilation reconciliation | |
3023 | reconized recognized | |
3024 | reconnaissence reconnaissance | |
3025 | recontructed reconstructed | |
3026 | recordproducer record producer | |
3027 | recquired required | |
3028 | recrational recreational | |
3029 | recrod record | |
3030 | recuiting recruiting | |
3031 | recuring recurring | |
3032 | recurrance recurrence | |
3033 | rediculous ridiculous | |
3034 | reedeming redeeming | |
3035 | reenforced reinforced | |
3036 | refect reflect | |
3037 | refedendum referendum | |
3038 | referal referral | |
3039 | refered referred | |
3040 | referiang referring | |
3041 | refering referring | |
3042 | refernces references | |
3043 | referrence reference | |
3044 | referrs refers | |
3045 | reffered referred | |
3046 | refference reference | |
3047 | refrence reference | |
3048 | refrences references | |
3049 | refrers refers | |
3050 | refridgeration refrigeration | |
3051 | refridgerator refrigerator | |
3052 | refromist reformist | |
3053 | refusla refusal | |
3054 | regardes regards | |
3055 | regluar regular | |
3056 | reguarly regularly | |
3057 | regulaion regulation | |
3058 | regulaotrs regulators | |
3059 | regularily regularly | |
3060 | rehersal rehearsal | |
3061 | reicarnation reincarnation | |
3062 | reigining reigning | |
3063 | reknown renown | |
3064 | reknowned renowned | |
3065 | rela real | |
3066 | relaly really | |
3067 | relatiopnship relationship | |
3068 | relativly relatively | |
3069 | relected reelected | |
3070 | releive relieve | |
3071 | releived relieved | |
3072 | releiver reliever | |
3073 | releses releases | |
3074 | relevence relevance | |
3075 | relevent relevant | |
3076 | reliablity reliability | |
3077 | relient reliant | |
3078 | religeous religious | |
3079 | religous religious | |
3080 | religously religiously | |
3081 | relinqushment relinquishment | |
3082 | relitavely relatively | |
3083 | relized realised, realized | |
3084 | relpacement replacement | |
3085 | remaing remaining | |
3086 | remeber remember | |
3087 | rememberable memorable | |
3088 | rememberance remembrance | |
3089 | remembrence remembrance | |
3090 | remenant remnant | |
3091 | remenicent reminiscent | |
3092 | reminent remnant | |
3093 | reminescent reminiscent | |
3094 | reminscent reminiscent | |
3095 | reminsicent reminiscent | |
3096 | rendevous rendezvous | |
3097 | rendezous rendezvous | |
3098 | renedered rende | |
3099 | renewl renewal | |
3100 | rentors renters | |
3101 | reoccurrence recurrence | |
3102 | reorganision reorganisation | |
3103 | repatition repetition, repartition | |
3104 | repentence repentance | |
3105 | repentent repentant | |
3106 | repeteadly repeatedly | |
3107 | repetion repetition | |
3108 | repid rapid | |
3109 | reponse response | |
3110 | reponsible responsible | |
3111 | reportadly reportedly | |
3112 | represantative representative | |
3113 | representive representative | |
3114 | representives representatives | |
3115 | reproducable reproducible | |
3116 | reprtoire repertoire | |
3117 | repsectively respectively | |
3118 | reptition repetition | |
3119 | requirment requirement | |
3120 | requred required | |
3121 | resaurant restaurant | |
3122 | resembelance resemblance | |
3123 | resembes resembles | |
3124 | resemblence resemblance | |
3125 | resevoir reservoir | |
3126 | resignement resignment | |
3127 | resistable resistible | |
3128 | resistence resistance | |
3129 | resistent resistant | |
3130 | respectivly respectively | |
3131 | responce response | |
3132 | responibilities responsibilities | |
3133 | responisble responsible | |
3134 | responnsibilty responsibility | |
3135 | responsability responsibility | |
3136 | responsibile responsible | |
3137 | responsibilites responsibilities | |
3138 | responsiblity responsibility | |
3139 | ressemblance resemblance | |
3140 | ressemble resemble | |
3141 | ressembled resembled | |
3142 | ressemblence resemblance | |
3143 | ressembling resembling | |
3144 | resssurecting resurrecting | |
3145 | ressurect resurrect | |
3146 | ressurected resurrected | |
3147 | ressurection resurrection | |
3148 | ressurrection resurrection | |
3149 | restaraunt restaurant | |
3150 | restaraunteur restaurateur | |
3151 | restaraunteurs restaurateurs | |
3152 | restaraunts restaurants | |
3153 | restauranteurs restaurateurs | |
3154 | restauration restoration | |
3155 | restauraunt restaurant | |
3156 | resteraunt restaurant | |
3157 | resteraunts restaurants | |
3158 | resticted restricted | |
3159 | restraunt restraint, restaurant | |
3160 | resturant restaurant | |
3161 | resturaunt restaurant | |
3162 | resurecting resurrecting | |
3163 | retalitated retaliated | |
3164 | retalitation retaliation | |
3165 | retreive retrieve | |
3166 | returnd returned | |
3167 | revaluated reevaluated | |
3168 | reveral reversal | |
3169 | reversable reversible | |
3170 | revolutionar revolutionary | |
3171 | rewitten rewritten | |
3172 | rewriet rewrite | |
3173 | rhymme rhyme | |
3174 | rhythem rhythm | |
3175 | rhythim rhythm | |
3176 | rhytmic rhythmic | |
3177 | rigeur rigueur, rigour, rigor | |
3178 | rigourous rigorous | |
3179 | rininging ringing | |
3180 | rised rose | |
3181 | Rockerfeller Rockefeller | |
3182 | rococco rococo | |
3183 | rocord record | |
3184 | roomate roommate | |
3185 | rougly roughly | |
3186 | rucuperate recuperate | |
3187 | rudimentatry rudimentary | |
3188 | rulle rule | |
3189 | runing running | |
3190 | runnung running | |
3191 | russina Russian | |
3192 | Russion Russian | |
3193 | rwite write | |
3194 | rythem rhythm | |
3195 | rythim rhythm | |
3196 | rythm rhythm | |
3197 | rythmic rhythmic | |
3198 | rythyms rhythms | |
3199 | sacrafice sacrifice | |
3200 | sacreligious sacrilegious | |
3201 | sacrifical sacrificial | |
3202 | saftey safety | |
3203 | safty safety | |
3204 | salery salary | |
3205 | sanctionning sanctioning | |
3206 | sandwhich sandwich | |
3207 | Sanhedrim Sanhedrin | |
3208 | santioned sanctioned | |
3209 | sargant sergeant | |
3210 | sargeant sergeant | |
3211 | sasy says, sassy | |
3212 | satelite satellite | |
3213 | satelites satellites | |
3214 | Saterday Saturday | |
3215 | Saterdays Saturdays | |
3216 | satisfactority satisfactorily | |
3217 | satric satiric | |
3218 | satrical satirical | |
3219 | satrically satirically | |
3220 | sattelite satellite | |
3221 | sattelites satellites | |
3222 | saught sought | |
3223 | saveing saving | |
3224 | saxaphone saxophone | |
3225 | scaleable scalable | |
3226 | scandanavia Scandinavia | |
3227 | scaricity scarcity | |
3228 | scavanged scavenged | |
3229 | schedual schedule | |
3230 | scholarhip scholarship | |
3231 | scholarstic scholastic, scholarly | |
3232 | scientfic scientific | |
3233 | scientifc scientific | |
3234 | scientis scientist | |
3235 | scince science | |
3236 | scinece science | |
3237 | scirpt script | |
3238 | scoll scroll | |
3239 | screenwrighter screenwriter | |
3240 | scrutinity scrutiny | |
3241 | scuptures sculptures | |
3242 | seach search | |
3243 | seached searched | |
3244 | seaches searches | |
3245 | secceeded seceded, succeeded | |
3246 | seceed succeed, secede | |
3247 | seceeded succeeded, seceded | |
3248 | secratary secretary | |
3249 | secretery secretary | |
3250 | sedereal sidereal | |
3251 | seeked sought | |
3252 | segementation segmentation | |
3253 | seguoys segues | |
3254 | seige siege | |
3255 | seing seeing | |
3256 | seinor senior | |
3257 | seldomly seldom | |
3258 | senarios scenarios | |
3259 | sence sense | |
3260 | senstive sensitive | |
3261 | sensure censure | |
3262 | seperate separate | |
3263 | seperated separated | |
3264 | seperately separately | |
3265 | seperates separates | |
3266 | seperating separating | |
3267 | seperation separation | |
3268 | seperatism separatism | |
3269 | seperatist separatist | |
3270 | sepina subpoena | |
3271 | sepulchure sepulchre, sepulcher | |
3272 | sepulcre sepulchre, sepulcher | |
3273 | sergent sergeant | |
3274 | settelement settlement | |
3275 | settlment settlement | |
3276 | severeal several | |
3277 | severley severely | |
3278 | severly severely | |
3279 | sevice service | |
3280 | shaddow shadow | |
3281 | shamen shaman, shamans | |
3282 | sheat sheath, sheet, cheat | |
3283 | sheild shield | |
3284 | sherif sheriff | |
3285 | shineing shining | |
3286 | shiped shipped | |
3287 | shiping shipping | |
3288 | shopkeeepers shopkeepers | |
3289 | shorly shortly | |
3290 | shortwhile short while | |
3291 | shoudl should | |
3292 | shoudln should, shouldn't | |
3293 | shouldnt shouldn't | |
3294 | shreak shriek | |
3295 | shrinked shrunk | |
3296 | sicne since | |
3297 | sideral sidereal | |
3298 | sieze seize, size | |
3299 | siezed seized, sized | |
3300 | siezing seizing, sizing | |
3301 | siezure seizure | |
3302 | siezures seizures | |
3303 | siginificant significant | |
3304 | signficant significant | |
3305 | signficiant significant | |
3306 | signfies signifies | |
3307 | signifantly significantly | |
3308 | significently significantly | |
3309 | signifigant significant | |
3310 | signifigantly significantly | |
3311 | signitories signatories | |
3312 | signitory signatory | |
3313 | similarily similarly | |
3314 | similiar similar | |
3315 | similiarity similarity | |
3316 | similiarly similarly | |
3317 | simmilar similar | |
3318 | simpley simply | |
3319 | simplier simpler | |
3320 | simultanous simultaneous | |
3321 | simultanously simultaneously | |
3322 | sincerley sincerely | |
3323 | singsog singsong | |
3324 | sinse sines, since | |
3325 | Sionist Zionist | |
3326 | Sionists Zionists | |
3327 | Sixtin Sistine | |
3328 | Skagerak Skagerrak | |
3329 | skateing skating | |
3330 | slaugterhouses slaughterhouses | |
3331 | slowy slowly | |
3332 | smae same | |
3333 | smealting smelting | |
3334 | smoe some | |
3335 | sneeks sneaks | |
3336 | snese sneeze | |
3337 | socalism socialism | |
3338 | socities societies | |
3339 | soem some | |
3340 | sofware software | |
3341 | sohw show | |
3342 | soilders soldiers | |
3343 | solatary solitary | |
3344 | soley solely | |
3345 | soliders soldiers | |
3346 | soliliquy soliloquy | |
3347 | soluable soluble | |
3348 | somene someone | |
3349 | somtimes sometimes | |
3350 | somwhere somewhere | |
3351 | sophicated sophisticated | |
3352 | sorceror sorcerer | |
3353 | sorrounding surrounding | |
3354 | sotry story | |
3355 | sotyr satyr, story | |
3356 | soudn sound | |
3357 | soudns sounds | |
3358 | sould could, should, sold | |
3359 | sountrack soundtrack | |
3360 | sourth south | |
3361 | sourthern southern | |
3362 | souvenier souvenir | |
3363 | souveniers souvenirs | |
3364 | soveits soviets | |
3365 | sovereignity sovereignty | |
3366 | soverign sovereign | |
3367 | soverignity sovereignty | |
3368 | soverignty sovereignty | |
3369 | spainish Spanish | |
3370 | speach speech | |
3371 | specfic specific | |
3372 | speciallized specialised, specialized | |
3373 | specif specific, specify | |
3374 | specifiying specifying | |
3375 | speciman specimen | |
3376 | spectauclar spectacular | |
3377 | spectaulars spectaculars | |
3378 | spects aspects, expects | |
3379 | spectum spectrum | |
3380 | speices species | |
3381 | spendour splendour | |
3382 | spermatozoan spermatozoon | |
3383 | spoace space | |
3384 | sponser sponsor | |
3385 | sponsered sponsored | |
3386 | spontanous spontaneous | |
3387 | sponzored sponsored | |
3388 | spoonfulls spoonfuls | |
3389 | sppeches speeches | |
3390 | spreaded spread | |
3391 | sprech speech | |
3392 | spred spread | |
3393 | spriritual spiritual | |
3394 | spritual spiritual | |
3395 | sqaure square | |
3396 | stablility stability | |
3397 | stainlees stainless | |
3398 | staion station | |
3399 | standars standards | |
3400 | stange strange | |
3401 | startegic strategic | |
3402 | startegies strategies | |
3403 | startegy strategy | |
3404 | stateman statesman | |
3405 | statememts statements | |
3406 | statment statement | |
3407 | steriods steroids | |
3408 | sterotypes stereotypes | |
3409 | stilus stylus | |
3410 | stingent stringent | |
3411 | stiring stirring | |
3412 | stirrs stirs | |
3413 | stlye style | |
3414 | stong strong | |
3415 | stopry story | |
3416 | storeis stories | |
3417 | storise stories | |
3418 | stornegst strongest | |
3419 | stoyr story | |
3420 | stpo stop | |
3421 | stradegies strategies | |
3422 | stradegy strategy | |
3423 | strat start, strata | |
3424 | stratagically strategically | |
3425 | streemlining streamlining | |
3426 | stregth strength | |
3427 | strenghen strengthen | |
3428 | strenghened strengthened | |
3429 | strenghening strengthening | |
3430 | strenght strength | |
3431 | strenghten strengthen | |
3432 | strenghtened strengthened | |
3433 | strenghtening strengthening | |
3434 | strengtened strengthened | |
3435 | strenous strenuous | |
3436 | strictist strictest | |
3437 | strikely strikingly | |
3438 | strnad strand | |
3439 | stroy story, destroy | |
3440 | structual structural | |
3441 | stubborness stubbornness | |
3442 | stucture structure | |
3443 | stuctured structured | |
3444 | studdy study | |
3445 | studing studying | |
3446 | stuggling struggling | |
3447 | sturcture structure | |
3448 | subcatagories subcategories | |
3449 | subcatagory subcategory | |
3450 | subconsiously subconsciously | |
3451 | subjudgation subjugation | |
3452 | submachne submachine | |
3453 | subpecies subspecies | |
3454 | subsidary subsidiary | |
3455 | subsiduary subsidiary | |
3456 | subsquent subsequent | |
3457 | subsquently subsequently | |
3458 | substace substance | |
3459 | substancial substantial | |
3460 | substatial substantial | |
3461 | substituded substituted | |
3462 | substract subtract | |
3463 | substracted subtracted | |
3464 | substracting subtracting | |
3465 | substraction subtraction | |
3466 | substracts subtracts | |
3467 | subtances substances | |
3468 | subterranian subterranean | |
3469 | suburburban suburban | |
3470 | succceeded succeeded | |
3471 | succcesses successes | |
3472 | succedded succeeded | |
3473 | succeded succeeded | |
3474 | succeds succeeds | |
3475 | succesful successful | |
3476 | succesfully successfully | |
3477 | succesfuly successfully | |
3478 | succesion succession | |
3479 | succesive successive | |
3480 | successfull successful | |
3481 | successully successfully | |
3482 | succsess success | |
3483 | succsessfull successful | |
3484 | suceed succeed | |
3485 | suceeded succeeded | |
3486 | suceeding succeeding | |
3487 | suceeds succeeds | |
3488 | sucesful successful | |
3489 | sucesfully successfully | |
3490 | sucesfuly successfully | |
3491 | sucesion succession | |
3492 | sucess success | |
3493 | sucesses successes | |
3494 | sucessful successful | |
3495 | sucessfull successful | |
3496 | sucessfully successfully | |
3497 | sucessfuly successfully | |
3498 | sucession succession | |
3499 | sucessive successive | |
3500 | sucessor successor | |
3501 | sucessot successor | |
3502 | sucide suicide | |
3503 | sucidial suicidal | |
3504 | sufferage suffrage | |
3505 | sufferred suffered | |
3506 | sufferring suffering | |
3507 | sufficent sufficient | |
3508 | sufficently sufficiently | |
3509 | sumary summary | |
3510 | sunglases sunglasses | |
3511 | suop soup | |
3512 | superceeded superseded | |
3513 | superintendant superintendent | |
3514 | suphisticated sophisticated | |
3515 | suplimented supplemented | |
3516 | supose suppose | |
3517 | suposed supposed | |
3518 | suposedly supposedly | |
3519 | suposes supposes | |
3520 | suposing supposing | |
3521 | supplamented supplemented | |
3522 | suppliementing supplementing | |
3523 | suppoed supposed | |
3524 | supposingly supposedly | |
3525 | suppy supply | |
3526 | supress suppress | |
3527 | supressed suppressed | |
3528 | supresses suppresses | |
3529 | supressing suppressing | |
3530 | suprise surprise | |
3531 | suprised surprised | |
3532 | suprising surprising | |
3533 | suprisingly surprisingly | |
3534 | suprize surprise | |
3535 | suprized surprised | |
3536 | suprizing surprising | |
3537 | suprizingly surprisingly | |
3538 | surfce surface | |
3539 | surley surly, surely | |
3540 | suround surround | |
3541 | surounded surrounded | |
3542 | surounding surrounding | |
3543 | suroundings surroundings | |
3544 | surounds surrounds | |
3545 | surplanted supplanted | |
3546 | surpress suppress | |
3547 | surpressed suppressed | |
3548 | surprize surprise | |
3549 | surprized surprised | |
3550 | surprizing surprising | |
3551 | surprizingly surprisingly | |
3552 | surrended surrounded, surrendered | |
3553 | surrepetitious surreptitious | |
3554 | surrepetitiously surreptitiously | |
3555 | surreptious surreptitious | |
3556 | surreptiously surreptitiously | |
3557 | surronded surrounded | |
3558 | surrouded surrounded | |
3559 | surrouding surrounding | |
3560 | surrundering surrendering | |
3561 | surveilence surveillance | |
3562 | surveill surveil | |
3563 | surveyer surveyor | |
3564 | surviver survivor | |
3565 | survivers survivors | |
3566 | survivied survived | |
3567 | suseptable susceptible | |
3568 | suseptible susceptible | |
3569 | suspention suspension | |
3570 | swaer swear | |
3571 | swaers swears | |
3572 | swepth swept | |
3573 | swiming swimming | |
3574 | syas says | |
3575 | symetrical symmetrical | |
3576 | symetrically symmetrically | |
3577 | symetry symmetry | |
3578 | symettric symmetric | |
3579 | symmetral symmetric | |
3580 | symmetricaly symmetrically | |
3581 | synagouge synagogue | |
3582 | syncronization synchronization | |
3583 | synonomous synonymous | |
3584 | synonymns synonyms | |
3585 | synphony symphony | |
3586 | syphyllis syphilis | |
3587 | sypmtoms symptoms | |
3588 | syrap syrup | |
3589 | sysmatically systematically | |
3590 | sytem system | |
3591 | sytle style | |
3592 | tabacco tobacco | |
3593 | tahn than | |
3594 | taht that | |
3595 | talekd talked | |
3596 | targetted targeted | |
3597 | targetting targeting | |
3598 | tast taste | |
3599 | tath that | |
3600 | tattooes tattoos | |
3601 | taxanomic taxonomic | |
3602 | taxanomy taxonomy | |
3603 | teached taught | |
3604 | techician technician | |
3605 | techicians technicians | |
3606 | techiniques techniques | |
3607 | technitian technician | |
3608 | technnology technology | |
3609 | technolgy technology | |
3610 | teh the | |
3611 | tehy they | |
3612 | telelevision television | |
3613 | televsion television | |
3614 | telphony telephony | |
3615 | temerature temperature | |
3616 | temparate temperate | |
3617 | temperarily temporarily | |
3618 | temperment temperament | |
3619 | tempertaure temperature | |
3620 | temperture temperature | |
3621 | temprary temporary | |
3622 | tenacle tentacle | |
3623 | tenacles tentacles | |
3624 | tendacy tendency | |
3625 | tendancies tendencies | |
3626 | tendancy tendency | |
3627 | tennisplayer tennis player | |
3628 | tepmorarily temporarily | |
3629 | terrestial terrestrial | |
3630 | terriories territories | |
3631 | terriory territory | |
3632 | territorist terrorist | |
3633 | territoy territory | |
3634 | terroist terrorist | |
3635 | testiclular testicular | |
3636 | tghe the | |
3637 | thast that, that's | |
3638 | theather theater, theatre | |
3639 | theese these | |
3640 | theif thief | |
3641 | theives thieves | |
3642 | themselfs themselves | |
3643 | themslves themselves | |
3644 | ther there, their, the | |
3645 | therafter thereafter | |
3646 | therby thereby | |
3647 | theri their | |
3648 | thgat that | |
3649 | thge the | |
3650 | thier their | |
3651 | thign thing | |
3652 | thigns things | |
3653 | thigsn things | |
3654 | thikn think | |
3655 | thikning thinking, thickening | |
3656 | thikns thinks | |
3657 | thiunk think | |
3658 | thn then | |
3659 | thna than | |
3660 | thne then | |
3661 | thnig thing | |
3662 | thnigs things | |
3663 | thoughout throughout | |
3664 | threatend threatened | |
3665 | threatning threatening | |
3666 | threee three | |
3667 | threshhold threshold | |
3668 | thrid third | |
3669 | throrough thorough | |
3670 | throughly thoroughly | |
3671 | throught thought, through, throughout | |
3672 | througout throughout | |
3673 | thru through | |
3674 | thsi this | |
3675 | thsoe those | |
3676 | thta that | |
3677 | thyat that | |
3678 | tiem time, Tim | |
3679 | tihkn think | |
3680 | tihs this | |
3681 | timne time | |
3682 | tiome time, tome | |
3683 | tje the | |
3684 | tjhe the | |
3685 | tjpanishad upanishad | |
3686 | tkae take | |
3687 | tkaes takes | |
3688 | tkaing taking | |
3689 | tlaking talking | |
3690 | tobbaco tobacco | |
3691 | todays today's | |
3692 | todya today | |
3693 | toghether together | |
3694 | tolerence tolerance | |
3695 | Tolkein Tolkien | |
3696 | tomatos tomatoes | |
3697 | tommorow tomorrow | |
3698 | tommorrow tomorrow | |
3699 | tongiht tonight | |
3700 | toriodal toroidal | |
3701 | tormenters tormentors | |
3702 | torpeados torpedoes | |
3703 | torpedos torpedoes | |
3704 | tothe to the | |
3705 | toubles troubles | |
3706 | tounge tongue | |
3707 | tourch torch, touch | |
3708 | towords towards | |
3709 | towrad toward | |
3710 | tradionally traditionally | |
3711 | traditionaly traditionally | |
3712 | traditionnal traditional | |
3713 | traditition tradition | |
3714 | tradtionally traditionally | |
3715 | trafficed trafficked | |
3716 | trafficing trafficking | |
3717 | trafic traffic | |
3718 | trancendent transcendent | |
3719 | trancending transcending | |
3720 | tranform transform | |
3721 | tranformed transformed | |
3722 | transcendance transcendence | |
3723 | transcendant transcendent | |
3724 | transcendentational transcendental | |
3725 | transcripting transcribing, transcription | |
3726 | transending transcending | |
3727 | transesxuals transsexuals | |
3728 | transfered transferred | |
3729 | transfering transferring | |
3730 | transformaton transformation | |
3731 | transistion transition | |
3732 | translater translator | |
3733 | translaters translators | |
3734 | transmissable transmissible | |
3735 | transporation transportation | |
3736 | tremelo tremolo | |
3737 | tremelos tremolos | |
3738 | triguered triggered | |
3739 | triology trilogy | |
3740 | troling trolling | |
3741 | troup troupe | |
3742 | troups troupes, troops | |
3743 | truely truly | |
3744 | trustworthyness trustworthiness | |
3745 | turnk turnkey, trunk | |
3746 | Tuscon Tucson | |
3747 | tust trust | |
3748 | twelth twelfth | |
3749 | twon town | |
3750 | twpo two | |
3751 | tyhat that | |
3752 | tyhe they | |
3753 | typcial typical | |
3754 | typicaly typically | |
3755 | tyranies tyrannies | |
3756 | tyrany tyranny | |
3757 | tyrranies tyrannies | |
3758 | tyrrany tyranny | |
3759 | ubiquitious ubiquitous | |
3760 | uise use | |
3761 | Ukranian Ukrainian | |
3762 | ultimely ultimately | |
3763 | unacompanied unaccompanied | |
3764 | unahppy unhappy | |
3765 | unanymous unanimous | |
3766 | unathorised unauthorised | |
3767 | unavailible unavailable | |
3768 | unballance unbalance | |
3769 | unbeleivable unbelievable | |
3770 | uncertainity uncertainty | |
3771 | unchallengable unchallengeable | |
3772 | unchangable unchangeable | |
3773 | uncompetive uncompetitive | |
3774 | unconcious unconscious | |
3775 | unconciousness unconsciousness | |
3776 | unconfortability discomfort | |
3777 | uncontitutional unconstitutional | |
3778 | unconvential unconventional | |
3779 | undecideable undecidable | |
3780 | understoon understood | |
3781 | undesireable undesirable | |
3782 | undetecable undetectable | |
3783 | undoubtely undoubtedly | |
3784 | undreground underground | |
3785 | uneccesary unnecessary | |
3786 | unecessary unnecessary | |
3787 | unequalities inequalities | |
3788 | unforetunately unfortunately | |
3789 | unforgetable unforgettable | |
3790 | unforgiveable unforgivable | |
3791 | unfortunatley unfortunately | |
3792 | unfortunatly unfortunately | |
3793 | unfourtunately unfortunately | |
3794 | unihabited uninhabited | |
3795 | unilateraly unilaterally | |
3796 | unilatreal unilateral | |
3797 | unilatreally unilaterally | |
3798 | uninterruped uninterrupted | |
3799 | uninterupted uninterrupted | |
3800 | UnitesStates UnitedStates | |
3801 | univeral universal | |
3802 | univeristies universities | |
3803 | univeristy university | |
3804 | universtiy university | |
3805 | univesities universities | |
3806 | univesity university | |
3807 | unkown unknown | |
3808 | unlikey unlikely | |
3809 | unmanouverable unmaneuverable, unmanoeuvrable | |
3810 | unmistakeably unmistakably | |
3811 | unneccesarily unnecessarily | |
3812 | unneccesary unnecessary | |
3813 | unneccessarily unnecessarily | |
3814 | unneccessary unnecessary | |
3815 | unnecesarily unnecessarily | |
3816 | unnecesary unnecessary | |
3817 | unoffical unofficial | |
3818 | unoperational nonoperational | |
3819 | unoticeable unnoticeable | |
3820 | unplease displease | |
3821 | unplesant unpleasant | |
3822 | unprecendented unprecedented | |
3823 | unprecidented unprecedented | |
3824 | unrepentent unrepentant | |
3825 | unrepetant unrepentant | |
3826 | unrepetent unrepentant | |
3827 | unsed used, unused, unsaid | |
3828 | unsubstanciated unsubstantiated | |
3829 | unsuccesful unsuccessful | |
3830 | unsuccesfully unsuccessfully | |
3831 | unsuccessfull unsuccessful | |
3832 | unsucesful unsuccessful | |
3833 | unsucesfuly unsuccessfully | |
3834 | unsucessful unsuccessful | |
3835 | unsucessfull unsuccessful | |
3836 | unsucessfully unsuccessfully | |
3837 | unsuprised unsurprised | |
3838 | unsuprising unsurprising | |
3839 | unsuprisingly unsurprisingly | |
3840 | unsuprized unsurprised | |
3841 | unsuprizing unsurprising | |
3842 | unsuprizingly unsurprisingly | |
3843 | unsurprized unsurprised | |
3844 | unsurprizing unsurprising | |
3845 | unsurprizingly unsurprisingly | |
3846 | untill until | |
3847 | untranslateable untranslatable | |
3848 | unuseable unusable | |
3849 | unusuable unusable | |
3850 | unviersity university | |
3851 | unwarrented unwarranted | |
3852 | unweildly unwieldy | |
3853 | unwieldly unwieldy | |
3854 | upcomming upcoming | |
3855 | upgradded upgraded | |
3856 | usally usually | |
3857 | useage usage | |
3858 | usefull useful | |
3859 | usefuly usefully | |
3860 | useing using | |
3861 | usualy usually | |
3862 | ususally usually | |
3863 | vaccum vacuum | |
3864 | vaccume vacuum | |
3865 | vacinity vicinity | |
3866 | vaguaries vagaries | |
3867 | vaieties varieties | |
3868 | vailidty validity | |
3869 | valetta valletta | |
3870 | valuble valuable | |
3871 | valueable valuable | |
3872 | varations variations | |
3873 | varient variant | |
3874 | variey variety | |
3875 | varing varying | |
3876 | varities varieties | |
3877 | varity variety | |
3878 | vasall vassal | |
3879 | vasalls vassals | |
3880 | vegatarian vegetarian | |
3881 | vegitable vegetable | |
3882 | vegitables vegetables | |
3883 | vegtable vegetable | |
3884 | vehicule vehicle | |
3885 | vell well | |
3886 | venemous venomous | |
3887 | vengance vengeance | |
3888 | vengence vengeance | |
3889 | verfication verification | |
3890 | verison version | |
3891 | verisons versions | |
3892 | vermillion vermilion | |
3893 | versitilaty versatility | |
3894 | versitlity versatility | |
3895 | vetween between | |
3896 | veyr very | |
3897 | vigeur vigueur, vigour, vigor | |
3898 | vigilence vigilance | |
3899 | vigourous vigorous | |
3900 | villian villain | |
3901 | villification vilification | |
3902 | villify vilify | |
3903 | villin villi, villain, villein | |
3904 | vincinity vicinity | |
3905 | violentce violence | |
3906 | virutal virtual | |
3907 | virtualy virtually | |
3908 | virutally virtually | |
3909 | visable visible | |
3910 | visably visibly | |
3911 | visting visiting | |
3912 | vistors visitors | |
3913 | vitories victories | |
3914 | volcanoe volcano | |
3915 | voleyball volleyball | |
3916 | volontary voluntary | |
3917 | volonteer volunteer | |
3918 | volonteered volunteered | |
3919 | volonteering volunteering | |
3920 | volonteers volunteers | |
3921 | volounteer volunteer | |
3922 | volounteered volunteered | |
3923 | volounteering volunteering | |
3924 | volounteers volunteers | |
3925 | vreity variety | |
3926 | vrey very | |
3927 | vriety variety | |
3928 | vulnerablility vulnerability | |
3929 | vyer very | |
3930 | vyre very | |
3931 | waht what | |
3932 | wanna want to | |
3933 | warantee warranty | |
3934 | wardobe wardrobe | |
3935 | warrent warrant | |
3936 | warrriors warriors | |
3937 | wasnt wasn't | |
3938 | wass was | |
3939 | watn want | |
3940 | wayword wayward | |
3941 | weaponary weaponry | |
3942 | weas was | |
3943 | wehn when | |
3944 | weild wield, wild | |
3945 | weilded wielded | |
3946 | wendsay Wednesday | |
3947 | wensday Wednesday | |
3948 | wereabouts whereabouts | |
3949 | whant want | |
3950 | whants wants | |
3951 | whcih which | |
3952 | wheras whereas | |
3953 | wherease whereas | |
3954 | whereever wherever | |
3955 | whic which | |
3956 | whihc which | |
3957 | whith with | |
3958 | whlch which | |
3959 | whn when | |
3960 | wholey wholly | |
3961 | wholy wholly, holy | |
3962 | whta what | |
3963 | whther whether | |
3964 | wich which, witch | |
3965 | widesread widespread | |
3966 | wief wife | |
3967 | wierd weird | |
3968 | wiew view | |
3969 | wih with | |
3970 | wiht with | |
3971 | wille will | |
3972 | willingless willingness | |
3973 | wirting writing | |
3974 | withdrawl withdrawal, withdraw | |
3975 | witheld withheld | |
3976 | withing within | |
3977 | withold withhold | |
3978 | witht with | |
3979 | witn with | |
3980 | wiull will | |
3981 | wnat want | |
3982 | wnated wanted | |
3983 | wnats wants | |
3984 | wohle whole | |
3985 | wokr work | |
3986 | wokring working | |
3987 | wonderfull wonderful | |
3988 | workststion workstation | |
3989 | worls world | |
3990 | wordlwide worldwide | |
3991 | worshipper worshiper | |
3992 | worshipping worshiping | |
3993 | worstened worsened | |
3994 | woudl would | |
3995 | wresters wrestlers | |
3996 | wriet write | |
3997 | writen written | |
3998 | wroet wrote | |
3999 | wrok work | |
4000 | wroking working | |
4001 | ws was | |
4002 | wtih with | |
4003 | wupport support | |
4004 | xenophoby xenophobia | |
4005 | yaching yachting | |
4006 | yatch yacht | |
4007 | yeasr years | |
4008 | yeild yield | |
4009 | yeilding yielding | |
4010 | Yementite Yemenite, Yemeni | |
4011 | yearm year | |
4012 | yera year | |
4013 | yeras years | |
4014 | yersa years | |
4015 | youseff yousef | |
4016 | youself yourself | |
4017 | ytou you | |
4018 | yuo you | |
4019 | joo you | |
4020 | zeebra zebra | |
4021 | ||
4022 | [[Category:Wikipedia tools]] |
0 | # source: http://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines | |
1 | # released under the Creative Commons Attribution-Share-Alike License 3.0 | |
2 | # http://creativecommons.org/licenses/by-sa/3.0/ | |
3 | ||
4 | abandonned abandoned | |
5 | aberation aberration | |
6 | abilties abilities | |
7 | abilty ability | |
8 | abondon abandon | |
9 | abondoned abandoned | |
10 | abondoning abandoning | |
11 | abondons abandons | |
12 | aborigene aborigine | |
13 | abortificant abortifacient | |
14 | abreviated abbreviated | |
15 | abreviation abbreviation | |
16 | abritrary arbitrary | |
17 | absense absence | |
18 | absolutly absolutely | |
19 | absorbsion absorption | |
20 | absorbtion absorption | |
21 | abundacies abundances | |
22 | abundancies abundances | |
23 | abundunt abundant | |
24 | abutts abuts | |
25 | acadamy academy | |
26 | acadmic academic | |
27 | accademic academic | |
28 | accademy academy | |
29 | acccused accused | |
30 | accelleration acceleration | |
31 | accension accession, ascension | |
32 | acceptence acceptance | |
33 | acceptible acceptable | |
34 | accessable accessible | |
35 | accidentaly accidentally | |
36 | accidently accidentally | |
37 | acclimitization acclimatization | |
38 | acommodate accommodate | |
39 | accomadate accommodate | |
40 | accomadated accommodated | |
41 | accomadates accommodates | |
42 | accomadating accommodating | |
43 | accomadation accommodation | |
44 | accomadations accommodations | |
45 | accomdate accommodate | |
46 | accomodate accommodate | |
47 | accomodated accommodated | |
48 | accomodates accommodates | |
49 | accomodating accommodating | |
50 | accomodation accommodation | |
51 | accomodations accommodations | |
52 | accompanyed accompanied | |
53 | accordeon accordion | |
54 | accordian accordion | |
55 | accoring according | |
56 | accoustic acoustic | |
57 | accquainted acquainted | |
58 | accross across | |
59 | accussed accused | |
60 | acedemic academic | |
61 | acheive achieve | |
62 | acheived achieved | |
63 | acheivement achievement | |
64 | acheivements achievements | |
65 | acheives achieves | |
66 | acheiving achieving | |
67 | acheivment achievement | |
68 | acheivments achievements | |
69 | achievment achievement | |
70 | achievments achievements | |
71 | achive achieve, archive | |
72 | achived achieved, archived | |
73 | achivement achievement | |
74 | achivements achievements | |
75 | acknowldeged acknowledged | |
76 | acknowledgeing acknowledging | |
77 | ackward awkward, backward | |
78 | acomplish accomplish | |
79 | acomplished accomplished | |
80 | acomplishment accomplishment | |
81 | acomplishments accomplishments | |
82 | acording according | |
83 | acordingly accordingly | |
84 | acquaintence acquaintance | |
85 | acquaintences acquaintances | |
86 | acquiantence acquaintance | |
87 | acquiantences acquaintances | |
88 | acquited acquitted | |
89 | activites activities | |
90 | activly actively | |
91 | actualy actually | |
92 | acuracy accuracy | |
93 | acused accused | |
94 | acustom accustom | |
95 | acustommed accustomed | |
96 | adavanced advanced | |
97 | adbandon abandon | |
98 | additinally additionally | |
99 | additionaly additionally | |
100 | addmission admission | |
101 | addopt adopt | |
102 | addopted adopted | |
103 | addoptive adoptive | |
104 | addres address, adders | |
105 | addresable addressable | |
106 | addresed addressed | |
107 | addresing addressing | |
108 | addressess addresses | |
109 | addtion addition | |
110 | addtional additional | |
111 | adecuate adequate | |
112 | adhearing adhering | |
113 | adherance adherence | |
114 | admendment amendment | |
115 | admininistrative administrative | |
116 | adminstered administered | |
117 | adminstrate administrate | |
118 | adminstration administration | |
119 | adminstrative administrative | |
120 | adminstrator administrator | |
121 | admissability admissibility | |
122 | admissable admissible | |
123 | admited admitted | |
124 | admitedly admittedly | |
125 | adn and | |
126 | adolecent adolescent | |
127 | adquire acquire | |
128 | adquired acquired | |
129 | adquires acquires | |
130 | adquiring acquiring | |
131 | adres address | |
132 | adresable addressable | |
133 | adresing addressing | |
134 | adress address | |
135 | adressable addressable | |
136 | adressed addressed | |
137 | adressing addressing, dressing | |
138 | adventrous adventurous | |
139 | advertisment advertisement | |
140 | advertisments advertisements | |
141 | advesary adversary | |
142 | adviced advised | |
143 | aeriel aerial | |
144 | aeriels aerials | |
145 | afair affair | |
146 | afficianados aficionados | |
147 | afficionado aficionado | |
148 | afficionados aficionados | |
149 | affilate affiliate | |
150 | affilliate affiliate | |
151 | affort afford, effort | |
152 | aforememtioned aforementioned | |
153 | againnst against | |
154 | agains against | |
155 | agaisnt against | |
156 | aganist against | |
157 | aggaravates aggravates | |
158 | aggreed agreed | |
159 | aggreement agreement | |
160 | aggregious egregious | |
161 | aggresive aggressive | |
162 | agian again | |
163 | agianst against | |
164 | agin again | |
165 | agina again, angina | |
166 | aginst against | |
167 | agravate aggravate | |
168 | agre agree | |
169 | agred agreed | |
170 | agreeement agreement | |
171 | agreemnt agreement | |
172 | agregate aggregate | |
173 | agregates aggregates | |
174 | agreing agreeing | |
175 | agression aggression | |
176 | agressive aggressive | |
177 | agressively aggressively | |
178 | agressor aggressor | |
179 | agricuture agriculture | |
180 | agrieved aggrieved | |
181 | ahev have | |
182 | ahppen happen | |
183 | ahve have | |
184 | aicraft aircraft | |
185 | aiport airport | |
186 | airbourne airborne | |
187 | aircaft aircraft | |
188 | aircrafts aircraft | |
189 | airporta airports | |
190 | airrcraft aircraft | |
191 | aisian asian | |
192 | albiet albeit | |
193 | alchohol alcohol | |
194 | alchoholic alcoholic | |
195 | alchol alcohol | |
196 | alcholic alcoholic | |
197 | alcohal alcohol | |
198 | alcoholical alcoholic | |
199 | aledge allege | |
200 | aledged alleged | |
201 | aledges alleges | |
202 | alege allege | |
203 | aleged alleged | |
204 | alegience allegiance | |
205 | algebraical algebraic | |
206 | algorhitms algorithms | |
207 | algoritm algorithm | |
208 | algoritms algorithms | |
209 | alientating alienating | |
210 | alledge allege | |
211 | alledged alleged | |
212 | alledgedly allegedly | |
213 | alledges alleges | |
214 | allegedely allegedly | |
215 | allegedy allegedly | |
216 | allegely allegedly | |
217 | allegence allegiance | |
218 | allegience allegiance | |
219 | allign align | |
220 | alligned aligned | |
221 | alliviate alleviate | |
222 | allopone allophone | |
223 | allopones allophones | |
224 | allready already | |
225 | allthough although | |
226 | alltime all-time | |
227 | alltogether altogether | |
228 | almsot almost | |
229 | alochol alcohol | |
230 | alomst almost | |
231 | alot a lot, allot | |
232 | alotted allotted | |
233 | alowed allowed | |
234 | alowing allowing | |
235 | alreayd already | |
236 | alse else | |
237 | alsot also | |
238 | alternitives alternatives | |
239 | altho although | |
240 | althought although | |
241 | altough although | |
242 | alusion allusion, illusion | |
243 | alwasy always | |
244 | alwyas always | |
245 | amalgomated amalgamated | |
246 | amatuer amateur | |
247 | amature armature, amateur | |
248 | amendmant amendment | |
249 | amerliorate ameliorate | |
250 | amke make | |
251 | amking making | |
252 | ammend amend | |
253 | ammended amended | |
254 | ammendment amendment | |
255 | ammendments amendments | |
256 | ammount amount | |
257 | ammused amused | |
258 | amoung among | |
259 | amoungst amongst | |
260 | amung among | |
261 | analagous analogous | |
262 | analitic analytic | |
263 | analogeous analogous | |
264 | anarchim anarchism | |
265 | anarchistm anarchism | |
266 | anbd and | |
267 | ancestory ancestry | |
268 | ancilliary ancillary | |
269 | androgenous androgynous | |
270 | androgeny androgyny | |
271 | anihilation annihilation | |
272 | aniversary anniversary | |
273 | annoint anoint | |
274 | annointed anointed | |
275 | annointing anointing | |
276 | annoints anoints | |
277 | annouced announced | |
278 | annualy annually | |
279 | annuled annulled | |
280 | anohter another | |
281 | anomolies anomalies | |
282 | anomolous anomalous | |
283 | anomoly anomaly | |
284 | anonimity anonymity | |
285 | anounced announced | |
286 | ansalisation nasalisation | |
287 | ansalization nasalization | |
288 | ansestors ancestors | |
289 | antartic antarctic | |
290 | anthromorphization anthropomorphization | |
291 | anual annual, anal | |
292 | anulled annulled | |
293 | anwsered answered | |
294 | anyhwere anywhere | |
295 | anyother any other | |
296 | anytying anything | |
297 | aparent apparent | |
298 | aparment apartment | |
299 | apenines apennines, Apennines | |
300 | aplication application | |
301 | aplied applied | |
302 | apolegetics apologetics | |
303 | apon upon, apron | |
304 | apparant apparent | |
305 | apparantly apparently | |
306 | appart apart | |
307 | appartment apartment | |
308 | appartments apartments | |
309 | appealling appealing, appalling | |
310 | appeareance appearance | |
311 | appearence appearance | |
312 | appearences appearances | |
313 | appenines apennines, Apennines | |
314 | apperance appearance | |
315 | apperances appearances | |
316 | applicaiton application | |
317 | applicaitons applications | |
318 | appologies apologies | |
319 | appology apology | |
320 | apprearance appearance | |
321 | apprieciate appreciate | |
322 | approachs approaches | |
323 | appropiate appropriate | |
324 | appropraite appropriate | |
325 | appropropiate appropriate | |
326 | approproximate approximate | |
327 | approxamately approximately | |
328 | approxiately approximately | |
329 | approximitely approximately | |
330 | aprehensive apprehensive | |
331 | apropriate appropriate | |
332 | aproximate approximate | |
333 | aproximately approximately | |
334 | aquaintance acquaintance | |
335 | aquainted acquainted | |
336 | aquiantance acquaintance | |
337 | aquire acquire | |
338 | aquired acquired | |
339 | aquiring acquiring | |
340 | aquisition acquisition | |
341 | aquitted acquitted | |
342 | aranged arranged | |
343 | arangement arrangement | |
344 | arbitarily arbitrarily | |
345 | arbitary arbitrary | |
346 | archaelogists archaeologists | |
347 | archaelogy archaeology | |
348 | archaoelogy archeology, archaeology | |
349 | archaology archeology, archaeology | |
350 | archeaologist archeologist, archaeologist | |
351 | archeaologists archeologists, archaeologists | |
352 | archetect architect | |
353 | archetects architects | |
354 | archetectural architectural | |
355 | archetecturally architecturally | |
356 | archetecture architecture | |
357 | archiac archaic | |
358 | archictect architect | |
359 | archimedian archimedean | |
360 | architechturally architecturally | |
361 | architechture architecture | |
362 | architechtures architectures | |
363 | architectual architectural | |
364 | archtype archetype | |
365 | archtypes archetypes | |
366 | aready already | |
367 | areodynamics aerodynamics | |
368 | argubly arguably | |
369 | arguement argument | |
370 | arguements arguments | |
371 | arised arose | |
372 | arival arrival | |
373 | armamant armament | |
374 | armistace armistice | |
375 | aroud around | |
376 | arrangment arrangement | |
377 | arrangments arrangements | |
378 | arround around | |
379 | artical article | |
380 | artice article | |
381 | articel article | |
382 | artifical artificial | |
383 | artifically artificially | |
384 | artillary artillery | |
385 | arund around | |
386 | asetic ascetic | |
387 | asign assign | |
388 | aslo also | |
389 | asociated associated | |
390 | asorbed absorbed | |
391 | asphyxation asphyxiation | |
392 | assasin assassin | |
393 | assasinate assassinate | |
394 | assasinated assassinated | |
395 | assasinates assassinates | |
396 | assasination assassination | |
397 | assasinations assassinations | |
398 | assasined assassinated | |
399 | assasins assassins | |
400 | assassintation assassination | |
401 | assemple assemble | |
402 | assertation assertion | |
403 | asside aside | |
404 | assisnate assassinate | |
405 | assit assist | |
406 | assitant assistant | |
407 | assocation association | |
408 | assoicate associate | |
409 | assoicated associated | |
410 | assoicates associates | |
411 | assosication assassination | |
412 | asssassans assassins | |
413 | assualt assault | |
414 | assualted assaulted | |
415 | assymetric asymmetric | |
416 | assymetrical asymmetrical | |
417 | asteriod asteroid | |
418 | asthetic aesthetic | |
419 | asthetical aesthetical | |
420 | asthetically aesthetically | |
421 | asume assume | |
422 | aswell as well | |
423 | atain attain | |
424 | atempting attempting | |
425 | atheistical atheistic | |
426 | athenean athenian | |
427 | atheneans athenians | |
428 | athiesm atheism | |
429 | athiest atheist | |
430 | atorney attorney | |
431 | atribute attribute | |
432 | atributed attributed | |
433 | atributes attributes | |
434 | attaindre attainder, attained | |
435 | attemp attempt | |
436 | attemped attempted | |
437 | attemt attempt | |
438 | attemted attempted | |
439 | attemting attempting | |
440 | attemts attempts | |
441 | attendence attendance | |
442 | attendent attendant | |
443 | attendents attendants | |
444 | attened attended | |
445 | attension attention | |
446 | attitide attitude | |
447 | attributred attributed | |
448 | attrocities atrocities | |
449 | audeince audience | |
450 | auromated automated | |
451 | austrailia Australia | |
452 | austrailian Australian | |
453 | auther author | |
454 | authobiographic autobiographic | |
455 | authobiography autobiography | |
456 | authorative authoritative | |
457 | authorites authorities | |
458 | authorithy authority | |
459 | authoritiers authorities | |
460 | authoritive authoritative | |
461 | authrorities authorities | |
462 | autochtonous autochthonous | |
463 | autoctonous autochthonous | |
464 | automaticly automatically | |
465 | automibile automobile | |
466 | automonomous autonomous | |
467 | autor author | |
468 | autority authority | |
469 | auxilary auxiliary | |
470 | auxillaries auxiliaries | |
471 | auxillary auxiliary | |
472 | auxilliaries auxiliaries | |
473 | auxilliary auxiliary | |
474 | availablity availability | |
475 | availaible available | |
476 | availble available | |
477 | availiable available | |
478 | availible available | |
479 | avalable available | |
480 | avalance avalanche | |
481 | avaliable available | |
482 | avation aviation | |
483 | avengence a vengeance | |
484 | averageed averaged | |
485 | avilable available | |
486 | awared awarded | |
487 | awya away | |
488 | baceause because | |
489 | backgorund background | |
490 | backrounds backgrounds | |
491 | bakc back | |
492 | banannas bananas | |
493 | bandwith bandwidth | |
494 | bankrupcy bankruptcy | |
495 | banruptcy bankruptcy | |
496 | baout about, bout | |
497 | basicaly basically | |
498 | basicly basically | |
499 | bcak back | |
500 | beachead beachhead | |
501 | beacuse because | |
502 | beastiality bestiality | |
503 | beatiful beautiful | |
504 | beaurocracy bureaucracy | |
505 | beaurocratic bureaucratic | |
506 | beautyfull beautiful | |
507 | becamae became | |
508 | becasue because | |
509 | beccause because | |
510 | becomeing becoming | |
511 | becomming becoming | |
512 | becouse because | |
513 | becuase because | |
514 | bedore before | |
515 | befoer before | |
516 | beggin begin, begging | |
517 | begginer beginner | |
518 | begginers beginners | |
519 | beggining beginning | |
520 | begginings beginnings | |
521 | beggins begins | |
522 | begining beginning | |
523 | beginnig beginning | |
524 | behavour behavior, behaviour | |
525 | beleagured beleaguered | |
526 | beleif belief | |
527 | beleive believe | |
528 | beleived believed | |
529 | beleives believes | |
530 | beleiving believing | |
531 | beligum belgium | |
532 | belive believe | |
533 | belived believed | |
534 | belives believes, beliefs | |
535 | belligerant belligerent | |
536 | bellweather bellwether | |
537 | bemusemnt bemusement | |
538 | beneficary beneficiary | |
539 | beng being | |
540 | benificial beneficial | |
541 | benifit benefit | |
542 | benifits benefits | |
543 | bergamont bergamot | |
544 | Bernouilli Bernoulli | |
545 | beseige besiege | |
546 | beseiged besieged | |
547 | beseiging besieging | |
548 | betwen between | |
549 | beween between | |
550 | bewteen between | |
551 | bilateraly bilaterally | |
552 | billingualism bilingualism | |
553 | binominal binomial | |
554 | bizzare bizarre | |
555 | blaim blame | |
556 | blaimed blamed | |
557 | blessure blessing | |
558 | Blitzkreig Blitzkrieg | |
559 | boaut bout, boat, about | |
560 | bodydbuilder bodybuilder | |
561 | bombardement bombardment | |
562 | bombarment bombardment | |
563 | bondary boundary | |
564 | Bonnano Bonanno | |
565 | borke broke | |
566 | boundry boundary | |
567 | bouyancy buoyancy | |
568 | bouyant buoyant | |
569 | boyant buoyant | |
570 | Brasillian Brazilian | |
571 | breakthough breakthrough | |
572 | breakthroughts breakthroughs | |
573 | breif brief | |
574 | breifly briefly | |
575 | brethen brethren | |
576 | bretheren brethren | |
577 | briliant brilliant | |
578 | brillant brilliant | |
579 | brimestone brimstone | |
580 | Britian Britain | |
581 | Brittish British | |
582 | broacasted broadcast | |
583 | broadacasting broadcasting | |
584 | broady broadly | |
585 | Buddah Buddha | |
586 | buisness business | |
587 | buisnessman businessman | |
588 | buoancy buoyancy | |
589 | buring burying, burning, burin, during | |
590 | burried buried | |
591 | busineses business, businesses | |
592 | busness business | |
593 | bussiness business | |
594 | cacuses caucuses | |
595 | cahracters characters | |
596 | calaber caliber | |
597 | calander calendar, calender, colander | |
598 | calculs calculus | |
599 | calenders calendars | |
600 | caligraphy calligraphy | |
601 | caluclate calculate | |
602 | caluclated calculated | |
603 | caluculate calculate | |
604 | caluculated calculated | |
605 | calulate calculate | |
606 | calulated calculated | |
607 | Cambrige Cambridge | |
608 | camoflage camouflage | |
609 | campain campaign | |
610 | campains campaigns | |
611 | candadate candidate | |
612 | candiate candidate | |
613 | candidiate candidate | |
614 | cannister canister | |
615 | cannisters canisters | |
616 | cannnot cannot | |
617 | cannonical canonical | |
618 | cannotation connotation | |
619 | cannotations connotations | |
620 | cant cannot, can not, can't | |
621 | caost coast | |
622 | caperbility capability | |
623 | Capetown Cape Town | |
624 | capible capable | |
625 | captial capital | |
626 | captued captured | |
627 | capturd captured | |
628 | carachter character | |
629 | caracterized characterized | |
630 | carcas carcass, Caracas | |
631 | carefull careful | |
632 | careing caring | |
633 | carismatic charismatic | |
634 | Carmalite Carmelite | |
635 | carmel caramel, carmel-by-the-sea | |
636 | carniverous carnivorous | |
637 | carreer career | |
638 | carrers careers | |
639 | Carribbean Caribbean | |
640 | Carribean Caribbean | |
641 | cartdridge cartridge | |
642 | Carthagian Carthaginian | |
643 | carthographer cartographer | |
644 | cartilege cartilage | |
645 | cartilidge cartilage | |
646 | cartrige cartridge | |
647 | casette cassette | |
648 | casion caisson | |
649 | cassawory cassowary | |
650 | cassowarry cassowary | |
651 | casulaties casualties | |
652 | casulaty casualty | |
653 | catagories categories | |
654 | catagorized categorized | |
655 | catagory category | |
656 | catergorize categorize | |
657 | catergorized categorized | |
658 | Cataline Catiline, Catalina | |
659 | cathlic catholic | |
660 | catholocism catholicism | |
661 | catterpilar caterpillar | |
662 | catterpilars caterpillars | |
663 | cattleship battleship | |
664 | causalities casualties | |
665 | Ceasar Caesar | |
666 | Celcius Celsius | |
667 | cellpading cellpadding | |
668 | cementary cemetery | |
669 | cemetarey cemetery | |
670 | cemetaries cemeteries | |
671 | cemetary cemetery | |
672 | cencus census | |
673 | censur censor, censure | |
674 | cententenial centennial | |
675 | centruies centuries | |
676 | centruy century | |
677 | ceratin certain, keratin | |
678 | cerimonial ceremonial | |
679 | cerimonies ceremonies | |
680 | cerimonious ceremonious | |
681 | cerimony ceremony | |
682 | ceromony ceremony | |
683 | certainity certainty | |
684 | certian certain | |
685 | cervial cervical, servile, serval | |
686 | chalenging challenging | |
687 | challange challenge | |
688 | challanged challenged | |
689 | challege challenge | |
690 | Champange Champagne | |
691 | changable changeable | |
692 | charachter character | |
693 | charactor character | |
694 | charachters characters | |
695 | charactersistic characteristic | |
696 | charactors characters | |
697 | charasmatic charismatic | |
698 | charaterized characterized | |
699 | chariman chairman | |
700 | charistics characteristics | |
701 | chasr chaser, chase | |
702 | cheif chief | |
703 | chemcial chemical | |
704 | chemcially chemically | |
705 | chemestry chemistry | |
706 | chemicaly chemically | |
707 | childbird childbirth | |
708 | childen children | |
709 | choosen chosen | |
710 | chracter character | |
711 | chuch church | |
712 | churchs churches | |
713 | Cincinatti Cincinnati | |
714 | Cincinnatti Cincinnati | |
715 | circulaton circulation | |
716 | circumsicion circumcision | |
717 | circut circuit | |
718 | ciricuit circuit | |
719 | ciriculum curriculum | |
720 | civillian civilian | |
721 | claer clear | |
722 | claerer clearer | |
723 | claerly clearly | |
724 | claimes claims | |
725 | clas class | |
726 | clasic classic | |
727 | clasical classical | |
728 | clasically classically | |
729 | cleareance clearance | |
730 | clera clear, sclera | |
731 | clincial clinical | |
732 | clinicaly clinically | |
733 | cmo com | |
734 | cmoputer computer | |
735 | co-incided coincided | |
736 | coctail cocktail | |
737 | coform conform | |
738 | cognizent cognizant | |
739 | coincedentally coincidentally | |
740 | colaborations collaborations | |
741 | colateral collateral | |
742 | colelctive collective | |
743 | collaberative collaborative | |
744 | collecton collection | |
745 | collegue colleague | |
746 | collegues colleagues | |
747 | collonade colonnade | |
748 | collonies colonies | |
749 | collony colony | |
750 | collosal colossal | |
751 | colonizators colonizers | |
752 | comander commander, commandeer | |
753 | comando commando | |
754 | comandos commandos | |
755 | comany company | |
756 | comapany company | |
757 | comback comeback | |
758 | combanations combinations | |
759 | combinatins combinations | |
760 | combusion combustion | |
761 | comdemnation condemnation | |
762 | comemmorates commemorates | |
763 | comemoretion commemoration | |
764 | comision commission | |
765 | comisioned commissioned | |
766 | comisioner commissioner | |
767 | comisioning commissioning | |
768 | comisions commissions | |
769 | comission commission | |
770 | comissioned commissioned | |
771 | comissioner commissioner | |
772 | comissioning commissioning | |
773 | comissions commissions | |
774 | comited committed | |
775 | comiting committing | |
776 | comitted committed | |
777 | comittee committee | |
778 | comitting committing | |
779 | commandoes commandos | |
780 | commedic comedic | |
781 | commemerative commemorative | |
782 | commemmorate commemorate | |
783 | commemmorating commemorating | |
784 | commerical commercial | |
785 | commerically commercially | |
786 | commericial commercial | |
787 | commericially commercially | |
788 | commerorative commemorative | |
789 | comming coming | |
790 | comminication communication | |
791 | commision commission | |
792 | commisioned commissioned | |
793 | commisioner commissioner | |
794 | commisioning commissioning | |
795 | commisions commissions | |
796 | commited committed | |
797 | commitee committee | |
798 | commiting committing | |
799 | committe committee | |
800 | committment commitment | |
801 | committments commitments | |
802 | commmemorated commemorated | |
803 | commongly commonly | |
804 | commonweath commonwealth | |
805 | commuications communications | |
806 | commuinications communications | |
807 | communciation communication | |
808 | communiation communication | |
809 | communites communities | |
810 | compability compatibility | |
811 | comparision comparison | |
812 | comparisions comparisons | |
813 | comparitive comparative | |
814 | comparitively comparatively | |
815 | compatabilities compatibilities | |
816 | compatability compatibility | |
817 | compatable compatible | |
818 | compatablities compatibilities | |
819 | compatablity compatibility | |
820 | compatiable compatible | |
821 | compatiblities compatibilities | |
822 | compatiblity compatibility | |
823 | compeitions competitions | |
824 | compensantion compensation | |
825 | competance competence | |
826 | competant competent | |
827 | competative competitive | |
828 | competion competition, completion | |
829 | competitiion competition | |
830 | competive competitive | |
831 | competiveness competitiveness | |
832 | comphrehensive comprehensive | |
833 | compitent competent | |
834 | completedthe completed the | |
835 | completelyl completely | |
836 | completetion completion | |
837 | complier compiler | |
838 | componant component | |
839 | comprable comparable | |
840 | comprimise compromise | |
841 | compulsary compulsory | |
842 | compulsery compulsory | |
843 | computarized computerized | |
844 | concensus consensus | |
845 | concider consider | |
846 | concidered considered | |
847 | concidering considering | |
848 | conciders considers | |
849 | concieted conceited | |
850 | concieved conceived | |
851 | concious conscious | |
852 | conciously consciously | |
853 | conciousness consciousness | |
854 | condamned condemned | |
855 | condemmed condemned | |
856 | condidtion condition | |
857 | condidtions conditions | |
858 | conditionsof conditions of | |
859 | conected connected | |
860 | conection connection | |
861 | conesencus consensus | |
862 | confidental confidential | |
863 | confidentally confidentially | |
864 | confids confides | |
865 | configureable configurable | |
866 | confortable comfortable | |
867 | congradulations congratulations | |
868 | congresional congressional | |
869 | conived connived | |
870 | conjecutre conjecture | |
871 | conjuction conjunction | |
872 | Conneticut Connecticut | |
873 | conotations connotations | |
874 | conquerd conquered | |
875 | conquerer conqueror | |
876 | conquerers conquerors | |
877 | conqured conquered | |
878 | conscent consent | |
879 | consciouness consciousness | |
880 | consdider consider | |
881 | consdidered considered | |
882 | consdiered considered | |
883 | consectutive consecutive | |
884 | consenquently consequently | |
885 | consentrate concentrate | |
886 | consentrated concentrated | |
887 | consentrates concentrates | |
888 | consept concept | |
889 | consequentually consequently | |
890 | consequeseces consequences | |
891 | consern concern | |
892 | conserned concerned | |
893 | conserning concerning | |
894 | conservitive conservative | |
895 | consiciousness consciousness | |
896 | consicousness consciousness | |
897 | considerd considered | |
898 | consideres considered | |
899 | consious conscious | |
900 | consistant consistent | |
901 | consistantly consistently | |
902 | consituencies constituencies | |
903 | consituency constituency | |
904 | consituted constituted | |
905 | consitution constitution | |
906 | consitutional constitutional | |
907 | consolodate consolidate | |
908 | consolodated consolidated | |
909 | consonent consonant | |
910 | consonents consonants | |
911 | consorcium consortium | |
912 | conspiracys conspiracies | |
913 | conspiriator conspirator | |
914 | constaints constraints | |
915 | constanly constantly | |
916 | constarnation consternation | |
917 | constatn constant | |
918 | constinually continually | |
919 | constituant constituent | |
920 | constituants constituents | |
921 | constituion constitution | |
922 | constituional constitutional | |
923 | consttruction construction | |
924 | constuction construction | |
925 | consulant consultant | |
926 | consumate consummate | |
927 | consumated consummated | |
928 | contaiminate contaminate | |
929 | containes contains | |
930 | contamporaries contemporaries | |
931 | contamporary contemporary | |
932 | contempoary contemporary | |
933 | contemporaneus contemporaneous | |
934 | contempory contemporary | |
935 | contendor contender | |
936 | contined continued | |
937 | continous continuous | |
938 | continously continuously | |
939 | continueing continuing | |
940 | contravercial controversial | |
941 | contraversy controversy | |
942 | contributer contributor | |
943 | contributers contributors | |
944 | contritutions contributions | |
945 | controled controlled | |
946 | controling controlling | |
947 | controll control | |
948 | controlls controls | |
949 | controvercial controversial | |
950 | controvercy controversy | |
951 | controveries controversies | |
952 | controversal controversial | |
953 | controversey controversy | |
954 | controvertial controversial | |
955 | controvery controversy | |
956 | contruction construction | |
957 | conveinent convenient | |
958 | convenant covenant | |
959 | convential conventional | |
960 | convertables convertibles | |
961 | convertion conversion | |
962 | conveyer conveyor | |
963 | conviced convinced | |
964 | convienient convenient | |
965 | coordiantion coordination | |
966 | coorperation cooperation, corporation | |
967 | coorperations corporations | |
968 | copmetitors competitors | |
969 | coputer computer | |
970 | copywrite copyright | |
971 | coridal cordial | |
972 | cornmitted committed | |
973 | corosion corrosion | |
974 | corparate corporate | |
975 | corperations corporations | |
976 | correcters correctors | |
977 | correponding corresponding | |
978 | correposding corresponding | |
979 | correspondant correspondent | |
980 | correspondants correspondents | |
981 | corridoors corridors | |
982 | corrispond correspond | |
983 | corrispondant correspondent | |
984 | corrispondants correspondents | |
985 | corrisponded corresponded | |
986 | corrisponding corresponding | |
987 | corrisponds corresponds | |
988 | costitution constitution | |
989 | coucil council | |
990 | coudl could, cloud | |
991 | councellor councillor, counselor, councilor | |
992 | councellors councillors, counselors, councilors | |
993 | counries countries | |
994 | countains contains | |
995 | countires countries | |
996 | coururier courier, couturier | |
997 | coverted converted, covered, coveted | |
998 | cpoy coy, copy | |
999 | creaeted created | |
1000 | creedence credence | |
1001 | critereon criterion | |
1002 | criterias criteria | |
1003 | criticists critics | |
1004 | critising criticising, criticizing | |
1005 | critisising criticising | |
1006 | critisism criticism | |
1007 | critisisms criticisms | |
1008 | critisize criticise, criticize | |
1009 | critisized criticised, criticized | |
1010 | critisizes criticises, criticizes | |
1011 | critisizing criticising, criticizing | |
1012 | critized criticized | |
1013 | critizing criticizing | |
1014 | crockodiles crocodiles | |
1015 | crowm crown | |
1016 | crtical critical | |
1017 | crticised criticised | |
1018 | crucifiction crucifixion | |
1019 | crusies cruises | |
1020 | crystalisation crystallisation | |
1021 | culiminating culminating | |
1022 | cumulatative cumulative | |
1023 | curch church | |
1024 | curcuit circuit | |
1025 | currenly currently | |
1026 | curriculem curriculum | |
1027 | cxan cyan | |
1028 | cyclinder cylinder | |
1029 | dael deal, dial, dahl | |
1030 | dalmation dalmatian | |
1031 | damenor demeanor | |
1032 | Dardenelles Dardanelles | |
1033 | dacquiri daiquiri | |
1034 | debateable debatable | |
1035 | decendant descendant | |
1036 | decendants descendants | |
1037 | decendent descendant | |
1038 | decendents descendants | |
1039 | decideable decidable | |
1040 | decidely decidedly | |
1041 | decieved deceived | |
1042 | decison decision | |
1043 | decomissioned decommissioned | |
1044 | decomposit decompose | |
1045 | decomposited decomposed | |
1046 | decompositing decomposing | |
1047 | decomposits decomposes | |
1048 | decress decrees | |
1049 | decribe describe | |
1050 | decribed described | |
1051 | decribes describes | |
1052 | decribing describing | |
1053 | dectect detect | |
1054 | defendent defendant | |
1055 | defendents defendants | |
1056 | deffensively defensively | |
1057 | deffine define | |
1058 | deffined defined | |
1059 | definance defiance | |
1060 | definate definite | |
1061 | definately definitely | |
1062 | definatly definitely | |
1063 | definetly definitely | |
1064 | definining defining | |
1065 | definit definite | |
1066 | definitly definitely | |
1067 | definiton definition | |
1068 | defintion definition | |
1069 | degrate degrade | |
1070 | delagates delegates | |
1071 | delapidated dilapidated | |
1072 | delerious delirious | |
1073 | delevopment development | |
1074 | deliberatly deliberately | |
1075 | delusionally delusively | |
1076 | demenor demeanor | |
1077 | demographical demographic | |
1078 | demolision demolition | |
1079 | demorcracy democracy | |
1080 | demostration demonstration | |
1081 | denegrating denigrating | |
1082 | densly densely | |
1083 | deparment department | |
1084 | deparments departments | |
1085 | deparmental departmental | |
1086 | dependance dependence | |
1087 | dependancy dependency | |
1088 | dependant dependent | |
1089 | deram dram, dream | |
1090 | deriviated derived | |
1091 | derivitive derivative | |
1092 | derogitory derogatory | |
1093 | descendands descendants | |
1094 | descibed described | |
1095 | descision decision | |
1096 | descisions decisions | |
1097 | descriibes describes | |
1098 | descripters descriptors | |
1099 | descripton description | |
1100 | desctruction destruction | |
1101 | descuss discuss | |
1102 | desgined designed | |
1103 | deside decide | |
1104 | desigining designing | |
1105 | desinations destinations | |
1106 | desintegrated disintegrated | |
1107 | desintegration disintegration | |
1108 | desireable desirable | |
1109 | desitned destined | |
1110 | desktiop desktop | |
1111 | desorder disorder | |
1112 | desoriented disoriented | |
1113 | desparate desperate, disparate | |
1114 | despatched dispatched | |
1115 | despict depict | |
1116 | despiration desperation | |
1117 | dessicated desiccated | |
1118 | dessigned designed | |
1119 | destablized destabilized | |
1120 | destory destroy | |
1121 | detailled detailed | |
1122 | detatched detached | |
1123 | deteoriated deteriorated | |
1124 | deteriate deteriorate | |
1125 | deterioriating deteriorating | |
1126 | determinining determining | |
1127 | detremental detrimental | |
1128 | devasted devastated | |
1129 | develope develop | |
1130 | developement development | |
1131 | developped developed | |
1132 | develpment development | |
1133 | devels delves | |
1134 | devestated devastated | |
1135 | devestating devastating | |
1136 | devide divide | |
1137 | devided divided | |
1138 | devistating devastating | |
1139 | devolopement development | |
1140 | diablical diabolical | |
1141 | diamons diamonds | |
1142 | diaster disaster | |
1143 | dichtomy dichotomy | |
1144 | diconnects disconnects | |
1145 | dicover discover | |
1146 | dicovered discovered | |
1147 | dicovering discovering | |
1148 | dicovers discovers | |
1149 | dicovery discovery | |
1150 | dicussed discussed | |
1151 | didnt didn't | |
1152 | diea idea, die | |
1153 | dieing dying, dyeing | |
1154 | dieties deities | |
1155 | diety deity | |
1156 | diferent different | |
1157 | diferrent different | |
1158 | differentiatiations differentiations | |
1159 | differnt different | |
1160 | difficulity difficulty | |
1161 | diffrent different | |
1162 | dificulties difficulties | |
1163 | dificulty difficulty | |
1164 | dimenions dimensions | |
1165 | dimention dimension | |
1166 | dimentional dimensional | |
1167 | dimentions dimensions | |
1168 | dimesnional dimensional | |
1169 | diminuitive diminutive | |
1170 | diosese diocese | |
1171 | diphtong diphthong | |
1172 | diphtongs diphthongs | |
1173 | diplomancy diplomacy | |
1174 | dipthong diphthong | |
1175 | dipthongs diphthongs | |
1176 | dirived derived | |
1177 | disagreeed disagreed | |
1178 | disapeared disappeared | |
1179 | disapointing disappointing | |
1180 | disappearred disappeared | |
1181 | disaproval disapproval | |
1182 | disasterous disastrous | |
1183 | disatisfaction dissatisfaction | |
1184 | disatisfied dissatisfied | |
1185 | disatrous disastrous | |
1186 | discontentment discontent | |
1187 | discribe describe | |
1188 | discribed described | |
1189 | discribes describes | |
1190 | discribing describing | |
1191 | disctinction distinction | |
1192 | disctinctive distinctive | |
1193 | disemination dissemination | |
1194 | disenchanged disenchanted | |
1195 | disiplined disciplined | |
1196 | disobediance disobedience | |
1197 | disobediant disobedient | |
1198 | disolved dissolved | |
1199 | disover discover | |
1200 | dispair despair | |
1201 | disparingly disparagingly | |
1202 | dispence dispense | |
1203 | dispenced dispensed | |
1204 | dispencing dispensing | |
1205 | dispicable despicable | |
1206 | dispite despite | |
1207 | dispostion disposition | |
1208 | disproportiate disproportionate | |
1209 | disputandem disputandum | |
1210 | disricts districts | |
1211 | dissagreement disagreement | |
1212 | dissapear disappear | |
1213 | dissapearance disappearance | |
1214 | dissapeared disappeared | |
1215 | dissapearing disappearing | |
1216 | dissapears disappears | |
1217 | dissappear disappear | |
1218 | dissappears disappears | |
1219 | dissappointed disappointed | |
1220 | dissarray disarray | |
1221 | dissobediance disobedience | |
1222 | dissobediant disobedient | |
1223 | dissobedience disobedience | |
1224 | dissobedient disobedient | |
1225 | distiction distinction | |
1226 | distingish distinguish | |
1227 | distingished distinguished | |
1228 | distingishes distinguishes | |
1229 | distingishing distinguishing | |
1230 | distingquished distinguished | |
1231 | distrubution distribution | |
1232 | distruction destruction | |
1233 | distructive destructive | |
1234 | ditributed distributed | |
1235 | diversed diverse, diverged | |
1236 | divice device | |
1237 | divison division | |
1238 | divisons divisions | |
1239 | doccument document | |
1240 | doccumented documented | |
1241 | doccuments documents | |
1242 | docrines doctrines | |
1243 | doctines doctrines | |
1244 | documenatry documentary | |
1245 | doens does | |
1246 | doesnt doesn't | |
1247 | doign doing | |
1248 | dominaton domination | |
1249 | dominent dominant | |
1250 | dominiant dominant | |
1251 | donig doing | |
1252 | dosen't doesn't | |
1253 | doub doubt, daub | |
1254 | doulbe double | |
1255 | dowloads downloads | |
1256 | dramtic dramatic | |
1257 | draughtman draughtsman | |
1258 | Dravadian Dravidian | |
1259 | dreasm dreams | |
1260 | driectly directly | |
1261 | drnik drink | |
1262 | druming drumming | |
1263 | drummless drumless | |
1264 | dupicate duplicate | |
1265 | durig during | |
1266 | durring during | |
1267 | duting during | |
1268 | dyas dryas | |
1269 | eahc each | |
1270 | ealier earlier | |
1271 | earlies earliest | |
1272 | earnt earned | |
1273 | ecclectic eclectic | |
1274 | eceonomy economy | |
1275 | ecidious deciduous | |
1276 | eclispe eclipse | |
1277 | ecomonic economic | |
1278 | ect etc | |
1279 | eearly early | |
1280 | efel evil | |
1281 | effeciency efficiency | |
1282 | effecient efficient | |
1283 | effeciently efficiently | |
1284 | efficency efficiency | |
1285 | efficent efficient | |
1286 | efficently efficiently | |
1287 | efford effort, afford | |
1288 | effords efforts, affords | |
1289 | effulence effluence | |
1290 | eigth eighth, eight | |
1291 | eiter either | |
1292 | elction election | |
1293 | electic eclectic, electric | |
1294 | electon election, electron | |
1295 | electrial electrical | |
1296 | electricly electrically | |
1297 | electricty electricity | |
1298 | elementay elementary | |
1299 | eleminated eliminated | |
1300 | eleminating eliminating | |
1301 | eles eels | |
1302 | eletricity electricity | |
1303 | elicided elicited | |
1304 | eligable eligible | |
1305 | elimentary elementary | |
1306 | ellected elected | |
1307 | elphant elephant | |
1308 | embarass embarrass | |
1309 | embarassed embarrassed | |
1310 | embarassing embarrassing | |
1311 | embarassment embarrassment | |
1312 | embargos embargoes | |
1313 | embarras embarrass | |
1314 | embarrased embarrassed | |
1315 | embarrasing embarrassing | |
1316 | embarrasment embarrassment | |
1317 | embezelled embezzled | |
1318 | emblamatic emblematic | |
1319 | eminate emanate | |
1320 | eminated emanated | |
1321 | emision emission | |
1322 | emited emitted | |
1323 | emiting emitting | |
1324 | emition emission, emotion | |
1325 | emmediately immediately | |
1326 | emmigrated emigrated | |
1327 | emminent eminent, imminent | |
1328 | emminently eminently | |
1329 | emmisaries emissaries | |
1330 | emmisarries emissaries | |
1331 | emmisarry emissary | |
1332 | emmisary emissary | |
1333 | emmision emission | |
1334 | emmisions emissions | |
1335 | emmited emitted | |
1336 | emmiting emitting | |
1337 | emmitted emitted | |
1338 | emmitting emitting | |
1339 | emnity enmity | |
1340 | emperical empirical | |
1341 | emphaised emphasised | |
1342 | emphsis emphasis | |
1343 | emphysyma emphysema | |
1344 | empirial empirical, imperial | |
1345 | emprisoned imprisoned | |
1346 | enameld enameled | |
1347 | enchancement enhancement | |
1348 | encouraing encouraging | |
1349 | encryptiion encryption | |
1350 | encylopedia encyclopedia | |
1351 | endevors endeavors | |
1352 | endevour endeavour | |
1353 | endig ending | |
1354 | endolithes endoliths | |
1355 | enduce induce | |
1356 | ened need | |
1357 | enflamed inflamed | |
1358 | enforceing enforcing | |
1359 | engagment engagement | |
1360 | engeneer engineer | |
1361 | engeneering engineering | |
1362 | engieneer engineer | |
1363 | engieneers engineers | |
1364 | enlargment enlargement | |
1365 | enlargments enlargements | |
1366 | Enlish English, enlist | |
1367 | enourmous enormous | |
1368 | enourmously enormously | |
1369 | ensconsed ensconced | |
1370 | entaglements entanglements | |
1371 | enteratinment entertainment | |
1372 | entitity entity | |
1373 | entitlied entitled | |
1374 | entrepeneur entrepreneur | |
1375 | entrepeneurs entrepreneurs | |
1376 | enviorment environment | |
1377 | enviormental environmental | |
1378 | enviormentally environmentally | |
1379 | enviorments environments | |
1380 | enviornment environment | |
1381 | enviornmental environmental | |
1382 | enviornmentalist environmentalist | |
1383 | enviornmentally environmentally | |
1384 | enviornments environments | |
1385 | enviroment environment | |
1386 | enviromental environmental | |
1387 | enviromentalist environmentalist | |
1388 | enviromentally environmentally | |
1389 | enviroments environments | |
1390 | envolutionary evolutionary | |
1391 | envrionments environments | |
1392 | enxt next | |
1393 | epidsodes episodes | |
1394 | epsiode episode | |
1395 | equialent equivalent | |
1396 | equilibium equilibrium | |
1397 | equilibrum equilibrium | |
1398 | equiped equipped | |
1399 | equippment equipment | |
1400 | equitorial equatorial | |
1401 | equivelant equivalent | |
1402 | equivelent equivalent | |
1403 | equivilant equivalent | |
1404 | equivilent equivalent | |
1405 | equivlalent equivalent | |
1406 | erally orally, really | |
1407 | eratic erratic | |
1408 | eratically erratically | |
1409 | eraticly erratically | |
1410 | erested arrested, erected | |
1411 | errupted erupted | |
1412 | esential essential | |
1413 | esitmated estimated | |
1414 | esle else | |
1415 | especialy especially | |
1416 | essencial essential | |
1417 | essense essence | |
1418 | essentail essential | |
1419 | essentialy essentially | |
1420 | essentual essential | |
1421 | essesital essential | |
1422 | estabishes establishes | |
1423 | establising establishing | |
1424 | ethnocentricm ethnocentrism | |
1425 | ethose those, ethos | |
1426 | Europian European | |
1427 | Europians Europeans | |
1428 | Eurpean European | |
1429 | Eurpoean European | |
1430 | evenhtually eventually | |
1431 | eventally eventually | |
1432 | eventially eventually | |
1433 | eventualy eventually | |
1434 | everthing everything | |
1435 | everytime every time | |
1436 | everyting everything | |
1437 | eveyr every | |
1438 | evidentally evidently | |
1439 | exagerate exaggerate | |
1440 | exagerated exaggerated | |
1441 | exagerates exaggerates | |
1442 | exagerating exaggerating | |
1443 | exagerrate exaggerate | |
1444 | exagerrated exaggerated | |
1445 | exagerrates exaggerates | |
1446 | exagerrating exaggerating | |
1447 | examinated examined | |
1448 | exampt exempt | |
1449 | exapansion expansion | |
1450 | excact exact | |
1451 | excange exchange | |
1452 | excecute execute | |
1453 | excecuted executed | |
1454 | excecutes executes | |
1455 | excecuting executing | |
1456 | excecution execution | |
1457 | excedded exceeded | |
1458 | excelent excellent | |
1459 | excell excel | |
1460 | excellance excellence | |
1461 | excellant excellent | |
1462 | excells excels | |
1463 | excercise exercise | |
1464 | exchanching exchanging | |
1465 | excisted existed | |
1466 | exculsivly exclusively | |
1467 | execising exercising | |
1468 | exection execution | |
1469 | exectued executed | |
1470 | exeedingly exceedingly | |
1471 | exelent excellent | |
1472 | exellent excellent | |
1473 | exemple example | |
1474 | exept except | |
1475 | exeptional exceptional | |
1476 | exerbate exacerbate | |
1477 | exerbated exacerbated | |
1478 | exerciese exercises | |
1479 | exerpt excerpt | |
1480 | exerpts excerpts | |
1481 | exersize exercise | |
1482 | exerternal external | |
1483 | exhalted exalted | |
1484 | exhibtion exhibition | |
1485 | exibition exhibition | |
1486 | exibitions exhibitions | |
1487 | exicting exciting | |
1488 | exinct extinct | |
1489 | existance existence | |
1490 | existant existent | |
1491 | existince existence | |
1492 | exliled exiled | |
1493 | exludes excludes | |
1494 | exmaple example | |
1495 | exonorate exonerate | |
1496 | exoskelaton exoskeleton | |
1497 | expalin explain | |
1498 | expeced expected | |
1499 | expecially especially | |
1500 | expeditonary expeditionary | |
1501 | expeiments experiments | |
1502 | expell expel | |
1503 | expells expels | |
1504 | experiance experience | |
1505 | experianced experienced | |
1506 | expiditions expeditions | |
1507 | expierence experience | |
1508 | explaination explanation | |
1509 | explaning explaining | |
1510 | explictly explicitly | |
1511 | exploititive exploitative | |
1512 | explotation exploitation | |
1513 | expropiated expropriated | |
1514 | expropiation expropriation | |
1515 | exressed expressed | |
1516 | extemely extremely | |
1517 | extention extension | |
1518 | extentions extensions | |
1519 | extered exerted | |
1520 | extermist extremist | |
1521 | extint extinct, extant | |
1522 | extradiction extradition | |
1523 | extraterrestial extraterrestrial | |
1524 | extraterrestials extraterrestrials | |
1525 | extravagent extravagant | |
1526 | extrememly extremely | |
1527 | extremeophile extremophile | |
1528 | extremly extremely | |
1529 | extrordinarily extraordinarily | |
1530 | extrordinary extraordinary | |
1531 | eyar year, eyas | |
1532 | eyars years, eyas | |
1533 | eyasr years, eyas | |
1534 | faciliate facilitate | |
1535 | faciliated facilitated | |
1536 | faciliates facilitates | |
1537 | facilites facilities | |
1538 | facillitate facilitate | |
1539 | facinated fascinated | |
1540 | facist fascist | |
1541 | familes families | |
1542 | familliar familiar | |
1543 | famoust famous | |
1544 | fanatism fanaticism | |
1545 | Farenheit Fahrenheit | |
1546 | fatc fact | |
1547 | faught fought | |
1548 | favoutrable favourable | |
1549 | feasable feasible | |
1550 | Febuary February | |
1551 | fedreally federally | |
1552 | feromone pheromone | |
1553 | fertily fertility | |
1554 | fianite finite | |
1555 | fianlly finally | |
1556 | ficticious fictitious | |
1557 | fictious fictitious | |
1558 | fidn find | |
1559 | fiel feel, field, file, phial | |
1560 | fiels feels, fields, files, phials | |
1561 | fiercly fiercely | |
1562 | fightings fighting | |
1563 | filiament filament | |
1564 | fimilies families | |
1565 | finacial financial | |
1566 | finaly finally | |
1567 | financialy financially | |
1568 | firends friends | |
1569 | firts flirts, first | |
1570 | fisionable fissionable | |
1571 | flamable flammable | |
1572 | flawess flawless | |
1573 | fleed fled, freed | |
1574 | Flemmish Flemish | |
1575 | florescent fluorescent | |
1576 | flourescent fluorescent | |
1577 | fluorish flourish | |
1578 | follwoing following | |
1579 | folowing following | |
1580 | fomed formed | |
1581 | fomr from, form | |
1582 | fonetic phonetic | |
1583 | fontrier fontier | |
1584 | foootball football | |
1585 | forbad forbade | |
1586 | forbiden forbidden | |
1587 | foreward foreword | |
1588 | forfiet forfeit | |
1589 | forhead forehead | |
1590 | foriegn foreign | |
1591 | Formalhaut Fomalhaut | |
1592 | formallize formalize | |
1593 | formallized formalized | |
1594 | formaly formally | |
1595 | formelly formerly | |
1596 | formidible formidable | |
1597 | formost foremost | |
1598 | forsaw foresaw | |
1599 | forseeable foreseeable | |
1600 | fortelling foretelling | |
1601 | forunner forerunner | |
1602 | foucs focus | |
1603 | foudn found | |
1604 | fougth fought | |
1605 | foundaries foundries | |
1606 | foundary foundry | |
1607 | Foundland Newfoundland | |
1608 | fourties forties | |
1609 | fourty forty | |
1610 | fouth fourth | |
1611 | foward forward | |
1612 | fucntion function | |
1613 | fucntioning functioning | |
1614 | Fransiscan Franciscan | |
1615 | Fransiscans Franciscans | |
1616 | freind friend | |
1617 | freindly friendly | |
1618 | frequentily frequently | |
1619 | frome from | |
1620 | fromed formed | |
1621 | froniter frontier | |
1622 | fufill fulfill | |
1623 | fufilled fulfilled | |
1624 | fulfiled fulfilled | |
1625 | fundametal fundamental | |
1626 | fundametals fundamentals | |
1627 | funguses fungi | |
1628 | funtion function | |
1629 | furuther further | |
1630 | futher further | |
1631 | futhermore furthermore | |
1632 | futhroc futhark, futhorc | |
1633 | gae game, Gael, gale | |
1634 | galatic galactic | |
1635 | Galations Galatians | |
1636 | gallaxies galaxies | |
1637 | galvinized galvanized | |
1638 | Gameboy Game Boy | |
1639 | ganerate generate | |
1640 | ganes games | |
1641 | ganster gangster | |
1642 | garantee guarantee | |
1643 | garanteed guaranteed | |
1644 | garantees guarantees | |
1645 | garnison garrison | |
1646 | gauarana guaraná | |
1647 | gaurantee guarantee | |
1648 | gauranteed guaranteed | |
1649 | gaurantees guarantees | |
1650 | gaurd guard, gourd | |
1651 | gaurentee guarantee | |
1652 | gaurenteed guaranteed | |
1653 | gaurentees guarantees | |
1654 | geneological genealogical | |
1655 | geneologies genealogies | |
1656 | geneology genealogy | |
1657 | generaly generally | |
1658 | generatting generating | |
1659 | genialia genitalia | |
1660 | geographicial geographical | |
1661 | geometrician geometer | |
1662 | geometricians geometers | |
1663 | gerat great | |
1664 | Ghandi Gandhi | |
1665 | glight flight | |
1666 | gnawwed gnawed | |
1667 | godess goddess | |
1668 | godesses goddesses | |
1669 | Godounov Godunov | |
1670 | gogin going, Gauguin | |
1671 | goign going | |
1672 | gonig going | |
1673 | Gothenberg Gothenburg | |
1674 | Gottleib Gottlieb | |
1675 | gouvener governor | |
1676 | govement government | |
1677 | govenment government | |
1678 | govenrment government | |
1679 | goverance governance | |
1680 | goverment government | |
1681 | govermental governmental | |
1682 | governer governor | |
1683 | governmnet government | |
1684 | govorment government | |
1685 | govormental governmental | |
1686 | govornment government | |
1687 | gracefull graceful | |
1688 | graet great | |
1689 | grafitti graffiti | |
1690 | gramatically grammatically | |
1691 | grammaticaly grammatically | |
1692 | grammer grammar | |
1693 | grat great | |
1694 | gratuitious gratuitous | |
1695 | greatful grateful | |
1696 | greatfully gratefully | |
1697 | greif grief | |
1698 | gridles griddles | |
1699 | gropu group | |
1700 | grwo grow | |
1701 | Guaduloupe Guadalupe, Guadeloupe | |
1702 | Guadulupe Guadalupe, Guadeloupe | |
1703 | guage gauge | |
1704 | guarentee guarantee | |
1705 | guarenteed guaranteed | |
1706 | guarentees guarantees | |
1707 | Guatamala Guatemala | |
1708 | Guatamalan Guatemalan | |
1709 | guerilla guerrilla | |
1710 | guerillas guerrillas | |
1711 | guerrila guerrilla | |
1712 | guerrilas guerrillas | |
1713 | guidence guidance | |
1714 | Guilia Giulia | |
1715 | Guilio Giulio | |
1716 | Guiness Guinness | |
1717 | Guiseppe Giuseppe | |
1718 | gunanine guanine | |
1719 | gurantee guarantee | |
1720 | guranteed guaranteed | |
1721 | gurantees guarantees | |
1722 | guttaral guttural | |
1723 | gutteral guttural | |
1724 | habaeus habeas | |
1725 | habeus habeas | |
1726 | Habsbourg Habsburg | |
1727 | haemorrage haemorrhage | |
1728 | haev have, heave | |
1729 | Hallowean Hallowe'en, Halloween | |
1730 | halp help | |
1731 | hapen happen | |
1732 | hapened happened | |
1733 | hapening happening | |
1734 | happend happened | |
1735 | happended happened | |
1736 | happenned happened | |
1737 | harased harassed | |
1738 | harases harasses | |
1739 | harasment harassment | |
1740 | harasments harassments | |
1741 | harassement harassment | |
1742 | harras harass | |
1743 | harrased harassed | |
1744 | harrases harasses | |
1745 | harrasing harassing | |
1746 | harrasment harassment | |
1747 | harrasments harassments | |
1748 | harrassed harassed | |
1749 | harrasses harassed | |
1750 | harrassing harassing | |
1751 | harrassment harassment | |
1752 | harrassments harassments | |
1753 | hasnt hasn't | |
1754 | haviest heaviest | |
1755 | headquater headquarter | |
1756 | headquarer headquarter | |
1757 | headquatered headquartered | |
1758 | headquaters headquarters | |
1759 | healthercare healthcare | |
1760 | heared heard | |
1761 | heathy healthy | |
1762 | Heidelburg Heidelberg | |
1763 | heigher higher | |
1764 | heirarchy hierarchy | |
1765 | heiroglyphics hieroglyphics | |
1766 | helment helmet | |
1767 | helpfull helpful | |
1768 | helpped helped | |
1769 | hemmorhage hemorrhage | |
1770 | herad heard, Hera | |
1771 | heridity heredity | |
1772 | heroe hero | |
1773 | heros heroes | |
1774 | hertzs hertz | |
1775 | hesistant hesitant | |
1776 | heterogenous heterogeneous | |
1777 | hieght height | |
1778 | hierachical hierarchical | |
1779 | hierachies hierarchies | |
1780 | hierachy hierarchy | |
1781 | hierarcical hierarchical | |
1782 | hierarcy hierarchy | |
1783 | hieroglph hieroglyph | |
1784 | hieroglphs hieroglyphs | |
1785 | higer higher | |
1786 | higest highest | |
1787 | higway highway | |
1788 | hillarious hilarious | |
1789 | himselv himself | |
1790 | hinderance hindrance | |
1791 | hinderence hindrance | |
1792 | hindrence hindrance | |
1793 | hipopotamus hippopotamus | |
1794 | hismelf himself | |
1795 | histocompatability histocompatibility | |
1796 | historicians historians | |
1797 | hitsingles hit singles | |
1798 | holliday holiday | |
1799 | homestate home state | |
1800 | homogeneize homogenize | |
1801 | homogeneized homogenized | |
1802 | honory honorary | |
1803 | horrifing horrifying | |
1804 | hosited hoisted | |
1805 | hospitible hospitable | |
1806 | hounour honour | |
1807 | housr hours, house | |
1808 | howver however | |
1809 | hsitorians historians | |
1810 | hstory history | |
1811 | hten then, hen, the | |
1812 | htere there, here | |
1813 | htey they | |
1814 | htikn think | |
1815 | hting thing | |
1816 | htink think | |
1817 | htis this | |
1818 | humer humor, humour | |
1819 | humerous humorous, humerus | |
1820 | huminoid humanoid | |
1821 | humoural humoral | |
1822 | humurous humorous | |
1823 | husban husband | |
1824 | hvae have | |
1825 | hvaing having | |
1826 | hvea have, heave | |
1827 | hwihc which | |
1828 | hwile while | |
1829 | hwole whole | |
1830 | hydogen hydrogen | |
1831 | hydropile hydrophile | |
1832 | hydropilic hydrophilic | |
1833 | hydropobe hydrophobe | |
1834 | hydropobic hydrophobic | |
1835 | hygeine hygiene | |
1836 | hypocracy hypocrisy | |
1837 | hypocrasy hypocrisy | |
1838 | hypocricy hypocrisy | |
1839 | hypocrit hypocrite | |
1840 | hypocrits hypocrites | |
1841 | iconclastic iconoclastic | |
1842 | idaeidae idea | |
1843 | idaes ideas | |
1844 | idealogies ideologies | |
1845 | idealogy ideology | |
1846 | identicial identical | |
1847 | identifers identifiers | |
1848 | ideosyncratic idiosyncratic | |
1849 | idesa ideas, ides | |
1850 | idiosyncracy idiosyncrasy | |
1851 | Ihaca Ithaca | |
1852 | illegimacy illegitimacy | |
1853 | illegitmate illegitimate | |
1854 | illess illness | |
1855 | illiegal illegal | |
1856 | illution illusion | |
1857 | ilness illness | |
1858 | ilogical illogical | |
1859 | imagenary imaginary | |
1860 | imagin imagine | |
1861 | imaginery imaginary, imagery | |
1862 | imanent eminent, imminent | |
1863 | imcomplete incomplete | |
1864 | imediately immediately | |
1865 | imense immense | |
1866 | imigrant emigrant, immigrant | |
1867 | imigrated emigrated, immigrated | |
1868 | imigration emigration, immigration | |
1869 | iminent eminent, imminent, immanent | |
1870 | immediatley immediately | |
1871 | immediatly immediately | |
1872 | immidately immediately | |
1873 | immidiately immediately | |
1874 | immitate imitate | |
1875 | immitated imitated | |
1876 | immitating imitating | |
1877 | immitator imitator | |
1878 | immunosupressant immunosuppressant | |
1879 | impecabbly impeccably | |
1880 | impedence impedance | |
1881 | implamenting implementing | |
1882 | impliment implement | |
1883 | implimented implemented | |
1884 | imploys employs | |
1885 | importamt important | |
1886 | imprioned imprisoned | |
1887 | imprisonned imprisoned | |
1888 | improvision improvisation | |
1889 | improvments improvements | |
1890 | inablility inability | |
1891 | inaccessable inaccessible | |
1892 | inadiquate inadequate | |
1893 | inadquate inadequate | |
1894 | inadvertant inadvertent | |
1895 | inadvertantly inadvertently | |
1896 | inagurated inaugurated | |
1897 | inaguration inauguration | |
1898 | inappropiate inappropriate | |
1899 | inaugures inaugurates | |
1900 | inbalance imbalance | |
1901 | inbalanced imbalanced | |
1902 | inbetween between | |
1903 | incarcirated incarcerated | |
1904 | incidentially incidentally | |
1905 | incidently incidentally | |
1906 | inclreased increased | |
1907 | includ include | |
1908 | includng including | |
1909 | incompatabilities incompatibilities | |
1910 | incompatability incompatibility | |
1911 | incompatable incompatible | |
1912 | incompatablities incompatibilities | |
1913 | incompatablity incompatibility | |
1914 | incompatiblities incompatibilities | |
1915 | incompatiblity incompatibility | |
1916 | incompetance incompetence | |
1917 | incompetant incompetent | |
1918 | incomptable incompatible | |
1919 | incomptetent incompetent | |
1920 | inconsistant inconsistent | |
1921 | incorperation incorporation | |
1922 | incorportaed incorporated | |
1923 | incorprates incorporates | |
1924 | incorruptable incorruptible | |
1925 | incramentally incrementally | |
1926 | increadible incredible | |
1927 | incredable incredible | |
1928 | inctroduce introduce | |
1929 | inctroduced introduced | |
1930 | incuding including | |
1931 | incunabla incunabula | |
1932 | indefinately indefinitely | |
1933 | indefineable undefinable | |
1934 | indefinitly indefinitely | |
1935 | indentical identical | |
1936 | indepedantly independently | |
1937 | indepedence independence | |
1938 | independance independence | |
1939 | independant independent | |
1940 | independantly independently | |
1941 | independece independence | |
1942 | independendet independent | |
1943 | indictement indictment | |
1944 | indigineous indigenous | |
1945 | indipendence independence | |
1946 | indipendent independent | |
1947 | indipendently independently | |
1948 | indespensible indispensable | |
1949 | indespensable indispensable | |
1950 | indispensible indispensable | |
1951 | indisputible indisputable | |
1952 | indisputibly indisputably | |
1953 | indite indict | |
1954 | individualy individually | |
1955 | indpendent independent | |
1956 | indpendently independently | |
1957 | indulgue indulge | |
1958 | indutrial industrial | |
1959 | indviduals individuals | |
1960 | inefficienty inefficiently | |
1961 | inevatible inevitable | |
1962 | inevitible inevitable | |
1963 | inevititably inevitably | |
1964 | infalability infallibility | |
1965 | infallable infallible | |
1966 | infectuous infectious | |
1967 | infered inferred | |
1968 | infilitrate infiltrate | |
1969 | infilitrated infiltrated | |
1970 | infilitration infiltration | |
1971 | infinit infinite | |
1972 | inflamation inflammation | |
1973 | influencial influential | |
1974 | influented influenced | |
1975 | infomation information | |
1976 | informtion information | |
1977 | infrantryman infantryman | |
1978 | infrigement infringement | |
1979 | ingenius ingenious | |
1980 | ingreediants ingredients | |
1981 | inhabitans inhabitants | |
1982 | inherantly inherently | |
1983 | inheritage heritage, inheritance | |
1984 | inheritence inheritance | |
1985 | inital initial | |
1986 | initally initially | |
1987 | initation initiation | |
1988 | initiaitive initiative | |
1989 | inlcuding including | |
1990 | inmigrant immigrant | |
1991 | inmigrants immigrants | |
1992 | innoculated inoculated | |
1993 | inocence innocence | |
1994 | inofficial unofficial | |
1995 | inot into | |
1996 | inpeach impeach | |
1997 | inpolite impolite | |
1998 | inprisonment imprisonment | |
1999 | inproving improving | |
2000 | insectiverous insectivorous | |
2001 | insensative insensitive | |
2002 | inseperable inseparable | |
2003 | insistance insistence | |
2004 | insitution institution | |
2005 | insitutions institutions | |
2006 | inspite in spite, inspire | |
2007 | instade instead | |
2008 | instatance instance | |
2009 | institue institute | |
2010 | instuction instruction | |
2011 | instuments instruments | |
2012 | instutionalized institutionalized | |
2013 | instutions intuitions | |
2014 | insurence insurance | |
2015 | intelectual intellectual | |
2016 | inteligence intelligence | |
2017 | inteligent intelligent | |
2018 | intenational international | |
2019 | intepretation interpretation | |
2020 | intepretator interpretor | |
2021 | interational international | |
2022 | interbread interbreed, interbred | |
2023 | interchangable interchangeable | |
2024 | interchangably interchangeably | |
2025 | intercontinetal intercontinental | |
2026 | intered interred, interned | |
2027 | interelated interrelated | |
2028 | interferance interference | |
2029 | interfereing interfering | |
2030 | intergrated integrated | |
2031 | intergration integration | |
2032 | interm interim | |
2033 | internation international | |
2034 | interpet interpret | |
2035 | interrim interim | |
2036 | interrugum interregnum | |
2037 | intertaining entertaining | |
2038 | interupt interrupt | |
2039 | intervines intervenes | |
2040 | intevene intervene | |
2041 | intial initial | |
2042 | intially initially | |
2043 | intrduced introduced | |
2044 | intrest interest | |
2045 | introdued introduced | |
2046 | intruduced introduced | |
2047 | intrusted entrusted | |
2048 | intutive intuitive | |
2049 | intutively intuitively | |
2050 | inudstry industry | |
2051 | inumerable enumerable, innumerable | |
2052 | inventer inventor | |
2053 | invertibrates invertebrates | |
2054 | investingate investigate | |
2055 | involvment involvement | |
2056 | irelevent irrelevant | |
2057 | iresistable irresistible | |
2058 | iresistably irresistibly | |
2059 | iresistible irresistible | |
2060 | iresistibly irresistibly | |
2061 | iritable irritable | |
2062 | iritated irritated | |
2063 | ironicly ironically | |
2064 | irregardless regardless | |
2065 | irrelevent irrelevant | |
2066 | irreplacable irreplaceable | |
2067 | irresistable irresistible | |
2068 | irresistably irresistibly | |
2069 | isnt isn't | |
2070 | Israelies Israelis | |
2071 | issueing issuing | |
2072 | itnroduced introduced | |
2073 | iunior junior | |
2074 | iwll will | |
2075 | iwth with | |
2076 | Japanes Japanese | |
2077 | jaques jacques | |
2078 | jeapardy jeopardy | |
2079 | jewllery jewellery | |
2080 | Johanine Johannine | |
2081 | Jospeh Joseph | |
2082 | jouney journey | |
2083 | journied journeyed | |
2084 | journies journeys | |
2085 | jstu just | |
2086 | jsut just | |
2087 | Juadaism Judaism | |
2088 | Juadism Judaism | |
2089 | judical judicial | |
2090 | judisuary judiciary | |
2091 | juducial judicial | |
2092 | juristiction jurisdiction | |
2093 | juristictions jurisdictions | |
2094 | kindergarden kindergarten | |
2095 | klenex kleenex | |
2096 | knifes knives | |
2097 | knive knife | |
2098 | knowlege knowledge | |
2099 | knowlegeable knowledgeable | |
2100 | knwo know | |
2101 | knwos knows | |
2102 | konw know | |
2103 | konws knows | |
2104 | kwno know | |
2105 | labatory lavatory, laboratory | |
2106 | labled labelled, labeled | |
2107 | labratory laboratory | |
2108 | laguage language | |
2109 | laguages languages | |
2110 | larg large | |
2111 | largst largest | |
2112 | larrry larry | |
2113 | lastr last | |
2114 | lattitude latitude | |
2115 | launchs launch | |
2116 | launhed launched | |
2117 | lavae larvae | |
2118 | layed laid | |
2119 | lazyness laziness | |
2120 | leaded led | |
2121 | leage league | |
2122 | leanr lean, learn, leaner | |
2123 | leathal lethal | |
2124 | lefted left | |
2125 | legitamate legitimate | |
2126 | legitmate legitimate | |
2127 | leibnitz leibniz | |
2128 | lenght length | |
2129 | leran learn | |
2130 | lerans learns | |
2131 | lieuenant lieutenant | |
2132 | leutenant lieutenant | |
2133 | levetate levitate | |
2134 | levetated levitated | |
2135 | levetates levitates | |
2136 | levetating levitating | |
2137 | levle level | |
2138 | liasion liaison | |
2139 | liason liaison | |
2140 | liasons liaisons | |
2141 | libary library | |
2142 | libell libel | |
2143 | libguistic linguistic | |
2144 | libguistics linguistics | |
2145 | libitarianisn libertarianism | |
2146 | lible libel, liable | |
2147 | lieing lying | |
2148 | liek like | |
2149 | liekd liked | |
2150 | liesure leisure | |
2151 | lieved lived | |
2152 | liftime lifetime | |
2153 | lightyear light year | |
2154 | lightyears light years | |
2155 | likelyhood likelihood | |
2156 | linnaena linnaean | |
2157 | lippizaner lipizzaner | |
2158 | liquify liquefy | |
2159 | liscense license, licence | |
2160 | lisence license, licence | |
2161 | lisense license, licence | |
2162 | listners listeners | |
2163 | litature literature | |
2164 | literture literature | |
2165 | littel little | |
2166 | litterally literally | |
2167 | liuke like | |
2168 | livley lively | |
2169 | lmits limits | |
2170 | loev love | |
2171 | lonelyness loneliness | |
2172 | longitudonal longitudinal | |
2173 | lonley lonely | |
2174 | lonly lonely, only | |
2175 | loosing losing | |
2176 | lotharingen lothringen | |
2177 | lsat last | |
2178 | lukid likud | |
2179 | lveo love | |
2180 | lvoe love | |
2181 | Lybia Libya | |
2182 | mackeral mackerel | |
2183 | magasine magazine | |
2184 | magincian magician | |
2185 | magnificient magnificent | |
2186 | magolia magnolia | |
2187 | mailny mainly | |
2188 | maintainance maintenance | |
2189 | maintainence maintenance | |
2190 | maintance maintenance | |
2191 | maintenence maintenance | |
2192 | maintinaing maintaining | |
2193 | maintioned mentioned | |
2194 | majoroty majority | |
2195 | maked marked, made | |
2196 | makse makes | |
2197 | Malcom Malcolm | |
2198 | maltesian Maltese | |
2199 | mamal mammal | |
2200 | mamalian mammalian | |
2201 | managable manageable, manageably | |
2202 | managment management | |
2203 | manisfestations manifestations | |
2204 | manoeuverability maneuverability | |
2205 | manouver maneuver, manoeuvre | |
2206 | manouverability maneuverability, manoeuvrability, manoeuverability | |
2207 | manouverable maneuverable, manoeuvrable | |
2208 | manouvers maneuvers, manoeuvres | |
2209 | mantained maintained | |
2210 | manuever maneuver, manoeuvre | |
2211 | manuevers maneuvers, manoeuvres | |
2212 | manufacturedd manufactured | |
2213 | manufature manufacture | |
2214 | manufatured manufactured | |
2215 | manufaturing manufacturing | |
2216 | manuver maneuver | |
2217 | mariage marriage | |
2218 | marjority majority | |
2219 | markes marks | |
2220 | marketting marketing | |
2221 | marmelade marmalade | |
2222 | marrage marriage | |
2223 | marraige marriage | |
2224 | marrtyred martyred | |
2225 | marryied married | |
2226 | Massachussets Massachusetts | |
2227 | Massachussetts Massachusetts | |
2228 | massmedia mass media | |
2229 | masterbation masturbation | |
2230 | mataphysical metaphysical | |
2231 | materalists materialist | |
2232 | mathamatics mathematics | |
2233 | mathematican mathematician | |
2234 | mathematicas mathematics | |
2235 | matheticians mathematicians | |
2236 | mathmatically mathematically | |
2237 | mathmatician mathematician | |
2238 | mathmaticians mathematicians | |
2239 | mccarthyst mccarthyist | |
2240 | mchanics mechanics | |
2241 | meaninng meaning | |
2242 | mear wear, mere, mare | |
2243 | mechandise merchandise | |
2244 | medacine medicine | |
2245 | medeival medieval | |
2246 | medevial medieval | |
2247 | mediciney mediciny | |
2248 | medievel medieval | |
2249 | mediterainnean mediterranean | |
2250 | Mediteranean Mediterranean | |
2251 | meerkrat meerkat | |
2252 | melieux milieux | |
2253 | membranaphone membranophone | |
2254 | memeber member | |
2255 | menally mentally | |
2256 | meranda veranda, Miranda | |
2257 | mercentile mercantile | |
2258 | messanger messenger | |
2259 | messenging messaging | |
2260 | metalic metallic | |
2261 | metalurgic metallurgic | |
2262 | metalurgical metallurgical | |
2263 | metalurgy metallurgy | |
2264 | metamorphysis metamorphosis | |
2265 | metaphoricial metaphorical | |
2266 | meterologist meteorologist | |
2267 | meterology meteorology | |
2268 | methaphor metaphor | |
2269 | methaphors metaphors | |
2270 | Michagan Michigan | |
2271 | micoscopy microscopy | |
2272 | midwifes midwives | |
2273 | mileau milieu | |
2274 | milennia millennia | |
2275 | milennium millennium | |
2276 | mileu milieu | |
2277 | miliary military | |
2278 | milion million | |
2279 | miliraty military | |
2280 | millenia millennia | |
2281 | millenial millennial | |
2282 | millenialism millennialism | |
2283 | millenium millennium | |
2284 | millepede millipede | |
2285 | millioniare millionaire | |
2286 | millitary military | |
2287 | millon million | |
2288 | miltary military | |
2289 | minature miniature | |
2290 | minerial mineral | |
2291 | miniscule minuscule | |
2292 | ministery ministry | |
2293 | minstries ministries | |
2294 | minstry ministry | |
2295 | minumum minimum | |
2296 | mirrorred mirrored | |
2297 | miscelaneous miscellaneous | |
2298 | miscellanious miscellaneous | |
2299 | miscellanous miscellaneous | |
2300 | mischeivous mischievous | |
2301 | mischevious mischievous | |
2302 | mischievious mischievous | |
2303 | misdameanor misdemeanor | |
2304 | misdameanors misdemeanors | |
2305 | misdemenor misdemeanor | |
2306 | misdemenors misdemeanors | |
2307 | misfourtunes misfortunes | |
2308 | misile missile | |
2309 | Misouri Missouri | |
2310 | mispell misspell | |
2311 | mispelled misspelled | |
2312 | mispelling misspelling | |
2313 | missen mizzen | |
2314 | Missisipi Mississippi | |
2315 | Missisippi Mississippi | |
2316 | missle missile | |
2317 | missonary missionary | |
2318 | misterious mysterious | |
2319 | mistery mystery | |
2320 | misteryous mysterious | |
2321 | mkae make | |
2322 | mkaes makes | |
2323 | mkaing making | |
2324 | mkea make | |
2325 | moderm modem | |
2326 | modle model | |
2327 | moent moment | |
2328 | moeny money | |
2329 | mohammedans muslims | |
2330 | moil mohel | |
2331 | moleclues molecules | |
2332 | momento memento | |
2333 | monestaries monasteries | |
2334 | monestary monastery, monetary | |
2335 | monickers monikers | |
2336 | monolite monolithic | |
2337 | Monserrat Montserrat | |
2338 | montains mountains | |
2339 | montanous mountainous | |
2340 | monts months | |
2341 | montypic monotypic | |
2342 | moreso more, more so | |
2343 | morgage mortgage | |
2344 | Morisette Morissette | |
2345 | Morrisette Morissette | |
2346 | morroccan moroccan | |
2347 | morrocco morocco | |
2348 | morroco morocco | |
2349 | mosture moisture | |
2350 | motiviated motivated | |
2351 | mounth month | |
2352 | movei movie | |
2353 | movment movement | |
2354 | mroe more | |
2355 | mucuous mucous | |
2356 | muder murder | |
2357 | mudering murdering | |
2358 | muhammadan muslim | |
2359 | multicultralism multiculturalism | |
2360 | multipled multiplied | |
2361 | multiplers multipliers | |
2362 | munbers numbers | |
2363 | muncipalities municipalities | |
2364 | muncipality municipality | |
2365 | munnicipality municipality | |
2366 | muscels mussels, muscles | |
2367 | muscial musical | |
2368 | muscician musician | |
2369 | muscicians musicians | |
2370 | mutiliated mutilated | |
2371 | myraid myriad | |
2372 | mysef myself | |
2373 | mysogynist misogynist | |
2374 | mysogyny misogyny | |
2375 | mysterous mysterious | |
2376 | Mythraic Mithraic | |
2377 | naieve naive | |
2378 | Napoleonian Napoleonic | |
2379 | naturaly naturally | |
2380 | naturely naturally | |
2381 | naturual natural | |
2382 | naturually naturally | |
2383 | Nazereth Nazareth | |
2384 | neccesarily necessarily | |
2385 | neccesary necessary | |
2386 | neccessarily necessarily | |
2387 | neccessary necessary | |
2388 | neccessities necessities | |
2389 | necesarily necessarily | |
2390 | necesary necessary | |
2391 | necessiate necessitate | |
2392 | neglible negligible | |
2393 | negligable negligible | |
2394 | negociate negotiate | |
2395 | negociation negotiation | |
2396 | negociations negotiations | |
2397 | negotation negotiation | |
2398 | neice niece, nice | |
2399 | neigborhood neighborhood | |
2400 | neigbour neighbour, neighbor | |
2401 | neigbourhood neighbourhood | |
2402 | neigbouring neighbouring, neighboring | |
2403 | neigbours neighbours, neighbors | |
2404 | neolitic neolithic | |
2405 | nessasarily necessarily | |
2406 | nessecary necessary | |
2407 | nestin nesting | |
2408 | neverthless nevertheless | |
2409 | newletters newsletters | |
2410 | Newyorker New Yorker | |
2411 | nickle nickel | |
2412 | nightfa;; nightfall | |
2413 | nightime nighttime | |
2414 | nineth ninth | |
2415 | ninteenth nineteenth | |
2416 | ninties 1990s | |
2417 | ninty ninety | |
2418 | nkow know | |
2419 | nkwo know | |
2420 | nmae name | |
2421 | noncombatents noncombatants | |
2422 | nonsence nonsense | |
2423 | nontheless nonetheless | |
2424 | noone no one | |
2425 | norhern northern | |
2426 | northen northern | |
2427 | northereastern northeastern | |
2428 | notabley notably | |
2429 | noteable notable | |
2430 | noteably notably | |
2431 | noteriety notoriety | |
2432 | noth north | |
2433 | nothern northern | |
2434 | noticable noticeable | |
2435 | noticably noticeably | |
2436 | noticeing noticing | |
2437 | noticible noticeable | |
2438 | notwhithstanding notwithstanding | |
2439 | noveau nouveau | |
2440 | nowdays nowadays | |
2441 | nowe now | |
2442 | nto not | |
2443 | nucular nuclear | |
2444 | nuculear nuclear | |
2445 | nuisanse nuisance | |
2446 | Nullabour Nullarbor | |
2447 | numberous numerous | |
2448 | Nuremburg Nuremberg | |
2449 | nusance nuisance | |
2450 | nutritent nutrient | |
2451 | nutritents nutrients | |
2452 | nuturing nurturing | |
2453 | obediance obedience | |
2454 | obediant obedient | |
2455 | obession obsession | |
2456 | obssessed obsessed | |
2457 | obstacal obstacle | |
2458 | obstancles obstacles | |
2459 | obstruced obstructed | |
2460 | ocasion occasion | |
2461 | ocasional occasional | |
2462 | ocasionally occasionally | |
2463 | ocasionaly occasionally | |
2464 | ocasioned occasioned | |
2465 | ocasions occasions | |
2466 | ocassion occasion | |
2467 | ocassional occasional | |
2468 | ocassionally occasionally | |
2469 | ocassionaly occasionally | |
2470 | ocassioned occasioned | |
2471 | ocassions occasions | |
2472 | occaison occasion | |
2473 | occassion occasion | |
2474 | occassional occasional | |
2475 | occassionally occasionally | |
2476 | occassionaly occasionally | |
2477 | occassioned occasioned | |
2478 | occassions occasions | |
2479 | occationally occasionally | |
2480 | occour occur | |
2481 | occurance occurrence | |
2482 | occurances occurrences | |
2483 | occured occurred | |
2484 | occurence occurrence | |
2485 | occurences occurrences | |
2486 | occuring occurring | |
2487 | occurr occur | |
2488 | occurrance occurrence | |
2489 | occurrances occurrences | |
2490 | octohedra octahedra | |
2491 | octohedral octahedral | |
2492 | octohedron octahedron | |
2493 | ocuntries countries | |
2494 | ocuntry country | |
2495 | ocurr occur | |
2496 | ocurrance occurrence | |
2497 | ocurred occurred | |
2498 | ocurrence occurrence | |
2499 | offcers officers | |
2500 | offcially officially | |
2501 | offereings offerings | |
2502 | offical official | |
2503 | officals officials | |
2504 | offically officially | |
2505 | officaly officially | |
2506 | officialy officially | |
2507 | offred offered | |
2508 | oftenly often | |
2509 | oging going, ogling | |
2510 | omision omission | |
2511 | omited omitted | |
2512 | omiting omitting | |
2513 | omlette omelette | |
2514 | ommision omission | |
2515 | ommited omitted | |
2516 | ommiting omitting | |
2517 | ommitted omitted | |
2518 | ommitting omitting | |
2519 | omniverous omnivorous | |
2520 | omniverously omnivorously | |
2521 | omre more | |
2522 | onot note, not | |
2523 | onyl only | |
2524 | openess openness | |
2525 | oponent opponent | |
2526 | oportunity opportunity | |
2527 | opose oppose | |
2528 | oposite opposite | |
2529 | oposition opposition | |
2530 | oppenly openly | |
2531 | oppinion opinion | |
2532 | opponant opponent | |
2533 | oppononent opponent | |
2534 | oppositition opposition | |
2535 | oppossed opposed | |
2536 | opprotunity opportunity | |
2537 | opression oppression | |
2538 | opressive oppressive | |
2539 | opthalmic ophthalmic | |
2540 | opthalmologist ophthalmologist | |
2541 | opthalmology ophthalmology | |
2542 | opthamologist ophthalmologist | |
2543 | optmizations optimizations | |
2544 | optomism optimism | |
2545 | orded ordered | |
2546 | organim organism | |
2547 | organiztion organization | |
2548 | orgin origin, organ | |
2549 | orginal original | |
2550 | orginally originally | |
2551 | orginize organise | |
2552 | oridinarily ordinarily | |
2553 | origanaly originally | |
2554 | originall original, originally | |
2555 | originaly originally | |
2556 | originially originally | |
2557 | originnally originally | |
2558 | origional original | |
2559 | orignally originally | |
2560 | orignially originally | |
2561 | otehr other | |
2562 | ouevre oeuvre | |
2563 | overshaddowed overshadowed | |
2564 | overthere over there | |
2565 | overwelming overwhelming | |
2566 | overwheliming overwhelming | |
2567 | owrk work | |
2568 | owudl would | |
2569 | oxigen oxygen | |
2570 | oximoron oxymoron | |
2571 | paide paid | |
2572 | paitience patience | |
2573 | palce place, palace | |
2574 | paleolitic paleolithic | |
2575 | paliamentarian parliamentarian | |
2576 | Palistian Palestinian | |
2577 | Palistinian Palestinian | |
2578 | Palistinians Palestinians | |
2579 | pallete palette | |
2580 | pamflet pamphlet | |
2581 | pamplet pamphlet | |
2582 | pantomine pantomime | |
2583 | Papanicalou Papanicolaou | |
2584 | paralel parallel | |
2585 | paralell parallel | |
2586 | paralelly parallelly | |
2587 | paralely parallelly | |
2588 | parallely parallelly | |
2589 | paranthesis parenthesis | |
2590 | paraphenalia paraphernalia | |
2591 | parellels parallels | |
2592 | parituclar particular | |
2593 | parliment parliament | |
2594 | parrakeets parakeets | |
2595 | parralel parallel | |
2596 | parrallel parallel | |
2597 | parrallell parallel | |
2598 | parrallelly parallelly | |
2599 | parrallely parallelly | |
2600 | partialy partially | |
2601 | particually particularly | |
2602 | particualr particular | |
2603 | particuarly particularly | |
2604 | particularily particularly | |
2605 | particulary particularly | |
2606 | pary party | |
2607 | pased passed | |
2608 | pasengers passengers | |
2609 | passerbys passersby | |
2610 | pasttime pastime | |
2611 | pastural pastoral | |
2612 | paticular particular | |
2613 | pattented patented | |
2614 | pavillion pavilion | |
2615 | payed paid | |
2616 | peacefuland peaceful and | |
2617 | peageant pageant | |
2618 | peculure peculiar | |
2619 | pedestrain pedestrian | |
2620 | peice piece | |
2621 | Peloponnes Peloponnesus | |
2622 | penatly penalty | |
2623 | penerator penetrator | |
2624 | penisula peninsula | |
2625 | penisular peninsular | |
2626 | penninsula peninsula | |
2627 | penninsular peninsular | |
2628 | pennisula peninsula | |
2629 | pensinula peninsula | |
2630 | peom poem | |
2631 | peoms poems | |
2632 | peopel people | |
2633 | peotry poetry | |
2634 | perade parade | |
2635 | percepted perceived | |
2636 | percieve perceive | |
2637 | percieved perceived | |
2638 | perenially perennially | |
2639 | perfomers performers | |
2640 | performence performance | |
2641 | performes performed, performs | |
2642 | perhasp perhaps | |
2643 | perheaps perhaps | |
2644 | perhpas perhaps | |
2645 | peripathetic peripatetic | |
2646 | peristent persistent | |
2647 | perjery perjury | |
2648 | perjorative pejorative | |
2649 | permanant permanent | |
2650 | permenant permanent | |
2651 | permenantly permanently | |
2652 | permissable permissible | |
2653 | perogative prerogative | |
2654 | peronal personal | |
2655 | perosnality personality | |
2656 | perphas perhaps | |
2657 | perpindicular perpendicular | |
2658 | perseverence perseverance | |
2659 | persistance persistence | |
2660 | persistant persistent | |
2661 | personel personnel, personal | |
2662 | personell personnel | |
2663 | personnell personnel | |
2664 | persuded persuaded | |
2665 | persue pursue | |
2666 | persued pursued | |
2667 | persuing pursuing | |
2668 | persuit pursuit | |
2669 | persuits pursuits | |
2670 | pertubation perturbation | |
2671 | pertubations perturbations | |
2672 | pessiary pessary | |
2673 | petetion petition | |
2674 | Pharoah Pharaoh | |
2675 | phenomenom phenomenon | |
2676 | phenomenonal phenomenal | |
2677 | phenomenonly phenomenally | |
2678 | phenomonenon phenomenon | |
2679 | phenomonon phenomenon | |
2680 | phenonmena phenomena | |
2681 | Philipines Philippines | |
2682 | philisopher philosopher | |
2683 | philisophical philosophical | |
2684 | philisophy philosophy | |
2685 | Phillipine Philippine | |
2686 | Phillipines Philippines | |
2687 | Phillippines Philippines | |
2688 | phillosophically philosophically | |
2689 | philospher philosopher | |
2690 | philosphies philosophies | |
2691 | philosphy philosophy | |
2692 | Phonecian Phoenecian | |
2693 | phongraph phonograph | |
2694 | phylosophical philosophical | |
2695 | physicaly physically | |
2696 | pich pitch | |
2697 | pilgrimmage pilgrimage | |
2698 | pilgrimmages pilgrimages | |
2699 | pinapple pineapple | |
2700 | pinnaple pineapple | |
2701 | pinoneered pioneered | |
2702 | plagarism plagiarism | |
2703 | planation plantation | |
2704 | planed planned | |
2705 | plantiff plaintiff | |
2706 | plateu plateau | |
2707 | plausable plausible | |
2708 | playright playwright | |
2709 | playwrite playwright | |
2710 | playwrites playwrights | |
2711 | pleasent pleasant | |
2712 | plebicite plebiscite | |
2713 | plesant pleasant | |
2714 | poeoples peoples | |
2715 | poety poetry | |
2716 | poisin poison | |
2717 | polical political | |
2718 | polinator pollinator | |
2719 | polinators pollinators | |
2720 | politican politician | |
2721 | politicans politicians | |
2722 | poltical political | |
2723 | polute pollute | |
2724 | poluted polluted | |
2725 | polutes pollutes | |
2726 | poluting polluting | |
2727 | polution pollution | |
2728 | polyphonyic polyphonic | |
2729 | polysaccaride polysaccharide | |
2730 | polysaccharid polysaccharide | |
2731 | pomegranite pomegranate | |
2732 | pomotion promotion | |
2733 | poportional proportional | |
2734 | popoulation population | |
2735 | popularaty popularity | |
2736 | populare popular | |
2737 | populer popular | |
2738 | portayed portrayed | |
2739 | portraing portraying | |
2740 | Portugese Portuguese | |
2741 | portuguease portuguese | |
2742 | posess possess | |
2743 | posessed possessed | |
2744 | posesses possesses | |
2745 | posessing possessing | |
2746 | posession possession | |
2747 | posessions possessions | |
2748 | posion poison | |
2749 | positon position, positron | |
2750 | possable possible | |
2751 | possably possibly | |
2752 | posseses possesses | |
2753 | possesing possessing | |
2754 | possesion possession | |
2755 | possessess possesses | |
2756 | possibile possible | |
2757 | possibilty possibility | |
2758 | possiblility possibility | |
2759 | possiblilty possibility | |
2760 | possiblities possibilities | |
2761 | possiblity possibility | |
2762 | possition position | |
2763 | Postdam Potsdam | |
2764 | posthomous posthumous | |
2765 | postion position | |
2766 | postive positive | |
2767 | potatos potatoes | |
2768 | portait portrait | |
2769 | potrait portrait | |
2770 | potrayed portrayed | |
2771 | poulations populations | |
2772 | poverful powerful | |
2773 | poweful powerful | |
2774 | powerfull powerful | |
2775 | practial practical | |
2776 | practially practically | |
2777 | practicaly practically | |
2778 | practicioner practitioner | |
2779 | practicioners practitioners | |
2780 | practicly practically | |
2781 | practioner practitioner | |
2782 | practioners practitioners | |
2783 | prairy prairie | |
2784 | prarie prairie | |
2785 | praries prairies | |
2786 | pratice practice | |
2787 | preample preamble | |
2788 | precedessor predecessor | |
2789 | preceed precede | |
2790 | preceeded preceded | |
2791 | preceeding preceding | |
2792 | preceeds precedes | |
2793 | precentage percentage | |
2794 | precice precise | |
2795 | precisly precisely | |
2796 | precurser precursor | |
2797 | predecesors predecessors | |
2798 | predicatble predictable | |
2799 | predicitons predictions | |
2800 | predomiantly predominately | |
2801 | prefered preferred | |
2802 | prefering preferring | |
2803 | preferrably preferably | |
2804 | pregancies pregnancies | |
2805 | preiod period | |
2806 | preliferation proliferation | |
2807 | premeire premiere | |
2808 | premeired premiered | |
2809 | premillenial premillennial | |
2810 | preminence preeminence | |
2811 | premission permission | |
2812 | Premonasterians Premonstratensians | |
2813 | preocupation preoccupation | |
2814 | prepair prepare | |
2815 | prepartion preparation | |
2816 | prepatory preparatory | |
2817 | preperation preparation | |
2818 | preperations preparations | |
2819 | preriod period | |
2820 | presedential presidential | |
2821 | presense presence | |
2822 | presidenital presidential | |
2823 | presidental presidential | |
2824 | presitgious prestigious | |
2825 | prespective perspective | |
2826 | prestigeous prestigious | |
2827 | prestigous prestigious | |
2828 | presumabely presumably | |
2829 | presumibly presumably | |
2830 | pretection protection | |
2831 | prevelant prevalent | |
2832 | preverse perverse | |
2833 | previvous previous | |
2834 | pricipal principal | |
2835 | priciple principle | |
2836 | priestood priesthood | |
2837 | primarly primarily | |
2838 | primative primitive | |
2839 | primatively primitively | |
2840 | primatives primitives | |
2841 | primordal primordial | |
2842 | priveledges privileges | |
2843 | privelege privilege | |
2844 | priveleged privileged | |
2845 | priveleges privileges | |
2846 | privelige privilege | |
2847 | priveliged privileged | |
2848 | priveliges privileges | |
2849 | privelleges privileges | |
2850 | privilage privilege | |
2851 | priviledge privilege | |
2852 | priviledges privileges | |
2853 | privledge privilege | |
2854 | privte private | |
2855 | probabilaty probability | |
2856 | probablistic probabilistic | |
2857 | probablly probably | |
2858 | probalibity probability | |
2859 | probaly probably | |
2860 | probelm problem | |
2861 | proccess process | |
2862 | proccessing processing | |
2863 | procede proceed, precede | |
2864 | proceded proceeded, preceded | |
2865 | procedes proceeds, precedes | |
2866 | procedger procedure | |
2867 | proceding proceeding, preceding | |
2868 | procedings proceedings | |
2869 | proceedure procedure | |
2870 | proces process | |
2871 | processer processor | |
2872 | proclaimation proclamation | |
2873 | proclamed proclaimed | |
2874 | proclaming proclaiming | |
2875 | proclomation proclamation | |
2876 | profesion profusion, profession | |
2877 | profesor professor | |
2878 | professer professor | |
2879 | proffesed professed | |
2880 | proffesion profession | |
2881 | proffesional professional | |
2882 | proffesor professor | |
2883 | profilic prolific | |
2884 | progessed progressed | |
2885 | programable programmable | |
2886 | progrom pogrom, program | |
2887 | progroms pogroms, programs | |
2888 | prohabition prohibition | |
2889 | prologomena prolegomena | |
2890 | prominance prominence | |
2891 | prominant prominent | |
2892 | prominantly prominently | |
2893 | prominately prominently, predominately | |
2894 | promiscous promiscuous | |
2895 | promotted promoted | |
2896 | pronomial pronominal | |
2897 | pronouced pronounced | |
2898 | pronounched pronounced | |
2899 | pronounciation pronunciation | |
2900 | proove prove | |
2901 | prooved proved | |
2902 | prophacy prophecy | |
2903 | propietary proprietary | |
2904 | propmted prompted | |
2905 | propoganda propaganda | |
2906 | propogate propagate | |
2907 | propogates propagates | |
2908 | propogation propagation | |
2909 | propostion proposition | |
2910 | propotions proportions | |
2911 | propper proper | |
2912 | propperly properly | |
2913 | proprietory proprietary | |
2914 | proseletyzing proselytizing | |
2915 | protaganist protagonist | |
2916 | protaganists protagonists | |
2917 | protocal protocol | |
2918 | protoganist protagonist | |
2919 | protrayed portrayed | |
2920 | protruberance protuberance | |
2921 | protruberances protuberances | |
2922 | prouncements pronouncements | |
2923 | provacative provocative | |
2924 | provded provided | |
2925 | provicial provincial | |
2926 | provinicial provincial | |
2927 | provisonal provisional | |
2928 | provisiosn provision | |
2929 | proximty proximity | |
2930 | pseudononymous pseudonymous | |
2931 | pseudonyn pseudonym | |
2932 | psuedo pseudo | |
2933 | psycology psychology | |
2934 | psyhic psychic | |
2935 | publicaly publicly | |
2936 | puchasing purchasing | |
2937 | Pucini Puccini | |
2938 | Puertorrican Puerto Rican | |
2939 | Puertorricans Puerto Ricans | |
2940 | pumkin pumpkin | |
2941 | puritannical puritanical | |
2942 | purposedly purposely | |
2943 | purpotedly purportedly | |
2944 | pursuade persuade | |
2945 | pursuaded persuaded | |
2946 | pursuades persuades | |
2947 | pususading persuading | |
2948 | puting putting | |
2949 | pwoer power | |
2950 | pyscic psychic | |
2951 | qtuie quite, quiet | |
2952 | quantaty quantity | |
2953 | quantitiy quantity | |
2954 | quarantaine quarantine | |
2955 | Queenland Queensland | |
2956 | questonable questionable | |
2957 | quicklyu quickly | |
2958 | quinessential quintessential | |
2959 | quitted quit | |
2960 | quizes quizzes | |
2961 | qutie quite, quiet | |
2962 | rabinnical rabbinical | |
2963 | racaus raucous | |
2964 | radiactive radioactive | |
2965 | radify ratify | |
2966 | raelly really | |
2967 | rarified rarefied | |
2968 | reaccurring recurring | |
2969 | reacing reaching | |
2970 | reacll recall | |
2971 | readmition readmission | |
2972 | realitvely relatively | |
2973 | realsitic realistic | |
2974 | realtions relations | |
2975 | realy really | |
2976 | realyl really | |
2977 | reasearch research | |
2978 | rebiulding rebuilding | |
2979 | rebllions rebellions | |
2980 | rebounce rebound | |
2981 | reccomend recommend | |
2982 | reccomendations recommendations | |
2983 | reccomended recommended | |
2984 | reccomending recommending | |
2985 | reccommend recommend | |
2986 | reccommended recommended | |
2987 | reccommending recommending | |
2988 | reccuring recurring | |
2989 | receeded receded | |
2990 | receeding receding | |
2991 | receivedfrom received from | |
2992 | recepient recipient | |
2993 | recepients recipients | |
2994 | receving receiving | |
2995 | rechargable rechargeable | |
2996 | reched reached | |
2997 | recide reside | |
2998 | recided resided | |
2999 | recident resident | |
3000 | recidents residents | |
3001 | reciding residing | |
3002 | reciepents recipients | |
3003 | reciept receipt | |
3004 | recieve receive | |
3005 | recieved received | |
3006 | reciever receiver | |
3007 | recievers receivers | |
3008 | recieves receives | |
3009 | recieving receiving | |
3010 | recipiant recipient | |
3011 | recipiants recipients | |
3012 | recived received | |
3013 | recivership receivership | |
3014 | recogise recognise | |
3015 | recogize recognize | |
3016 | recomend recommend | |
3017 | recomended recommended | |
3018 | recomending recommending | |
3019 | recomends recommends | |
3020 | recommedations recommendations | |
3021 | reconaissance reconnaissance | |
3022 | reconcilation reconciliation | |
3023 | reconized recognized | |
3024 | reconnaissence reconnaissance | |
3025 | recontructed reconstructed | |
3026 | recordproducer record producer | |
3027 | recquired required | |
3028 | recrational recreational | |
3029 | recrod record | |
3030 | recuiting recruiting | |
3031 | recuring recurring | |
3032 | recurrance recurrence | |
3033 | rediculous ridiculous | |
3034 | reedeming redeeming | |
3035 | reenforced reinforced | |
3036 | refect reflect | |
3037 | refedendum referendum | |
3038 | referal referral | |
3039 | refered referred | |
3040 | referiang referring | |
3041 | refering referring | |
3042 | refernces references | |
3043 | referrence reference | |
3044 | referrs refers | |
3045 | reffered referred | |
3046 | refference reference | |
3047 | refrence reference | |
3048 | refrences references | |
3049 | refrers refers | |
3050 | refridgeration refrigeration | |
3051 | refridgerator refrigerator | |
3052 | refromist reformist | |
3053 | refusla refusal | |
3054 | regardes regards | |
3055 | regluar regular | |
3056 | reguarly regularly | |
3057 | regulaion regulation | |
3058 | regulaotrs regulators | |
3059 | regularily regularly | |
3060 | rehersal rehearsal | |
3061 | reicarnation reincarnation | |
3062 | reigining reigning | |
3063 | reknown renown | |
3064 | reknowned renowned | |
3065 | rela real | |
3066 | relaly really | |
3067 | relatiopnship relationship | |
3068 | relativly relatively | |
3069 | relected reelected | |
3070 | releive relieve | |
3071 | releived relieved | |
3072 | releiver reliever | |
3073 | releses releases | |
3074 | relevence relevance | |
3075 | relevent relevant | |
3076 | reliablity reliability | |
3077 | relient reliant | |
3078 | religeous religious | |
3079 | religous religious | |
3080 | religously religiously | |
3081 | relinqushment relinquishment | |
3082 | relitavely relatively | |
3083 | relized realised, realized | |
3084 | relpacement replacement | |
3085 | remaing remaining | |
3086 | remeber remember | |
3087 | rememberable memorable | |
3088 | rememberance remembrance | |
3089 | remembrence remembrance | |
3090 | remenant remnant | |
3091 | remenicent reminiscent | |
3092 | reminent remnant | |
3093 | reminescent reminiscent | |
3094 | reminscent reminiscent | |
3095 | reminsicent reminiscent | |
3096 | rendevous rendezvous | |
3097 | rendezous rendezvous | |
3098 | renedered rende | |
3099 | renewl renewal | |
3100 | rentors renters | |
3101 | reoccurrence recurrence | |
3102 | reorganision reorganisation | |
3103 | repatition repetition, repartition | |
3104 | repentence repentance | |
3105 | repentent repentant | |
3106 | repeteadly repeatedly | |
3107 | repetion repetition | |
3108 | repid rapid | |
3109 | reponse response | |
3110 | reponsible responsible | |
3111 | reportadly reportedly | |
3112 | represantative representative | |
3113 | representive representative | |
3114 | representives representatives | |
3115 | reproducable reproducible | |
3116 | reprtoire repertoire | |
3117 | repsectively respectively | |
3118 | reptition repetition | |
3119 | requirment requirement | |
3120 | requred required | |
3121 | resaurant restaurant | |
3122 | resembelance resemblance | |
3123 | resembes resembles | |
3124 | resemblence resemblance | |
3125 | resevoir reservoir | |
3126 | resignement resignment | |
3127 | resistable resistible | |
3128 | resistence resistance | |
3129 | resistent resistant | |
3130 | respectivly respectively | |
3131 | responce response | |
3132 | responibilities responsibilities | |
3133 | responisble responsible | |
3134 | responnsibilty responsibility | |
3135 | responsability responsibility | |
3136 | responsibile responsible | |
3137 | responsibilites responsibilities | |
3138 | responsiblity responsibility | |
3139 | ressemblance resemblance | |
3140 | ressemble resemble | |
3141 | ressembled resembled | |
3142 | ressemblence resemblance | |
3143 | ressembling resembling | |
3144 | resssurecting resurrecting | |
3145 | ressurect resurrect | |
3146 | ressurected resurrected | |
3147 | ressurection resurrection | |
3148 | ressurrection resurrection | |
3149 | restaraunt restaurant | |
3150 | restaraunteur restaurateur | |
3151 | restaraunteurs restaurateurs | |
3152 | restaraunts restaurants | |
3153 | restauranteurs restaurateurs | |
3154 | restauration restoration | |
3155 | restauraunt restaurant | |
3156 | resteraunt restaurant | |
3157 | resteraunts restaurants | |
3158 | resticted restricted | |
3159 | restraunt restraint, restaurant | |
3160 | resturant restaurant | |
3161 | resturaunt restaurant | |
3162 | resurecting resurrecting | |
3163 | retalitated retaliated | |
3164 | retalitation retaliation | |
3165 | retreive retrieve | |
3166 | returnd returned | |
3167 | revaluated reevaluated | |
3168 | reveral reversal | |
3169 | reversable reversible | |
3170 | revolutionar revolutionary | |
3171 | rewitten rewritten | |
3172 | rewriet rewrite | |
3173 | rhymme rhyme | |
3174 | rhythem rhythm | |
3175 | rhythim rhythm | |
3176 | rhytmic rhythmic | |
3177 | rigeur rigueur, rigour, rigor | |
3178 | rigourous rigorous | |
3179 | rininging ringing | |
3180 | rised rose | |
3181 | Rockerfeller Rockefeller | |
3182 | rococco rococo | |
3183 | rocord record | |
3184 | roomate roommate | |
3185 | rougly roughly | |
3186 | rucuperate recuperate | |
3187 | rudimentatry rudimentary | |
3188 | rulle rule | |
3189 | runing running | |
3190 | runnung running | |
3191 | russina Russian | |
3192 | Russion Russian | |
3193 | rwite write | |
3194 | rythem rhythm | |
3195 | rythim rhythm | |
3196 | rythm rhythm | |
3197 | rythmic rhythmic | |
3198 | rythyms rhythms | |
3199 | sacrafice sacrifice | |
3200 | sacreligious sacrilegious | |
3201 | sacrifical sacrificial | |
3202 | saftey safety | |
3203 | safty safety | |
3204 | salery salary | |
3205 | sanctionning sanctioning | |
3206 | sandwhich sandwich | |
3207 | Sanhedrim Sanhedrin | |
3208 | santioned sanctioned | |
3209 | sargant sergeant | |
3210 | sargeant sergeant | |
3211 | sasy says, sassy | |
3212 | satelite satellite | |
3213 | satelites satellites | |
3214 | Saterday Saturday | |
3215 | Saterdays Saturdays | |
3216 | satisfactority satisfactorily | |
3217 | satric satiric | |
3218 | satrical satirical | |
3219 | satrically satirically | |
3220 | sattelite satellite | |
3221 | sattelites satellites | |
3222 | saught sought | |
3223 | saveing saving | |
3224 | saxaphone saxophone | |
3225 | scaleable scalable | |
3226 | scandanavia Scandinavia | |
3227 | scaricity scarcity | |
3228 | scavanged scavenged | |
3229 | schedual schedule | |
3230 | scholarhip scholarship | |
3231 | scholarstic scholastic, scholarly | |
3232 | scientfic scientific | |
3233 | scientifc scientific | |
3234 | scientis scientist | |
3235 | scince science | |
3236 | scinece science | |
3237 | scirpt script | |
3238 | scoll scroll | |
3239 | screenwrighter screenwriter | |
3240 | scrutinity scrutiny | |
3241 | scuptures sculptures | |
3242 | seach search | |
3243 | seached searched | |
3244 | seaches searches | |
3245 | secceeded seceded, succeeded | |
3246 | seceed succeed, secede | |
3247 | seceeded succeeded, seceded | |
3248 | secratary secretary | |
3249 | secretery secretary | |
3250 | sedereal sidereal | |
3251 | seeked sought | |
3252 | segementation segmentation | |
3253 | seguoys segues | |
3254 | seige siege | |
3255 | seing seeing | |
3256 | seinor senior | |
3257 | seldomly seldom | |
3258 | senarios scenarios | |
3259 | sence sense | |
3260 | senstive sensitive | |
3261 | sensure censure | |
3262 | seperate separate | |
3263 | seperated separated | |
3264 | seperately separately | |
3265 | seperates separates | |
3266 | seperating separating | |
3267 | seperation separation | |
3268 | seperatism separatism | |
3269 | seperatist separatist | |
3270 | sepina subpoena | |
3271 | sepulchure sepulchre, sepulcher | |
3272 | sepulcre sepulchre, sepulcher | |
3273 | sergent sergeant | |
3274 | settelement settlement | |
3275 | settlment settlement | |
3276 | severeal several | |
3277 | severley severely | |
3278 | severly severely | |
3279 | sevice service | |
3280 | shaddow shadow | |
3281 | shamen shaman, shamans | |
3282 | sheat sheath, sheet, cheat | |
3283 | sheild shield | |
3284 | sherif sheriff | |
3285 | shineing shining | |
3286 | shiped shipped | |
3287 | shiping shipping | |
3288 | shopkeeepers shopkeepers | |
3289 | shorly shortly | |
3290 | shortwhile short while | |
3291 | shoudl should | |
3292 | shoudln should, shouldn't | |
3293 | shouldnt shouldn't | |
3294 | shreak shriek | |
3295 | shrinked shrunk | |
3296 | sicne since | |
3297 | sideral sidereal | |
3298 | sieze seize, size | |
3299 | siezed seized, sized | |
3300 | siezing seizing, sizing | |
3301 | siezure seizure | |
3302 | siezures seizures | |
3303 | siginificant significant | |
3304 | signficant significant | |
3305 | signficiant significant | |
3306 | signfies signifies | |
3307 | signifantly significantly | |
3308 | significently significantly | |
3309 | signifigant significant | |
3310 | signifigantly significantly | |
3311 | signitories signatories | |
3312 | signitory signatory | |
3313 | similarily similarly | |
3314 | similiar similar | |
3315 | similiarity similarity | |
3316 | similiarly similarly | |
3317 | simmilar similar | |
3318 | simpley simply | |
3319 | simplier simpler | |
3320 | simultanous simultaneous | |
3321 | simultanously simultaneously | |
3322 | sincerley sincerely | |
3323 | singsog singsong | |
3324 | sinse sines, since | |
3325 | Sionist Zionist | |
3326 | Sionists Zionists | |
3327 | Sixtin Sistine | |
3328 | Skagerak Skagerrak | |
3329 | skateing skating | |
3330 | slaugterhouses slaughterhouses | |
3331 | slowy slowly | |
3332 | smae same | |
3333 | smealting smelting | |
3334 | smoe some | |
3335 | sneeks sneaks | |
3336 | snese sneeze | |
3337 | socalism socialism | |
3338 | socities societies | |
3339 | soem some | |
3340 | sofware software | |
3341 | sohw show | |
3342 | soilders soldiers | |
3343 | solatary solitary | |
3344 | soley solely | |
3345 | soliders soldiers | |
3346 | soliliquy soliloquy | |
3347 | soluable soluble | |
3348 | somene someone | |
3349 | somtimes sometimes | |
3350 | somwhere somewhere | |
3351 | sophicated sophisticated | |
3352 | sorceror sorcerer | |
3353 | sorrounding surrounding | |
3354 | sotry story | |
3355 | sotyr satyr, story | |
3356 | soudn sound | |
3357 | soudns sounds | |
3358 | sould could, should, sold | |
3359 | sountrack soundtrack | |
3360 | sourth south | |
3361 | sourthern southern | |
3362 | souvenier souvenir | |
3363 | souveniers souvenirs | |
3364 | soveits soviets | |
3365 | sovereignity sovereignty | |
3366 | soverign sovereign | |
3367 | soverignity sovereignty | |
3368 | soverignty sovereignty | |
3369 | spainish Spanish | |
3370 | speach speech | |
3371 | specfic specific | |
3372 | speciallized specialised, specialized | |
3373 | specif specific, specify | |
3374 | specifiying specifying | |
3375 | speciman specimen | |
3376 | spectauclar spectacular | |
3377 | spectaulars spectaculars | |
3378 | spects aspects, expects | |
3379 | spectum spectrum | |
3380 | speices species | |
3381 | spendour splendour | |
3382 | spermatozoan spermatozoon | |
3383 | spoace space | |
3384 | sponser sponsor | |
3385 | sponsered sponsored | |
3386 | spontanous spontaneous | |
3387 | sponzored sponsored | |
3388 | spoonfulls spoonfuls | |
3389 | sppeches speeches | |
3390 | spreaded spread | |
3391 | sprech speech | |
3392 | spred spread | |
3393 | spriritual spiritual | |
3394 | spritual spiritual | |
3395 | sqaure square | |
3396 | stablility stability | |
3397 | stainlees stainless | |
3398 | staion station | |
3399 | standars standards | |
3400 | stange strange | |
3401 | startegic strategic | |
3402 | startegies strategies | |
3403 | startegy strategy | |
3404 | stateman statesman | |
3405 | statememts statements | |
3406 | statment statement | |
3407 | steriods steroids | |
3408 | sterotypes stereotypes | |
3409 | stilus stylus | |
3410 | stingent stringent | |
3411 | stiring stirring | |
3412 | stirrs stirs | |
3413 | stlye style | |
3414 | stong strong | |
3415 | stopry story | |
3416 | storeis stories | |
3417 | storise stories | |
3418 | stornegst strongest | |
3419 | stoyr story | |
3420 | stpo stop | |
3421 | stradegies strategies | |
3422 | stradegy strategy | |
3423 | strat start, strata | |
3424 | stratagically strategically | |
3425 | streemlining streamlining | |
3426 | stregth strength | |
3427 | strenghen strengthen | |
3428 | strenghened strengthened | |
3429 | strenghening strengthening | |
3430 | strenght strength | |
3431 | strenghten strengthen | |
3432 | strenghtened strengthened | |
3433 | strenghtening strengthening | |
3434 | strengtened strengthened | |
3435 | strenous strenuous | |
3436 | strictist strictest | |
3437 | strikely strikingly | |
3438 | strnad strand | |
3439 | stroy story, destroy | |
3440 | structual structural | |
3441 | stubborness stubbornness | |
3442 | stucture structure | |
3443 | stuctured structured | |
3444 | studdy study | |
3445 | studing studying | |
3446 | stuggling struggling | |
3447 | sturcture structure | |
3448 | subcatagories subcategories | |
3449 | subcatagory subcategory | |
3450 | subconsiously subconsciously | |
3451 | subjudgation subjugation | |
3452 | submachne submachine | |
3453 | subpecies subspecies | |
3454 | subsidary subsidiary | |
3455 | subsiduary subsidiary | |
3456 | subsquent subsequent | |
3457 | subsquently subsequently | |
3458 | substace substance | |
3459 | substancial substantial | |
3460 | substatial substantial | |
3461 | substituded substituted | |
3462 | substract subtract | |
3463 | substracted subtracted | |
3464 | substracting subtracting | |
3465 | substraction subtraction | |
3466 | substracts subtracts | |
3467 | subtances substances | |
3468 | subterranian subterranean | |
3469 | suburburban suburban | |
3470 | succceeded succeeded | |
3471 | succcesses successes | |
3472 | succedded succeeded | |
3473 | succeded succeeded | |
3474 | succeds succeeds | |
3475 | succesful successful | |
3476 | succesfully successfully | |
3477 | succesfuly successfully | |
3478 | succesion succession | |
3479 | succesive successive | |
3480 | successfull successful | |
3481 | successully successfully | |
3482 | succsess success | |
3483 | succsessfull successful | |
3484 | suceed succeed | |
3485 | suceeded succeeded | |
3486 | suceeding succeeding | |
3487 | suceeds succeeds | |
3488 | sucesful successful | |
3489 | sucesfully successfully | |
3490 | sucesfuly successfully | |
3491 | sucesion succession | |
3492 | sucess success | |
3493 | sucesses successes | |
3494 | sucessful successful | |
3495 | sucessfull successful | |
3496 | sucessfully successfully | |
3497 | sucessfuly successfully | |
3498 | sucession succession | |
3499 | sucessive successive | |
3500 | sucessor successor | |
3501 | sucessot successor | |
3502 | sucide suicide | |
3503 | sucidial suicidal | |
3504 | sufferage suffrage | |
3505 | sufferred suffered | |
3506 | sufferring suffering | |
3507 | sufficent sufficient | |
3508 | sufficently sufficiently | |
3509 | sumary summary | |
3510 | sunglases sunglasses | |
3511 | suop soup | |
3512 | superceeded superseded | |
3513 | superintendant superintendent | |
3514 | suphisticated sophisticated | |
3515 | suplimented supplemented | |
3516 | supose suppose | |
3517 | suposed supposed | |
3518 | suposedly supposedly | |
3519 | suposes supposes | |
3520 | suposing supposing | |
3521 | supplamented supplemented | |
3522 | suppliementing supplementing | |
3523 | suppoed supposed | |
3524 | supposingly supposedly | |
3525 | suppy supply | |
3526 | supress suppress | |
3527 | supressed suppressed | |
3528 | supresses suppresses | |
3529 | supressing suppressing | |
3530 | suprise surprise | |
3531 | suprised surprised | |
3532 | suprising surprising | |
3533 | suprisingly surprisingly | |
3534 | suprize surprise | |
3535 | suprized surprised | |
3536 | suprizing surprising | |
3537 | suprizingly surprisingly | |
3538 | surfce surface | |
3539 | surley surly, surely | |
3540 | suround surround | |
3541 | surounded surrounded | |
3542 | surounding surrounding | |
3543 | suroundings surroundings | |
3544 | surounds surrounds | |
3545 | surplanted supplanted | |
3546 | surpress suppress | |
3547 | surpressed suppressed | |
3548 | surprize surprise | |
3549 | surprized surprised | |
3550 | surprizing surprising | |
3551 | surprizingly surprisingly | |
3552 | surrended surrounded, surrendered | |
3553 | surrepetitious surreptitious | |
3554 | surrepetitiously surreptitiously | |
3555 | surreptious surreptitious | |
3556 | surreptiously surreptitiously | |
3557 | surronded surrounded | |
3558 | surrouded surrounded | |
3559 | surrouding surrounding | |
3560 | surrundering surrendering | |
3561 | surveilence surveillance | |
3562 | surveill surveil | |
3563 | surveyer surveyor | |
3564 | surviver survivor | |
3565 | survivers survivors | |
3566 | survivied survived | |
3567 | suseptable susceptible | |
3568 | suseptible susceptible | |
3569 | suspention suspension | |
3570 | swaer swear | |
3571 | swaers swears | |
3572 | swepth swept | |
3573 | swiming swimming | |
3574 | syas says | |
3575 | symetrical symmetrical | |
3576 | symetrically symmetrically | |
3577 | symetry symmetry | |
3578 | symettric symmetric | |
3579 | symmetral symmetric | |
3580 | symmetricaly symmetrically | |
3581 | synagouge synagogue | |
3582 | syncronization synchronization | |
3583 | synonomous synonymous | |
3584 | synonymns synonyms | |
3585 | synphony symphony | |
3586 | syphyllis syphilis | |
3587 | sypmtoms symptoms | |
3588 | syrap syrup | |
3589 | sysmatically systematically | |
3590 | sytem system | |
3591 | sytle style | |
3592 | tabacco tobacco | |
3593 | tahn than | |
3594 | taht that | |
3595 | talekd talked | |
3596 | targetted targeted | |
3597 | targetting targeting | |
3598 | tast taste | |
3599 | tath that | |
3600 | tattooes tattoos | |
3601 | taxanomic taxonomic | |
3602 | taxanomy taxonomy | |
3603 | teached taught | |
3604 | techician technician | |
3605 | techicians technicians | |
3606 | techiniques techniques | |
3607 | technitian technician | |
3608 | technnology technology | |
3609 | technolgy technology | |
3610 | teh the | |
3611 | tehy they | |
3612 | telelevision television | |
3613 | televsion television | |
3614 | telphony telephony | |
3615 | temerature temperature | |
3616 | temparate temperate | |
3617 | temperarily temporarily | |
3618 | temperment temperament | |
3619 | tempertaure temperature | |
3620 | temperture temperature | |
3621 | temprary temporary | |
3622 | tenacle tentacle | |
3623 | tenacles tentacles | |
3624 | tendacy tendency | |
3625 | tendancies tendencies | |
3626 | tendancy tendency | |
3627 | tennisplayer tennis player | |
3628 | tepmorarily temporarily | |
3629 | terrestial terrestrial | |
3630 | terriories territories | |
3631 | terriory territory | |
3632 | territorist terrorist | |
3633 | territoy territory | |
3634 | terroist terrorist | |
3635 | testiclular testicular | |
3636 | tghe the | |
3637 | thast that, that's | |
3638 | theather theater, theatre | |
3639 | theese these | |
3640 | theif thief | |
3641 | theives thieves | |
3642 | themselfs themselves | |
3643 | themslves themselves | |
3644 | ther there, their, the | |
3645 | therafter thereafter | |
3646 | therby thereby | |
3647 | theri their | |
3648 | thgat that | |
3649 | thge the | |
3650 | thier their | |
3651 | thign thing | |
3652 | thigns things | |
3653 | thigsn things | |
3654 | thikn think | |
3655 | thikning thinking, thickening | |
3656 | thikns thinks | |
3657 | thiunk think | |
3658 | thn then | |
3659 | thna than | |
3660 | thne then | |
3661 | thnig thing | |
3662 | thnigs things | |
3663 | thoughout throughout | |
3664 | threatend threatened | |
3665 | threatning threatening | |
3666 | threee three | |
3667 | threshhold threshold | |
3668 | thrid third | |
3669 | throrough thorough | |
3670 | throughly thoroughly | |
3671 | throught thought, through, throughout | |
3672 | througout throughout | |
3673 | thru through | |
3674 | thsi this | |
3675 | thsoe those | |
3676 | thta that | |
3677 | thyat that | |
3678 | tiem time, Tim | |
3679 | tihkn think | |
3680 | tihs this | |
3681 | timne time | |
3682 | tiome time, tome | |
3683 | tje the | |
3684 | tjhe the | |
3685 | tjpanishad upanishad | |
3686 | tkae take | |
3687 | tkaes takes | |
3688 | tkaing taking | |
3689 | tlaking talking | |
3690 | tobbaco tobacco | |
3691 | todays today's | |
3692 | todya today | |
3693 | toghether together | |
3694 | tolerence tolerance | |
3695 | Tolkein Tolkien | |
3696 | tomatos tomatoes | |
3697 | tommorow tomorrow | |
3698 | tommorrow tomorrow | |
3699 | tongiht tonight | |
3700 | toriodal toroidal | |
3701 | tormenters tormentors | |
3702 | torpeados torpedoes | |
3703 | torpedos torpedoes | |
3704 | tothe to the | |
3705 | toubles troubles | |
3706 | tounge tongue | |
3707 | tourch torch, touch | |
3708 | towords towards | |
3709 | towrad toward | |
3710 | tradionally traditionally | |
3711 | traditionaly traditionally | |
3712 | traditionnal traditional | |
3713 | traditition tradition | |
3714 | tradtionally traditionally | |
3715 | trafficed trafficked | |
3716 | trafficing trafficking | |
3717 | trafic traffic | |
3718 | trancendent transcendent | |
3719 | trancending transcending | |
3720 | tranform transform | |
3721 | tranformed transformed | |
3722 | transcendance transcendence | |
3723 | transcendant transcendent | |
3724 | transcendentational transcendental | |
3725 | transcripting transcribing, transcription | |
3726 | transending transcending | |
3727 | transesxuals transsexuals | |
3728 | transfered transferred | |
3729 | transfering transferring | |
3730 | transformaton transformation | |
3731 | transistion transition | |
3732 | translater translator | |
3733 | translaters translators | |
3734 | transmissable transmissible | |
3735 | transporation transportation | |
3736 | tremelo tremolo | |
3737 | tremelos tremolos | |
3738 | triguered triggered | |
3739 | triology trilogy | |
3740 | troling trolling | |
3741 | troup troupe | |
3742 | troups troupes, troops | |
3743 | truely truly | |
3744 | trustworthyness trustworthiness | |
3745 | turnk turnkey, trunk | |
3746 | Tuscon Tucson | |
3747 | tust trust | |
3748 | twelth twelfth | |
3749 | twon town | |
3750 | twpo two | |
3751 | tyhat that | |
3752 | tyhe they | |
3753 | typcial typical | |
3754 | typicaly typically | |
3755 | tyranies tyrannies | |
3756 | tyrany tyranny | |
3757 | tyrranies tyrannies | |
3758 | tyrrany tyranny | |
3759 | ubiquitious ubiquitous | |
3760 | uise use | |
3761 | Ukranian Ukrainian | |
3762 | ultimely ultimately | |
3763 | unacompanied unaccompanied | |
3764 | unahppy unhappy | |
3765 | unanymous unanimous | |
3766 | unathorised unauthorised | |
3767 | unavailible unavailable | |
3768 | unballance unbalance | |
3769 | unbeleivable unbelievable | |
3770 | uncertainity uncertainty | |
3771 | unchallengable unchallengeable | |
3772 | unchangable unchangeable | |
3773 | uncompetive uncompetitive | |
3774 | unconcious unconscious | |
3775 | unconciousness unconsciousness | |
3776 | unconfortability discomfort | |
3777 | uncontitutional unconstitutional | |
3778 | unconvential unconventional | |
3779 | undecideable undecidable | |
3780 | understoon understood | |
3781 | undesireable undesirable | |
3782 | undetecable undetectable | |
3783 | undoubtely undoubtedly | |
3784 | undreground underground | |
3785 | uneccesary unnecessary | |
3786 | unecessary unnecessary | |
3787 | unequalities inequalities | |
3788 | unforetunately unfortunately | |
3789 | unforgetable unforgettable | |
3790 | unforgiveable unforgivable | |
3791 | unfortunatley unfortunately | |
3792 | unfortunatly unfortunately | |
3793 | unfourtunately unfortunately | |
3794 | unihabited uninhabited | |
3795 | unilateraly unilaterally | |
3796 | unilatreal unilateral | |
3797 | unilatreally unilaterally | |
3798 | uninterruped uninterrupted | |
3799 | uninterupted uninterrupted | |
3800 | UnitesStates UnitedStates | |
3801 | univeral universal | |
3802 | univeristies universities | |
3803 | univeristy university | |
3804 | universtiy university | |
3805 | univesities universities | |
3806 | univesity university | |
3807 | unkown unknown | |
3808 | unlikey unlikely | |
3809 | unmanouverable unmaneuverable, unmanoeuvrable | |
3810 | unmistakeably unmistakably | |
3811 | unneccesarily unnecessarily | |
3812 | unneccesary unnecessary | |
3813 | unneccessarily unnecessarily | |
3814 | unneccessary unnecessary | |
3815 | unnecesarily unnecessarily | |
3816 | unnecesary unnecessary | |
3817 | unoffical unofficial | |
3818 | unoperational nonoperational | |
3819 | unoticeable unnoticeable | |
3820 | unplease displease | |
3821 | unplesant unpleasant | |
3822 | unprecendented unprecedented | |
3823 | unprecidented unprecedented | |
3824 | unrepentent unrepentant | |
3825 | unrepetant unrepentant | |
3826 | unrepetent unrepentant | |
3827 | unsed used, unused, unsaid | |
3828 | unsubstanciated unsubstantiated | |
3829 | unsuccesful unsuccessful | |
3830 | unsuccesfully unsuccessfully | |
3831 | unsuccessfull unsuccessful | |
3832 | unsucesful unsuccessful | |
3833 | unsucesfuly unsuccessfully | |
3834 | unsucessful unsuccessful | |
3835 | unsucessfull unsuccessful | |
3836 | unsucessfully unsuccessfully | |
3837 | unsuprised unsurprised | |
3838 | unsuprising unsurprising | |
3839 | unsuprisingly unsurprisingly | |
3840 | unsuprized unsurprised | |
3841 | unsuprizing unsurprising | |
3842 | unsuprizingly unsurprisingly | |
3843 | unsurprized unsurprised | |
3844 | unsurprizing unsurprising | |
3845 | unsurprizingly unsurprisingly | |
3846 | untill until | |
3847 | untranslateable untranslatable | |
3848 | unuseable unusable | |
3849 | unusuable unusable | |
3850 | unviersity university | |
3851 | unwarrented unwarranted | |
3852 | unweildly unwieldy | |
3853 | unwieldly unwieldy | |
3854 | upcomming upcoming | |
3855 | upgradded upgraded | |
3856 | usally usually | |
3857 | useage usage | |
3858 | usefull useful | |
3859 | usefuly usefully | |
3860 | useing using | |
3861 | usualy usually | |
3862 | ususally usually | |
3863 | vaccum vacuum | |
3864 | vaccume vacuum | |
3865 | vacinity vicinity | |
3866 | vaguaries vagaries | |
3867 | vaieties varieties | |
3868 | vailidty validity | |
3869 | valetta valletta | |
3870 | valuble valuable | |
3871 | valueable valuable | |
3872 | varations variations | |
3873 | varient variant | |
3874 | variey variety | |
3875 | varing varying | |
3876 | varities varieties | |
3877 | varity variety | |
3878 | vasall vassal | |
3879 | vasalls vassals | |
3880 | vegatarian vegetarian | |
3881 | vegitable vegetable | |
3882 | vegitables vegetables | |
3883 | vegtable vegetable | |
3884 | vehicule vehicle | |
3885 | vell well | |
3886 | venemous venomous | |
3887 | vengance vengeance | |
3888 | vengence vengeance | |
3889 | verfication verification | |
3890 | verison version | |
3891 | verisons versions | |
3892 | vermillion vermilion | |
3893 | versitilaty versatility | |
3894 | versitlity versatility | |
3895 | vetween between | |
3896 | veyr very | |
3897 | vigeur vigueur, vigour, vigor | |
3898 | vigilence vigilance | |
3899 | vigourous vigorous | |
3900 | villian villain | |
3901 | villification vilification | |
3902 | villify vilify | |
3903 | villin villi, villain, villein | |
3904 | vincinity vicinity | |
3905 | violentce violence | |
3906 | virutal virtual | |
3907 | virtualy virtually | |
3908 | virutally virtually | |
3909 | visable visible | |
3910 | visably visibly | |
3911 | visting visiting | |
3912 | vistors visitors | |
3913 | vitories victories | |
3914 | volcanoe volcano | |
3915 | voleyball volleyball | |
3916 | volontary voluntary | |
3917 | volonteer volunteer | |
3918 | volonteered volunteered | |
3919 | volonteering volunteering | |
3920 | volonteers volunteers | |
3921 | volounteer volunteer | |
3922 | volounteered volunteered | |
3923 | volounteering volunteering | |
3924 | volounteers volunteers | |
3925 | vreity variety | |
3926 | vrey very | |
3927 | vriety variety | |
3928 | vulnerablility vulnerability | |
3929 | vyer very | |
3930 | vyre very | |
3931 | waht what | |
3932 | wanna want to | |
3933 | warantee warranty | |
3934 | wardobe wardrobe | |
3935 | warrent warrant | |
3936 | warrriors warriors | |
3937 | wasnt wasn't | |
3938 | wass was | |
3939 | watn want | |
3940 | wayword wayward | |
3941 | weaponary weaponry | |
3942 | weas was | |
3943 | wehn when | |
3944 | weild wield, wild | |
3945 | weilded wielded | |
3946 | wendsay Wednesday | |
3947 | wensday Wednesday | |
3948 | wereabouts whereabouts | |
3949 | whant want | |
3950 | whants wants | |
3951 | whcih which | |
3952 | wheras whereas | |
3953 | wherease whereas | |
3954 | whereever wherever | |
3955 | whic which | |
3956 | whihc which | |
3957 | whith with | |
3958 | whlch which | |
3959 | whn when | |
3960 | wholey wholly | |
3961 | wholy wholly, holy | |
3962 | whta what | |
3963 | whther whether | |
3964 | wich which, witch | |
3965 | widesread widespread | |
3966 | wief wife | |
3967 | wierd weird | |
3968 | wiew view | |
3969 | wih with | |
3970 | wiht with | |
3971 | wille will | |
3972 | willingless willingness | |
3973 | wirting writing | |
3974 | withdrawl withdrawal, withdraw | |
3975 | witheld withheld | |
3976 | withing within | |
3977 | withold withhold | |
3978 | witht with | |
3979 | witn with | |
3980 | wiull will | |
3981 | wnat want | |
3982 | wnated wanted | |
3983 | wnats wants | |
3984 | wohle whole | |
3985 | wokr work | |
3986 | wokring working | |
3987 | wonderfull wonderful | |
3988 | workststion workstation | |
3989 | worls world | |
3990 | wordlwide worldwide | |
3991 | worshipper worshiper | |
3992 | worshipping worshiping | |
3993 | worstened worsened | |
3994 | woudl would | |
3995 | wresters wrestlers | |
3996 | wriet write | |
3997 | writen written | |
3998 | wroet wrote | |
3999 | wrok work | |
4000 | wroking working | |
4001 | ws was | |
4002 | wtih with | |
4003 | wupport support | |
4004 | xenophoby xenophobia | |
4005 | yaching yachting | |
4006 | yatch yacht | |
4007 | yeasr years | |
4008 | yeild yield | |
4009 | yeilding yielding | |
4010 | Yementite Yemenite, Yemeni | |
4011 | yearm year | |
4012 | yera year | |
4013 | yeras years | |
4014 | yersa years | |
4015 | youseff yousef | |
4016 | youself yourself | |
4017 | ytou you | |
4018 | yuo you | |
4019 | joo you | |
4020 | zeebra zebra | |
4021 | ||
4022 | [[Category:Wikipedia tools]] |
0 | source of text data: Wikipedia | |
1 | http://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines | |
2 | ||
3 | For testing Hunspell you need the extended en_US dictionary with phonetic table: | |
4 | http://hunspell.sourceforge.net/en_US.zip | |
5 | ||
6 | test: | |
7 | make -f Makefile.orig | |
8 | ||
9 | test only with Hunspell: | |
10 | ||
11 | make -f Makefile.orig single | |
12 | ||
13 | test with different input file and dictionaries: | |
14 | ||
15 | INPUT=dutchlist.txt HUNSPELL=nl_NL ASPELL=nl make -f Makefile.orig |
0 | #!/bin/bash | |
1 | # Check common misspellings | |
2 | # input file format: | |
3 | # word->word1, ... | |
4 | # Source: http://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines | |
5 | ||
6 | hunspell=../../src/tools/hunspell | |
7 | hlang=${HUNSPELL:-en_US} | |
8 | alang=${ASPELL:-en_US} | |
9 | input=${INPUT:-List_of_common_misspellings.txt} | |
10 | ||
11 | # remove bad words recognised by Hunspell as good | |
12 | cat $input | sed 's/[-]>/ /' | $hunspell -d $hlang -1 -L | | |
13 | ||
14 | # remove items with dash for Aspell | |
15 | grep '^[^-]* ' | | |
16 | ||
17 | # remove spaces from end of lines | |
18 | sed 's/ *$//' >$input.1 | |
19 | ||
20 | # remove bad words recognised by Aspell as good | |
21 | cut -f 1 -d ' ' $input.1 | aspell -l $alang --list | | |
22 | awk 'FILENAME=="-"{a[$1]=1;next}a[$1]{print$0}' - $input.1 | | |
23 | ||
24 | # change commas with tabs | |
25 | sed 's/, */ /g' >$input.2 | |
26 | ||
27 | # remove lines with unrecognised suggestions (except suggestion with spaces) | |
28 | cut -d ' ' -f 2- $input.2 | tr "\t" "\n" | grep -v ' ' >x.1 | |
29 | cat x.1 | $hunspell -l -d $hlang >x.2 | |
30 | cat x.1 | aspell -l $alang --list >>x.2 | |
31 | cat x.2 | awk 'BEGIN{FS="\t"} | |
32 | FILENAME=="-"{a[$1]=1;next}a[$2]!=1 && a[$3]!=1{print $0}' - $input.2 >$input.3 | |
33 | ||
34 | cut -f 1 -d ' ' $input.3 | aspell -l $alang -a | grep -v ^$ | sed -n '2,$p' | | |
35 | sed 's/^.*: //;s/, / /g' >$input.4 | |
36 | ||
37 | cat $input.3 | $hunspell -d $hlang -a -1 | grep -v ^$ | sed -n '2,$p' | | |
38 | sed 's/^.*: //;s/, / /g' >$input.5 | |
39 |
0 | #!/bin/bash | |
1 | # Check common misspellings | |
2 | # input file format: | |
3 | # word->word1, ... | |
4 | # Source: http://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines | |
5 | ||
6 | hunspell=../../src/tools/hunspell | |
7 | hlang=${HUNSPELL:-en_US} | |
8 | input=${INPUT:-List_of_common_misspellings.txt} | |
9 | ||
10 | # remove bad words recognised by Hunspell as good | |
11 | cat $input | sed 's/[-]>/ /' | $hunspell -d $hlang -1 -L | | |
12 | ||
13 | # remove spaces from end of lines | |
14 | sed 's/ *$//' >$input.1 | |
15 | ||
16 | # change commas with tabs | |
17 | cat $input.1 | sed 's/, */ /g' >$input.2 | |
18 | ||
19 | # remove lines with unrecognised suggestions (except suggestion with spaces) | |
20 | cut -d ' ' -f 2- $input.2 | tr "\t" "\n" | grep -v ' ' >x.1 | |
21 | cat x.1 | $hunspell -l -d $hlang >x.2 | |
22 | cat x.2 | awk 'BEGIN{FS="\t"} | |
23 | FILENAME=="-"{a[$1]=1;next}a[$2]!=1 && a[$3]!=1{print $0}' - $input.2 >$input.3 | |
24 | ||
25 | test -f $input.4 && rm $input.4 | |
26 | ||
27 | cat $input.3 | $hunspell -d $hlang -a -1 | grep -v ^$ | sed -n '2,$p' | | |
28 | sed 's/^.*: //;s/, / /g' >$input.5 | |
29 |
0 | #!/bin/bash | |
1 | # Check common misspellings | |
2 | # input file format: | |
3 | # word->word1, ... | |
4 | # Source: http://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines | |
5 | ||
6 | input=${INPUT:-List_of_common_misspellings.txt} | |
7 | ||
8 | function check() { | |
9 | cat $1 | awk 'BEGIN{maxord=0;FS="\t"}FILENAME=="-"{for (i=1; i<=NF; i++){a[NR,$(i)]=i};max=NR;next}{x1=a[NR-max,$2];x2=a[NR-max,$3];sug++;if($3)sug++;if (!x1&&!x2){mis2++;misrow=misrow"\n"$0};if(!x1||($3 && !x2))mis++;ord+=x1+x2;}END{ | |
10 | print "Missed rows", misrow; | |
11 | print "=======================================" | |
12 | print maxord, "max. suggestion for a word"; | |
13 | print max, "input rows"; | |
14 | print mis2, "missing rows"; | |
15 | print sug, "expected suggestions"; | |
16 | print mis, "missing suggestions"; | |
17 | print ord/(sug-mis), "average ranking"; | |
18 | }' - $2 | |
19 | } | |
20 | ||
21 | test -f $input.4 && check $input.4 $input.3 >result.aspell | |
22 | check $input.5 $input.3 >result.hunspell | |
23 | test -f result.aspell && tail -6 result.aspell | |
24 | tail -6 result.hunspell |
0 | /* Copyright 2018-2022 Dimitrij Mijoski, Sander van Geloven | |
0 | /* Copyright 2016-2022 Dimitrij Mijoski | |
1 | 1 | * |
2 | 2 | * This file is part of Nuspell. |
3 | 3 | * |
20 | 20 | #include <nuspell/finder.hxx> |
21 | 21 | |
22 | 22 | #include <chrono> |
23 | #include <clocale> | |
23 | 24 | #include <fstream> |
24 | #include <iomanip> | |
25 | 25 | #include <iostream> |
26 | 26 | #include <unicode/ucnv.h> |
27 | 27 | |
28 | #if defined(__MINGW32__) || defined(__unix__) || defined(__unix) || \ | |
29 | (defined(__APPLE__) && defined(__MACH__)) || defined(__HAIKU__) | |
30 | 28 | #include <getopt.h> |
31 | #include <unistd.h> | |
29 | ||
30 | #if __has_include(<unistd.h>) | |
31 | #include <unistd.h> // defines _POSIX_VERSION | |
32 | 32 | #endif |
33 | 33 | #ifdef _POSIX_VERSION |
34 | 34 | #include <langinfo.h> |
35 | 35 | #include <sys/resource.h> |
36 | 36 | #include <sys/time.h> |
37 | 37 | #endif |
38 | #ifdef _WIN32 | |
39 | #include <io.h> | |
40 | #ifndef NOMINMAX | |
41 | #define NOMINMAX | |
42 | #endif | |
43 | #define WIN32_LEAN_AND_MEAN | |
44 | #include <windows.h> | |
45 | ||
46 | #include <psapi.h> | |
47 | #endif | |
38 | 48 | |
39 | 49 | // manually define if not supplied by the build system |
40 | 50 | #ifndef PROJECT_VERSION |
41 | 51 | #define PROJECT_VERSION "unknown.version" |
42 | 52 | #endif |
43 | #define PACKAGE_STRING "nuspell " PROJECT_VERSION | |
44 | 53 | |
45 | 54 | using namespace std; |
46 | using namespace nuspell; | |
47 | ||
48 | enum Mode { | |
49 | DEFAULT_MODE /**< verification test */, | |
50 | HELP_MODE /**< printing help information */, | |
51 | VERSION_MODE /**< printing version information */, | |
52 | ERROR_MODE /**< where the arguments used caused an error */ | |
53 | }; | |
54 | ||
55 | struct Args_t { | |
56 | Mode mode = DEFAULT_MODE; | |
57 | string program_name = "verify"; | |
58 | string dictionary; | |
59 | string encoding; | |
60 | vector<string> other_dicts; | |
61 | vector<string> files; | |
62 | bool print_false = false; | |
63 | bool sugs = false; | |
64 | ||
65 | Args_t() = default; | |
66 | Args_t(int argc, char* argv[]) { parse_args(argc, argv); } | |
67 | auto parse_args(int argc, char* argv[]) -> void; | |
68 | }; | |
69 | ||
70 | auto Args_t::parse_args(int argc, char* argv[]) -> void | |
55 | using nuspell::Dictionary, nuspell::Dictionary_Loading_Error, | |
56 | nuspell::Dict_Finder_For_CLI_Tool_2; | |
57 | namespace { | |
58 | enum Mode { NORMAL, HELP, VERSION }; | |
59 | auto print_help(const char* program_name) -> void | |
71 | 60 | { |
72 | if (argc != 0 && argv[0] && argv[0][0] != '\0') | |
73 | program_name = argv[0]; | |
74 | // See POSIX Utility argument syntax | |
75 | // http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html | |
76 | #if defined(_POSIX_VERSION) || defined(__MINGW32__) | |
77 | int c; | |
78 | // The program can run in various modes depending on the | |
79 | // command line options. mode is FSM state, this while loop is FSM. | |
80 | const char* shortopts = ":d:i:fshv"; | |
81 | const struct option longopts[] = { | |
82 | {"version", 0, nullptr, 'v'}, | |
83 | {"help", 0, nullptr, 'h'}, | |
84 | {nullptr, 0, nullptr, 0}, | |
85 | }; | |
86 | while ((c = getopt_long(argc, argv, shortopts, longopts, nullptr)) != | |
87 | -1) { | |
88 | switch (c) { | |
89 | case 'd': | |
90 | if (dictionary.empty()) | |
91 | dictionary = optarg; | |
92 | else | |
93 | cerr << "WARNING: Detected not yet supported " | |
94 | "other dictionary " | |
95 | << optarg << '\n'; | |
96 | other_dicts.emplace_back(optarg); | |
97 | ||
98 | break; | |
99 | case 'i': | |
100 | encoding = optarg; | |
101 | ||
102 | break; | |
103 | case 'f': | |
104 | print_false = true; | |
105 | ||
106 | break; | |
107 | case 's': | |
108 | sugs = true; | |
109 | break; | |
110 | case 'h': | |
111 | if (mode == DEFAULT_MODE) | |
112 | mode = HELP_MODE; | |
113 | else | |
114 | mode = ERROR_MODE; | |
115 | ||
116 | break; | |
117 | case 'v': | |
118 | if (mode == DEFAULT_MODE) | |
119 | mode = VERSION_MODE; | |
120 | else | |
121 | mode = ERROR_MODE; | |
122 | ||
123 | break; | |
124 | case ':': | |
125 | cerr << "Option -" << static_cast<char>(optopt) | |
126 | << " requires an operand\n"; | |
127 | mode = ERROR_MODE; | |
128 | ||
129 | break; | |
130 | case '?': | |
131 | cerr << "Unrecognized option: '-" | |
132 | << static_cast<char>(optopt) << "'\n"; | |
133 | mode = ERROR_MODE; | |
134 | ||
135 | break; | |
136 | } | |
137 | } | |
138 | files.insert(files.end(), argv + optind, argv + argc); | |
139 | #endif | |
140 | } | |
141 | ||
142 | /** | |
143 | * @brief Prints help information to standard output. | |
144 | * | |
145 | * @param program_name pass argv[0] here. | |
146 | */ | |
147 | auto print_help(const string& program_name) -> void | |
148 | { | |
149 | auto& p = program_name; | |
61 | auto p = string_view(program_name); | |
150 | 62 | auto& o = cout; |
151 | 63 | o << "Usage:\n" |
152 | "\n"; | |
153 | o << p << " [-d dict_NAME] [-i enc] [-f] [-s] [file_name]...\n"; | |
154 | o << p << " -h|--help|-v|--version\n"; | |
155 | o << "\n" | |
156 | "Verification testing of Nuspell for each FILE.\n" | |
157 | "Without FILE, check standard input.\n" | |
158 | "\n" | |
159 | " -d di_CT use di_CT dictionary. Only one dictionary is\n" | |
160 | " currently supported\n" | |
161 | " -i enc input encoding, default is active locale\n" | |
162 | " -f print false negative and false positive words\n" | |
163 | " -s also test suggestions (usable only in debugger)\n" | |
164 | " -h, --help print this help and exit\n" | |
165 | " -v, --version print version number and exit\n" | |
166 | "\n"; | |
167 | o << "Example: " << p << " -d en_US /usr/share/dict/american-english\n"; | |
168 | o << "\n" | |
169 | "The input should contain one word per line. Each word is\n" | |
170 | "checked in Nuspell and Hunspell and the results are compared.\n" | |
171 | "After all words are processed, some statistics are printed like\n" | |
172 | "correctness and speed of Nuspell compared to Hunspell.\n" | |
173 | "\n" | |
174 | "Please note, messages containing:\n" | |
175 | " This UTF-8 encoding can't convert to UTF-16:" | |
176 | "are caused by Hunspell and can be ignored.\n"; | |
64 | << p << " [-d dict_NAME] [OPTION]... [FILE...]\n" | |
65 | << p << " --help|--version\n" | |
66 | << R"( | |
67 | Check spelling of each FILE, and measure speed and correctness in regard to | |
68 | other spellchecking libraries. If no FILE is specified, check standard input. | |
69 | The input text should be a simple wordlist with one word per line. | |
70 | ||
71 | -d, --dictionary=di_CT use di_CT dictionary (only one is supported) | |
72 | -m, --print-mismatches print mismatches (false positives and negatives) | |
73 | -s, --test-suggestions call suggest function (useful only for debugging) | |
74 | -w, --wikipedia-list input is Wikipedia's list of common misspellings | |
75 | --encoding=enc set both input and output encoding | |
76 | --input-encoding=enc input encoding, default is active locale | |
77 | --output-encoding=enc (UNUSED, always UTF-8) output encoding, default is | |
78 | active locale | |
79 | --help print this help | |
80 | --version print version number | |
81 | ||
82 | The following environment variables can have effect: | |
83 | ||
84 | DICTIONARY - same as -d, | |
85 | DICPATH - additional directory path to search for dictionaries. | |
86 | ||
87 | Example: | |
88 | )" | |
89 | << " " << p << " -d en_US file.txt\n" | |
90 | << " " << p << " -d ../../subdir/di_CT.aff\n"; | |
177 | 91 | } |
178 | 92 | |
179 | /** | |
180 | * @brief Prints the version number to standard output. | |
181 | */ | |
182 | auto print_version() -> void | |
183 | { | |
184 | cout << PACKAGE_STRING | |
185 | "\n" | |
186 | "Copyright (C) 2018-2022 Dimitrij Mijoski and Sander van Geloven\n" | |
187 | "License LGPLv3+: GNU LGPL version 3 or later " | |
188 | "<http://gnu.org/licenses/lgpl.html>.\n" | |
189 | "This is free software: you are free to change and " | |
190 | "redistribute it.\n" | |
191 | "There is NO WARRANTY, to the extent permitted by law.\n" | |
192 | "\n" | |
193 | "Written by Dimitrij Mijoski and Sander van Geloven.\n"; | |
194 | } | |
93 | auto ver_str = "nuspell " PROJECT_VERSION R"( | |
94 | Copyright (C) 2016-2022 Dimitrij Mijoski | |
95 | License LGPLv3+: GNU LGPL version 3 or later <http://gnu.org/licenses/lgpl.html>. | |
96 | This is free software: you are free to change and redistribute it. | |
97 | There is NO WARRANTY, to the extent permitted by law. | |
98 | ||
99 | Written by Dimitrij Mijoski. | |
100 | )"; | |
101 | ||
102 | auto print_version() -> void { cout << ver_str; } | |
195 | 103 | |
196 | 104 | auto get_peak_ram_usage() -> long |
197 | 105 | { |
198 | 106 | #ifdef _POSIX_VERSION |
199 | 107 | rusage r; |
200 | getrusage(RUSAGE_SELF, &r); | |
201 | return r.ru_maxrss; | |
202 | #else | |
108 | auto err = getrusage(RUSAGE_SELF, &r); | |
109 | if (!err) | |
110 | return r.ru_maxrss; | |
111 | #elif _WIN32 | |
112 | PROCESS_MEMORY_COUNTERS pmc; | |
113 | auto suc = GetProcessMemoryInfo(GetCurrentProcess(), &pmc, sizeof(pmc)); | |
114 | if (suc) | |
115 | return pmc.PeakWorkingSetSize >> 10; | |
116 | #endif | |
203 | 117 | return 0; |
204 | #endif | |
205 | 118 | } |
206 | 119 | |
207 | 120 | auto to_utf8(string_view source, string& dest, UConverter* ucnv, |
233 | 146 | } |
234 | 147 | } |
235 | 148 | |
236 | auto normal_loop(const Args_t& args, const Dictionary& dic, Hunspell& hun, | |
237 | istream& in, ostream& out) | |
149 | struct Options { | |
150 | bool print_mismatches = false; | |
151 | bool test_suggestions = false; | |
152 | bool wikipedia_list = false; | |
153 | }; | |
154 | ||
155 | auto process_text(Options opt, const Dictionary& dic, Hunspell& hun, | |
156 | UConverter* hun_cnv, istream& in, UConverter* in_cnv, | |
157 | ostream& out, UErrorCode& uerr) | |
238 | 158 | { |
239 | auto print_false = args.print_false; | |
240 | auto test_sugs = args.sugs; | |
241 | auto word = string(); | |
242 | auto u8_buffer = string(); | |
243 | auto hun_word = string(); | |
244 | auto total = 0; | |
245 | auto true_pos = 0; | |
246 | auto true_neg = 0; | |
247 | auto false_pos = 0; | |
248 | auto false_neg = 0; | |
249 | auto duration_hun = chrono::high_resolution_clock::duration(); | |
250 | auto duration_nu = duration_hun; | |
251 | auto in_loc = in.getloc(); | |
252 | ||
159 | using Duration = chrono::high_resolution_clock::duration; | |
160 | string word, line, u8_tmp_buf, hun_word; | |
161 | size_t total = 0; | |
162 | size_t true_pos = 0, true_neg = 0, false_pos = 0, false_neg = 0; | |
163 | Duration time_nu_true = {}, time_nu_false = {}; | |
164 | Duration time_hun_true = {}, time_hun_false = {}; | |
165 | ||
166 | auto nus_sugs = vector<string>(); | |
167 | Duration time_nu_sugs = {}, time_hun_sugs = {}; | |
168 | size_t nus_hits = 0, nus_misses = 0, nus_sum_orders = 0; | |
169 | size_t hun_hits = 0, hun_misses = 0, hun_sum_orders = 0; | |
170 | ||
171 | auto hun_enc = | |
172 | nuspell::Encoding(hun.get_dict_encoding()).value_or_default(); | |
173 | auto in_is_utf8 = ucnv_getType(in_cnv) == UCNV_UTF8; | |
174 | // auto out_is_utf8 = ucnv_getType(out_cnv) == UCNV_UTF8; | |
175 | auto hun_is_utf8 = ucnv_getType(hun_cnv) == UCNV_UTF8; | |
176 | ||
177 | for (;;) { | |
178 | size_t i = 0; | |
179 | if (opt.wikipedia_list) { | |
180 | if (!getline(in, line)) | |
181 | break; | |
182 | if (line.empty() || line.front() == '#') | |
183 | continue; | |
184 | auto rtrim_idx = line.find_last_not_of(" \t\r"); | |
185 | if (rtrim_idx != line.npos) | |
186 | line.erase(++rtrim_idx); | |
187 | if (!in_is_utf8) { | |
188 | to_utf8(line, u8_tmp_buf, in_cnv, uerr); | |
189 | line = u8_tmp_buf; | |
190 | } | |
191 | if ((i = line.find("->")) != line.npos) { | |
192 | word.assign(line, 0, i); | |
193 | i += 2; | |
194 | } | |
195 | else if ((i = line.find('\t')) != line.npos) { | |
196 | word.assign(line, 0, i); | |
197 | i += 1; | |
198 | } | |
199 | else | |
200 | continue; | |
201 | } | |
202 | else if (in >> word) { | |
203 | if (!in_is_utf8) { | |
204 | to_utf8(word, u8_tmp_buf, in_cnv, uerr); | |
205 | word = u8_tmp_buf; | |
206 | } | |
207 | } | |
208 | else | |
209 | break; | |
210 | auto time_a = chrono::high_resolution_clock::now(); | |
211 | auto res_nu = dic.spell(word); | |
212 | auto time_b = chrono::high_resolution_clock::now(); | |
213 | if (hun_is_utf8) | |
214 | hun_word = word; | |
215 | else | |
216 | from_utf8(word, hun_word, hun_cnv, uerr); | |
217 | auto res_hun = hun.spell(hun_word); | |
218 | auto time_c = chrono::high_resolution_clock::now(); | |
219 | auto time_nu = time_b - time_a; | |
220 | auto time_hun = time_c - time_b; | |
221 | if (res_nu) | |
222 | time_nu_true += time_nu; | |
223 | else | |
224 | time_nu_false += time_nu; | |
225 | if (res_hun) | |
226 | time_hun_true += time_hun; | |
227 | else | |
228 | time_hun_false += time_hun; | |
229 | if (res_hun) { | |
230 | if (res_nu) { | |
231 | ++true_pos; | |
232 | } | |
233 | else { | |
234 | ++false_neg; | |
235 | if (opt.print_mismatches) | |
236 | out << "FN: " << word << '\n'; | |
237 | } | |
238 | } | |
239 | else { | |
240 | if (res_nu) { | |
241 | ++false_pos; | |
242 | if (opt.print_mismatches) | |
243 | out << "FP: " << word << '\n'; | |
244 | } | |
245 | else { | |
246 | ++true_neg; | |
247 | } | |
248 | } | |
249 | ++total; | |
250 | ||
251 | if (!opt.test_suggestions && !opt.wikipedia_list) | |
252 | continue; | |
253 | time_a = chrono::high_resolution_clock::now(); | |
254 | dic.suggest(word, nus_sugs); | |
255 | time_b = chrono::high_resolution_clock::now(); | |
256 | auto hun_sugs = hun.suggest(hun_word); | |
257 | time_c = chrono::high_resolution_clock::now(); | |
258 | time_nu_sugs += time_b - time_a; | |
259 | time_hun_sugs += time_c - time_b; | |
260 | if (!opt.wikipedia_list) | |
261 | continue; | |
262 | if (opt.print_mismatches && (res_nu || res_hun)) { | |
263 | out << "Word " << word << " detected as correct.\n" | |
264 | << "Suggestions from list: " << line.substr(i) | |
265 | << '\n'; | |
266 | } | |
267 | if (opt.print_mismatches && res_nu && !empty(nus_sugs)) { | |
268 | out << "Nuspell sugs : "; | |
269 | for (auto it = begin(nus_sugs);;) { | |
270 | out << *it; | |
271 | if (++it == end(nus_sugs)) | |
272 | break; | |
273 | out << ", "; | |
274 | } | |
275 | out << '\n'; | |
276 | } | |
277 | ||
278 | for (auto& hs : hun_sugs) { | |
279 | to_utf8(hs, u8_tmp_buf, hun_cnv, uerr); | |
280 | hs = u8_tmp_buf; | |
281 | } | |
282 | // hun_sugs is now utf8 | |
283 | ||
284 | if (opt.print_mismatches && res_hun && !empty(hun_sugs)) { | |
285 | out << "Hunspell sugs: "; | |
286 | for (auto it = begin(hun_sugs);;) { | |
287 | out << *it; | |
288 | if (++it == end(hun_sugs)) | |
289 | break; | |
290 | out << ", "; | |
291 | } | |
292 | out << '\n'; | |
293 | } | |
294 | for (auto needle = ", "sv;;) { | |
295 | auto j = line.find(needle, i); | |
296 | auto wiki_sug = line.substr(i, j - i); | |
297 | ||
298 | // process wiki_sug | |
299 | auto it = | |
300 | find(begin(nus_sugs), end(nus_sugs), wiki_sug); | |
301 | if (it != end(nus_sugs)) { | |
302 | ++nus_hits; | |
303 | auto order = distance(begin(nus_sugs), it) + 1; | |
304 | nus_sum_orders += order; | |
305 | } | |
306 | else { | |
307 | ++nus_misses; | |
308 | } | |
309 | ||
310 | it = find(begin(hun_sugs), end(hun_sugs), wiki_sug); | |
311 | if (it != end(hun_sugs)) { | |
312 | ++hun_hits; | |
313 | auto order = distance(begin(hun_sugs), it) + 1; | |
314 | hun_sum_orders += order; | |
315 | } | |
316 | else { | |
317 | ++hun_misses; | |
318 | } | |
319 | ||
320 | // stop condition | |
321 | if (j == line.npos) | |
322 | break; | |
323 | // increment | |
324 | i = j + size(needle); | |
325 | } | |
326 | if (total % 100 == 0) | |
327 | out << total << " words processed." << endl; | |
328 | } | |
329 | out << "Total Words = " << total << '\n'; | |
330 | if (total == 0) | |
331 | return; | |
332 | auto accuracy = (true_pos + true_neg) * 1.0 / total; | |
333 | auto precision = true_pos * 1.0 / (true_pos + false_pos); | |
334 | auto total_hun_time = time_hun_true + time_hun_false; | |
335 | auto total_nu_time = time_nu_true + time_nu_false; | |
336 | auto speedup = total_hun_time.count() * 1.0 / total_nu_time.count(); | |
337 | out << "TP = " << true_pos << '\n'; | |
338 | out << "TN = " << true_neg << '\n'; | |
339 | out << "FP = " << false_pos << '\n'; | |
340 | out << "FN = " << false_neg << '\n'; | |
341 | out << "Accuracy = " << accuracy << '\n'; | |
342 | out << "Precision = " << precision << '\n'; | |
343 | out << "Time Nuspell True = " << time_nu_true.count() << '\n'; | |
344 | out << "Time Nuspell False = " << time_nu_false.count() << '\n'; | |
345 | out << "Time Hunspell True = " << time_hun_true.count() << '\n'; | |
346 | out << "Time Hunspell False = " << time_hun_false.count() << '\n'; | |
347 | out << "Speedup = " << speedup << '\n'; | |
348 | if (!opt.test_suggestions && !opt.wikipedia_list) | |
349 | return; | |
350 | out << '\n'; | |
351 | out << "Nus hits = " << nus_hits << '\n'; | |
352 | out << "Nus misses = " << nus_misses << '\n'; | |
353 | out << "Nus avg order = " << nus_sum_orders * 1.0 / nus_hits << '\n'; | |
354 | out << "Hun hits = " << hun_hits << '\n'; | |
355 | out << "Hun misses = " << hun_misses << '\n'; | |
356 | out << "Hun avg order = " << hun_sum_orders * 1.0 / hun_hits << '\n'; | |
357 | out << "Time Nuspell sugs = " << time_nu_sugs.count() << '\n'; | |
358 | out << "Time Hunspell sugs = " << time_hun_sugs.count() << '\n'; | |
359 | } | |
360 | } // namespace | |
361 | int main(int argc, char* argv[]) | |
362 | { | |
363 | auto mode_int = int(Mode::NORMAL); | |
364 | auto program_name = "nuspell"; | |
365 | auto dictionary = string(); | |
366 | auto input_enc = string(); | |
367 | auto output_enc = string(); | |
368 | auto options = Options(); | |
369 | ||
370 | if (argc > 0 && argv[0]) | |
371 | program_name = argv[0]; | |
372 | ||
373 | ios_base::sync_with_stdio(false); | |
374 | ||
375 | auto optstring = "d:msw"; | |
376 | option longopts[] = { | |
377 | {"help", no_argument, &mode_int, Mode::HELP}, | |
378 | {"version", no_argument, &mode_int, Mode::VERSION}, | |
379 | {"dictionary", required_argument, nullptr, 'd'}, | |
380 | {"print-mismatches", no_argument, nullptr, 'm'}, | |
381 | {"test-suggestions", no_argument, nullptr, 's'}, | |
382 | {"wikipedia-list", no_argument, nullptr, 'w'}, | |
383 | {"encoding", required_argument, nullptr, 'e'}, | |
384 | {"input-encoding", required_argument, nullptr, 'i'}, | |
385 | {"output-encoding", required_argument, nullptr, 'o'}, | |
386 | {}}; | |
387 | int longindex; | |
388 | int c; | |
389 | while ((c = getopt_long(argc, argv, optstring, longopts, &longindex)) != | |
390 | -1) { | |
391 | switch (c) { | |
392 | case 0: | |
393 | // check longopts[longindex] if needed | |
394 | break; | |
395 | case 'd': | |
396 | dictionary = optarg; | |
397 | break; | |
398 | case 'm': | |
399 | options.print_mismatches = true; | |
400 | break; | |
401 | case 's': | |
402 | options.test_suggestions = true; | |
403 | break; | |
404 | case 'w': | |
405 | options.wikipedia_list = true; | |
406 | break; | |
407 | case 'e': | |
408 | input_enc = optarg; | |
409 | output_enc = optarg; | |
410 | break; | |
411 | case 'i': | |
412 | input_enc = optarg; | |
413 | break; | |
414 | case 'o': | |
415 | output_enc = optarg; | |
416 | break; | |
417 | case '?': | |
418 | return EXIT_FAILURE; | |
419 | } | |
420 | } | |
421 | auto mode = static_cast<Mode>(mode_int); | |
422 | if (mode == Mode::VERSION) { | |
423 | print_version(); | |
424 | return 0; | |
425 | } | |
426 | else if (mode == Mode::HELP) { | |
427 | print_help(program_name); | |
428 | return 0; | |
429 | } | |
430 | auto f = Dict_Finder_For_CLI_Tool_2(); | |
431 | ||
432 | char* loc_str = nullptr; | |
433 | #if _WIN32 | |
434 | loc_str = setlocale(LC_CTYPE, nullptr); // will return "C" | |
435 | #else | |
436 | loc_str = setlocale(LC_CTYPE, ""); | |
437 | if (!loc_str) { | |
438 | clog << "WARNING: Can not set to system locale, fall back to " | |
439 | "\"C\".\n"; | |
440 | loc_str = setlocale(LC_CTYPE, nullptr); // will return "C" | |
441 | } | |
442 | #endif | |
443 | #if _POSIX_VERSION | |
444 | auto enc_str = nl_langinfo(CODESET); | |
445 | if (input_enc.empty()) | |
446 | input_enc = enc_str; | |
447 | if (output_enc.empty()) | |
448 | output_enc = enc_str; | |
449 | #elif _WIN32 | |
450 | if (optind == argc && _isatty(_fileno(stdin))) | |
451 | input_enc = "cp" + to_string(GetConsoleCP()); | |
452 | else if (input_enc.empty()) | |
453 | input_enc = "UTF-8"; | |
454 | if (_isatty(_fileno(stdout))) | |
455 | output_enc = "cp" + to_string(GetConsoleOutputCP()); | |
456 | else if (output_enc.empty()) | |
457 | output_enc = "UTF-8"; | |
458 | #endif | |
459 | auto loc_str_sv = string_view(loc_str); | |
460 | clog << "INFO: Locale LC_CTYPE=" << loc_str_sv | |
461 | << ", Input encoding=" << input_enc | |
462 | << ", Output encoding=" << output_enc << endl; | |
463 | ||
464 | if (dictionary.empty()) { | |
465 | auto denv = getenv("DICTIONARY"); | |
466 | if (denv) | |
467 | dictionary = denv; | |
468 | } | |
469 | if (dictionary.empty()) { | |
470 | // infer dictionary from locale | |
471 | auto idx = min(loc_str_sv.find('.'), loc_str_sv.find('@')); | |
472 | dictionary = loc_str_sv.substr(0, idx); | |
473 | } | |
474 | if (dictionary.empty()) { | |
475 | clog << "ERROR: No dictionary provided and can not infer from " | |
476 | "OS locale\n"; | |
477 | return EXIT_FAILURE; | |
478 | } | |
479 | auto filename = f.get_dictionary_path(dictionary); | |
480 | if (filename.empty()) { | |
481 | clog << "ERROR: Dictionary " << dictionary << " not found\n"; | |
482 | return EXIT_FAILURE; | |
483 | } | |
484 | clog << "INFO: Pointed dictionary " << filename.string() << endl; | |
485 | auto peak_ram_a = get_peak_ram_usage(); | |
486 | auto dic = Dictionary(); | |
487 | try { | |
488 | dic.load_aff_dic_internal(filename, clog); | |
489 | } | |
490 | catch (const Dictionary_Loading_Error& e) { | |
491 | clog << "ERROR: " << e.what() << '\n'; | |
492 | return EXIT_FAILURE; | |
493 | } | |
494 | auto nuspell_ram = get_peak_ram_usage() - peak_ram_a; | |
495 | auto aff_name = filename.string(); | |
496 | auto dic_name = filename.replace_extension(".dic").string(); | |
497 | peak_ram_a = get_peak_ram_usage(); | |
498 | auto hun = Hunspell(aff_name.c_str(), dic_name.c_str()); | |
499 | auto hunspell_ram = get_peak_ram_usage() - peak_ram_a; | |
500 | cout << "Nuspell peak RAM usage: " << nuspell_ram << "KB\n" | |
501 | << "Hunspell peak RAM usage: " << hunspell_ram << "KB\n"; | |
502 | ||
503 | // ICU reports all types of errors, logic errors and runtime errors | |
504 | // using this enum. We should not check for logic errors, they should | |
505 | // not happened. Optionally, only assert that they are not there can be | |
506 | // used. We should check for runtime errors. | |
507 | // The encoding conversion is a common case where runtime error can | |
508 | // happen, but by default ICU uses Unicode replacement character on | |
509 | // errors and reprots success. This can be changed, but there is no need | |
510 | // for that. | |
253 | 511 | auto uerr = U_ZERO_ERROR; |
254 | auto io_cnv = icu::LocalUConverterPointer( | |
255 | ucnv_open(args.encoding.c_str(), &uerr)); | |
256 | if (U_FAILURE(uerr)) | |
257 | throw runtime_error("Invalid io encoding"); | |
512 | auto inp_enc_cstr = input_enc.c_str(); | |
513 | if (input_enc.empty()) { | |
514 | inp_enc_cstr = nullptr; | |
515 | clog << "WARNING: using default ICU encoding converter for IO" | |
516 | << endl; | |
517 | } | |
518 | auto in_ucnv = | |
519 | icu::LocalUConverterPointer(ucnv_open(inp_enc_cstr, &uerr)); | |
520 | if (U_FAILURE(uerr)) { | |
521 | clog << "ERROR: Invalid encoding " << input_enc << ".\n"; | |
522 | return EXIT_FAILURE; | |
523 | } | |
524 | ||
258 | 525 | auto hun_enc = |
259 | 526 | nuspell::Encoding(hun.get_dict_encoding()).value_or_default(); |
260 | 527 | auto hun_cnv = |
261 | 528 | icu::LocalUConverterPointer(ucnv_open(hun_enc.c_str(), &uerr)); |
262 | if (U_FAILURE(uerr)) | |
263 | throw runtime_error("Invalid hun encoding"); | |
264 | auto io_is_utf8 = ucnv_getType(io_cnv.getAlias()) == UCNV_UTF8; | |
265 | auto hun_is_utf8 = ucnv_getType(hun_cnv.getAlias()) == UCNV_UTF8; | |
266 | ||
267 | // need to take entine line here, not `in >> word` | |
268 | while (getline(in, word)) { | |
269 | auto u8_word = string_view(); | |
270 | auto tick_a = chrono::high_resolution_clock::now(); | |
271 | if (io_is_utf8) { | |
272 | u8_word = word; | |
273 | } | |
274 | else { | |
275 | to_utf8(word, u8_buffer, io_cnv.getAlias(), uerr); | |
276 | u8_word = u8_buffer; | |
277 | } | |
278 | auto res_nu = dic.spell(u8_word); | |
279 | auto tick_b = chrono::high_resolution_clock::now(); | |
280 | if (hun_is_utf8) | |
281 | hun_word = u8_word; | |
282 | else | |
283 | from_utf8(u8_word, hun_word, hun_cnv.getAlias(), uerr); | |
284 | auto res_hun = hun.spell(hun_word); | |
285 | auto tick_c = chrono::high_resolution_clock::now(); | |
286 | duration_nu += tick_b - tick_a; | |
287 | duration_hun += tick_c - tick_b; | |
288 | if (res_hun) { | |
289 | if (res_nu) { | |
290 | ++true_pos; | |
291 | } | |
292 | else { | |
293 | ++false_neg; | |
294 | if (print_false) | |
295 | out << "FalseNegativeWord " << word | |
296 | << '\n'; | |
297 | } | |
298 | } | |
299 | else { | |
300 | if (res_nu) { | |
301 | ++false_pos; | |
302 | if (print_false) | |
303 | out << "FalsePositiveWord " << word | |
304 | << '\n'; | |
305 | } | |
306 | else { | |
307 | ++true_neg; | |
308 | } | |
309 | } | |
310 | ++total; | |
311 | if (test_sugs && !res_nu && !res_hun) { | |
312 | auto nus_sugs = vector<string>(); | |
313 | auto hun_sugs = vector<string>(); | |
314 | dic.suggest(word, nus_sugs); | |
315 | hun.suggest(hun_word); | |
316 | } | |
317 | } | |
318 | out << "Total Words " << total << '\n'; | |
319 | // prevent devision by zero | |
320 | if (total == 0) | |
321 | return; | |
322 | auto accuracy = (true_pos + true_neg) * 1.0 / total; | |
323 | auto precision = true_pos * 1.0 / (true_pos + false_pos); | |
324 | auto speedup = duration_hun.count() * 1.0 / duration_nu.count(); | |
325 | out << "True Positives " << true_pos << '\n'; | |
326 | out << "True Negatives " << true_neg << '\n'; | |
327 | out << "False Positives " << false_pos << '\n'; | |
328 | out << "False Negatives " << false_neg << '\n'; | |
329 | out << "Accuracy " << accuracy << '\n'; | |
330 | out << "Precision " << precision << '\n'; | |
331 | out << "Duration Nuspell " << duration_nu.count() << '\n'; | |
332 | out << "Duration Hunspell " << duration_hun.count() << '\n'; | |
333 | out << "Speedup Rate " << speedup << '\n'; | |
334 | } | |
335 | ||
336 | int main(int argc, char* argv[]) | |
337 | { | |
338 | // May speed up I/O. After this, don't use C printf, scanf etc. | |
339 | ios_base::sync_with_stdio(false); | |
340 | ||
341 | auto args = Args_t(argc, argv); | |
342 | ||
343 | switch (args.mode) { | |
344 | case HELP_MODE: | |
345 | print_help(args.program_name); | |
346 | return 0; | |
347 | case VERSION_MODE: | |
348 | print_version(); | |
349 | return 0; | |
350 | case ERROR_MODE: | |
351 | cerr << "Invalid (combination of) arguments, try '" | |
352 | << args.program_name << " --help' for more information\n"; | |
353 | return 1; | |
354 | default: | |
355 | break; | |
356 | } | |
357 | auto f = Dict_Finder_For_CLI_Tool_2(); | |
358 | ||
359 | auto loc_str = setlocale(LC_CTYPE, ""); | |
360 | if (!loc_str) { | |
361 | clog << "WARNING: Invalid locale string, fall back to \"C\".\n"; | |
362 | loc_str = setlocale(LC_CTYPE, nullptr); // will return "C" | |
363 | } | |
364 | auto loc_str_sv = string_view(loc_str); | |
365 | if (args.encoding.empty()) { | |
366 | #if _POSIX_VERSION | |
367 | auto enc_str = nl_langinfo(CODESET); | |
368 | args.encoding = enc_str; | |
369 | #elif _WIN32 | |
370 | #endif | |
371 | } | |
372 | clog << "INFO: Locale LC_CTYPE=" << loc_str_sv | |
373 | << ", Used encoding=" << args.encoding << '\n'; | |
374 | if (args.dictionary.empty()) { | |
375 | // infer dictionary from locale | |
376 | auto idx = min(loc_str_sv.find('.'), loc_str_sv.find('@')); | |
377 | args.dictionary = loc_str_sv.substr(0, idx); | |
378 | } | |
379 | if (args.dictionary.empty()) { | |
380 | cerr << "No dictionary provided and can not infer from OS " | |
381 | "locale\n"; | |
382 | } | |
383 | auto filename = f.get_dictionary_path(args.dictionary); | |
384 | if (filename.empty()) { | |
385 | cerr << "Dictionary " << args.dictionary << " not found\n"; | |
386 | return 1; | |
387 | } | |
388 | clog << "INFO: Pointed dictionary " << filename.string() << '\n'; | |
389 | auto peak_ram_a = get_peak_ram_usage(); | |
390 | auto dic = Dictionary(); | |
391 | try { | |
392 | dic.load_aff_dic(filename); | |
393 | } | |
394 | catch (const Dictionary_Loading_Error& e) { | |
395 | cerr << e.what() << '\n'; | |
396 | return 1; | |
397 | } | |
398 | auto nuspell_ram = get_peak_ram_usage() - peak_ram_a; | |
399 | auto aff_name = filename.string(); | |
400 | auto dic_name = filename.replace_extension(".dic").string(); | |
401 | peak_ram_a = get_peak_ram_usage(); | |
402 | Hunspell hun(aff_name.c_str(), dic_name.c_str()); | |
403 | auto hunspell_ram = get_peak_ram_usage() - peak_ram_a; | |
404 | cout << "Nuspell peak RAM usage: " << nuspell_ram << "kB\n" | |
405 | << "Hunspell peak RAM usage: " << hunspell_ram << "kB\n"; | |
406 | if (args.files.empty()) { | |
407 | normal_loop(args, dic, hun, cin, cout); | |
529 | if (U_FAILURE(uerr)) { | |
530 | clog << "ERROR: Invalid Hun encoding " << hun_enc << ".\n"; | |
531 | return EXIT_FAILURE; | |
532 | } | |
533 | ||
534 | if (optind == argc) { | |
535 | process_text(options, dic, hun, hun_cnv.getAlias(), cin, | |
536 | in_ucnv.getAlias(), cout, uerr); | |
408 | 537 | } |
409 | 538 | else { |
410 | for (auto& file_name : args.files) { | |
539 | for (; optind != argc; ++optind) { | |
540 | auto file_name = argv[optind]; | |
411 | 541 | ifstream in(file_name); |
412 | 542 | if (!in.is_open()) { |
413 | cerr << "Can't open " << file_name << '\n'; | |
414 | return 1; | |
415 | } | |
416 | in.imbue(cin.getloc()); | |
417 | normal_loop(args, dic, hun, in, cout); | |
418 | } | |
419 | } | |
420 | return 0; | |
543 | clog << "ERROR: Can't open " << file_name | |
544 | << '\n'; | |
545 | return EXIT_FAILURE; | |
546 | } | |
547 | process_text(options, dic, hun, hun_cnv.getAlias(), in, | |
548 | in_ucnv.getAlias(), cout, uerr); | |
549 | } | |
550 | } | |
421 | 551 | } |