stemAll(CharSequence word) {
+ return delegates.get().stemAll(word);
+ }
+
+ /**
+ * Removes this thread's delegate to prevent classloader leaks in container environments. Call
+ * when the thread is returned to a pool or the stemmer is no longer needed.
+ */
+ public void clearThreadLocalState() {
+ delegates.clearForCurrentThread();
+ }
+}
diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/EnglishMinimalStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/EnglishMinimalStemmer.java
new file mode 100644
index 0000000000..d1f9bb6f83
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/EnglishMinimalStemmer.java
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package opennlp.tools.stemmer.light;
+
+import opennlp.tools.commons.ThreadSafe;
+import opennlp.tools.stemmer.Stemmer;
+import opennlp.tools.stemmer.StemmerFactory;
+/**
+ * Minimal plural stemmer for English.
+ *
+ * This stemmer implements the "S-Stemmer" from How Effective Is Suffixing? Donna Harman.
+ *
+ *
Adapted from the identically named algorithm in Apache Lucene's analysis-common module.
+ * Instances are stateless and safe for concurrent use by multiple threads; each instance is also
+ * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a
+ * case-folding normalization step; the stemmer does not fold case itself.
+ */
+@ThreadSafe
+public final class EnglishMinimalStemmer implements Stemmer, StemmerFactory {
+ /** {@inheritDoc} */
+ @Override
+ public CharSequence stem(CharSequence word) {
+ if (word == null) {
+ throw new IllegalArgumentException("The word must not be null.");
+ }
+ final int length = word.length();
+ final char[] buffer = new char[length];
+ for (int i = 0; i < length; i++) {
+ buffer[i] = word.charAt(i);
+ }
+ final int stemmedLength = stem(buffer, length);
+ return new String(buffer, 0, stemmedLength);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Stemmer newStemmer() {
+ return this;
+ }
+
+ @SuppressWarnings("fallthrough")
+ private int stem(char[] s, int len) {
+ if (len < 3 || s[len - 1] != 's') return len;
+
+ switch (s[len - 2]) {
+ case 'u':
+ case 's':
+ return len;
+ case 'e':
+ if (len > 3 && s[len - 3] == 'i' && s[len - 4] != 'a' && s[len - 4] != 'e') {
+ s[len - 3] = 'y';
+ return len - 2;
+ }
+ if (s[len - 3] == 'i' || s[len - 3] == 'a' || s[len - 3] == 'o' || s[len - 3] == 'e')
+ return len; /* intentional fallthrough */
+ default:
+ return len - 1;
+ }
+ }
+}
diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/FinnishLightStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/FinnishLightStemmer.java
new file mode 100644
index 0000000000..b1035ace63
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/FinnishLightStemmer.java
@@ -0,0 +1,264 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * This algorithm is updated based on code located at:
+ * http://members.unine.ch/jacques.savoy/clef/
+ *
+ * Full copyright for that code follows:
+ */
+/*
+ * Copyright (c) 2005, Jacques Savoy
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer. Redistributions in binary
+ * form must reproduce the above copyright notice, this list of conditions and
+ * the following disclaimer in the documentation and/or other materials
+ * provided with the distribution. Neither the name of the author nor the names
+ * of its contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package opennlp.tools.stemmer.light;
+
+import opennlp.tools.commons.ThreadSafe;
+import opennlp.tools.stemmer.Stemmer;
+import opennlp.tools.stemmer.StemmerFactory;
+
+import static opennlp.tools.stemmer.light.StemmerUtil.delete;
+import static opennlp.tools.stemmer.light.StemmerUtil.endsWith;
+/**
+ * Light Stemmer for Finnish.
+ *
+ * This stemmer implements the algorithm described in: Report on CLEF-2003 Monolingual
+ * Tracks Jacques Savoy
+ *
+ *
Adapted from the identically named algorithm in Apache Lucene's analysis-common module.
+ * Instances are stateless and safe for concurrent use by multiple threads; each instance is also
+ * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a
+ * case-folding normalization step; the stemmer does not fold case itself.
+ */
+@ThreadSafe
+public final class FinnishLightStemmer implements Stemmer, StemmerFactory {
+ /** {@inheritDoc} */
+ @Override
+ public CharSequence stem(CharSequence word) {
+ if (word == null) {
+ throw new IllegalArgumentException("The word must not be null.");
+ }
+ final int length = word.length();
+ final char[] buffer = new char[length];
+ for (int i = 0; i < length; i++) {
+ buffer[i] = word.charAt(i);
+ }
+ final int stemmedLength = stem(buffer, length);
+ return new String(buffer, 0, stemmedLength);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Stemmer newStemmer() {
+ return this;
+ }
+
+ private int stem(char[] s, int len) {
+ if (len < 4) return len;
+
+ for (int i = 0; i < len; i++)
+ switch (s[i]) {
+ case 'ä':
+ case 'å':
+ s[i] = 'a';
+ break;
+ case 'ö':
+ s[i] = 'o';
+ break;
+ }
+
+ len = step1(s, len);
+ len = step2(s, len);
+ len = step3(s, len);
+ len = norm1(s, len);
+ len = norm2(s, len);
+ return len;
+ }
+
+ private int step1(char[] s, int len) {
+ if (len > 8) {
+ if (endsWith(s, len, "kin")) return step1(s, len - 3);
+ if (endsWith(s, len, "ko")) return step1(s, len - 2);
+ }
+
+ if (len > 11) {
+ if (endsWith(s, len, "dellinen")) return len - 8;
+ if (endsWith(s, len, "dellisuus")) return len - 9;
+ }
+ return len;
+ }
+
+ private int step2(char[] s, int len) {
+ if (len > 5) {
+ if (endsWith(s, len, "lla") || endsWith(s, len, "tse") || endsWith(s, len, "sti"))
+ return len - 3;
+
+ if (endsWith(s, len, "ni")) return len - 2;
+
+ if (endsWith(s, len, "aa")) return len - 1; // aa -> a
+ }
+
+ return len;
+ }
+
+ private int step3(char[] s, int len) {
+ if (len > 8) {
+ if (endsWith(s, len, "nnen")) {
+ s[len - 4] = 's';
+ return len - 3;
+ }
+
+ if (endsWith(s, len, "ntena")) {
+ s[len - 5] = 's';
+ return len - 4;
+ }
+
+ if (endsWith(s, len, "tten")) return len - 4;
+
+ if (endsWith(s, len, "eiden")) return len - 5;
+ }
+
+ if (len > 6) {
+ if (endsWith(s, len, "neen")
+ || endsWith(s, len, "niin")
+ || endsWith(s, len, "seen")
+ || endsWith(s, len, "teen")
+ || endsWith(s, len, "inen")) return len - 4;
+
+ if (s[len - 3] == 'h' && isVowel(s[len - 2]) && s[len - 1] == 'n') return len - 3;
+
+ if (endsWith(s, len, "den")) {
+ s[len - 3] = 's';
+ return len - 2;
+ }
+
+ if (endsWith(s, len, "ksen")) {
+ s[len - 4] = 's';
+ return len - 3;
+ }
+
+ if (endsWith(s, len, "ssa")
+ || endsWith(s, len, "sta")
+ || endsWith(s, len, "lla")
+ || endsWith(s, len, "lta")
+ || endsWith(s, len, "tta")
+ || endsWith(s, len, "ksi")
+ || endsWith(s, len, "lle")) return len - 3;
+ }
+
+ if (len > 5) {
+ if (endsWith(s, len, "na") || endsWith(s, len, "ne")) return len - 2;
+
+ if (endsWith(s, len, "nei")) return len - 3;
+ }
+
+ if (len > 4) {
+ if (endsWith(s, len, "ja") || endsWith(s, len, "ta")) return len - 2;
+
+ if (s[len - 1] == 'a') return len - 1;
+
+ if (s[len - 1] == 'n' && isVowel(s[len - 2])) return len - 2;
+
+ if (s[len - 1] == 'n') return len - 1;
+ }
+
+ return len;
+ }
+
+ private int norm1(char[] s, int len) {
+ if (len > 5 && endsWith(s, len, "hde")) {
+ s[len - 3] = 'k';
+ s[len - 2] = 's';
+ s[len - 1] = 'i';
+ }
+
+ if (len > 4) {
+ if (endsWith(s, len, "ei") || endsWith(s, len, "at")) return len - 2;
+ }
+
+ if (len > 3)
+ switch (s[len - 1]) {
+ case 't':
+ case 's':
+ case 'j':
+ case 'e':
+ case 'a':
+ case 'i':
+ return len - 1;
+ }
+
+ return len;
+ }
+
+ private int norm2(char[] s, int len) {
+ if (len > 8) {
+ if (s[len - 1] == 'e' || s[len - 1] == 'o' || s[len - 1] == 'u') len--;
+ }
+
+ if (len > 4) {
+ if (s[len - 1] == 'i') len--;
+
+ if (len > 4) {
+ char ch = s[0];
+ for (int i = 1; i < len; i++) {
+ if (s[i] == ch && (ch == 'k' || ch == 'p' || ch == 't')) len = delete(s, i--, len);
+ else ch = s[i];
+ }
+ }
+ }
+
+ return len;
+ }
+
+ private boolean isVowel(char ch) {
+ switch (ch) {
+ case 'a':
+ case 'e':
+ case 'i':
+ case 'o':
+ case 'u':
+ case 'y':
+ return true;
+ default:
+ return false;
+ }
+ }
+}
diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/FrenchLightStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/FrenchLightStemmer.java
new file mode 100644
index 0000000000..38f11138ab
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/FrenchLightStemmer.java
@@ -0,0 +1,288 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * This algorithm is updated based on code located at:
+ * http://members.unine.ch/jacques.savoy/clef/
+ *
+ * Full copyright for that code follows:
+ */
+/*
+ * Copyright (c) 2005, Jacques Savoy
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer. Redistributions in binary
+ * form must reproduce the above copyright notice, this list of conditions and
+ * the following disclaimer in the documentation and/or other materials
+ * provided with the distribution. Neither the name of the author nor the names
+ * of its contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package opennlp.tools.stemmer.light;
+
+import opennlp.tools.commons.ThreadSafe;
+import opennlp.tools.stemmer.Stemmer;
+import opennlp.tools.stemmer.StemmerFactory;
+
+import static opennlp.tools.stemmer.light.StemmerUtil.delete;
+import static opennlp.tools.stemmer.light.StemmerUtil.endsWith;
+/**
+ * Light Stemmer for French.
+ *
+ * This stemmer implements the "UniNE" algorithm in: Light Stemming Approaches for the French,
+ * Portuguese, German and Hungarian Languages Jacques Savoy
+ *
+ *
Adapted from the identically named algorithm in Apache Lucene's analysis-common module.
+ * Instances are stateless and safe for concurrent use by multiple threads; each instance is also
+ * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a
+ * case-folding normalization step; the stemmer does not fold case itself.
+ */
+@ThreadSafe
+public final class FrenchLightStemmer implements Stemmer, StemmerFactory {
+ /** {@inheritDoc} */
+ @Override
+ public CharSequence stem(CharSequence word) {
+ if (word == null) {
+ throw new IllegalArgumentException("The word must not be null.");
+ }
+ final int length = word.length();
+ final char[] buffer = new char[length];
+ for (int i = 0; i < length; i++) {
+ buffer[i] = word.charAt(i);
+ }
+ final int stemmedLength = stem(buffer, length);
+ return new String(buffer, 0, stemmedLength);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Stemmer newStemmer() {
+ return this;
+ }
+
+ private int stem(char[] s, int len) {
+ if (len > 5 && s[len - 1] == 'x') {
+ if (s[len - 3] == 'a' && s[len - 2] == 'u' && s[len - 4] != 'e') s[len - 2] = 'l';
+ len--;
+ }
+
+ if (len > 3 && s[len - 1] == 'x') len--;
+
+ if (len > 3 && s[len - 1] == 's') len--;
+
+ if (len > 9 && endsWith(s, len, "issement")) {
+ len -= 6;
+ s[len - 1] = 'r';
+ return norm(s, len);
+ }
+
+ if (len > 8 && endsWith(s, len, "issant")) {
+ len -= 4;
+ s[len - 1] = 'r';
+ return norm(s, len);
+ }
+
+ if (len > 6 && endsWith(s, len, "ement")) {
+ len -= 4;
+ if (len > 3 && endsWith(s, len, "ive")) {
+ len--;
+ s[len - 1] = 'f';
+ }
+ return norm(s, len);
+ }
+
+ if (len > 11 && endsWith(s, len, "ficatrice")) {
+ len -= 5;
+ s[len - 2] = 'e';
+ s[len - 1] = 'r';
+ return norm(s, len);
+ }
+
+ if (len > 10 && endsWith(s, len, "ficateur")) {
+ len -= 4;
+ s[len - 2] = 'e';
+ s[len - 1] = 'r';
+ return norm(s, len);
+ }
+
+ if (len > 9 && endsWith(s, len, "catrice")) {
+ len -= 3;
+ s[len - 4] = 'q';
+ s[len - 3] = 'u';
+ s[len - 2] = 'e';
+ // s[len-1] = 'r' <-- unnecessary, already 'r'.
+ return norm(s, len);
+ }
+
+ if (len > 8 && endsWith(s, len, "cateur")) {
+ len -= 2;
+ s[len - 4] = 'q';
+ s[len - 3] = 'u';
+ s[len - 2] = 'e';
+ s[len - 1] = 'r';
+ return norm(s, len);
+ }
+
+ if (len > 8 && endsWith(s, len, "atrice")) {
+ len -= 4;
+ s[len - 2] = 'e';
+ s[len - 1] = 'r';
+ return norm(s, len);
+ }
+
+ if (len > 7 && endsWith(s, len, "ateur")) {
+ len -= 3;
+ s[len - 2] = 'e';
+ s[len - 1] = 'r';
+ return norm(s, len);
+ }
+
+ if (len > 6 && endsWith(s, len, "trice")) {
+ len--;
+ s[len - 3] = 'e';
+ s[len - 2] = 'u';
+ s[len - 1] = 'r';
+ }
+
+ if (len > 5 && endsWith(s, len, "ième")) return norm(s, len - 4);
+
+ if (len > 7 && endsWith(s, len, "teuse")) {
+ len -= 2;
+ s[len - 1] = 'r';
+ return norm(s, len);
+ }
+
+ if (len > 6 && endsWith(s, len, "teur")) {
+ len--;
+ s[len - 1] = 'r';
+ return norm(s, len);
+ }
+
+ if (len > 5 && endsWith(s, len, "euse")) return norm(s, len - 2);
+
+ if (len > 8 && endsWith(s, len, "ère")) {
+ len--;
+ s[len - 2] = 'e';
+ return norm(s, len);
+ }
+
+ if (len > 7 && endsWith(s, len, "ive")) {
+ len--;
+ s[len - 1] = 'f';
+ return norm(s, len);
+ }
+
+ if (len > 4 && (endsWith(s, len, "folle") || endsWith(s, len, "molle"))) {
+ len -= 2;
+ s[len - 1] = 'u';
+ return norm(s, len);
+ }
+
+ if (len > 9 && endsWith(s, len, "nnelle")) return norm(s, len - 5);
+
+ if (len > 9 && endsWith(s, len, "nnel")) return norm(s, len - 3);
+
+ if (len > 4 && endsWith(s, len, "ète")) {
+ len--;
+ s[len - 2] = 'e';
+ }
+
+ if (len > 8 && endsWith(s, len, "ique")) len -= 4;
+
+ if (len > 8 && endsWith(s, len, "esse")) return norm(s, len - 3);
+
+ if (len > 7 && endsWith(s, len, "inage")) return norm(s, len - 3);
+
+ if (len > 9 && endsWith(s, len, "isation")) {
+ len -= 7;
+ if (len > 5 && endsWith(s, len, "ual")) s[len - 2] = 'e';
+ return norm(s, len);
+ }
+
+ if (len > 9 && endsWith(s, len, "isateur")) return norm(s, len - 7);
+
+ if (len > 8 && endsWith(s, len, "ation")) return norm(s, len - 5);
+
+ if (len > 8 && endsWith(s, len, "ition")) return norm(s, len - 5);
+
+ return norm(s, len);
+ }
+
+ private int norm(char[] s, int len) {
+ if (len > 4) {
+ for (int i = 0; i < len; i++)
+ switch (s[i]) {
+ case 'à':
+ case 'á':
+ case 'â':
+ s[i] = 'a';
+ break;
+ case 'ô':
+ s[i] = 'o';
+ break;
+ case 'è':
+ case 'é':
+ case 'ê':
+ s[i] = 'e';
+ break;
+ case 'ù':
+ case 'û':
+ s[i] = 'u';
+ break;
+ case 'î':
+ s[i] = 'i';
+ break;
+ case 'ç':
+ s[i] = 'c';
+ break;
+ }
+
+ char ch = s[0];
+ for (int i = 1; i < len; i++) {
+ if (s[i] == ch && Character.isLetter(ch)) len = delete(s, i--, len);
+ else ch = s[i];
+ }
+ }
+
+ if (len > 4 && endsWith(s, len, "ie")) len -= 2;
+
+ if (len > 4) {
+ if (s[len - 1] == 'r') len--;
+ if (s[len - 1] == 'e') len--;
+ if (s[len - 1] == 'e') len--;
+ if (s[len - 1] == s[len - 2] && Character.isLetter(s[len - 1])) len--;
+ }
+ return len;
+ }
+}
diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/FrenchMinimalStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/FrenchMinimalStemmer.java
new file mode 100644
index 0000000000..88ddde7781
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/FrenchMinimalStemmer.java
@@ -0,0 +1,106 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * This algorithm is updated based on code located at:
+ * http://members.unine.ch/jacques.savoy/clef/
+ *
+ * Full copyright for that code follows:
+ */
+/*
+ * Copyright (c) 2005, Jacques Savoy
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer. Redistributions in binary
+ * form must reproduce the above copyright notice, this list of conditions and
+ * the following disclaimer in the documentation and/or other materials
+ * provided with the distribution. Neither the name of the author nor the names
+ * of its contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package opennlp.tools.stemmer.light;
+
+import opennlp.tools.commons.ThreadSafe;
+import opennlp.tools.stemmer.Stemmer;
+import opennlp.tools.stemmer.StemmerFactory;
+/**
+ * Light Stemmer for French.
+ *
+ * This stemmer implements the following algorithm: A Stemming procedure and stopword list for
+ * general French corpora. Jacques Savoy.
+ *
+ *
Adapted from the identically named algorithm in Apache Lucene's analysis-common module.
+ * Instances are stateless and safe for concurrent use by multiple threads; each instance is also
+ * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a
+ * case-folding normalization step; the stemmer does not fold case itself.
+ */
+@ThreadSafe
+public final class FrenchMinimalStemmer implements Stemmer, StemmerFactory {
+ /** {@inheritDoc} */
+ @Override
+ public CharSequence stem(CharSequence word) {
+ if (word == null) {
+ throw new IllegalArgumentException("The word must not be null.");
+ }
+ final int length = word.length();
+ final char[] buffer = new char[length];
+ for (int i = 0; i < length; i++) {
+ buffer[i] = word.charAt(i);
+ }
+ final int stemmedLength = stem(buffer, length);
+ return new String(buffer, 0, stemmedLength);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Stemmer newStemmer() {
+ return this;
+ }
+
+ private int stem(char[] s, int len) {
+ if (len < 6) return len;
+
+ if (s[len - 1] == 'x') {
+ if (s[len - 3] == 'a' && s[len - 2] == 'u') s[len - 2] = 'l';
+ return len - 1;
+ }
+
+ if (s[len - 1] == 's') len--;
+ if (s[len - 1] == 'r') len--;
+ if (s[len - 1] == 'e') len--;
+ if (s[len - 1] == 'é') len--;
+ if (s[len - 1] == s[len - 2] && Character.isLetter(s[len - 1])) len--;
+ return len;
+ }
+}
diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/GermanLightStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/GermanLightStemmer.java
new file mode 100644
index 0000000000..e1daca4544
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/GermanLightStemmer.java
@@ -0,0 +1,171 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * This algorithm is updated based on code located at:
+ * http://members.unine.ch/jacques.savoy/clef/
+ *
+ * Full copyright for that code follows:
+ */
+/*
+ * Copyright (c) 2005, Jacques Savoy
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer. Redistributions in binary
+ * form must reproduce the above copyright notice, this list of conditions and
+ * the following disclaimer in the documentation and/or other materials
+ * provided with the distribution. Neither the name of the author nor the names
+ * of its contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package opennlp.tools.stemmer.light;
+
+import opennlp.tools.commons.ThreadSafe;
+import opennlp.tools.stemmer.Stemmer;
+import opennlp.tools.stemmer.StemmerFactory;
+/**
+ * Light Stemmer for German.
+ *
+ * This stemmer implements the "UniNE" algorithm in: Light Stemming Approaches for the French,
+ * Portuguese, German and Hungarian Languages Jacques Savoy
+ *
+ *
Adapted from the identically named algorithm in Apache Lucene's analysis-common module.
+ * Instances are stateless and safe for concurrent use by multiple threads; each instance is also
+ * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a
+ * case-folding normalization step; the stemmer does not fold case itself.
+ */
+@ThreadSafe
+public final class GermanLightStemmer implements Stemmer, StemmerFactory {
+ /** {@inheritDoc} */
+ @Override
+ public CharSequence stem(CharSequence word) {
+ if (word == null) {
+ throw new IllegalArgumentException("The word must not be null.");
+ }
+ final int length = word.length();
+ final char[] buffer = new char[length];
+ for (int i = 0; i < length; i++) {
+ buffer[i] = word.charAt(i);
+ }
+ final int stemmedLength = stem(buffer, length);
+ return new String(buffer, 0, stemmedLength);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Stemmer newStemmer() {
+ return this;
+ }
+
+
+ private int stem(char[] s, int len) {
+ for (int i = 0; i < len; i++)
+ switch (s[i]) {
+ case 'ä':
+ case 'à':
+ case 'á':
+ case 'â':
+ s[i] = 'a';
+ break;
+ case 'ö':
+ case 'ò':
+ case 'ó':
+ case 'ô':
+ s[i] = 'o';
+ break;
+ case 'ï':
+ case 'ì':
+ case 'í':
+ case 'î':
+ s[i] = 'i';
+ break;
+ case 'ü':
+ case 'ù':
+ case 'ú':
+ case 'û':
+ s[i] = 'u';
+ break;
+ }
+
+ len = step1(s, len);
+ return step2(s, len);
+ }
+
+ private boolean stEnding(char ch) {
+ switch (ch) {
+ case 'b':
+ case 'd':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 't':
+ return true;
+ default:
+ return false;
+ }
+ }
+
+ private int step1(char[] s, int len) {
+ if (len > 5 && s[len - 3] == 'e' && s[len - 2] == 'r' && s[len - 1] == 'n') return len - 3;
+
+ if (len > 4 && s[len - 2] == 'e')
+ switch (s[len - 1]) {
+ case 'm':
+ case 'n':
+ case 'r':
+ case 's':
+ return len - 2;
+ }
+
+ if (len > 3 && s[len - 1] == 'e') return len - 1;
+
+ if (len > 3 && s[len - 1] == 's' && stEnding(s[len - 2])) return len - 1;
+
+ return len;
+ }
+
+ private int step2(char[] s, int len) {
+ if (len > 5 && s[len - 3] == 'e' && s[len - 2] == 's' && s[len - 1] == 't') return len - 3;
+
+ if (len > 4 && s[len - 2] == 'e' && (s[len - 1] == 'r' || s[len - 1] == 'n')) return len - 2;
+
+ if (len > 4 && s[len - 2] == 's' && s[len - 1] == 't' && stEnding(s[len - 3])) return len - 2;
+
+ return len;
+ }
+}
diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/GermanMinimalStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/GermanMinimalStemmer.java
new file mode 100644
index 0000000000..fe711a2edb
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/GermanMinimalStemmer.java
@@ -0,0 +1,136 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * This algorithm is updated based on code located at:
+ * http://members.unine.ch/jacques.savoy/clef/
+ *
+ * Full copyright for that code follows:
+ */
+/*
+ * Copyright (c) 2005, Jacques Savoy
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer. Redistributions in binary
+ * form must reproduce the above copyright notice, this list of conditions and
+ * the following disclaimer in the documentation and/or other materials
+ * provided with the distribution. Neither the name of the author nor the names
+ * of its contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package opennlp.tools.stemmer.light;
+
+import opennlp.tools.commons.ThreadSafe;
+import opennlp.tools.stemmer.Stemmer;
+import opennlp.tools.stemmer.StemmerFactory;
+/**
+ * Minimal Stemmer for German.
+ *
+ * This stemmer implements the following algorithm: Morphologie et recherche d'information
+ * Jacques Savoy.
+ *
+ *
Adapted from the identically named algorithm in Apache Lucene's analysis-common module.
+ * Instances are stateless and safe for concurrent use by multiple threads; each instance is also
+ * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a
+ * case-folding normalization step; the stemmer does not fold case itself.
+ */
+@ThreadSafe
+public final class GermanMinimalStemmer implements Stemmer, StemmerFactory {
+ /** {@inheritDoc} */
+ @Override
+ public CharSequence stem(CharSequence word) {
+ if (word == null) {
+ throw new IllegalArgumentException("The word must not be null.");
+ }
+ final int length = word.length();
+ final char[] buffer = new char[length];
+ for (int i = 0; i < length; i++) {
+ buffer[i] = word.charAt(i);
+ }
+ final int stemmedLength = stem(buffer, length);
+ return new String(buffer, 0, stemmedLength);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Stemmer newStemmer() {
+ return this;
+ }
+
+
+ private int stem(char[] s, int len) {
+ if (len < 5) return len;
+
+ for (int i = 0; i < len; i++)
+ switch (s[i]) {
+ case 'ä':
+ s[i] = 'a';
+ break;
+ case 'ö':
+ s[i] = 'o';
+ break;
+ case 'ü':
+ s[i] = 'u';
+ break;
+ }
+
+ if (len > 6 && s[len - 3] == 'n' && s[len - 2] == 'e' && s[len - 1] == 'n') return len - 3;
+
+ if (len > 5)
+ switch (s[len - 1]) {
+ case 'n':
+ if (s[len - 2] == 'e') return len - 2;
+ else break;
+ case 'e':
+ if (s[len - 2] == 's') return len - 2;
+ else break;
+ case 's':
+ if (s[len - 2] == 'e') return len - 2;
+ else break;
+ case 'r':
+ if (s[len - 2] == 'e') return len - 2;
+ else break;
+ }
+
+ switch (s[len - 1]) {
+ case 'n':
+ case 'e':
+ case 's':
+ case 'r':
+ return len - 1;
+ }
+
+ return len;
+ }
+}
diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/HungarianLightStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/HungarianLightStemmer.java
new file mode 100644
index 0000000000..cb8fed7c6d
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/HungarianLightStemmer.java
@@ -0,0 +1,273 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * This algorithm is updated based on code located at:
+ * http://members.unine.ch/jacques.savoy/clef/
+ *
+ * Full copyright for that code follows:
+ */
+/*
+ * Copyright (c) 2005, Jacques Savoy
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer. Redistributions in binary
+ * form must reproduce the above copyright notice, this list of conditions and
+ * the following disclaimer in the documentation and/or other materials
+ * provided with the distribution. Neither the name of the author nor the names
+ * of its contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package opennlp.tools.stemmer.light;
+
+import opennlp.tools.commons.ThreadSafe;
+import opennlp.tools.stemmer.Stemmer;
+import opennlp.tools.stemmer.StemmerFactory;
+
+import static opennlp.tools.stemmer.light.StemmerUtil.endsWith;
+/**
+ * Light Stemmer for Hungarian.
+ *
+ * This stemmer implements the "UniNE" algorithm in: Light Stemming Approaches for the French,
+ * Portuguese, German and Hungarian Languages Jacques Savoy
+ *
+ *
Adapted from the identically named algorithm in Apache Lucene's analysis-common module.
+ * Instances are stateless and safe for concurrent use by multiple threads; each instance is also
+ * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a
+ * case-folding normalization step; the stemmer does not fold case itself.
+ */
+@ThreadSafe
+public final class HungarianLightStemmer implements Stemmer, StemmerFactory {
+ /** {@inheritDoc} */
+ @Override
+ public CharSequence stem(CharSequence word) {
+ if (word == null) {
+ throw new IllegalArgumentException("The word must not be null.");
+ }
+ final int length = word.length();
+ final char[] buffer = new char[length];
+ for (int i = 0; i < length; i++) {
+ buffer[i] = word.charAt(i);
+ }
+ final int stemmedLength = stem(buffer, length);
+ return new String(buffer, 0, stemmedLength);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Stemmer newStemmer() {
+ return this;
+ }
+
+ private int stem(char[] s, int len) {
+ for (int i = 0; i < len; i++)
+ switch (s[i]) {
+ case 'á':
+ s[i] = 'a';
+ break;
+ case 'ë':
+ case 'é':
+ s[i] = 'e';
+ break;
+ case 'í':
+ s[i] = 'i';
+ break;
+ case 'ó':
+ case 'ő':
+ case 'õ':
+ case 'ö':
+ s[i] = 'o';
+ break;
+ case 'ú':
+ case 'ű':
+ case 'ũ':
+ case 'û':
+ case 'ü':
+ s[i] = 'u';
+ break;
+ }
+
+ len = removeCase(s, len);
+ len = removePossessive(s, len);
+ len = removePlural(s, len);
+ return normalize(s, len);
+ }
+
+ private int removeCase(char[] s, int len) {
+ if (len > 6 && endsWith(s, len, "kent")) return len - 4;
+
+ if (len > 5) {
+ if (endsWith(s, len, "nak")
+ || endsWith(s, len, "nek")
+ || endsWith(s, len, "val")
+ || endsWith(s, len, "vel")
+ || endsWith(s, len, "ert")
+ || endsWith(s, len, "rol")
+ || endsWith(s, len, "ban")
+ || endsWith(s, len, "ben")
+ || endsWith(s, len, "bol")
+ || endsWith(s, len, "nal")
+ || endsWith(s, len, "nel")
+ || endsWith(s, len, "hoz")
+ || endsWith(s, len, "hez")
+ || endsWith(s, len, "tol")) return len - 3;
+
+ if (endsWith(s, len, "al") || endsWith(s, len, "el")) {
+ if (!isVowel(s[len - 3]) && s[len - 3] == s[len - 4]) return len - 3;
+ }
+ }
+
+ if (len > 4) {
+ if (endsWith(s, len, "at")
+ || endsWith(s, len, "et")
+ || endsWith(s, len, "ot")
+ || endsWith(s, len, "va")
+ || endsWith(s, len, "ve")
+ || endsWith(s, len, "ra")
+ || endsWith(s, len, "re")
+ || endsWith(s, len, "ba")
+ || endsWith(s, len, "be")
+ || endsWith(s, len, "ul")
+ || endsWith(s, len, "ig")) return len - 2;
+
+ if ((endsWith(s, len, "on") || endsWith(s, len, "en")) && !isVowel(s[len - 3]))
+ return len - 2;
+
+ switch (s[len - 1]) {
+ case 't':
+ case 'n':
+ return len - 1;
+ case 'a':
+ case 'e':
+ if (s[len - 2] == s[len - 3] && !isVowel(s[len - 2])) return len - 2;
+ }
+ }
+
+ return len;
+ }
+
+ private int removePossessive(char[] s, int len) {
+ if (len > 6) {
+ if (!isVowel(s[len - 5])
+ && (endsWith(s, len, "atok") || endsWith(s, len, "otok") || endsWith(s, len, "etek")))
+ return len - 4;
+
+ if (endsWith(s, len, "itek") || endsWith(s, len, "itok")) return len - 4;
+ }
+
+ if (len > 5) {
+ if (!isVowel(s[len - 4])
+ && (endsWith(s, len, "unk") || endsWith(s, len, "tok") || endsWith(s, len, "tek")))
+ return len - 3;
+
+ if (isVowel(s[len - 4]) && endsWith(s, len, "juk")) return len - 3;
+
+ if (endsWith(s, len, "ink")) return len - 3;
+ }
+
+ if (len > 4) {
+ if (!isVowel(s[len - 3])
+ && (endsWith(s, len, "am")
+ || endsWith(s, len, "em")
+ || endsWith(s, len, "om")
+ || endsWith(s, len, "ad")
+ || endsWith(s, len, "ed")
+ || endsWith(s, len, "od")
+ || endsWith(s, len, "uk"))) return len - 2;
+
+ if (isVowel(s[len - 3])
+ && (endsWith(s, len, "nk") || endsWith(s, len, "ja") || endsWith(s, len, "je")))
+ return len - 2;
+
+ if (endsWith(s, len, "im") || endsWith(s, len, "id") || endsWith(s, len, "ik"))
+ return len - 2;
+ }
+
+ if (len > 3)
+ switch (s[len - 1]) {
+ case 'a':
+ case 'e':
+ if (!isVowel(s[len - 2])) return len - 1;
+ break;
+ case 'm':
+ case 'd':
+ if (isVowel(s[len - 2])) return len - 1;
+ break;
+ case 'i':
+ return len - 1;
+ }
+
+ return len;
+ }
+
+ @SuppressWarnings("fallthrough")
+ private int removePlural(char[] s, int len) {
+ if (len > 3 && s[len - 1] == 'k')
+ switch (s[len - 2]) {
+ case 'a':
+ case 'o':
+ case 'e':
+ if (len > 4) return len - 2; /* intentional fallthru */
+ default:
+ return len - 1;
+ }
+ return len;
+ }
+
+ private int normalize(char[] s, int len) {
+ if (len > 3)
+ switch (s[len - 1]) {
+ case 'a':
+ case 'e':
+ case 'i':
+ case 'o':
+ return len - 1;
+ }
+ return len;
+ }
+
+ private boolean isVowel(char ch) {
+ switch (ch) {
+ case 'a':
+ case 'e':
+ case 'i':
+ case 'o':
+ case 'u':
+ case 'y':
+ return true;
+ default:
+ return false;
+ }
+ }
+}
diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/ItalianLightStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/ItalianLightStemmer.java
new file mode 100644
index 0000000000..2664775df2
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/ItalianLightStemmer.java
@@ -0,0 +1,146 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * This algorithm is updated based on code located at:
+ * http://members.unine.ch/jacques.savoy/clef/
+ *
+ * Full copyright for that code follows:
+ */
+/*
+ * Copyright (c) 2005, Jacques Savoy
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer. Redistributions in binary
+ * form must reproduce the above copyright notice, this list of conditions and
+ * the following disclaimer in the documentation and/or other materials
+ * provided with the distribution. Neither the name of the author nor the names
+ * of its contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package opennlp.tools.stemmer.light;
+
+import opennlp.tools.commons.ThreadSafe;
+import opennlp.tools.stemmer.Stemmer;
+import opennlp.tools.stemmer.StemmerFactory;
+/**
+ * Light Stemmer for Italian.
+ *
+ * This stemmer implements the algorithm described in: Report on CLEF-2001 Experiments
+ * Jacques Savoy
+ *
+ *
Adapted from the identically named algorithm in Apache Lucene's analysis-common module.
+ * Instances are stateless and safe for concurrent use by multiple threads; each instance is also
+ * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a
+ * case-folding normalization step; the stemmer does not fold case itself.
+ */
+@ThreadSafe
+public final class ItalianLightStemmer implements Stemmer, StemmerFactory {
+ /** {@inheritDoc} */
+ @Override
+ public CharSequence stem(CharSequence word) {
+ if (word == null) {
+ throw new IllegalArgumentException("The word must not be null.");
+ }
+ final int length = word.length();
+ final char[] buffer = new char[length];
+ for (int i = 0; i < length; i++) {
+ buffer[i] = word.charAt(i);
+ }
+ final int stemmedLength = stem(buffer, length);
+ return new String(buffer, 0, stemmedLength);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Stemmer newStemmer() {
+ return this;
+ }
+
+
+ private int stem(char[] s, int len) {
+ if (len < 6) return len;
+
+ for (int i = 0; i < len; i++)
+ switch (s[i]) {
+ case 'à':
+ case 'á':
+ case 'â':
+ case 'ä':
+ s[i] = 'a';
+ break;
+ case 'ò':
+ case 'ó':
+ case 'ô':
+ case 'ö':
+ s[i] = 'o';
+ break;
+ case 'è':
+ case 'é':
+ case 'ê':
+ case 'ë':
+ s[i] = 'e';
+ break;
+ case 'ù':
+ case 'ú':
+ case 'û':
+ case 'ü':
+ s[i] = 'u';
+ break;
+ case 'ì':
+ case 'í':
+ case 'î':
+ case 'ï':
+ s[i] = 'i';
+ break;
+ }
+
+ switch (s[len - 1]) {
+ case 'e':
+ if (s[len - 2] == 'i' || s[len - 2] == 'h') return len - 2;
+ else return len - 1;
+ case 'i':
+ if (s[len - 2] == 'h' || s[len - 2] == 'i') return len - 2;
+ else return len - 1;
+ case 'a':
+ if (s[len - 2] == 'i') return len - 2;
+ else return len - 1;
+ case 'o':
+ if (s[len - 2] == 'i') return len - 2;
+ else return len - 1;
+ }
+
+ return len;
+ }
+}
diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/NorwegianLightStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/NorwegianLightStemmer.java
new file mode 100644
index 0000000000..4caeb4815a
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/NorwegianLightStemmer.java
@@ -0,0 +1,219 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * This algorithm is updated based on code located at:
+ * http://members.unine.ch/jacques.savoy/clef/
+ *
+ * Full copyright for that code follows:
+ */
+/*
+ * Copyright (c) 2005, Jacques Savoy
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer. Redistributions in binary
+ * form must reproduce the above copyright notice, this list of conditions and
+ * the following disclaimer in the documentation and/or other materials
+ * provided with the distribution. Neither the name of the author nor the names
+ * of its contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package opennlp.tools.stemmer.light;
+
+import opennlp.tools.commons.ThreadSafe;
+import opennlp.tools.stemmer.Stemmer;
+import opennlp.tools.stemmer.StemmerFactory;
+
+import static opennlp.tools.stemmer.light.StemmerUtil.endsWith;
+/**
+ * Light Stemmer for Norwegian.
+ *
+ * Parts of this stemmer is adapted from SwedishLightStemFilter, except that while the Swedish
+ * one has a pre-defined rule set and a corresponding corpus to validate against whereas the
+ * Norwegian one is hand crafted.
+ *
+ *
Adapted from the identically named algorithm in Apache Lucene's analysis-common module.
+ * Instances are stateless and safe for concurrent use by multiple threads; each instance is also
+ * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a
+ * case-folding normalization step; the stemmer does not fold case itself.
+ */
+@ThreadSafe
+public final class NorwegianLightStemmer implements Stemmer, StemmerFactory {
+ /** {@inheritDoc} */
+ @Override
+ public CharSequence stem(CharSequence word) {
+ if (word == null) {
+ throw new IllegalArgumentException("The word must not be null.");
+ }
+ final int length = word.length();
+ final char[] buffer = new char[length];
+ for (int i = 0; i < length; i++) {
+ buffer[i] = word.charAt(i);
+ }
+ final int stemmedLength = stem(buffer, length);
+ return new String(buffer, 0, stemmedLength);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Stemmer newStemmer() {
+ return this;
+ }
+
+ private final boolean useBokmaal;
+ private final boolean useNynorsk;
+
+ /**
+ * Instantiates the stemmer for one or both written standards.
+ *
+ * @param first The first standard whose endings are removed; must not be null.
+ * @param more Further standards; must not be or contain null.
+ * @throws IllegalArgumentException Thrown if a variety is null.
+ */
+ public NorwegianLightStemmer(NorwegianVariety first, NorwegianVariety... more) {
+ if (first == null || more == null) {
+ throw new IllegalArgumentException("The variety must not be null.");
+ }
+ boolean bokmaal = first == NorwegianVariety.BOKMAAL;
+ boolean nynorsk = first == NorwegianVariety.NYNORSK;
+ for (final NorwegianVariety variety : more) {
+ if (variety == null) {
+ throw new IllegalArgumentException("The variety must not be null.");
+ }
+ bokmaal |= variety == NorwegianVariety.BOKMAAL;
+ nynorsk |= variety == NorwegianVariety.NYNORSK;
+ }
+ useBokmaal = bokmaal;
+ useNynorsk = nynorsk;
+ }
+
+ private int stem(char[] s, int len) {
+ // Remove posessive -s (bilens -> bilen) and continue checking
+ if (len > 4 && s[len - 1] == 's') len--;
+
+ // Remove common endings, single-pass
+ if (len > 7
+ && ((endsWith(s, len, "heter") && useBokmaal)
+ || // general ending (hemmelig-heter -> hemmelig)
+ (endsWith(s, len, "heten") && useBokmaal)
+ || // general ending (hemmelig-heten -> hemmelig)
+ (endsWith(s, len, "heita")
+ && useNynorsk))) // general ending (hemmeleg-heita -> hemmeleg)
+ return len - 5;
+
+ // Remove Nynorsk common endings, single-pass
+ if (len > 8
+ && useNynorsk
+ && (endsWith(s, len, "heiter")
+ || // general ending (hemmeleg-heiter -> hemmeleg)
+ endsWith(s, len, "leiken")
+ || // general ending (trygg-leiken -> trygg)
+ endsWith(s, len, "leikar"))) // general ending (trygg-leikar -> trygg)
+ return len - 6;
+
+ if (len > 5
+ && (endsWith(s, len, "dom")
+ || // general ending (kristen-dom -> kristen)
+ (endsWith(s, len, "het") && useBokmaal))) // general ending (hemmelig-het -> hemmelig)
+ return len - 3;
+
+ if (len > 6
+ && useNynorsk
+ && (endsWith(s, len, "heit")
+ || // general ending (hemmeleg-heit -> hemmeleg)
+ endsWith(s, len, "semd")
+ || // general ending (verk-semd -> verk)
+ endsWith(s, len, "leik"))) // general ending (trygg-leik -> trygg)
+ return len - 4;
+
+ if (len > 7
+ && (endsWith(s, len, "elser")
+ || // general ending (føl-elser -> føl)
+ endsWith(s, len, "elsen"))) // general ending (føl-elsen -> føl)
+ return len - 5;
+
+ if (len > 6
+ && ((endsWith(s, len, "ende") && useBokmaal)
+ || // (sov-ende -> sov)
+ (endsWith(s, len, "ande") && useNynorsk)
+ || // (sov-ande -> sov)
+ endsWith(s, len, "else")
+ || // general ending (føl-else -> føl)
+ (endsWith(s, len, "este") && useBokmaal)
+ || // adj (fin-este -> fin)
+ (endsWith(s, len, "aste") && useNynorsk)
+ || // adj (fin-aste -> fin)
+ (endsWith(s, len, "eren") && useBokmaal)
+ || // masc
+ (endsWith(s, len, "aren") && useNynorsk))) // masc
+ return len - 4;
+
+ if (len > 5
+ && ((endsWith(s, len, "ere") && useBokmaal)
+ || // adj (fin-ere -> fin)
+ (endsWith(s, len, "are") && useNynorsk)
+ || // adj (fin-are -> fin)
+ (endsWith(s, len, "est") && useBokmaal)
+ || // adj (fin-est -> fin)
+ (endsWith(s, len, "ast") && useNynorsk)
+ || // adj (fin-ast -> fin)
+ endsWith(s, len, "ene")
+ || // masc/fem/neutr pl definite (hus-ene)
+ (endsWith(s, len, "ane") && useNynorsk))) // masc pl definite (gut-ane)
+ return len - 3;
+
+ if (len > 4
+ && (endsWith(s, len, "er")
+ || // masc/fem indefinite
+ endsWith(s, len, "en")
+ || // masc/fem definite
+ endsWith(s, len, "et")
+ || // neutr definite
+ (endsWith(s, len, "ar") && useNynorsk)
+ || // masc pl indefinite
+ (endsWith(s, len, "st") && useBokmaal)
+ || // adj (billig-st -> billig)
+ endsWith(s, len, "te"))) return len - 2;
+
+ if (len > 3)
+ switch (s[len - 1]) {
+ case 'a': // fem definite
+ case 'e': // to get correct stem for nouns ending in -e (kake -> kak, kaker -> kak)
+ case 'n':
+ return len - 1;
+ }
+
+ return len;
+ }
+}
diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/NorwegianMinimalStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/NorwegianMinimalStemmer.java
new file mode 100644
index 0000000000..e079491fd9
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/NorwegianMinimalStemmer.java
@@ -0,0 +1,149 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * This algorithm is updated based on code located at:
+ * http://members.unine.ch/jacques.savoy/clef/
+ *
+ * Full copyright for that code follows:
+ */
+/*
+ * Copyright (c) 2005, Jacques Savoy
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer. Redistributions in binary
+ * form must reproduce the above copyright notice, this list of conditions and
+ * the following disclaimer in the documentation and/or other materials
+ * provided with the distribution. Neither the name of the author nor the names
+ * of its contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package opennlp.tools.stemmer.light;
+
+import opennlp.tools.commons.ThreadSafe;
+import opennlp.tools.stemmer.Stemmer;
+import opennlp.tools.stemmer.StemmerFactory;
+
+import static opennlp.tools.stemmer.light.StemmerUtil.endsWith;
+
+/**
+ * Minimal Stemmer for Norwegian Bokmål (no-nb) and Nynorsk (no-nn)
+ *
+ * Stems known plural forms for Norwegian nouns only, together with genitiv -s
+ *
+ *
Adapted from the identically named algorithm in Apache Lucene's analysis-common module.
+ * Instances are stateless and safe for concurrent use by multiple threads; each instance is also
+ * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a
+ * case-folding normalization step; the stemmer does not fold case itself.
+ */
+@ThreadSafe
+public final class NorwegianMinimalStemmer implements Stemmer, StemmerFactory {
+ /** {@inheritDoc} */
+ @Override
+ public CharSequence stem(CharSequence word) {
+ if (word == null) {
+ throw new IllegalArgumentException("The word must not be null.");
+ }
+ final int length = word.length();
+ final char[] buffer = new char[length];
+ for (int i = 0; i < length; i++) {
+ buffer[i] = word.charAt(i);
+ }
+ final int stemmedLength = stem(buffer, length);
+ return new String(buffer, 0, stemmedLength);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Stemmer newStemmer() {
+ return this;
+ }
+
+ private final boolean useBokmaal;
+ private final boolean useNynorsk;
+
+ /**
+ * Instantiates the stemmer for one or both written standards.
+ *
+ * @param first The first standard whose endings are removed; must not be null.
+ * @param more Further standards; must not be or contain null.
+ * @throws IllegalArgumentException Thrown if a variety is null.
+ */
+ public NorwegianMinimalStemmer(NorwegianVariety first, NorwegianVariety... more) {
+ if (first == null || more == null) {
+ throw new IllegalArgumentException("The variety must not be null.");
+ }
+ boolean bokmaal = first == NorwegianVariety.BOKMAAL;
+ boolean nynorsk = first == NorwegianVariety.NYNORSK;
+ for (final NorwegianVariety variety : more) {
+ if (variety == null) {
+ throw new IllegalArgumentException("The variety must not be null.");
+ }
+ bokmaal |= variety == NorwegianVariety.BOKMAAL;
+ nynorsk |= variety == NorwegianVariety.NYNORSK;
+ }
+ useBokmaal = bokmaal;
+ useNynorsk = nynorsk;
+ }
+
+ private int stem(char[] s, int len) {
+ // Remove genitiv s
+ if (len > 4 && s[len - 1] == 's') len--;
+
+ if (len > 5
+ && (endsWith(s, len, "ene")
+ || // masc/fem/neutr pl definite (hus-ene)
+ (endsWith(s, len, "ane") && useNynorsk // masc pl definite (gut-ane)
+ ))) return len - 3;
+
+ if (len > 4
+ && (endsWith(s, len, "er")
+ || // masc/fem indefinite
+ endsWith(s, len, "en")
+ || // masc/fem definite
+ endsWith(s, len, "et")
+ || // neutr definite
+ (endsWith(s, len, "ar") && useNynorsk // masc pl indefinite
+ ))) return len - 2;
+
+ if (len > 3)
+ switch (s[len - 1]) {
+ case 'a': // fem definite
+ case 'e': // to get correct stem for nouns ending in -e (kake -> kak, kaker -> kak)
+ return len - 1;
+ }
+
+ return len;
+ }
+}
diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/NorwegianVariety.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/NorwegianVariety.java
new file mode 100644
index 0000000000..cdebdcc9a9
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/NorwegianVariety.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package opennlp.tools.stemmer.light;
+
+/**
+ * The written standards of Norwegian whose endings the {@link NorwegianLightStemmer} and
+ * {@link NorwegianMinimalStemmer} remove. A stemmer can handle one standard or both.
+ */
+public enum NorwegianVariety {
+
+ /** Bokmaal, the majority written standard. */
+ BOKMAAL,
+
+ /** Nynorsk, the minority written standard. */
+ NYNORSK
+}
diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/PortugueseLightStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/PortugueseLightStemmer.java
new file mode 100644
index 0000000000..bf85bbb267
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/PortugueseLightStemmer.java
@@ -0,0 +1,239 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * This algorithm is updated based on code located at:
+ * http://members.unine.ch/jacques.savoy/clef/
+ *
+ * Full copyright for that code follows:
+ */
+/*
+ * Copyright (c) 2005, Jacques Savoy
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer. Redistributions in binary
+ * form must reproduce the above copyright notice, this list of conditions and
+ * the following disclaimer in the documentation and/or other materials
+ * provided with the distribution. Neither the name of the author nor the names
+ * of its contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package opennlp.tools.stemmer.light;
+
+import opennlp.tools.commons.ThreadSafe;
+import opennlp.tools.stemmer.Stemmer;
+import opennlp.tools.stemmer.StemmerFactory;
+
+import static opennlp.tools.stemmer.light.StemmerUtil.endsWith;
+/**
+ * Light Stemmer for Portuguese
+ *
+ * This stemmer implements the "UniNE" algorithm in: Light Stemming Approaches for the French,
+ * Portuguese, German and Hungarian Languages Jacques Savoy
+ *
+ *
Adapted from the identically named algorithm in Apache Lucene's analysis-common module.
+ * Instances are stateless and safe for concurrent use by multiple threads; each instance is also
+ * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a
+ * case-folding normalization step; the stemmer does not fold case itself.
+ */
+@ThreadSafe
+public final class PortugueseLightStemmer implements Stemmer, StemmerFactory {
+ /** {@inheritDoc} */
+ @Override
+ public CharSequence stem(CharSequence word) {
+ if (word == null) {
+ throw new IllegalArgumentException("The word must not be null.");
+ }
+ final int length = word.length();
+ final char[] buffer = new char[length];
+ for (int i = 0; i < length; i++) {
+ buffer[i] = word.charAt(i);
+ }
+ final int stemmedLength = stem(buffer, length);
+ return new String(buffer, 0, stemmedLength);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Stemmer newStemmer() {
+ return this;
+ }
+
+ private int stem(char[] s, int len) {
+ if (len < 4) return len;
+
+ len = removeSuffix(s, len);
+
+ if (len > 3 && s[len - 1] == 'a') len = normFeminine(s, len);
+
+ if (len > 4)
+ switch (s[len - 1]) {
+ case 'e':
+ case 'a':
+ case 'o':
+ len--;
+ break;
+ }
+
+ for (int i = 0; i < len; i++)
+ switch (s[i]) {
+ case 'à':
+ case 'á':
+ case 'â':
+ case 'ä':
+ case 'ã':
+ s[i] = 'a';
+ break;
+ case 'ò':
+ case 'ó':
+ case 'ô':
+ case 'ö':
+ case 'õ':
+ s[i] = 'o';
+ break;
+ case 'è':
+ case 'é':
+ case 'ê':
+ case 'ë':
+ s[i] = 'e';
+ break;
+ case 'ù':
+ case 'ú':
+ case 'û':
+ case 'ü':
+ s[i] = 'u';
+ break;
+ case 'ì':
+ case 'í':
+ case 'î':
+ case 'ï':
+ s[i] = 'i';
+ break;
+ case 'ç':
+ s[i] = 'c';
+ break;
+ }
+
+ return len;
+ }
+
+ private int removeSuffix(char[] s, int len) {
+ if (len > 4 && endsWith(s, len, "es"))
+ switch (s[len - 3]) {
+ case 'r':
+ case 's':
+ case 'l':
+ case 'z':
+ return len - 2;
+ }
+
+ if (len > 3 && endsWith(s, len, "ns")) {
+ s[len - 2] = 'm';
+ return len - 1;
+ }
+
+ if (len > 4 && (endsWith(s, len, "eis") || endsWith(s, len, "éis"))) {
+ s[len - 3] = 'e';
+ s[len - 2] = 'l';
+ return len - 1;
+ }
+
+ if (len > 4 && endsWith(s, len, "ais")) {
+ s[len - 2] = 'l';
+ return len - 1;
+ }
+
+ if (len > 4 && endsWith(s, len, "óis")) {
+ s[len - 3] = 'o';
+ s[len - 2] = 'l';
+ return len - 1;
+ }
+
+ if (len > 4 && endsWith(s, len, "is")) {
+ s[len - 1] = 'l';
+ return len;
+ }
+
+ if (len > 3 && (endsWith(s, len, "ões") || endsWith(s, len, "ães"))) {
+ len--;
+ s[len - 2] = 'ã';
+ s[len - 1] = 'o';
+ return len;
+ }
+
+ if (len > 6 && endsWith(s, len, "mente")) return len - 5;
+
+ if (len > 3 && s[len - 1] == 's') return len - 1;
+ return len;
+ }
+
+ private int normFeminine(char[] s, int len) {
+ if (len > 7
+ && (endsWith(s, len, "inha") || endsWith(s, len, "iaca") || endsWith(s, len, "eira"))) {
+ s[len - 1] = 'o';
+ return len;
+ }
+
+ if (len > 6) {
+ if (endsWith(s, len, "osa")
+ || endsWith(s, len, "ica")
+ || endsWith(s, len, "ida")
+ || endsWith(s, len, "ada")
+ || endsWith(s, len, "iva")
+ || endsWith(s, len, "ama")) {
+ s[len - 1] = 'o';
+ return len;
+ }
+
+ if (endsWith(s, len, "ona")) {
+ s[len - 3] = 'ã';
+ s[len - 2] = 'o';
+ return len - 1;
+ }
+
+ if (endsWith(s, len, "ora")) return len - 1;
+
+ if (endsWith(s, len, "esa")) {
+ s[len - 3] = 'ê';
+ return len - 1;
+ }
+
+ if (endsWith(s, len, "na")) {
+ s[len - 1] = 'o';
+ return len;
+ }
+ }
+ return len;
+ }
+}
diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/RussianLightStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/RussianLightStemmer.java
new file mode 100644
index 0000000000..2089b00c26
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/RussianLightStemmer.java
@@ -0,0 +1,178 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * This algorithm is updated based on code located at:
+ * http://members.unine.ch/jacques.savoy/clef/
+ *
+ * Full copyright for that code follows:
+ */
+/*
+ * Copyright (c) 2005, Jacques Savoy
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer. Redistributions in binary
+ * form must reproduce the above copyright notice, this list of conditions and
+ * the following disclaimer in the documentation and/or other materials
+ * provided with the distribution. Neither the name of the author nor the names
+ * of its contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package opennlp.tools.stemmer.light;
+
+import opennlp.tools.commons.ThreadSafe;
+import opennlp.tools.stemmer.Stemmer;
+import opennlp.tools.stemmer.StemmerFactory;
+
+import static opennlp.tools.stemmer.light.StemmerUtil.endsWith;
+/**
+ * Light Stemmer for Russian.
+ *
+ * This stemmer implements the following algorithm: Indexing and Searching Strategies for the
+ * Russian Language. Ljiljana Dolamic and Jacques Savoy.
+ *
+ *
Adapted from the identically named algorithm in Apache Lucene's analysis-common module.
+ * Instances are stateless and safe for concurrent use by multiple threads; each instance is also
+ * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a
+ * case-folding normalization step; the stemmer does not fold case itself.
+ */
+@ThreadSafe
+public final class RussianLightStemmer implements Stemmer, StemmerFactory {
+ /** {@inheritDoc} */
+ @Override
+ public CharSequence stem(CharSequence word) {
+ if (word == null) {
+ throw new IllegalArgumentException("The word must not be null.");
+ }
+ final int length = word.length();
+ final char[] buffer = new char[length];
+ for (int i = 0; i < length; i++) {
+ buffer[i] = word.charAt(i);
+ }
+ final int stemmedLength = stem(buffer, length);
+ return new String(buffer, 0, stemmedLength);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Stemmer newStemmer() {
+ return this;
+ }
+
+ private int stem(char[] s, int len) {
+ len = removeCase(s, len);
+ return normalize(s, len);
+ }
+
+ private int normalize(char[] s, int len) {
+ if (len > 3)
+ switch (s[len - 1]) {
+ case 'ь':
+ case 'и':
+ return len - 1;
+ case 'н':
+ if (s[len - 2] == 'н') return len - 1;
+ }
+ return len;
+ }
+
+ private int removeCase(char[] s, int len) {
+ if (len > 6 && (endsWith(s, len, "иями") || endsWith(s, len, "оями"))) return len - 4;
+
+ if (len > 5
+ && (endsWith(s, len, "иям")
+ || endsWith(s, len, "иях")
+ || endsWith(s, len, "оях")
+ || endsWith(s, len, "ями")
+ || endsWith(s, len, "оям")
+ || endsWith(s, len, "оьв")
+ || endsWith(s, len, "ами")
+ || endsWith(s, len, "его")
+ || endsWith(s, len, "ему")
+ || endsWith(s, len, "ери")
+ || endsWith(s, len, "ими")
+ || endsWith(s, len, "ого")
+ || endsWith(s, len, "ому")
+ || endsWith(s, len, "ыми")
+ || endsWith(s, len, "оев"))) return len - 3;
+
+ if (len > 4
+ && (endsWith(s, len, "ая")
+ || endsWith(s, len, "яя")
+ || endsWith(s, len, "ях")
+ || endsWith(s, len, "юю")
+ || endsWith(s, len, "ах")
+ || endsWith(s, len, "ею")
+ || endsWith(s, len, "их")
+ || endsWith(s, len, "ия")
+ || endsWith(s, len, "ию")
+ || endsWith(s, len, "ьв")
+ || endsWith(s, len, "ою")
+ || endsWith(s, len, "ую")
+ || endsWith(s, len, "ям")
+ || endsWith(s, len, "ых")
+ || endsWith(s, len, "ея")
+ || endsWith(s, len, "ам")
+ || endsWith(s, len, "ем")
+ || endsWith(s, len, "ей")
+ || endsWith(s, len, "ём")
+ || endsWith(s, len, "ев")
+ || endsWith(s, len, "ий")
+ || endsWith(s, len, "им")
+ || endsWith(s, len, "ое")
+ || endsWith(s, len, "ой")
+ || endsWith(s, len, "ом")
+ || endsWith(s, len, "ов")
+ || endsWith(s, len, "ые")
+ || endsWith(s, len, "ый")
+ || endsWith(s, len, "ым")
+ || endsWith(s, len, "ми"))) return len - 2;
+
+ if (len > 3)
+ switch (s[len - 1]) {
+ case 'а':
+ case 'е':
+ case 'и':
+ case 'о':
+ case 'у':
+ case 'й':
+ case 'ы':
+ case 'я':
+ case 'ь':
+ return len - 1;
+ }
+
+ return len;
+ }
+}
diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/SpanishLightStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/SpanishLightStemmer.java
new file mode 100644
index 0000000000..0645593dac
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/SpanishLightStemmer.java
@@ -0,0 +1,145 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * This algorithm is updated based on code located at:
+ * http://members.unine.ch/jacques.savoy/clef/
+ *
+ * Full copyright for that code follows:
+ */
+/*
+ * Copyright (c) 2005, Jacques Savoy
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer. Redistributions in binary
+ * form must reproduce the above copyright notice, this list of conditions and
+ * the following disclaimer in the documentation and/or other materials
+ * provided with the distribution. Neither the name of the author nor the names
+ * of its contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package opennlp.tools.stemmer.light;
+
+import opennlp.tools.commons.ThreadSafe;
+import opennlp.tools.stemmer.Stemmer;
+import opennlp.tools.stemmer.StemmerFactory;
+/**
+ * Light Stemmer for Spanish
+ *
+ * This stemmer implements the algorithm described in: Report on CLEF-2001 Experiments
+ * Jacques Savoy
+ *
+ *
Adapted from the identically named algorithm in Apache Lucene's analysis-common module.
+ * Instances are stateless and safe for concurrent use by multiple threads; each instance is also
+ * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a
+ * case-folding normalization step; the stemmer does not fold case itself.
+ */
+@ThreadSafe
+public final class SpanishLightStemmer implements Stemmer, StemmerFactory {
+ /** {@inheritDoc} */
+ @Override
+ public CharSequence stem(CharSequence word) {
+ if (word == null) {
+ throw new IllegalArgumentException("The word must not be null.");
+ }
+ final int length = word.length();
+ final char[] buffer = new char[length];
+ for (int i = 0; i < length; i++) {
+ buffer[i] = word.charAt(i);
+ }
+ final int stemmedLength = stem(buffer, length);
+ return new String(buffer, 0, stemmedLength);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Stemmer newStemmer() {
+ return this;
+ }
+
+
+ private int stem(char[] s, int len) {
+ if (len < 5) return len;
+
+ for (int i = 0; i < len; i++)
+ switch (s[i]) {
+ case 'à':
+ case 'á':
+ case 'â':
+ case 'ä':
+ s[i] = 'a';
+ break;
+ case 'ò':
+ case 'ó':
+ case 'ô':
+ case 'ö':
+ s[i] = 'o';
+ break;
+ case 'è':
+ case 'é':
+ case 'ê':
+ case 'ë':
+ s[i] = 'e';
+ break;
+ case 'ù':
+ case 'ú':
+ case 'û':
+ case 'ü':
+ s[i] = 'u';
+ break;
+ case 'ì':
+ case 'í':
+ case 'î':
+ case 'ï':
+ s[i] = 'i';
+ break;
+ }
+
+ switch (s[len - 1]) {
+ case 'o':
+ case 'a':
+ case 'e':
+ return len - 1;
+ case 's':
+ if (s[len - 2] == 'e' && s[len - 3] == 's' && s[len - 4] == 'e') return len - 2;
+ if (s[len - 2] == 'e' && s[len - 3] == 'c') {
+ s[len - 3] = 'z';
+ return len - 2;
+ }
+ if (s[len - 2] == 'o' || s[len - 2] == 'a' || s[len - 2] == 'e') return len - 2;
+ }
+
+ return len;
+ }
+}
diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/SpanishMinimalStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/SpanishMinimalStemmer.java
new file mode 100644
index 0000000000..b14ad49969
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/SpanishMinimalStemmer.java
@@ -0,0 +1,117 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package opennlp.tools.stemmer.light;
+
+import opennlp.tools.commons.ThreadSafe;
+import opennlp.tools.stemmer.Stemmer;
+import opennlp.tools.stemmer.StemmerFactory;
+/**
+ * Minimal plural stemmer for Spanish.
+ *
+ * This stemmer implements the "plurals" stemmer for spanish language.
+ *
+ * @deprecated Use {@link SpanishPluralStemmer} instead.
+ */
+@Deprecated
+@ThreadSafe
+public final class SpanishMinimalStemmer implements Stemmer, StemmerFactory {
+ /** {@inheritDoc} */
+ @Override
+ public CharSequence stem(CharSequence word) {
+ if (word == null) {
+ throw new IllegalArgumentException("The word must not be null.");
+ }
+ final int length = word.length();
+ final char[] buffer = new char[length];
+ for (int i = 0; i < length; i++) {
+ buffer[i] = word.charAt(i);
+ }
+ final int stemmedLength = stem(buffer, length);
+ return new String(buffer, 0, stemmedLength);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Stemmer newStemmer() {
+ return this;
+ }
+
+
+ private int stem(char[] s, int len) {
+ if (len < 4 || s[len - 1] != 's') return len;
+
+ for (int i = 0; i < len; i++)
+ switch (s[i]) {
+ case 'à':
+ case 'á':
+ case 'â':
+ case 'ä':
+ s[i] = 'a';
+ break;
+ case 'ò':
+ case 'ó':
+ case 'ô':
+ case 'ö':
+ s[i] = 'o';
+ break;
+ case 'è':
+ case 'é':
+ case 'ê':
+ case 'ë':
+ s[i] = 'e';
+ break;
+ case 'ù':
+ case 'ú':
+ case 'û':
+ case 'ü':
+ s[i] = 'u';
+ break;
+ case 'ì':
+ case 'í':
+ case 'î':
+ case 'ï':
+ s[i] = 'i';
+ break;
+ case 'ñ':
+ s[i] = 'n';
+ break;
+ }
+
+ switch (s[len - 1]) {
+ case 's':
+ if (s[len - 2] == 'a' || s[len - 2] == 'o') {
+ return len - 1;
+ }
+ if (s[len - 2] == 'e') {
+ if (s[len - 3] == 's' && s[len - 4] == 'e') {
+ return len - 2;
+ }
+ if (s[len - 3] == 'c') {
+ s[len - 3] = 'z';
+ return len - 2;
+ } else {
+ return len - 2;
+ }
+ } else {
+ return len - 1;
+ }
+ }
+
+ return len;
+ }
+}
diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/StemmerUtil.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/StemmerUtil.java
new file mode 100644
index 0000000000..4c0b3f804f
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/StemmerUtil.java
@@ -0,0 +1,123 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package opennlp.tools.stemmer.light;
+
+/**
+ * Buffer helpers shared by the light and minimal stemmers, adapted from Apache Lucene's
+ * analysis-common module. All operate on a {@code char[]} prefix of the given length, the
+ * in-place convention the stemming algorithms use.
+ */
+final class StemmerUtil {
+
+ private StemmerUtil() {
+ }
+
+ /**
+ * Checks whether the buffer starts with a prefix.
+ *
+ * @param s The input buffer.
+ * @param len The filled length of the buffer.
+ * @param prefix The prefix to test.
+ * @return {@code true} if the buffer starts with {@code prefix}.
+ */
+ static boolean startsWith(char[] s, int len, String prefix) {
+ final int prefixLen = prefix.length();
+ if (prefixLen > len) {
+ return false;
+ }
+ for (int i = 0; i < prefixLen; i++) {
+ if (s[i] != prefix.charAt(i)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Checks whether the buffer ends with a suffix.
+ *
+ * @param s The input buffer.
+ * @param len The filled length of the buffer.
+ * @param suffix The suffix to test.
+ * @return {@code true} if the buffer ends with {@code suffix}.
+ */
+ static boolean endsWith(char[] s, int len, String suffix) {
+ final int suffixLen = suffix.length();
+ if (suffixLen > len) {
+ return false;
+ }
+ for (int i = suffixLen - 1; i >= 0; i--) {
+ if (s[len - (suffixLen - i)] != suffix.charAt(i)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Checks whether the buffer ends with a suffix.
+ *
+ * @param s The input buffer.
+ * @param len The filled length of the buffer.
+ * @param suffix The suffix to test.
+ * @return {@code true} if the buffer ends with {@code suffix}.
+ */
+ static boolean endsWith(char[] s, int len, char[] suffix) {
+ final int suffixLen = suffix.length;
+ if (suffixLen > len) {
+ return false;
+ }
+ for (int i = suffixLen - 1; i >= 0; i--) {
+ if (s[len - (suffixLen - i)] != suffix[i]) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Deletes one character in place.
+ *
+ * @param s The input buffer.
+ * @param pos The position of the character to delete; must be less than {@code len}.
+ * @param len The filled length of the buffer.
+ * @return The filled length after the deletion.
+ */
+ static int delete(char[] s, int pos, int len) {
+ if (pos < len - 1) {
+ System.arraycopy(s, pos + 1, s, pos, len - pos - 1);
+ }
+ return len - 1;
+ }
+
+ /**
+ * Deletes {@code nChars} characters in place.
+ *
+ * @param s The input buffer.
+ * @param pos The position of the first character to delete.
+ * @param len The filled length of the buffer.
+ * @param nChars The number of characters to delete; {@code pos + nChars} must not exceed
+ * {@code len}.
+ * @return The filled length after the deletion.
+ */
+ static int deleteN(char[] s, int pos, int len, int nChars) {
+ if (pos + nChars < len) {
+ System.arraycopy(s, pos + nChars, s, pos, len - pos - nChars);
+ }
+ return len - nChars;
+ }
+}
diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/SwedishLightStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/SwedishLightStemmer.java
new file mode 100644
index 0000000000..8f835c1a20
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/SwedishLightStemmer.java
@@ -0,0 +1,130 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * This algorithm is updated based on code located at:
+ * http://members.unine.ch/jacques.savoy/clef/
+ *
+ * Full copyright for that code follows:
+ */
+/*
+ * Copyright (c) 2005, Jacques Savoy
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer. Redistributions in binary
+ * form must reproduce the above copyright notice, this list of conditions and
+ * the following disclaimer in the documentation and/or other materials
+ * provided with the distribution. Neither the name of the author nor the names
+ * of its contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package opennlp.tools.stemmer.light;
+
+import opennlp.tools.commons.ThreadSafe;
+import opennlp.tools.stemmer.Stemmer;
+import opennlp.tools.stemmer.StemmerFactory;
+
+import static opennlp.tools.stemmer.light.StemmerUtil.endsWith;
+/**
+ * Light Stemmer for Swedish.
+ *
+ *
This stemmer implements the algorithm described in: Report on CLEF-2003 Monolingual
+ * Tracks Jacques Savoy
+ *
+ *
Adapted from the identically named algorithm in Apache Lucene's analysis-common module.
+ * Instances are stateless and safe for concurrent use by multiple threads; each instance is also
+ * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a
+ * case-folding normalization step; the stemmer does not fold case itself.
+ */
+@ThreadSafe
+public final class SwedishLightStemmer implements Stemmer, StemmerFactory {
+ /** {@inheritDoc} */
+ @Override
+ public CharSequence stem(CharSequence word) {
+ if (word == null) {
+ throw new IllegalArgumentException("The word must not be null.");
+ }
+ final int length = word.length();
+ final char[] buffer = new char[length];
+ for (int i = 0; i < length; i++) {
+ buffer[i] = word.charAt(i);
+ }
+ final int stemmedLength = stem(buffer, length);
+ return new String(buffer, 0, stemmedLength);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Stemmer newStemmer() {
+ return this;
+ }
+
+ private int stem(char[] s, int len) {
+ if (len > 4 && s[len - 1] == 's') len--;
+
+ if (len > 7 && (endsWith(s, len, "elser") || endsWith(s, len, "heten"))) return len - 5;
+
+ if (len > 6
+ && (endsWith(s, len, "arne")
+ || endsWith(s, len, "erna")
+ || endsWith(s, len, "ande")
+ || endsWith(s, len, "else")
+ || endsWith(s, len, "aste")
+ || endsWith(s, len, "orna")
+ || endsWith(s, len, "aren"))) return len - 4;
+
+ if (len > 5 && (endsWith(s, len, "are") || endsWith(s, len, "ast") || endsWith(s, len, "het")))
+ return len - 3;
+
+ if (len > 4
+ && (endsWith(s, len, "ar")
+ || endsWith(s, len, "er")
+ || endsWith(s, len, "or")
+ || endsWith(s, len, "en")
+ || endsWith(s, len, "at")
+ || endsWith(s, len, "te")
+ || endsWith(s, len, "et"))) return len - 2;
+
+ if (len > 3)
+ switch (s[len - 1]) {
+ case 't':
+ case 'a':
+ case 'e':
+ case 'n':
+ return len - 1;
+ }
+
+ return len;
+ }
+}
diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/SwedishMinimalStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/SwedishMinimalStemmer.java
new file mode 100644
index 0000000000..1eb2f64547
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/light/SwedishMinimalStemmer.java
@@ -0,0 +1,124 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * The code is inspired from original code located at: http://members.unine.ch/jacques.savoy/clef/
+ *
+ * Full copyright for that code follows:
+ */
+/*
+ * Copyright (c) 2005, Jacques Savoy
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer. Redistributions in binary
+ * form must reproduce the above copyright notice, this list of conditions and
+ * the following disclaimer in the documentation and/or other materials
+ * provided with the distribution. Neither the name of the author nor the names
+ * of its contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package opennlp.tools.stemmer.light;
+
+import opennlp.tools.commons.ThreadSafe;
+import opennlp.tools.stemmer.Stemmer;
+import opennlp.tools.stemmer.StemmerFactory;
+
+import static opennlp.tools.stemmer.light.StemmerUtil.endsWith;
+/**
+ * Minimal Stemmer for Swedish. The algorithm is an adapted version of the SwedishLightStemmer, but
+ * only stripping the most common plural suffixes for nouns: -ar/arne/arna/aren, -at, -er/erna, -et,
+ * -or/orna, -en. We do not strip -an or -ans suffixes, since that would require a large dictionary
+ * of exceptions.
+ *
+ * @since 9.0.0
+ *
+ * Adapted from the identically named algorithm in Apache Lucene's analysis-common module.
+ * Instances are stateless and safe for concurrent use by multiple threads; each instance is also
+ * its own {@link StemmerFactory}. Input is expected to be lowercase, as produced by a
+ * case-folding normalization step; the stemmer does not fold case itself.
+ */
+@ThreadSafe
+public final class SwedishMinimalStemmer implements Stemmer, StemmerFactory {
+ /** {@inheritDoc} */
+ @Override
+ public CharSequence stem(CharSequence word) {
+ if (word == null) {
+ throw new IllegalArgumentException("The word must not be null.");
+ }
+ final int length = word.length();
+ final char[] buffer = new char[length];
+ for (int i = 0; i < length; i++) {
+ buffer[i] = word.charAt(i);
+ }
+ final int stemmedLength = stem(buffer, length);
+ return new String(buffer, 0, stemmedLength);
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Stemmer newStemmer() {
+ return this;
+ }
+
+ private int stem(char[] s, int len) {
+ if (len > 4 && s[len - 1] == 's') len--;
+
+ if (len > 6
+ && (endsWith(s, len, "arne")
+ || endsWith(s, len, "erna")
+ || endsWith(s, len, "arna")
+ || endsWith(s, len, "orna")
+ || endsWith(s, len, "aren"))) return len - 4;
+
+ if (len > 5 && (endsWith(s, len, "are"))) return len - 3;
+
+ if (len > 4
+ && (endsWith(s, len, "ar")
+ || endsWith(s, len, "at")
+ || endsWith(s, len, "er")
+ || endsWith(s, len, "et")
+ || endsWith(s, len, "or")
+ || endsWith(s, len, "en"))) return len - 2;
+
+ if (len > 3)
+ switch (s[len - 1]) {
+ case 'a':
+ case 'e':
+ case 'n':
+ return len - 1;
+ }
+
+ return len;
+ }
+}
diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/SnowballStemmer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/SnowballStemmer.java
index 7b8b1636ae..eff5554951 100644
--- a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/SnowballStemmer.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/SnowballStemmer.java
@@ -17,76 +17,87 @@
package opennlp.tools.stemmer.snowball;
+import java.util.function.Supplier;
+
+import opennlp.tools.commons.ThreadSafe;
+import opennlp.tools.stemmer.SharingStemmer;
import opennlp.tools.stemmer.Stemmer;
+/**
+ * A {@link Stemmer} backed by the generated Snowball engines. Each call is routed to a per-thread
+ * engine, so a single {@code SnowballStemmer} instance is safe to share across threads.
+ *
+ * Long-running environments such as application containers should call
+ * {@link #clearThreadLocalState()} when a pooled thread no longer uses this stemmer.
+ */
+@ThreadSafe
public class SnowballStemmer implements Stemmer {
- private final AbstractSnowballStemmer stemmer;
- private final int repeat;
+ private final SharingStemmer sharing;
+ /**
+ * Creates a stemmer for the given algorithm and repeat count.
+ *
+ * @param algorithm The Snowball algorithm. Must not be {@code null}.
+ * @param repeat How many times to apply the stemmer per word; must be positive.
+ * @throws IllegalArgumentException Thrown if {@code algorithm} is {@code null} or
+ * {@code repeat} is not positive.
+ */
public SnowballStemmer(ALGORITHM algorithm, int repeat) {
- this.repeat = repeat;
-
- if (ALGORITHM.ARABIC.equals(algorithm)) {
- stemmer = new arabicStemmer();
- } else if (ALGORITHM.DANISH.equals(algorithm)) {
- stemmer = new danishStemmer();
- } else if (ALGORITHM.DUTCH.equals(algorithm)) {
- stemmer = new dutchStemmer();
- } else if (ALGORITHM.CATALAN.equals(algorithm)) {
- stemmer = new catalanStemmer();
- } else if (ALGORITHM.ENGLISH.equals(algorithm)) {
- stemmer = new englishStemmer();
- } else if (ALGORITHM.FINNISH.equals(algorithm)) {
- stemmer = new finnishStemmer();
- } else if (ALGORITHM.FRENCH.equals(algorithm)) {
- stemmer = new frenchStemmer();
- } else if (ALGORITHM.GERMAN.equals(algorithm)) {
- stemmer = new germanStemmer();
- } else if (ALGORITHM.GREEK.equals(algorithm)) {
- stemmer = new greekStemmer();
- } else if (ALGORITHM.HUNGARIAN.equals(algorithm)) {
- stemmer = new hungarianStemmer();
- } else if (ALGORITHM.INDONESIAN.equals(algorithm)) {
- stemmer = new indonesianStemmer();
- } else if (ALGORITHM.IRISH.equals(algorithm)) {
- stemmer = new irishStemmer();
- } else if (ALGORITHM.ITALIAN.equals(algorithm)) {
- stemmer = new italianStemmer();
- } else if (ALGORITHM.NORWEGIAN.equals(algorithm)) {
- stemmer = new norwegianStemmer();
- } else if (ALGORITHM.PORTER.equals(algorithm)) {
- stemmer = new porterStemmer();
- } else if (ALGORITHM.PORTUGUESE.equals(algorithm)) {
- stemmer = new portugueseStemmer();
- } else if (ALGORITHM.ROMANIAN.equals(algorithm)) {
- stemmer = new romanianStemmer();
- } else if (ALGORITHM.RUSSIAN.equals(algorithm)) {
- stemmer = new russianStemmer();
- } else if (ALGORITHM.SPANISH.equals(algorithm)) {
- stemmer = new spanishStemmer();
- } else if (ALGORITHM.SWEDISH.equals(algorithm)) {
- stemmer = new swedishStemmer();
- } else if (ALGORITHM.TURKISH.equals(algorithm)) {
- stemmer = new turkishStemmer();
- } else {
- throw new IllegalStateException("Unexpected stemmer algorithm: " + algorithm);
- }
+ this.sharing = new SharingStemmer(new SnowballStemmerFactory(algorithm, repeat));
}
+ /**
+ * Creates a stemmer for the given algorithm with {@code repeat = 1}.
+ *
+ * @param algorithm The Snowball algorithm. Must not be {@code null}.
+ */
public SnowballStemmer(ALGORITHM algorithm) {
this(algorithm, 1);
}
- public CharSequence stem(CharSequence word) {
-
- stemmer.setCurrent(word.toString());
+ /**
+ * {@return a supplier of fresh engine instances for {@code algorithm}} Shared with
+ * {@link SnowballStemmerFactory}, whose products embed one engine directly.
+ */
+ static Supplier engineFor(ALGORITHM algorithm) {
+ return switch (algorithm) {
+ case ARABIC -> arabicStemmer::new;
+ case DANISH -> danishStemmer::new;
+ case DUTCH -> dutchStemmer::new;
+ case CATALAN -> catalanStemmer::new;
+ case ENGLISH -> englishStemmer::new;
+ case FINNISH -> finnishStemmer::new;
+ case FRENCH -> frenchStemmer::new;
+ case GERMAN -> germanStemmer::new;
+ case GREEK -> greekStemmer::new;
+ case HUNGARIAN -> hungarianStemmer::new;
+ case INDONESIAN -> indonesianStemmer::new;
+ case IRISH -> irishStemmer::new;
+ case ITALIAN -> italianStemmer::new;
+ case NORWEGIAN -> norwegianStemmer::new;
+ case PORTER -> porterStemmer::new;
+ case PORTUGUESE -> portugueseStemmer::new;
+ case ROMANIAN -> romanianStemmer::new;
+ case RUSSIAN -> russianStemmer::new;
+ case SPANISH -> spanishStemmer::new;
+ case SWEDISH -> swedishStemmer::new;
+ case TURKISH -> turkishStemmer::new;
+ };
+ }
- for (int i = 0; i < repeat; i++) {
- stemmer.stem();
- }
+ /** {@inheritDoc} */
+ @Override
+ public CharSequence stem(CharSequence word) {
+ return sharing.stem(word);
+ }
- return stemmer.getCurrent();
+ /**
+ * Removes this thread's engine to prevent classloader leaks in container environments. Call
+ * when the thread is returned to a pool or the stemmer is no longer needed.
+ */
+ public void clearThreadLocalState() {
+ sharing.clearThreadLocalState();
}
public enum ALGORITHM {
diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/SnowballStemmerFactory.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/SnowballStemmerFactory.java
new file mode 100644
index 0000000000..e5c08e4ab7
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/snowball/SnowballStemmerFactory.java
@@ -0,0 +1,91 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package opennlp.tools.stemmer.snowball;
+
+import opennlp.tools.commons.ThreadSafe;
+import opennlp.tools.stemmer.Stemmer;
+import opennlp.tools.stemmer.StemmerFactory;
+
+/**
+ * A thread-safe factory that captures a Snowball stemmer configuration for APIs that accept a
+ * {@link StemmerFactory}. {@link #newStemmer()} returns a plain, thread-confined stemmer.
+ *
+ * @param algorithm The Snowball algorithm. Must not be {@code null}.
+ * @param repeat How many times to apply the stemmer per word; must be positive.
+ */
+@ThreadSafe
+public record SnowballStemmerFactory(SnowballStemmer.ALGORITHM algorithm, int repeat)
+ implements StemmerFactory {
+
+ /**
+ * Creates a factory with {@code repeat = 1}.
+ *
+ * @param algorithm The Snowball algorithm. Must not be {@code null}.
+ */
+ public SnowballStemmerFactory(SnowballStemmer.ALGORITHM algorithm) {
+ this(algorithm, 1);
+ }
+
+ /**
+ * Validates the components.
+ *
+ * @throws IllegalArgumentException Thrown if {@code algorithm} is {@code null} or
+ * {@code repeat} is not positive.
+ */
+ public SnowballStemmerFactory {
+ if (algorithm == null) {
+ throw new IllegalArgumentException("algorithm must not be null");
+ }
+ if (repeat <= 0) {
+ throw new IllegalArgumentException("repeat must be positive, got " + repeat);
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public Stemmer newStemmer() {
+ return new ConfinedStemmer(SnowballStemmer.engineFor(algorithm).get(), repeat);
+ }
+
+ /**
+ * A thread-confined {@link Stemmer} wrapping a single engine. Not thread-safe.
+ */
+ private static final class ConfinedStemmer implements Stemmer {
+
+ private final AbstractSnowballStemmer engine;
+ private final int repeat;
+
+ private ConfinedStemmer(AbstractSnowballStemmer engine, int repeat) {
+ this.engine = engine;
+ this.repeat = repeat;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public CharSequence stem(CharSequence word) {
+ if (word == null) {
+ throw new IllegalArgumentException("word must not be null");
+ }
+ engine.setCurrent(word.toString());
+ for (int i = 0; i < repeat; i++) {
+ engine.stem();
+ }
+ return engine.getCurrent();
+ }
+ }
+}
diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/normalizer/NormalizationProfile.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/normalizer/NormalizationProfile.java
index e7a47477ed..379c7622ba 100644
--- a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/normalizer/NormalizationProfile.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/normalizer/NormalizationProfile.java
@@ -4,7 +4,7 @@
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
@@ -17,7 +17,9 @@
package opennlp.tools.util.normalizer;
import opennlp.tools.stemmer.Stemmer;
+import opennlp.tools.stemmer.StemmerFactory;
import opennlp.tools.stemmer.snowball.SnowballStemmer;
+import opennlp.tools.stemmer.snowball.SnowballStemmerFactory;
/**
* Per-language normalization settings, mirroring how OpenNLP already selects a Snowball stemmer by
@@ -30,9 +32,7 @@
* accented letters are matching variants of their base letter), the German-specific
* {@link GermanUmlautCharSequenceNormalizer} (a-umlaut to {@code ae}, eszett to {@code ss}, ...) for
* German, and {@code null} where diacritics mark distinct letters (the Nordic languages and the
- * non-Latin scripts), because folding there is language-wrong. This is a search-recall choice, not a
- * statement of linguistic correctness; callers can build a {@link TermAnalyzer} directly to
- * override it.
+ * non-Latin scripts). Callers can build a {@link TermAnalyzer} directly to override it.
*
* @param language The language, as an ISO 639-3 code (for example {@code "eng"}). Must
* not be {@code null} or blank.
@@ -61,8 +61,17 @@ public record NormalizationProfile(String language, SnowballStemmer.ALGORITHM st
}
/**
- * {@return a new {@link Stemmer} for this language} A fresh instance is returned on each call
- * because the Snowball stemmers are stateful and not thread-safe.
+ * {@return a thread-safe factory for this language's Snowball stemmer} The factory may be
+ * shared; each {@linkplain StemmerFactory#newStemmer() minted stemmer} is confined to the
+ * calling thread.
+ */
+ public StemmerFactory stemmerFactory() {
+ return new SnowballStemmerFactory(stemmerAlgorithm);
+ }
+
+ /**
+ * {@return a new {@link Stemmer} for this language} The returned {@link SnowballStemmer} is
+ * thread-safe and may be shared across threads.
*/
public Stemmer newStemmer() {
return new SnowballStemmer(stemmerAlgorithm);
@@ -70,8 +79,8 @@ public Stemmer newStemmer() {
/**
* Returns a matching analyzer for this language: NFC, case folding, the language's
- * {@linkplain #accentFold() diacritic fold} when it has one, then stemming. Each call builds an
- * independent analyzer with its own stemmer, so use one per thread when stemming.
+ * {@linkplain #accentFold() diacritic fold} when it has one, then stemming. The returned
+ * analyzer is thread-safe and may be reused across threads.
*
* @return the analyzer.
*/
@@ -80,6 +89,6 @@ public TermAnalyzer matchingAnalyzer() {
if (accentFold != null) {
builder.transform(Dimension.ACCENT_FOLD, accentFold);
}
- return builder.stem(newStemmer()).build();
+ return builder.stem(stemmerFactory()).build();
}
}
diff --git a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/normalizer/TermAnalyzer.java b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/normalizer/TermAnalyzer.java
index 39f213aaad..8521e2e3ef 100644
--- a/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/normalizer/TermAnalyzer.java
+++ b/opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/normalizer/TermAnalyzer.java
@@ -25,7 +25,9 @@
import java.util.Set;
import opennlp.tools.lemmatizer.Lemmatizer;
+import opennlp.tools.stemmer.CachingStemmer;
import opennlp.tools.stemmer.Stemmer;
+import opennlp.tools.stemmer.StemmerFactory;
import opennlp.tools.tokenize.uax29.WordTokenizer;
import opennlp.tools.util.Span;
@@ -41,10 +43,12 @@
* {@link Dimension#LEMMA} are enabled by supplying a {@link Stemmer} or {@link Lemmatizer}.
*
* An instance is immutable and is thread-safe when its configured transforms are. The built-in
- * character normalizers are stateless, but the Snowball stemmers are not, so an analyzer configured
- * with a {@link Stemmer} (for example through {@code NormalizationProfile.matchingAnalyzer()}) should
- * not be shared across threads when {@link Dimension#STEM} is used. Build one with
- * {@link #builder()}.
+ * character normalizers are stateless and the Snowball stemmers are thread-safe. When
+ * {@link Dimension#STEM} is enabled through {@link Builder#stem(StemmerFactory)}, stemming is
+ * routed through a {@link CachingStemmer}: the analyzer is safe to share across threads even when
+ * the factory mints stateful stemmers, and repeated words resolve from a bounded per-thread cache
+ * instead of being re-stemmed. A raw {@link Stemmer} passed to {@link Builder#stem(Stemmer)} is
+ * only safe when that stemmer is itself thread-safe or the analyzer is confined to one thread.
*/
public final class TermAnalyzer {
@@ -392,6 +396,35 @@ public Builder stem(Stemmer value) {
return this;
}
+ /**
+ * Enables {@link Dimension#STEM} through a {@link StemmerFactory}. The analyzer receives a
+ * {@link CachingStemmer} with the {@linkplain CachingStemmer#DEFAULT_CAPACITY default cache
+ * capacity}: it can be shared across threads, and repeated words resolve from a bounded
+ * per-thread cache instead of being re-stemmed.
+ *
+ * @param factory The stemmer factory. Must not be {@code null}.
+ * @return this builder
+ * @throws IllegalArgumentException if {@code factory} is {@code null}.
+ */
+ public Builder stem(StemmerFactory factory) {
+ return stem(factory, CachingStemmer.DEFAULT_CAPACITY);
+ }
+
+ /**
+ * Enables {@link Dimension#STEM} through a {@link StemmerFactory} with an explicit stem cache
+ * capacity, otherwise identical to {@link #stem(StemmerFactory)}.
+ *
+ * @param factory The stemmer factory. Must not be {@code null}.
+ * @param cacheSize The maximum number of word-to-stem entries kept per thread; must be
+ * positive.
+ * @return this builder
+ * @throws IllegalArgumentException if {@code factory} is {@code null} or {@code cacheSize} is
+ * not positive.
+ */
+ public Builder stem(StemmerFactory factory, int cacheSize) {
+ return stem(new CachingStemmer(factory, cacheSize));
+ }
+
/**
* Enables {@link Dimension#LEMMA} through the given lemmatizer.
*
diff --git a/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/CachingStemmerTest.java b/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/CachingStemmerTest.java
new file mode 100644
index 0000000000..6890dbca80
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/CachingStemmerTest.java
@@ -0,0 +1,139 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package opennlp.tools.stemmer;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+import opennlp.tools.stemmer.snowball.SnowballStemmer;
+import opennlp.tools.stemmer.snowball.SnowballStemmerFactory;
+
+class CachingStemmerTest {
+
+ private static final SnowballStemmerFactory ENGLISH =
+ new SnowballStemmerFactory(SnowballStemmer.ALGORITHM.ENGLISH);
+
+ @Test
+ void cachedResultsMatchUncachedResults() {
+ Stemmer reference = ENGLISH.newStemmer();
+ CachingStemmer cached = new CachingStemmer(ENGLISH);
+
+ List words = List.of("running", "declining", "conspiracies", "this",
+ "running", "declining", "ab'yle", "running");
+ for (String word : words) {
+ Assertions.assertEquals(reference.stem(word).toString(), cached.stem(word).toString(),
+ "mismatch for '" + word + "'");
+ }
+ }
+
+ @Test
+ void repeatedWordsHitTheCache() {
+ AtomicInteger delegateCalls = new AtomicInteger();
+ StemmerFactory countingFactory = () -> {
+ Stemmer delegate = ENGLISH.newStemmer();
+ return word -> {
+ delegateCalls.incrementAndGet();
+ return delegate.stem(word);
+ };
+ };
+
+ CachingStemmer cached = new CachingStemmer(countingFactory);
+ for (int i = 0; i < 100; i++) {
+ Assertions.assertEquals("run", cached.stem("running").toString());
+ }
+ Assertions.assertEquals(1, delegateCalls.get());
+ }
+
+ @Test
+ void evictionKeepsResultsCorrect() {
+ AtomicInteger delegateCalls = new AtomicInteger();
+ StemmerFactory countingFactory = () -> {
+ Stemmer delegate = ENGLISH.newStemmer();
+ return word -> {
+ delegateCalls.incrementAndGet();
+ return delegate.stem(word);
+ };
+ };
+
+ // Capacity 2 with a 3-word cycle: every access evicts the word needed two steps later.
+ CachingStemmer cached = new CachingStemmer(countingFactory, 2);
+ Stemmer reference = ENGLISH.newStemmer();
+ List words = List.of("running", "declining", "conspiracies");
+ for (int round = 0; round < 5; round++) {
+ for (String word : words) {
+ Assertions.assertEquals(reference.stem(word).toString(), cached.stem(word).toString());
+ }
+ }
+ Assertions.assertTrue(delegateCalls.get() > 3,
+ "expected evictions to force repeated delegate calls, got " + delegateCalls.get());
+ }
+
+ @Test
+ void stemAllBypassesTheCache() {
+ CachingStemmer cached = new CachingStemmer(ENGLISH);
+ List forms = cached.stemAll("running");
+ Assertions.assertEquals(1, forms.size());
+ Assertions.assertEquals("run", forms.getFirst().toString());
+ }
+
+ @Test
+ void isSafeUnderConcurrentUse() throws Exception {
+ Stemmer reference = ENGLISH.newStemmer();
+ List words = List.of("running", "declining", "conspiracies", "annotations",
+ "photographers", "responsibilities", "this", "querying");
+ List expected = new ArrayList<>(words.size());
+ for (String word : words) {
+ expected.add(reference.stem(word).toString());
+ }
+
+ // Capacity below the vocabulary size, so threads continuously evict within their own cache.
+ CachingStemmer cached = new CachingStemmer(ENGLISH, 4);
+ try (ExecutorService pool = Executors.newFixedThreadPool(8)) {
+ Future>[] tasks = new Future>[32];
+ for (int i = 0; i < tasks.length; i++) {
+ final int offset = i;
+ tasks[i] = pool.submit(() -> {
+ for (int n = 0; n < 200; n++) {
+ for (int w = 0; w < words.size(); w++) {
+ int idx = (w + offset) % words.size();
+ Assertions.assertEquals(expected.get(idx), cached.stem(words.get(idx)).toString());
+ }
+ }
+ });
+ }
+ for (Future> task : tasks) {
+ task.get(30, TimeUnit.SECONDS);
+ }
+ }
+ }
+
+ @Test
+ void rejectsInvalidArguments() {
+ Assertions.assertThrows(IllegalArgumentException.class, () -> new CachingStemmer(null));
+ Assertions.assertThrows(IllegalArgumentException.class, () -> new CachingStemmer(ENGLISH, 0));
+ Assertions.assertThrows(IllegalArgumentException.class, () -> new CachingStemmer(ENGLISH, -1));
+ }
+}
diff --git a/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/StemmerFactoryTest.java b/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/StemmerFactoryTest.java
new file mode 100644
index 0000000000..9a19d01109
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/StemmerFactoryTest.java
@@ -0,0 +1,376 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package opennlp.tools.stemmer;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.EnumSource;
+
+import opennlp.tools.stemmer.snowball.SnowballStemmer;
+import opennlp.tools.stemmer.snowball.SnowballStemmerFactory;
+
+class StemmerFactoryTest {
+
+ @Test
+ void snowballFactoryMatchesDirectStemmer() {
+ StemmerFactory factory = new SnowballStemmerFactory(SnowballStemmer.ALGORITHM.ENGLISH);
+ Stemmer direct = new SnowballStemmer(SnowballStemmer.ALGORITHM.ENGLISH);
+ Assertions.assertEquals(direct.stem("running"), factory.newStemmer().stem("running"));
+ }
+
+ @Test
+ void porterFactoryMatchesDirectStemmer() {
+ StemmerFactory factory = new PorterStemmerFactory();
+ Stemmer direct = new PorterStemmer();
+ Assertions.assertEquals(direct.stem("running"), factory.newStemmer().stem("running"));
+ }
+
+ @Test
+ void stemAllDefaultReturnsSingleForm() {
+ StemmerFactory factory = new SnowballStemmerFactory(SnowballStemmer.ALGORITHM.ENGLISH);
+ List forms = factory.newStemmer().stemAll("running");
+ Assertions.assertEquals(1, forms.size());
+ Assertions.assertEquals("run", forms.getFirst());
+ }
+
+ @Test
+ void factoryRejectsInvalidRepeat() {
+ Assertions.assertThrows(IllegalArgumentException.class,
+ () -> new SnowballStemmerFactory(SnowballStemmer.ALGORITHM.ENGLISH, 0));
+ }
+
+ @Test
+ void sharingStemmerMatchesSingleThreadReference() throws Exception {
+ StemmerFactory factory = new SnowballStemmerFactory(SnowballStemmer.ALGORITHM.ENGLISH);
+ Stemmer reference = factory.newStemmer();
+ SharingStemmer shared = new SharingStemmer(factory);
+
+ Assertions.assertEquals(reference.stem("running"), shared.stem("running"));
+ Assertions.assertEquals(reference.stem("this"), shared.stem("this"));
+ }
+
+ @Test
+ void sharingStemmerIsSafeUnderConcurrentUse() throws Exception {
+ StemmerFactory factory = new SnowballStemmerFactory(SnowballStemmer.ALGORITHM.ENGLISH);
+ SharingStemmer shared = new SharingStemmer(factory);
+ CharSequence expectedRunning = factory.newStemmer().stem("running");
+ CharSequence expectedDeclining = factory.newStemmer().stem("declining");
+
+ try (ExecutorService pool = Executors.newFixedThreadPool(8)) {
+ Future>[] tasks = new Future>[64];
+ for (int i = 0; i < tasks.length; i++) {
+ tasks[i] = pool.submit(() -> {
+ for (int n = 0; n < 200; n++) {
+ Assertions.assertEquals(expectedRunning, shared.stem("running"));
+ Assertions.assertEquals(expectedDeclining, shared.stem("declining"));
+ }
+ });
+ }
+ for (Future> task : tasks) {
+ task.get(30, TimeUnit.SECONDS);
+ }
+ }
+ }
+
+ @Test
+ void snowballStemmerIsSafeUnderConcurrentUse() throws Exception {
+ Stemmer shared = new SnowballStemmer(SnowballStemmer.ALGORITHM.ENGLISH);
+ CharSequence expectedRunning = shared.stem("running");
+ CharSequence expectedDeclining = shared.stem("declining");
+
+ try (ExecutorService pool = Executors.newFixedThreadPool(8)) {
+ Future>[] tasks = new Future>[64];
+ for (int i = 0; i < tasks.length; i++) {
+ tasks[i] = pool.submit(() -> {
+ for (int n = 0; n < 200; n++) {
+ Assertions.assertEquals(expectedRunning, shared.stem("running"));
+ Assertions.assertEquals(expectedDeclining, shared.stem("declining"));
+ }
+ });
+ }
+ for (Future> task : tasks) {
+ task.get(30, TimeUnit.SECONDS);
+ }
+ }
+ }
+
+ @Test
+ void sharingStemmerRejectsNullFactory() {
+ Assertions.assertThrows(IllegalArgumentException.class, () -> new SharingStemmer(null));
+ }
+
+ @ParameterizedTest
+ @EnumSource(SnowballStemmer.ALGORITHM.class)
+ void everyAlgorithmIsSafeUnderConcurrentUse(SnowballStemmer.ALGORITHM algorithm)
+ throws Exception {
+ // Words across scripts; stemming any input is deterministic, so a mismatch under
+ // concurrency signals corrupted shared state, regardless of the input language.
+ List words = List.of("running", "declining", "ab'yle", "prévoyant",
+ "επιστροφή", "яблоками", "استفتياكما", "skrøbeligheder");
+ Stemmer reference = new SnowballStemmer(algorithm);
+ List expected = new ArrayList<>(words.size());
+ for (String word : words) {
+ expected.add(reference.stem(word).toString());
+ }
+
+ Stemmer shared = new SnowballStemmer(algorithm);
+ try (ExecutorService pool = Executors.newFixedThreadPool(4)) {
+ Future>[] tasks = new Future>[16];
+ for (int i = 0; i < tasks.length; i++) {
+ final int offset = i;
+ tasks[i] = pool.submit(() -> {
+ for (int n = 0; n < 50; n++) {
+ for (int w = 0; w < words.size(); w++) {
+ int idx = (w + offset) % words.size();
+ Assertions.assertEquals(expected.get(idx), shared.stem(words.get(idx)).toString());
+ }
+ }
+ });
+ }
+ for (Future> task : tasks) {
+ task.get(30, TimeUnit.SECONDS);
+ }
+ }
+ }
+
+ @Test
+ void ownerThreadCanStemConcurrentlyWithOtherThreads() throws Exception {
+ // The calling thread claims the owner fast path first; other threads must transition the
+ // stemmer to per-thread state while the owner keeps stemming.
+ Stemmer shared = new SnowballStemmer(SnowballStemmer.ALGORITHM.ENGLISH);
+ CharSequence expectedRunning = shared.stem("running");
+ CharSequence expectedDeclining = shared.stem("declining");
+
+ CountDownLatch started = new CountDownLatch(4);
+ try (ExecutorService pool = Executors.newFixedThreadPool(4)) {
+ Future>[] tasks = new Future>[4];
+ for (int i = 0; i < tasks.length; i++) {
+ tasks[i] = pool.submit(() -> {
+ started.countDown();
+ for (int n = 0; n < 500; n++) {
+ Assertions.assertEquals(expectedRunning, shared.stem("running"));
+ Assertions.assertEquals(expectedDeclining, shared.stem("declining"));
+ }
+ });
+ }
+ Assertions.assertTrue(started.await(10, TimeUnit.SECONDS));
+ // Owner thread stems concurrently with the pool threads.
+ for (int n = 0; n < 500; n++) {
+ Assertions.assertEquals(expectedRunning, shared.stem("running"));
+ Assertions.assertEquals(expectedDeclining, shared.stem("declining"));
+ }
+ for (Future> task : tasks) {
+ task.get(30, TimeUnit.SECONDS);
+ }
+ }
+ }
+
+ @Test
+ void snowballStemmerIsSafeOnVirtualThreads() throws Exception {
+ // Every task runs on a fresh virtual thread, exercising per-thread state creation on each
+ // access rather than reuse from a fixed pool.
+ Stemmer shared = new SnowballStemmer(SnowballStemmer.ALGORITHM.ENGLISH);
+ CharSequence expected = shared.stem("running");
+
+ try (ExecutorService pool = Executors.newVirtualThreadPerTaskExecutor()) {
+ List> tasks = new ArrayList<>(256);
+ for (int i = 0; i < 256; i++) {
+ tasks.add(pool.submit(() -> {
+ for (int n = 0; n < 20; n++) {
+ Assertions.assertEquals(expected, shared.stem("running"));
+ }
+ }));
+ }
+ for (Future> task : tasks) {
+ task.get(30, TimeUnit.SECONDS);
+ }
+ }
+ }
+
+ @Test
+ void sharingPorterStemmerIsSafeUnderConcurrentUse() throws Exception {
+ // PorterStemmer is the remaining stateful engine; SharingStemmer must isolate it per thread.
+ Stemmer reference = new PorterStemmer();
+ CharSequence expectedRunning = reference.stem("running");
+ CharSequence expectedConspiracies = reference.stem("conspiracies");
+ Stemmer shared = new SharingStemmer(new PorterStemmerFactory());
+
+ try (ExecutorService pool = Executors.newFixedThreadPool(8)) {
+ Future>[] tasks = new Future>[64];
+ for (int i = 0; i < tasks.length; i++) {
+ tasks[i] = pool.submit(() -> {
+ for (int n = 0; n < 200; n++) {
+ Assertions.assertEquals(expectedRunning, shared.stem("running"));
+ Assertions.assertEquals(expectedConspiracies, shared.stem("conspiracies"));
+ }
+ });
+ }
+ for (Future> task : tasks) {
+ task.get(30, TimeUnit.SECONDS);
+ }
+ }
+ }
+ @Test
+ void factoryPassesRepeatThrough() {
+ // "internationalization" stems differently at repeat 1 and 2, witnessing the pass-through.
+ final Stemmer once = new SnowballStemmerFactory(SnowballStemmer.ALGORITHM.ENGLISH, 1).newStemmer();
+ final Stemmer twice = new SnowballStemmerFactory(SnowballStemmer.ALGORITHM.ENGLISH, 2).newStemmer();
+ Assertions.assertEquals("internation", once.stem("internationalization").toString());
+ Assertions.assertEquals("intern", twice.stem("internationalization").toString());
+ Assertions.assertEquals(
+ new SnowballStemmer(SnowballStemmer.ALGORITHM.ENGLISH, 2).stem("internationalization").toString(),
+ twice.stem("internationalization").toString());
+ }
+
+ @Test
+ void factoryRejectsNullAlgorithmWithIllegalArgument() {
+ Assertions.assertThrows(IllegalArgumentException.class,
+ () -> new SnowballStemmerFactory(null, 1));
+ }
+
+ @Test
+ void snowballConstructorValidatesLikeTheFactory() {
+ Assertions.assertThrows(IllegalArgumentException.class,
+ () -> new SnowballStemmer(null, 1));
+ Assertions.assertThrows(IllegalArgumentException.class,
+ () -> new SnowballStemmer(SnowballStemmer.ALGORITHM.ENGLISH, 0));
+ }
+
+ @Test
+ void sharingStemmerForwardsStemAllToMultiOutputDelegate() {
+ // A multi-output delegate must keep its full result list through the wrapper.
+ final StemmerFactory multiOutput = () -> new Stemmer() {
+ @Override
+ public CharSequence stem(CharSequence word) {
+ return word.toString() + "-a";
+ }
+
+ @Override
+ public List stemAll(CharSequence word) {
+ return List.of(word.toString() + "-a", word.toString() + "-b");
+ }
+ };
+ final SharingStemmer sharing = new SharingStemmer(multiOutput);
+ Assertions.assertEquals(2, sharing.stemAll("run").size());
+ Assertions.assertEquals("run-b", sharing.stemAll("run").get(1).toString());
+ }
+
+ @Test
+ void clearThreadLocalStateEmptiesTheOwnerCache() {
+ // On the owning thread the state object is retained and reset: the cache must be empty
+ // afterwards, observable as a fresh delegate call for a previously cached word.
+ final List delegateCalls = new ArrayList<>();
+ final StemmerFactory counting = () -> word -> {
+ delegateCalls.add(word.toString());
+ return word.toString() + "-s";
+ };
+ final CachingStemmer caching = new CachingStemmer(counting);
+ caching.stem("dog");
+ caching.stem("dog");
+ Assertions.assertEquals(1, delegateCalls.size(), "second lookup is served from the cache");
+ caching.clearThreadLocalState();
+ Assertions.assertEquals("dog-s", caching.stem("dog").toString());
+ Assertions.assertEquals(2, delegateCalls.size(), "the clear emptied the cache");
+ }
+
+ @Test
+ void clearThreadLocalStateReleasesAWorkerThreadsDelegate() throws Exception {
+ // On a non-owner thread the per-thread delegate is removed and rebuilt on next use.
+ final List built = new ArrayList<>();
+ final StemmerFactory counting = () -> {
+ synchronized (built) {
+ built.add(built.size());
+ }
+ return word -> word.toString() + "-s";
+ };
+ final SharingStemmer sharing = new SharingStemmer(counting);
+ sharing.stem("owner");
+ final int builtForOwner = built.size();
+ final Thread worker = new Thread(() -> {
+ sharing.stem("dog");
+ sharing.stem("cat");
+ final int beforeClear = built.size();
+ sharing.clearThreadLocalState();
+ sharing.stem("fish");
+ Assertions.assertEquals(beforeClear + 1, built.size(),
+ "a fresh delegate is built after the clear");
+ });
+ worker.start();
+ worker.join(30_000);
+ Assertions.assertTrue(built.size() > builtForOwner, "the worker built its own delegate");
+
+ final SnowballStemmer snowball = new SnowballStemmer(SnowballStemmer.ALGORITHM.ENGLISH);
+ Assertions.assertEquals("run", snowball.stem("running").toString());
+ snowball.clearThreadLocalState();
+ Assertions.assertEquals("run", snowball.stem("running").toString());
+ }
+
+ @Test
+ void nullWordThrowsIllegalArgumentAcrossTheStemmerApi() {
+ final SnowballStemmerFactory factory =
+ new SnowballStemmerFactory(SnowballStemmer.ALGORITHM.ENGLISH);
+ Assertions.assertThrows(IllegalArgumentException.class,
+ () -> new SnowballStemmer(SnowballStemmer.ALGORITHM.ENGLISH).stem(null));
+ Assertions.assertThrows(IllegalArgumentException.class,
+ () -> factory.newStemmer().stem(null));
+ Assertions.assertThrows(IllegalArgumentException.class,
+ () -> new CachingStemmer(factory).stem(null));
+ Assertions.assertThrows(IllegalArgumentException.class,
+ () -> new SharingStemmer(factory).stem(null));
+ Assertions.assertThrows(IllegalArgumentException.class,
+ () -> new PorterStemmer().stem((CharSequence) null));
+ }
+
+ @Test
+ void hugeCapacityConstructsAndStems() {
+ // Pins the overflow-safe table sizing: capacities near Integer.MAX_VALUE are documented
+ // as legal ("must be positive") and must not wrap the LinkedHashMap initial capacity.
+ final CachingStemmer cached = new CachingStemmer(
+ new SnowballStemmerFactory(SnowballStemmer.ALGORITHM.ENGLISH), Integer.MAX_VALUE);
+ Assertions.assertEquals("run", cached.stem("running").toString());
+ }
+
+ @Test
+ void clearCacheForcesRestemmingOnTheCallingThread() {
+ final AtomicInteger delegateCalls = new AtomicInteger();
+ final StemmerFactory counting = () -> word -> {
+ delegateCalls.incrementAndGet();
+ return word.toString();
+ };
+ final CachingStemmer cached = new CachingStemmer(counting);
+
+ cached.stem("running");
+ cached.stem("running");
+ Assertions.assertEquals(1, delegateCalls.get(), "the repeat is served from the cache");
+
+ cached.clearCache();
+ cached.stem("running");
+ Assertions.assertEquals(2, delegateCalls.get(),
+ "after clearCache() the word goes through the delegate again");
+ }
+}
diff --git a/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/light/LightStemmerContractTest.java b/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/light/LightStemmerContractTest.java
new file mode 100644
index 0000000000..874c83989f
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/light/LightStemmerContractTest.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package opennlp.tools.stemmer.light;
+
+import java.util.List;
+import java.util.stream.Stream;
+
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
+
+import opennlp.tools.stemmer.Stemmer;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+/**
+ * The shared API contract of the light and minimal stemmers: fail-loud null handling, identity
+ * on empty input, and single-element {@code stemAll}.
+ */
+class LightStemmerContractTest {
+
+ static Stream stemmers() {
+ return Stream.of(new GermanLightStemmer(), new GermanMinimalStemmer(),
+ new EnglishMinimalStemmer(), new SpanishLightStemmer(), new SpanishMinimalStemmer(),
+ new FinnishLightStemmer(), new FrenchLightStemmer(), new FrenchMinimalStemmer(),
+ new HungarianLightStemmer(), new ItalianLightStemmer(),
+ new NorwegianLightStemmer(NorwegianVariety.BOKMAAL, NorwegianVariety.NYNORSK),
+ new NorwegianMinimalStemmer(NorwegianVariety.BOKMAAL),
+ new PortugueseLightStemmer(), new RussianLightStemmer(),
+ new SwedishLightStemmer(), new SwedishMinimalStemmer());
+ }
+
+ @ParameterizedTest
+ @MethodSource("stemmers")
+ void testNullFailsLoudly(Stemmer stemmer) {
+ assertThrows(IllegalArgumentException.class, () -> stemmer.stem(null));
+ }
+
+ @ParameterizedTest
+ @MethodSource("stemmers")
+ void testEmptyInputStaysEmpty(Stemmer stemmer) {
+ assertEquals("", stemmer.stem("").toString());
+ }
+
+ @ParameterizedTest
+ @MethodSource("stemmers")
+ void testStemAllReturnsTheSingleStem(Stemmer stemmer) {
+ final List all = stemmer.stemAll("running");
+ assertEquals(1, all.size());
+ assertEquals(stemmer.stem("running").toString(), all.get(0).toString());
+ }
+
+ @Test
+ void testNorwegianVarietyValidation() {
+ assertThrows(IllegalArgumentException.class, () -> new NorwegianLightStemmer(null));
+ assertThrows(IllegalArgumentException.class,
+ () -> new NorwegianMinimalStemmer(NorwegianVariety.BOKMAAL, (NorwegianVariety) null));
+ }
+}
diff --git a/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/light/LightStemmerParityTest.java b/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/light/LightStemmerParityTest.java
new file mode 100644
index 0000000000..5003b8fea7
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/light/LightStemmerParityTest.java
@@ -0,0 +1,98 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package opennlp.tools.stemmer.light;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
+import java.util.Map;
+import java.util.stream.Stream;
+
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
+
+import opennlp.tools.stemmer.Stemmer;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+/**
+ * Asserts every stemmer against its bundled vocabulary fixture: word and expected stem pairs
+ * sampled from the vocabulary data of the algorithms' original test suites, regenerated against
+ * the source implementations (see the fixture README for regeneration).
+ */
+class LightStemmerParityTest {
+
+ private static final Map STEMMERS = Map.ofEntries(
+ Map.entry("de-light", new GermanLightStemmer()),
+ Map.entry("de-minimal", new GermanMinimalStemmer()),
+ Map.entry("en-minimal", new EnglishMinimalStemmer()),
+ Map.entry("es-light", new SpanishLightStemmer()),
+ Map.entry("es-minimal", new SpanishMinimalStemmer()),
+ Map.entry("fi-light", new FinnishLightStemmer()),
+ Map.entry("fr-light", new FrenchLightStemmer()),
+ Map.entry("fr-minimal", new FrenchMinimalStemmer()),
+ Map.entry("hu-light", new HungarianLightStemmer()),
+ Map.entry("it-light", new ItalianLightStemmer()),
+ Map.entry("no-light-bokmaal", new NorwegianLightStemmer(NorwegianVariety.BOKMAAL)),
+ Map.entry("no-light-nynorsk", new NorwegianLightStemmer(NorwegianVariety.NYNORSK)),
+ Map.entry("no-minimal-bokmaal", new NorwegianMinimalStemmer(NorwegianVariety.BOKMAAL)),
+ Map.entry("no-minimal-nynorsk", new NorwegianMinimalStemmer(NorwegianVariety.NYNORSK)),
+ Map.entry("pt-light", new PortugueseLightStemmer()),
+ Map.entry("ru-light", new RussianLightStemmer()),
+ Map.entry("sv-light", new SwedishLightStemmer()),
+ Map.entry("sv-minimal", new SwedishMinimalStemmer()));
+
+ static Stream fixtures() {
+ return STEMMERS.entrySet().stream().sorted(Map.Entry.comparingByKey())
+ .map(e -> Arguments.of(e.getKey(), e.getValue()));
+ }
+
+ @ParameterizedTest(name = "{0}")
+ @MethodSource("fixtures")
+ void testVocabularyParity(String fixture, Stemmer stemmer) throws IOException {
+ int pairs = 0;
+ try (InputStream in = LightStemmerParityTest.class.getResourceAsStream(fixture + ".tsv")) {
+ assertNotNull(in, "missing fixture " + fixture + ".tsv");
+ final BufferedReader reader =
+ new BufferedReader(new InputStreamReader(in, StandardCharsets.UTF_8));
+ String line;
+ while ((line = reader.readLine()) != null) {
+ pairs++;
+ final int tab = line.indexOf('\t');
+ final String word = line.substring(0, tab);
+ final String expected = line.substring(tab + 1);
+ assertEquals(expected, stemmer.stem(word).toString(),
+ fixture + " must stem <" + word + ">");
+ }
+ }
+ assertTrue(pairs >= 50, fixture + " fixture must not be empty or truncated");
+ }
+
+ @ParameterizedTest(name = "{0}")
+ @MethodSource("fixtures")
+ void testStemmerIsItsOwnFactory(String fixture, Stemmer stemmer) {
+ final opennlp.tools.stemmer.StemmerFactory factory =
+ (opennlp.tools.stemmer.StemmerFactory) stemmer;
+ assertEquals(stemmer, factory.newStemmer(),
+ "a stateless stemmer returns itself from newStemmer()");
+ }
+}
diff --git a/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/util/normalizer/NormalizationProfilesTest.java b/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/util/normalizer/NormalizationProfilesTest.java
index ba39a5cf1f..149139847b 100644
--- a/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/util/normalizer/NormalizationProfilesTest.java
+++ b/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/util/normalizer/NormalizationProfilesTest.java
@@ -19,6 +19,9 @@
import java.util.EnumSet;
import java.util.List;
import java.util.Set;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
import java.util.stream.Collectors;
import org.junit.jupiter.api.Test;
@@ -201,4 +204,24 @@ public String[] getSupportedLanguages() {
assertThrows(IllegalArgumentException.class, () -> NormalizationProfiles.detect(null, detector));
assertThrows(IllegalArgumentException.class, () -> NormalizationProfiles.detect("text", null));
}
+
+ @Test
+ void testMatchingAnalyzerIsThreadSafeForStemming() throws Exception {
+ final TermAnalyzer analyzer = NormalizationProfiles.forLanguage("eng").orElseThrow().matchingAnalyzer();
+ final String expected = analyzer.analyze("running").getFirst().at(Dimension.STEM);
+
+ try (ExecutorService pool = Executors.newFixedThreadPool(8)) {
+ final Future>[] tasks = new Future>[32];
+ for (int i = 0; i < tasks.length; i++) {
+ tasks[i] = pool.submit(() -> {
+ for (int n = 0; n < 50; n++) {
+ assertEquals(expected, analyzer.analyze("running").getFirst().at(Dimension.STEM));
+ }
+ });
+ }
+ for (final Future> task : tasks) {
+ task.get(30, java.util.concurrent.TimeUnit.SECONDS);
+ }
+ }
+ }
}
diff --git a/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/util/normalizer/TermAnalyzerTest.java b/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/util/normalizer/TermAnalyzerTest.java
index d7fd52474e..e956a66ff6 100644
--- a/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/util/normalizer/TermAnalyzerTest.java
+++ b/opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/util/normalizer/TermAnalyzerTest.java
@@ -30,6 +30,10 @@
import opennlp.tools.lemmatizer.Lemmatizer;
import opennlp.tools.stemmer.PorterStemmer;
+import opennlp.tools.stemmer.Stemmer;
+import opennlp.tools.stemmer.StemmerFactory;
+import opennlp.tools.stemmer.snowball.SnowballStemmer;
+import opennlp.tools.stemmer.snowball.SnowballStemmerFactory;
import opennlp.tools.util.Span;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -306,11 +310,33 @@ void testBuilderRejectsNullArguments() {
.transform(null, CaseFoldCharSequenceNormalizer.getInstance()));
assertThrows(IllegalArgumentException.class,
() -> TermAnalyzer.builder().transform(Dimension.CASE_FOLD, null));
- assertThrows(IllegalArgumentException.class, () -> TermAnalyzer.builder().stem(null));
+ assertThrows(IllegalArgumentException.class,
+ () -> TermAnalyzer.builder().stem((Stemmer) null));
+ assertThrows(IllegalArgumentException.class,
+ () -> TermAnalyzer.builder().stem((StemmerFactory) null));
+ assertThrows(IllegalArgumentException.class,
+ () -> TermAnalyzer.builder().stem(new SnowballStemmerFactory(
+ SnowballStemmer.ALGORITHM.ENGLISH), 0));
assertThrows(IllegalArgumentException.class, () -> TermAnalyzer.builder().lemmatize(null));
assertThrows(IllegalArgumentException.class, () -> TermAnalyzer.builder().tokenizer(null));
}
+ @Test
+ void testStemFactoryCachedResultsMatchDirectStemmer() {
+ final TermAnalyzer cached = TermAnalyzer.builder().caseFold()
+ .stem(new SnowballStemmerFactory(SnowballStemmer.ALGORITHM.ENGLISH)).build();
+ final TermAnalyzer direct = TermAnalyzer.builder().caseFold()
+ .stem(new SnowballStemmer(SnowballStemmer.ALGORITHM.ENGLISH)).build();
+
+ final String text = "Running runners kept running while the RUNNING continued";
+ final List cachedTerms = cached.analyze(text);
+ final List directTerms = direct.analyze(text);
+ assertEquals(directTerms.size(), cachedTerms.size());
+ for (int i = 0; i < directTerms.size(); i++) {
+ assertEquals(directTerms.get(i).at(Dimension.STEM), cachedTerms.get(i).at(Dimension.STEM));
+ }
+ }
+
@Test
void testMaxTokenLengthRejectsNonPositiveValues() {
assertThrows(IllegalArgumentException.class, () -> TermAnalyzer.builder().maxTokenLength(0));
diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/README.txt b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/README.txt
new file mode 100644
index 0000000000..34bb91bd6c
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/README.txt
@@ -0,0 +1,10 @@
+Parity fixtures for the light and minimal stemmers.
+
+Each .tsv holds wordexpected-stem pairs produced by the original Apache Lucene
+analysis-common stemmers (the code these classes are adapted from). Each file samples up to 1500
+pairs where the stem differs from the word plus 500 where it does not; the Norwegian files are
+complete copies of Lucene's small vocabulary lists, split by written standard.
+
+The vocabulary word lists trace back to Jacques Savoy's CLEF resources
+(http://members.unine.ch/jacques.savoy/clef/index.html), BSD-licensed; see the notice carried in
+the stemmer sources and the distribution LICENSE.
diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/de-light.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/de-light.tsv
new file mode 100644
index 0000000000..1d3d3fe9e2
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/de-light.tsv
@@ -0,0 +1,2000 @@
+aalglatten aalglatt
+abendröte abendrot
+abermaligen abermalig
+abgeben abgeb
+abgehängen abgehang
+abgenommen abgenomm
+abgeschossenes abgeschoss
+abgewetzte abgewetzt
+abgrunde abgrund
+abhänge abhang
+abkühlendes abkuhlend
+abläutete ablautet
+abreiben abreib
+abschiedes abschied
+abschütteln abschutteln
+absonderlicher absonderlich
+abstossendes abstossend
+aburteilen aburteil
+abwesenden abwesend
+abzugewinnen abzugewinn
+abzureisen abzureis
+abzuwischen abzuwisch
+achtgegeben achtgegeb
+adelaide adelaid
+affe aff
+ahnliches ahnlich
+aktien akti
+alkoholischer alkoholisch
+allerallgemeinsten allerallgemein
+allerkürzeste allerkurz
+allerwegen allerweg
+allgemeinstes allgemein
+alls all
+alter alt
+amalie amali
+amrans amran
+amüsiert amusiert
+anbeteten anbetet
+anderem and
+andres andr
+anerkanntesten anerkannt
+anfertigen anfertig
+anfüllen anfull
+angeboten angebot
+angegebenen angegeb
+angehörige angehorig
+angelegenen angeleg
+angenehmen angenehm
+angesammelte angesammelt
+angestellter angestellt
+angezündet angezundet
+anhaltende anhaltend
+anhänglichkeit anhanglichkeit
+anklagte anklagt
+ankündigung ankundigung
+anlässe anlass
+anne ann
+anpumpen anpump
+ansahen ansah
+ansehnliche ansehnlich
+ansprüche anspruch
+anständig anstandig
+antinomie antinomi
+anvertraute anvertraut
+anwünscht anwunscht
+anzuführen anzufuhr
+anzupeilen anzupeil
+anzuziehen anzuzieh
+arabien arabi
+arbeitsstelle arbeitsstell
+aristoteles aristotel
+artes art
+asiatische asiatisch
+atemlose atemlos
+aufbauen aufbau
+aufbrennenden aufbrennend
+aufenthaltes aufenthalt
+auffordern aufford
+aufgeblasen aufgeblas
+aufgehalten aufgehalt
+aufgelöst aufgelost
+aufgeschrieben aufgeschrieb
+aufgreifen aufgreif
+aufhörten aufhort
+aufmache aufmach
+aufnahmegefäße aufnahmegefaß
+aufrechten aufrecht
+aufrufe aufruf
+aufseher aufseh
+aufsteigen aufsteig
+auftrieben auftrieb
+aufzeigen aufzeig
+aufzugskabine aufzugskabin
+aufzusehen aufzuseh
+augenblicke augenblick
+ausbleiben ausbleib
+ausdrucks ausdruck
+auseinanderjagte auseinanderjagt
+ausflüsse ausfluss
+ausgaben ausgab
+ausgedrückt ausgedruckt
+ausgehen ausgeh
+ausgenossen ausgenoss
+ausgeschrieen ausgeschrie
+ausgesuchte ausgesucht
+ausgezogenen ausgezog
+aushilfe aushilf
+auslegen ausleg
+ausnahmsweise ausnahmsweis
+ausrüstungsgegenständen ausrustungsgegenstand
+ausschütten ausschutt
+aussetzte aussetzt
+ausspüren ausspur
+aussätzige aussatzig
+auswandern auswand
+auswärts auswart
+auszufüllen auszufull
+auszureuten auszureut
+auszusprechen auszusprech
+autorität autoritat
+bachforellen bachforell
+bagels bagel
+bandelier bandeli
+bankräuber bankraub
+barsängerin barsangerin
+bastelten bastelt
+bauernklotzes bauernklotz
+baumstamme baumstamm
+beachten beacht
+bebaute bebaut
+bedecken bedeck
+bedeuteten bedeutet
+bedrängen bedrang
+bedürfnisse bedurfniss
+beengte beengt
+befehlen befehl
+befolgten befolgt
+befähigt befahigt
+begaben begab
+begehrte begehrt
+beglaubigen beglaubig
+begossenen begoss
+begriffsverhältnisse begriffsverhaltniss
+begrüsst begrusst
+begüterte begutert
+behaupte behaupt
+behufs behuf
+beibrachte beibracht
+beifügten beifugt
+beimessen beimess
+beispiele beispiel
+beizulegen beizuleg
+bekehren bekehr
+bekreuzten bekreuzt
+beladenes belad
+belehrte belehrt
+bellprobe bellprob
+bemassen bemass
+benachbarten benachbart
+benutzten benutzt
+bequeme bequem
+beraubten beraubt
+bereiten bereit
+berghöhlen berghohl
+bergwegen bergweg
+beruflichen beruflich
+berücksichtigen berucksichtig
+besagte besagt
+bescheidenem bescheid
+beschlossenen beschloss
+beschuldigungen beschuldigung
+beschädigt beschadigt
+beschützer beschutz
+besiegen besieg
+besonderen besond
+besponnen besponn
+bestandstücks bestandstuck
+bestellenhintergrundregelmässig bestellenhintergrundregelmassig
+bestimmen bestimm
+bestrafen bestraf
+bestätigenden bestatigend
+besuchten besucht
+beten bet
+betreffenden betreffend
+beträgt betragt
+bette bett
+beugte beugt
+bevorhautete bevorhautet
+bewegende bewegend
+beweisführende beweisfuhrend
+bewohnen bewohn
+bewährt bewahrt
+bezeichne bezeichn
+beziele beziel
+biederen bied
+bilder bild
+billige billig
+bischöfe bischof
+bitterkalten bitterkalt
+blasebälgen blasebalg
+blauen blau
+bleibendes bleibend
+blickenden blickend
+blinkten blinkt
+blosse bloss
+blumen blum
+blutlose blutlos
+blättern blatt
+blühend bluhend
+bockreiter bockreit
+bonbonsträucher bonbonstrauch
+brachlägen brachlag
+braten brat
+braungoldene braungold
+breite breit
+brenzelte brenzelt
+briten brit
+brots brot
+brusttasche brusttasch
+brüder brud
+brüteten brutet
+buchstaben buchstab
+bullerte bullert
+bunter bunt
+busens bus
+bändigung bandigung
+bäuerliche bauerlich
+bösartig bosartig
+böttcher bottch
+büchsenschuss buchsenschuss
+bündelchen bundelch
+bürgerlich burgerlich
+büros buros
+canailles canaill
+charakteristische charakteristisch
+chirurgische chirurgisch
+christopher christoph
+computertomographie computertomographi
+dachtürmchen dachturmch
+dahingingen dahinging
+danggen dangg
+darbietendes darbietend
+darstellte darstellt
+dastehen dasteh
+davongegangen davongegang
+deckte deckt
+deines dein
+demselbigen demselbig
+denke denk
+derartiges derartig
+derselben derselb
+deuten deut
+diademen diadem
+dichtester dicht
+diele diel
+dienstleistungen dienstleistung
+dieser dies
+direkten direkt
+dogder dogd
+doppelgänger doppelgang
+dorfspaziergängen dorfspaziergang
+dramatischen dramatisch
+dreien drei
+drfe drf
+drohenden drohend
+drängt drangt
+ducken duck
+dummer dumm
+dunkelheiten dunkelheit
+durchblättern durchblatt
+durchfallen durchfall
+durchgängigen durchgangig
+durchschlagen durchschlag
+durchsuchten durchsucht
+dursten durst
+dämmerte dammert
+dörflerische dorflerisch
+dünste dun
+dürrem durr
+ebbes ebb
+ebereschen eberesch
+edelpferden edelpferd
+effigies effigi
+ehemannes ehemann
+ehrenbürgerrecht ehrenburgerrecht
+ehrvergessenen ehrvergess
+eifer eif
+eigenheiten eigenheit
+eigensten eigen
+eigentümlicherweise eigentumlicherweis
+eiligst eilig
+einbürgern einburg
+eines ein
+einfinden einfind
+einflußreichen einflußreich
+einfältig einfaltig
+eingebildete eingebildet
+eingeflösste eingeflosst
+eingehängt eingehangt
+eingepflanztes eingepflanzt
+eingeschossen eingeschoss
+eingetürmt eingeturmt
+eingingen einging
+einherkrabbelte einherkrabbelt
+einispringen einispring
+einleitenden einleitend
+einpflanzte einpflanzt
+einsamkeiten einsamkeit
+einschränken einschrank
+einsichtsvolleren einsichtsvoll
+einstimmige einstimmig
+eintretenden eintretend
+einvernahmen einvernahm
+einzahlen einzahl
+einzubalsamieren einzubalsami
+einzulassen einzulass
+einzuziehen einzuzieh
+eisgeschwistern eisgeschwist
+elefanten elefant
+elender elend
+elternhauses elternhaus
+empfindliches empfindlich
+emporgeschossene emporgeschoss
+empörter emport
+endlosen endlos
+engels engel
+englischsprachigen englischsprachig
+entdeckte entdeckt
+entferntesten entfernt
+entgegen entgeg
+entgegennehmen entgegennehm
+entheiligungen entheiligung
+entlassen entlass
+entlässest entlass
+entsagen entsag
+entschlossen entschloss
+entsetzliche entsetzlich
+entspringe entspring
+enttäuschend enttauschend
+entwichene entwich
+entzogen entzog
+erbarmte erbarmt
+erbeten erbet
+erblicken erblick
+erbärmlichsten erbarmlich
+erdichtetes erdichtet
+erfahrungen erfahrung
+erfindungsreiches erfindungsreich
+erfreuen erfreu
+erfüllte erfullt
+erglühen ergluh
+ergötzlich ergotzlich
+erheben erheb
+erholte erholt
+erinnere erinn
+erkennen erkenn
+erkläre erklar
+erlangen erlang
+erlebte erlebt
+erlittenen erlitt
+ermahne ermahn
+ermöglichen ermoglich
+ernste ern
+ernährung ernahrung
+erreichte erreicht
+erschaffenden erschaffend
+erschlagen erschlag
+erschöpfen erschopf
+ersonnen ersonn
+erstatte erstatt
+erstes erst
+ersäufen ersauf
+erträgt ertragt
+erwachten erwacht
+erweiterten erweitert
+erworbenen erworb
+erwünscht erwunscht
+erziehungsleute erziehungsleut
+erzählet erzahlet
+erörterten erortert
+estherchens estherch
+euretwegen euretweg
+ewigkeiten ewigkeit
+fabelhafte fabelhaft
+fahrer fahr
+falsche falsch
+familien famili
+farbenwesen farbenwes
+fasten fast
+feature featur
+fehlern fehl
+feierten feiert
+feinem fein
+feldfrüchte feldfrucht
+felsen fels
+fensterflügel fensterflugel
+fernher fernh
+festes fest
+festungen festung
+feuerchen feuerch
+feuerzungen feuerzung
+fiebernde fiebernd
+finden find
+finsternissen finsterniss
+fittiche fittich
+flammenmeer flammenme
+flecken fleck
+fleissiger fleissig
+fliessen fliess
+flossen floss
+fluktuationsrate fluktuationsrat
+flöten flot
+flüchtlingslager fluchtlingslag
+flüstert flustert
+folgsames folgsam
+foren for
+forstmannsuniformen forstmannsuniform
+fortgeritten fortgeritt
+fortschreiten fortschreit
+fortzubewegen fortzubeweg
+franzens franz
+frauennamen frauennam
+frechsten frech
+freiheitliche freiheitlich
+freizulassen freizulass
+freuden freud
+freundesarme freundesarm
+friedens fried
+frierenden frierend
+fromme fromm
+fräulein fraulein
+fröstelte frostelt
+frühlicht fruhlicht
+frühlingstage fruhlingstag
+fuchtelte fuchtelt
+funktionen funktion
+fussgänger fussgang
+fächern fach
+fälschungen falschung
+förmlich formlich
+fühlbare fuhlbar
+führen fuhr
+fülle full
+fünfjähriges funfjahrig
+fünfzigjährigen funfzigjahrig
+fürchterliche furchterlich
+fürst furst
+füttern futt
+galle gall
+ganzes ganz
+gartenmitte gartenmitt
+gasthauses gasthaus
+gazeschleier gazeschlei
+gebetläuten gebetlaut
+gebirgskräutermilch gebirgskrautermilch
+geborgene geborg
+gebrauchten gebraucht
+geburten geburt
+gebückt gebuckt
+gedankenplanes gedankenplan
+gedenkst gedenk
+gedächtnis gedachtnis
+gefahren gefahr
+geflochten geflocht
+gefurchte gefurcht
+gefälligkeit gefalligkeit
+gefördert gefordert
+gegangen gegang
+gegenstände gegenstand
+geglänzt geglanzt
+gegründeten gegrundet
+geheiligte geheiligt
+gehen geh
+gehst geh
+gehöre gehor
+geige geig
+geisteskräfte geisteskraft
+geistreiches geistreich
+geköpft gekopft
+gelbe gelb
+geldmännern geldmann
+geleitete geleitet
+gelitten gelitt
+gelächters gelachters
+gelüstigkeit gelustigkeit
+gemeindeschreiber gemeindeschreib
+gemeinsten gemein
+gemähte gemaht
+gemüsegartens gemusegart
+gemütsverfassung gemutsverfassung
+geneigtem geneigt
+geniessen geniess
+genusses genuss
+geoffenbarte geoffenbart
+gepflogen gepflog
+geprügelten geprugelt
+gerechte gerecht
+gerichten gericht
+gerieben gerieb
+geringschätzung geringschatzung
+geruchs geruch
+geröllhang gerollhang
+gerüste gerust
+gesanges gesang
+geschenken geschenk
+geschieden geschied
+geschlossene geschloss
+geschmücktes geschmuckt
+geschrieen geschrie
+geschwächt geschwacht
+geschäftig geschaftig
+geschäftsprüfungskommission geschaftsprufungskommission
+geschöpfs geschopf
+gesellschafts gesellschaft
+gesetzlichen gesetzlich
+gesichtszügen gesichtszug
+gespiesen gespies
+gesprächsthema gesprachsthema
+gestiegen gestieg
+gestressten gestresst
+gesuchten gesucht
+gesäugt gesaugt
+getrennter getrennt
+getränkes getrank
+getöteter getotet
+gewaltlosen gewaltlos
+gewehre gewehr
+gewinnende gewinnend
+gewissensqualen gewissensqual
+gewonnen gewonn
+gewählten gewahlt
+gewöhnlicher gewohnlich
+gewürms gewurm
+gezogenen gezog
+geöffneten geoffnet
+giesse giess
+gitarrebegleiten gitarrebegleit
+glatten glatt
+glaubensvorschriften glaubensvorschrift
+gleichem gleich
+gleichmütig gleichmutig
+glocke glock
+glänzende glanzend
+glättete glattet
+glücklichern glucklich
+glückt gluckt
+gnadensonne gnadensonn
+goldblonden goldblond
+goldgeschäfte goldgeschaft
+goldstück goldstuck
+gottesdienstes gottesdien
+gradausfahrendes gradausfahrend
+grasten grast
+grauschwarzen grauschwarz
+greinstimme greinstimm
+grete gret
+grille grill
+grober grob
+grosser gross
+großem groß
+grundgesetzes grundgesetz
+gruppe grupp
+grässliche grasslich
+grösserem gross
+größeren groß
+gründende grundend
+grünliche grunlich
+gscheids gscheid
+gummiteichen gummiteich
+gutmachen gutmach
+gälte galt
+gässchen gassch
+göttlichen gottlich
+gültiges gultig
+güter gut
+haarwuchs haarwuch
+hagelhans hagelhan
+halbem halb
+halbtotes halbtot
+halstüchelchen halstuchelch
+hampelmännern hampelmann
+handgrosses handgross
+handschuhen handschuh
+hapertes hapert
+harren harr
+hartnäckigkeit hartnackigkeit
+hastige hastig
+hauptaufgabe hauptaufgab
+hauptstück hauptstuck
+hause haus
+haustüre haustur
+hebräischen hebraisch
+heftigen heftig
+heiliger heilig
+heimischen heimisch
+heimzukehren heimzukehr
+heisser heiss
+helfen helf
+hemde hemd
+herabgelassen herabgelass
+herangekommen herangekomm
+heraufbringen heraufbring
+herausführen herausfuhr
+herauskamen herauskam
+herauszufordern herauszuford
+herbeigeführt herbeigefuhrt
+herbst herb
+hereingeworfenes hereingeworf
+hergenommen hergenomm
+heroischer heroisch
+herrschaften herrschaft
+herstammenden herstammend
+herumkollerte herumkollert
+herumschweifen herumschweif
+herumtummelte herumtummelt
+herunterfinden herunterfind
+hervorbrechen hervorbrech
+hervorgingen hervorging
+hervorsuchte hervorsucht
+herzensgründen herzensgrund
+herzugeben herzugeb
+hethiter hethit
+heutigen heutig
+hierarchie hierarchi
+hiessen hiess
+himmelsbewohnern himmelsbewohn
+himmelswiese himmelswies
+hinabgestürzt hinabgesturzt
+hinabzugehen hinabzugeh
+hinaufrufen hinaufruf
+hinausgehe hinausgeh
+hinausschrie hinausschri
+hindern hind
+hineinfahren hineinfahr
+hineinlegen hineinleg
+hingabe hingab
+hingesehen hingeseh
+hinneigen hinneig
+hinschiessenden hinschiessend
+hintergrunde hintergrund
+hinunterführte hinunterfuhrt
+hinwandte hinwandt
+hinzublicken hinzublick
+hinzustürzen hinzusturz
+hirngespenstern hirngespen
+hitler hitl
+hochgepriesene hochgepries
+hochstapfen hochstapf
+hofe hof
+hofleben hofleb
+holdes hold
+holzknechte holzknecht
+horchten horcht
+hufeisentreppe hufeisentrepp
+hunde hund
+hungrige hungrig
+hypothese hypothes
+hämisch hamisch
+hängen hang
+häschen hasch
+häufchen haufch
+häusern haus
+höchstem hoch
+höh hoh
+höhnisch hohnisch
+höllisches hollisch
+hörest hor
+hübschen hubsch
+hülflos hulflos
+hüte hut
+ideenkiste ideenkist
+ihrigen ihrig
+imstande imstand
+ineinander ineinand
+inländischen inlandisch
+innerlichere innerlich
+innezuwerden innezuwerd
+institutionen institution
+inter int
+interneteine internetein
+inwendigsten inwendig
+irgendwelchen irgendwelch
+irrlichterfischchen irrlichterfischch
+ists ist
+jagdführer jagdfuhr
+jagte jagt
+jakobsbrunnen jakobsbrunn
+jedem jed
+jekühlte jekuhlt
+jesses jess
+jochs joch
+juble jubl
+junge jung
+juristischen juristisch
+jägersmanne jagersmann
+jähzornigen jahzornig
+jüdisches judisch
+kaffee kaffe
+kalben kalb
+kameradinnen kameradinn
+kammmacher kammmach
+kanne kann
+kantonalkirche kantonalkirch
+karaffe karaff
+kasse kass
+kategorische kategorisch
+kauerte kauert
+kecken keck
+keinen kein
+kenne kenn
+kerls kerl
+kielwasser kielwass
+kinderstimmengelächter kinderstimmengelacht
+kinnbacken kinnback
+kirchenpflegen kirchenpfleg
+kirchliche kirchlich
+kitschiges kitschig
+klapperte klappert
+klatschten klatscht
+kleiden kleid
+kleinern klein
+kletterns klettern
+klirrte klirrt
+klägliche klaglich
+knallen knall
+knickte knickt
+knochen knoch
+knäufen knauf
+koalitionsversuche koalitionsversuch
+kolonne kolonn
+kommens komm
+konnte konnt
+kopfe kopf
+kopulieren kopuli
+kosenamen kosenam
+krabbelige krabbelig
+krankenbette krankenbett
+kreaturen kreatur
+kreisrunde kreisrund
+kreuzspinnen kreuzspinn
+krieger krieg
+kriegsstrapazen kriegsstrapaz
+kritisieren kritisi
+krummrückiger krummruckig
+krähte kraht
+kräutermann krautermann
+kuchen kuch
+kulturellen kulturell
+kunstpfeifer kunstpfeif
+kurden kurd
+kurzweiligen kurzweilig
+käfermatz kafermatz
+kämmerchen kammerch
+käthchen kathch
+könige konig
+königssee konigsse
+körbe korb
+köstlichkeiten kostlichkeit
+kühler kuhl
+kümmernis kummernis
+künstler kunstl
+kürzere kurz
+labe lab
+ladenkasse ladenkass
+lamentierte lamentiert
+landesüblichen landesublich
+landstrasse landstrass
+langjährige langjahrig
+lassen lass
+laube laub
+laurens laur
+lautloser lautlos
+lebendigsten lebendig
+lebenshelfer lebenshelf
+lebenszustände lebenszustand
+lebzeiten lebzeit
+ledersäckchen ledersackch
+legten legt
+lehrjahren lehrjahr
+leiber leib
+leibte leibt
+leichtsinnige leichtsinnig
+leidige leidig
+leisbewegte leisbewegt
+leitete leitet
+lestungen lestung
+leuchtendem leuchtend
+leviten levit
+lichter licht
+lieben lieb
+liebeserklärung liebeserklarung
+liebevollen liebevoll
+lieblingsbilder lieblingsbild
+liederchen liederch
+liegenlassen liegenlass
+lindern lind
+liquidierte liquidiert
+loben lob
+lohne lohn
+losgerissen losgeriss
+loszulassen loszulass
+luder lud
+lungen lung
+lutherischen lutherisch
+lächerlich lacherlich
+ländchen landch
+längste lang
+lästerlichstem lasterlich
+läuternd lauternd
+lösenden losend
+lüften luft
+lüsternem lustern
+madehen madeh
+mahalalels mahalalel
+maikäfermann maikafermann
+malottkes malottk
+manier mani
+mannsleute mannsleut
+marschierten marschiert
+massen mass
+materiellen materiell
+maurienne maurienn
+meckerten meckert
+mehrenteils mehrenteil
+meiden meid
+meinte meint
+melden meld
+menschengeschlechts menschengeschlecht
+menschenähnlichkeit menschenahnlichkeit
+merkwürdigen merkwurdig
+metaphysische metaphysisch
+midianiter midianit
+milchkannen milchkann
+militärdienst militardien
+minderheiten minderheit
+mischen misch
+misshandelte misshandelt
+missverständnis missverstandnis
+miteinander miteinand
+mitginge mitging
+mitnähme mitnahm
+mitteilte mitteilt
+mitten mitt
+mitzuhelfen mitzuhelf
+mißverständlich mißverstandlich
+moderner modern
+mondblumen mondblum
+mondschäfchen mondschafch
+moralität moralitat
+morgens morg
+motive motiv
+muntere munt
+musikindustrie musikindustri
+mutes mut
+mutwillens mutwill
+mächtigen machtig
+mängel mangel
+märzwoche marzwoch
+mäusefallen mausefall
+mögen mog
+mörder mord
+mühelosigkeit muhelosigkeit
+münchener munch
+müssig mussig
+mütterlicher mutterlich
+nachbarsleute nachbarsleut
+nachflogen nachflog
+nachgeschickte nachgeschickt
+nachlaufen nachlauf
+nachschicken nachschick
+nachtgejaide nachtgejaid
+nachtwächtern nachtwacht
+nachzuschauen nachzuschau
+nagelschuhe nagelschuh
+namenlosen namenlos
+nasenspitze nasenspitz
+naturerscheinungen naturerscheinung
+naturursachen naturursach
+nauszahlen nauszahl
+nebengesellen nebengesell
+nehmen nehm
+nervöse nervos
+neubebaute neubebaut
+neugesprochenen neugesproch
+neuübersetzung neuubersetzung
+nichts nicht
+nicken nick
+niedergeworfen niedergeworf
+niederschmetternder niederschmetternd
+niedrige niedrig
+nietzsche nietzsch
+noblen nobl
+norwegischen norwegisch
+notpfennige notpfennig
+nummer numm
+nächstbeste nachstb
+nägelein nagelein
+nähren nahr
+näschen nasch
+nüsse nuss
+oberen ober
+obigem obig
+obstbäumen obstbaum
+offenem off
+ohne ohn
+oleandergebüsch oleandergebusch
+ordentliche ordentlich
+ordnungsliebe ordnungslieb
+orione orion
+osterfest osterf
+paares paar
+panier pani
+pappkartons pappkarton
+parks park
+passende passend
+pathologischen pathologisch
+pause paus
+peinlicher peinlich
+perlen perl
+peterchens peterch
+pfauenfedern pfauenfed
+pfeile pfeil
+pflanzerzigarre pflanzerzigarr
+pflichtgemäß pflichtgemaß
+pfoten pfot
+phantasierte phantasiert
+philosophisches philosophisch
+pipsernden pipsernd
+platane platan
+plumsdibums plumsdibum
+plündergut plundergut
+politische politisch
+polterte poltert
+porzellansplitter porzellansplitt
+postulate postulat
+praktisches praktisch
+pressedienstes pressedien
+prisen pris
+probleme problem
+prophezeiungen prophezeiung
+prozeßstadien prozeßstadi
+prägten pragt
+prüfen pruf
+psalmen psalm
+punkten punkt
+putzen putz
+pünktlichen punktlich
+quellenangabe quellenangab
+quälen qual
+rachgierigen rachgierig
+rankten rankt
+rasendes rasend
+rationale rational
+raubkunst raubkun
+rauchwolken rauchwolk
+reader read
+recherchieren recherchi
+rechtfertigungserklärungder rechtfertigungserklarungd
+rechtskräftig rechtskraftig
+redeweise redeweis
+regelmässig regelmassig
+regenrauschen regenrausch
+registrieren registri
+rehes reh
+reichste reich
+reiher reih
+reinsten rein
+reisewagen reisewag
+reizen reiz
+religionsgebräuche religionsgebrauch
+reporter report
+retten rett
+rheinische rheinisch
+richtigsten richtig
+riesengrosser riesengross
+rieten riet
+ringgeschmückten ringgeschmuckt
+ritikül ritikul
+rocke rock
+rollenden rollend
+rosenbüsche rosenbusch
+rostigen rostig
+rothaarigen rothaarig
+ruder rud
+ruhigem ruhig
+rumrennen rumrenn
+rute rut
+ränzchen ranzch
+räumt raumt
+rötlicher rotlich
+rückhaltlosen ruckhaltlos
+rücktritt rucktritt
+rühmt ruhmt
+rüstig rustig
+sabine sabin
+sage sag
+salzburger salzburg
+sammetweste sammetw
+sanfte sanft
+sapperlöter sapperlot
+satzungen satzung
+sausten saust
+schafe schaf
+schalter schalt
+schattenreichen schattenreich
+schauderhaften schauderhaft
+schauspielkunst schauspielkun
+scheinbaren scheinbar
+scheiterhaufen scheiterhauf
+schenken schenk
+scheue scheu
+schicklichen schicklich
+schiene schi
+schiffslände schiffsland
+schimeons schimeon
+schirren schirr
+schlafkappen schlafkapp
+schlankem schlank
+schlechter schlecht
+schleifen schleif
+schleunigst schleunig
+schlimmer schlimm
+schlottrige schlottrig
+schläfe schlaf
+schlüpfen schlupf
+schmalen schmal
+schmerzens schmerz
+schmiegten schmiegt
+schmuckes schmuck
+schnabulieren schnabuli
+schnauze schnauz
+schneelieder schneelied
+schneidergruppen schneidergrupp
+schnepfe schnepf
+schnäbelchen schnabelch
+schnürst schnurst
+schoten schot
+schreibe schreib
+schriftgelehrten schriftgelehrt
+schräg schrag
+schulbücher schulbuch
+schulknaben schulknab
+schuster schust
+schwalbennest schwalbenn
+schwarze schwarz
+schweben schweb
+schweine schwein
+schwelle schwell
+schwerhörig schwerhorig
+schwiegersöhne schwiegersohn
+schwippte schwippt
+schwächlichsten schwachlich
+schwärmenden schwarmend
+schwöre schwor
+schäfchenstall schafchenstall
+schärfer scharf
+schönere schon
+schöpft schopft
+schüsse schuss
+schützendem schutzend
+seehäfen seehaf
+seelenvergnügt seelenvergnugt
+sehe seh
+seichte seicht
+seifengalerie seifengaleri
+seite seit
+sekunde sekund
+selbstentäusserung selbstentausserung
+selbstvertrauen selbstvertrau
+seligmachende seligmachend
+semmelbröseln semmelbroseln
+septembermorgen septembermorg
+seufzen seufz
+sicheres sich
+sichtbaren sichtbar
+siebte siebt
+silbe silb
+silberner silbern
+singenden singend
+sinnesvorstellungen sinnesvorstellung
+sinnreichen sinnreich
+sitze sitz
+sogen sog
+solcherweise solcherweis
+sollst soll
+sonderbarer sonderbar
+sonnenhöhe sonnenhoh
+sonntagskleide sonntagskleid
+sorgende sorgend
+soziales sozial
+spannungen spannung
+spazieren spazi
+speeres spe
+spekulierten spekuliert
+sphäre sphar
+spielte spielt
+spiritusfeuer spiritusfeu
+spottgeburten spottgeburt
+spreizte spreizt
+spruchversen spruchvers
+spucke spuck
+spätere spat
+staate staat
+stabsoffiziere stabsoffizi
+staketen staket
+stampfens stampf
+starre starr
+stattlichen stattlich
+stechender stechend
+stehender stehend
+steigern steig
+steinernes steinern
+stellen stell
+sterben sterb
+sternenmädchen sternenmadch
+steuerausfalls steuerausfall
+stiessen stiess
+stillhalten stillhalt
+stinke stink
+stockwerkes stockwerk
+stolzieren stolzi
+strafte straft
+strasse strass
+strebsamer strebsam
+streitende streitend
+strengsten streng
+strohs stroh
+sträucher strauch
+studen stud
+stumme stumm
+stuttgarter stuttgart
+ställe stall
+stärkern stark
+störe stor
+stück stuck
+stürme sturm
+stützt stutzt
+subtilste subtil
+sumsemänner sumsemann
+synkretistischen synkretistisch
+säbels sabel
+sämtliche samtlich
+sättigen sattig
+säugendes saugend
+säuseln sauseln
+sühnen suhn
+süsses suss
+tafelseite tafelseit
+tagtäglich tagtaglich
+tannenen tann
+tapete tapet
+taten tat
+taufen tauf
+tausee tause
+teelöffel teeloffel
+telefonanrufe telefonanruf
+teppichartigen teppichartig
+teufelshörner teufelshorn
+theologie theologi
+throns thron
+tiefsinniges tiefsinnig
+tiger tig
+tischler tischl
+todesschattens todesschatt
+tollen toll
+tore tor
+totes tot
+tragen trag
+traten trat
+traume traum
+treffliches trefflich
+treppenstufen treppenstuf
+triebe trieb
+trinkhallen trinkhall
+trocknen trockn
+trostlosen trostlos
+truppe trupp
+tränkte trankt
+tröpflein tropflein
+trübselige trubselig
+tuche tuch
+turmstube turmstub
+täppet tappet
+täuschen tausch
+tölpeln tolpeln
+törichte toricht
+tüchtigem tuchtig
+türflügel turflugel
+türöffners turoffners
+umarmungen umarmung
+umfassten umfasst
+umgehängt umgehangt
+umgeändert umgeandert
+umherhupfte umherhupft
+umkleidende umkleidend
+umrührten umruhrt
+umspielten umspielt
+umverteilen umverteil
+unabhängig unabhangig
+unannehmlichkeiten unannehmlichkeit
+unausgefüllt unausgefullt
+unbedingte unbedingt
+unbehagliches unbehaglich
+unbeschnittene unbeschnitt
+unbewohnte unbewohnt
+unechter unecht
+unentschlossen unentschloss
+unerhörtes unerhort
+unerschütterlich unerschutterlich
+unfern unf
+ungefähr ungefahr
+ungekämmten ungekammt
+ungeschickte ungeschickt
+ungestümes ungestum
+ungezählten ungezahlt
+unglücklich unglucklich
+unheiligen unheilig
+uniondie uniondi
+unkunde unkund
+unmännlich unmannlich
+unnütze unnutz
+unredliche unredlich
+unsauberes unsaub
+unschön unschon
+unsichern unsich
+unstern unst
+unterbreiten unterbreit
+untereinander untereinand
+untergeordneter untergeordnet
+unterkiefer unterkief
+unterminierte unterminiert
+unterscheidungszeichen unterscheidungszeich
+untersten unterst
+untertänigkeit untertanigkeit
+unterzukommen unterzukomm
+unvergoldete unvergoldet
+unverputzte unverputzt
+unvertilgbaren unvertilgbar
+unwahrscheinliche unwahrscheinlich
+unwillkürlich unwillkurlich
+unzugängliche unzuganglich
+unzähliger unzahlig
+urgrunde urgrund
+ursächlich ursachlich
+vasallentreue vasallentreu
+verabredeten verabredet
+veranstaltungen veranstaltung
+verbeugten verbeugt
+verbleiben verbleib
+verborgen verborg
+verbreitete verbreitet
+verdammtem verdammt
+verderblichen verderblich
+verdorren verdorr
+verdächtig verdachtig
+vereinten vereint
+verfaulen verfaul
+verflogen verflog
+verfälschen verfalsch
+verführen verfuhr
+vergebliches vergeblich
+vergissmeinnichtschnäpse vergissmeinnichtschnaps
+vergnügtem vergnugt
+vergraben vergrab
+verhaltenen verhalt
+verheissen verheiss
+verhält verhalt
+verhöhnen verhohn
+verkaufen verkauf
+verklärt verklart
+verkrüppelt verkruppelt
+verlangen verlang
+verlegenen verleg
+verleumdern verleumd
+verlorenen verlor
+verlässt verlasst
+vermeinter vermeint
+vermittlungen vermittlung
+vermöge vermog
+vernehmen vernehm
+vernunftbedürfnis vernunftbedurfnis
+vernunftidee vernunftide
+vernähme vernahm
+vernünftlern vernunftl
+verreisen verreis
+verrückt verruckt
+verscheuchten verscheucht
+verschlangen verschlang
+verschmerzen verschmerz
+verschossen verschoss
+verschwundene verschwund
+versessen versess
+verspotten verspott
+verstandesbegriffe verstandesbegriff
+verstehe versteh
+verstohlener verstohl
+verständigen verstandig
+verständnislosen verstandnislos
+versuchsweise versuchsweis
+versöhnungsversuch versohnungsversuch
+vertrages vertrag
+vertretern vertret
+verunglückten verungluckt
+verwaltenden verwaltend
+verwaschenen verwasch
+verwelken verwelk
+verwirrte verwirrt
+verwundern verwund
+verzagen verzag
+verzichten verzicht
+verzögerte verzogert
+verängstigt verangstigt
+vexieren vexi
+vielfältige vielfaltig
+vierspännige vierspannig
+violettes violett
+vogelstimmen vogelstimm
+vollbringen vollbring
+vollkommener vollkomm
+vollziehest vollzieh
+vorausnehmen vorausnehm
+vorbereitender vorbereitend
+vorbrechenden vorbrechend
+vorfielen vorfiel
+vorgehen vorgeh
+vorgesetzte vorgesetzt
+vorhandenen vorhand
+vorherrschende vorherrschend
+vorkomme vorkomm
+vormittags vormittag
+vorratshäusern vorratshaus
+vorschützen vorschutz
+vorstelle vorstell
+vortrage vortrag
+vorwerfen vorwerf
+vorzugeben vorzugeb
+vorzüglichen vorzuglich
+vorüberkamen voruberkam
+vögelchen vogelch
+völlige vollig
+wachsende wachsend
+wadenstrümpfen wadenstrumpf
+wahlberechtigten wahlberechtigt
+wahlmorgen wahlmorg
+wahrhaftigsten wahrhaftig
+walchensee walchense
+waldsträsschen waldstrassch
+wandellose wandellos
+wandrer wandr
+warfen warf
+waschungen waschung
+wassernixen wassernix
+weben web
+wegblendete wegblendet
+weggehoben weggehob
+wegnehme wegnehm
+wegwürfe wegwurf
+wehen weh
+wehrhaften wehrhaft
+weiberschuhe weiberschuh
+weichherzigen weichherzig
+weihen weih
+weinbeere weinbe
+weintrinker weintrink
+weisser weiss
+weitere weit
+weiterzogen weiterzog
+weiße weiß
+welle well
+weltlicher weltlich
+wenigem wenig
+werften werft
+wertlose wertlos
+westdeutscher westdeutsch
+wetten wett
+wickelkindchen wickelkindch
+widerrede widerred
+widerstanden widerstand
+widerwärtige widerwartig
+wiederfinden wiederfind
+wiederholen wiederhol
+wiehernde wiehernd
+wilderer wild
+wille will
+willkommene willkomm
+windlüfte windluft
+winterkohlköpfe winterkohlkopf
+wirkens wirk
+wirten wirt
+wischer wisch
+wissenschaftliches wissenschaftlich
+witzen witz
+wogenden wogend
+wohlduftende wohlduftend
+wohlgefälliges wohlgefallig
+wohlgerüche wohlgeruch
+wohlmeinenden wohlmeinend
+wohlversehen wohlverseh
+wohnstätte wohnstatt
+wolle woll
+wonnevolle wonnevoll
+wucherten wuchert
+wunderlichen wunderlich
+wunderten wundert
+wurzelknorren wurzelknorr
+wähler wahl
+währete wahret
+wärest war
+wässerndem wassernd
+wühlte wuhlt
+würdet wurdet
+würze wurz
+wüten wut
+zahlende zahlend
+zanken zank
+zaster zast
+zauberstücke zauberstuck
+zehenten zehent
+zeige zeig
+zeitlaufs zeitlauf
+zeitvertreiber zeitvertreib
+zerbreche zerbrech
+zerfliessen zerfliess
+zernagte zernagt
+zerschnitten zerschnitt
+zerstreute zerstreut
+zertrümmerten zertrummert
+zeugungen zeugung
+ziehenden ziehend
+ziergewächs ziergewach
+zigarettendose zigarettendos
+zions zion
+zithern zith
+zivilpolizisten zivilpolizist
+zuckerbrücken zuckerbruck
+zufalle zufall
+zufälligkeit zufalligkeit
+zugegebenermassen zugegebenermass
+zugestanden zugestand
+zugute zugut
+zulangen zulang
+zumutungen zumutung
+zurechtgewiesen zurechtgewies
+zurückbleibt zuruckbleibt
+zurückführte zuruckfuhrt
+zurückgekehrt zuruckgekehrt
+zurückgewinkt zuruckgewinkt
+zurückliessen zuruckliess
+zurückwarf zuruckwarf
+zusagen zusag
+zusammengefalteten zusammengefaltet
+zusammenhangs zusammenhang
+zusammennähten zusammennaht
+zusammenstößt zusammenstoßt
+zuschauern zuschau
+zustands zustand
+zuträgern zutrag
+zuwenden zuwend
+zuzuschauen zuzuschau
+zwecken zweck
+zweifelhafter zweifelhaft
+zweispännigen zweispannig
+zwillingsmilchflasche zwillingsmilchflasch
+zylinder zylind
+zähnchen zahnch
+zäune zaun
+zügellosen zugellos
+züs zus
+ägyptern agypt
+älteren alt
+äpfel apfel
+ärmchen armch
+ästen ast
+äufnete aufnet
+äusserlichsten ausserlich
+äußerlich außerlich
+äxten axt
+öfter oft
+öls ols
+übeln ubeln
+überblick uberblick
+überdruß uberdruß
+überempfindlich uberempfindlich
+überflutung uberflutung
+übergeht ubergeht
+überhaupt uberhaupt
+überkommen uberkomm
+überlegt uberlegt
+übermannt ubermannt
+übernehmen ubernehm
+überraschten uberrascht
+übers ubers
+überschwemmung uberschwemmung
+übersiedeln ubersiedeln
+überstieg uberstieg
+übertretung ubertretung
+überwachung uberwachung
+überwunden uberwund
+überzuspringen uberzuspring
+übriger ubrig
+a a
+aber aber
+abgelenkt abgelenkt
+abgibt abgibt
+abnahm abnahm
+abschluß abschluß
+abstracto abstracto
+abwendung abwendung
+achtgab achtgab
+ade ade
+ager ager
+akzeptiert akzeptiert
+allda allda
+allzeit allzeit
+altmodisch altmodisch
+amtlich amtlich
+anbot anbot
+anerkennt anerkennt
+angedeutet angedeutet
+angelika angelika
+angesicht angesicht
+anheim anheim
+anlehnung anlehnung
+ans ans
+ansieht ansieht
+antelephoniert antelephoniert
+anwendet anwendet
+appell appell
+arbeitsvermittlung arbeitsvermittlung
+arrnbrust arrnbrust
+assoziierung assoziierung
+aufbietung aufbietung
+aufforderung aufforderung
+aufgerichtet aufgerichtet
+aufhielt aufhielt
+aufrichtig aufrichtig
+aufsteigt aufsteigt
+aug aug
+ausbreitung ausbreitung
+ausgebreitet ausgebreitet
+ausgerechnet ausgerechnet
+ausgetrocknet ausgetrocknet
+ausmaß ausmaß
+ausserordentlich ausserordentlich
+ausstieß ausstieß
+auszog auszog
+bach bach
+bankiers bankiers
+basilisk basilisk
+bauers bauers
+beachtet beachtet
+bedeutend bedeutend
+beerscheba beerscheba
+befriedigung befriedigung
+begibt begibt
+behaglichkeit behaglichkeit
+beiderlei beiderlei
+beincheneroberung beincheneroberung
+bekennt bekennt
+belehrt belehrt
+bemerklich bemerklich
+bequemlichkeit bequemlichkeit
+bereitschaft bereitschaft
+bergwerk bergwerk
+beruhigung beruhigung
+beschlag beschlag
+beseitigung beseitigung
+bestand bestand
+bestrebt bestrebt
+betreff betreff
+beurteilung beurteilung
+bewirbt bewirbt
+bezielt bezielt
+bietend bietend
+bisserl bisserl
+blechmusik blechmusik
+blinzelnd blinzelnd
+blut blut
+bolzenburg bolzenburg
+bratenspiess bratenspiess
+brennend brennend
+brummbass brummbass
+buchenast buchenast
+burnus burnus
+causam causam
+che che
+christlich christlich
+contrarias contrarias
+dabei dabei
+dahinzog dahinzog
+daraus daraus
+dasass dasass
+dazua dazua
+deklinierbuch deklinierbuch
+depot depot
+deshalb deshalb
+diakoniekapitel diakoniekapitel
+dieb dieb
+differenz differenz
+disputiert disputiert
+don don
+dran dran
+dreißig dreißig
+dudlerei dudlerei
+durchbohrt durchbohrt
+durchsucht durchsucht
+ebensowohl ebensowohl
+effekt effekt
+ehrerbietung ehrerbietung
+eigennutz eigennutz
+einbringt einbringt
+einfloss einfloss
+eingelegt eingelegt
+eingoß eingoß
+einleitung einleitung
+einschließt einschließt
+einwand einwand
+eisenwerk eisenwerk
+elisabeth elisabeth
+empfing empfing
+eng eng
+entbehrt entbehrt
+entgeht entgeht
+entriss entriss
+entsetzt entsetzt
+entwickeln entwickeln
+erbaut erbaut
+erdreich erdreich
+erfuhr erfuhr
+erheblich erheblich
+erkennet erkennet
+ermangelung ermangelung
+erreichung erreichung
+erspriesslich erspriesslich
+erstreckt erstreckt
+erwischt erwischt
+eseln eseln
+euphrat euphrat
+existenzminimum existenzminimum
+fabrikant fabrikant
+falsch falsch
+faul faul
+feigenbaum feigenbaum
+feldweg feldweg
+fernrohrs fernrohrs
+fettigkeit fettigkeit
+figur figur
+firma firma
+flicht flicht
+flug flug
+forderung forderung
+fortgehend fortgehend
+forumein forumein
+frauenmund frauenmund
+freud freud
+friedensopfers friedensopfers
+fruchtlos fruchtlos
+funktion funktion
+galt galt
+gau gau
+gebetbuch gebetbuch
+gebreitet gebreitet
+gedieh gedieh
+gefangenschaft gefangenschaft
+gegensatz gegensatz
+geheftet geheftet
+geht geht
+gekauft gekauft
+gelacht gelacht
+gelehret gelehret
+gemacht gemacht
+gemischt gemischt
+genf genf
+geordnet geordnet
+gerastet gerastet
+gerichtsorganisation gerichtsorganisation
+gesandt gesandt
+geschlechtsverzeichnis geschlechtsverzeichnis
+gesell gesell
+gesinnt gesinnt
+gestand gestand
+gesucht gesucht
+gewagt gewagt
+geweihbildung geweihbildung
+gewißlich gewißlich
+ghear ghear
+gipfelpunkt gipfelpunkt
+gleichbedeutend gleichbedeutend
+gliederlein gliederlein
+goldig goldig
+gradheit gradheit
+greisenhaftigkeit greisenhaftigkeit
+gross gross
+grundlos grundlos
+guck guck
+gweint gweint
+hadep hadep
+halbkugeln halbkugeln
+handbibel handbibel
+hannibal hannibal
+hast hast
+hauptziel hauptziel
+hebt hebt
+heim heim
+heirat heirat
+hellsehend hellsehend
+heranbrach heranbrach
+herausreißt herausreißt
+hergehend hergehend
+heroismus heroismus
+herstammt herstammt
+heruntergebrannt heruntergebrannt
+hervortrat hervortrat
+hesekiel hesekiel
+hiebei hiebei
+hilf hilf
+hin hin
+hinausschweift hinausschweift
+hineinritt hineinritt
+hinleg hinleg
+hinterlist hinterlist
+historikerin historikerin
+hochwild hochwild
+hol hol
+hopp hopp
+huldreich huldreich
+hungers hungers
+igel igel
+immerfort immerfort
+inhaltlich inhaltlich
+insgesamt insgesamt
+interius interius
+irret irret
+izmir izmir
+jahr jahr
+jared jared
+jelek jelek
+jizhar jizhar
+jota jota
+julimonat julimonat
+kakan kakan
+kanonenlauf kanonenlauf
+kartoffelfeld kartoffelfeld
+kauf kauf
+keim keim
+kiel kiel
+kino kino
+kirchweih kirchweih
+klatschend klatschend
+klug klug
+kobold kobold
+komm komm
+konfisziert konfisziert
+kontradiktorisch kontradiktorisch
+korrespondenz korrespondenz
+krankenbett krankenbett
+kreuzl kreuzl
+kritisch kritisch
+kullich kullich
+kurdisch kurdisch
+label label
+lamm lamm
+langsamkeit langsamkeit
+laut laut
+lebensmittelembargos lebensmittelembargos
+ledersofa ledersofa
+leib leib
+leidenschaftlich leidenschaftlich
+lenkerin lenkerin
+levit levit
+lieblich lieblich
+ließ ließ
+lobsinget lobsinget
+los los
+luitpold luitpold
+lyon lyon
+magerkeit magerkeit
+malis malis
+mannschaft mannschaft
+markln markln
+mass mass
+maus maus
+meinung meinung
+menschenvernunft menschenvernunft
+metaphysik metaphysik
+million million
+misshandelt misshandelt
+miteinand miteinand
+mitschuldig mitschuldig
+mitverursacht mitverursacht
+mondgegend mondgegend
+monument monument
+motion motion
+munterkeit munterkeit
+mutterseelenallein mutterseelenallein
+nachbarschaft nachbarschaft
+nachkam nachkam
+nachtigall nachtigall
+naht naht
+nation nation
+nazis nazis
+nehmt nehmt
+neu neu
+nichtanwendung nichtanwendung
+niederliess niederliess
+nirgendwo nirgendwo
+normal normal
+nussbaumschrank nussbaumschrank
+oberherrschaft oberherrschaft
+ofen ofen
+oldenburg oldenburg
+ordnet ordnet
+ostrolenka ostrolenka
+panamahut panamahut
+passah passah
+pech pech
+perlenband perlenband
+pfiff pfiff
+philisterhaftigkeit philisterhaftigkeit
+plan plan
+polackei polackei
+posaunt posaunt
+prangt prangt
+prius prius
+projekt projekt
+prozeßstadium prozeßstadium
+pusterohr pusterohr
+quintessenz quintessenz
+rangordnung rangordnung
+raub raub
+rechenbuch rechenbuch
+redend redend
+regennacht regennacht
+reh reh
+reinigkeit reinigkeit
+religionreligionsunterricht religionreligionsunterricht
+reuet reuet
+riecht riecht
+ringvorlesung ringvorlesung
+roh roh
+rubin rubin
+ruht ruht
+s s
+salami salami
+sammet sammet
+satirisch satirisch
+schachteln schachteln
+schamlosigkeit schamlosigkeit
+schauspiel schauspiel
+schellenklang schellenklang
+schicksalhaft schicksalhaft
+schimmert schimmert
+schlang schlang
+schlief schlief
+schloßgesellschaft schloßgesellschaft
+schmachtend schmachtend
+schmied schmied
+schneiderwelt schneiderwelt
+schoham schoham
+schreibtafel schreibtafel
+schuldigkeit schuldigkeit
+schwarz schwarz
+schweiz schweiz
+scil scil
+seelon seelon
+seid seid
+selbigsmal selbigsmal
+seligmachung seligmachung
+serpentum serpentum
+sicht sicht
+siedendheiss siedendheiss
+singbuch singbuch
+sinnt sinnt
+skeptisch skeptisch
+sohn sohn
+sommerhell sommerhell
+sonnenaufgang sonnenaufgang
+sono sono
+soweit soweit
+speichel speichel
+spielkugel spielkugel
+spitzig spitzig
+springt springt
+stach stach
+stammt stammt
+statuta statuta
+steifbeinig steifbeinig
+sterbeforscherin sterbeforscherin
+stickerei stickerei
+stirn stirn
+straminis straminis
+strebt strebt
+strom strom
+sturmflockenwirbel sturmflockenwirbel
+summarisch summarisch
+sz sz
+taiga taiga
+tat tat
+tausig tausig
+tel tel
+testament testament
+thiel thiel
+tisch tisch
+tolpatschig tolpatschig
+tort tort
+traktatus traktatus
+trauung trauung
+tritt tritt
+trotzig trotzig
+turin turin
+ulm ulm
+umgespritzt umgespritzt
+ummifahret ummifahret
+umstiess umstiess
+unangetastet unangetastet
+unbenutzt unbenutzt
+unedel unedel
+unfug unfug
+ungewiß ungewiß
+unklar unklar
+unrein unrein
+unstreitig unstreitig
+unterlass unterlass
+unterschleif unterschleif
+unterzog unterzog
+unverzagt unverzagt
+unzeit unzeit
+urteilskraft urteilskraft
+vaters vaters
+veranlaßt veranlaßt
+verbindungsmittel verbindungsmittel
+verdammnis verdammnis
+verdunkelt verdunkelt
+verfasst verfasst
+vergeblich vergeblich
+vergleich vergleich
+verherrlicht verherrlicht
+verkleidet verkleidet
+verleugnet verleugnet
+vermehrung vermehrung
+verneigt verneigt
+verregnet verregnet
+verschleiert verschleiert
+versetzung versetzung
+verstattet verstattet
+verteidigung verteidigung
+verursacht verursacht
+verweigerung verweigerung
+verwunderung verwunderung
+vfb vfb
+viertel viertel
+vokabeln vokabeln
+vom vom
+vorbedacht vorbedacht
+vorfindet vorfindet
+vorhergehend vorhergehend
+vorn vorn
+vorsetzt vorsetzt
+vorwaltet vorwaltet
+wach wach
+wahljahr wahljahr
+wahrnehmbar wahrnehmbar
+wandelnd wandelnd
+warst warst
+we we
+weggewendet weggewendet
+wehselig wehselig
+weidmann weidmann
+weinstock weinstock
+weithin weithin
+weltmann weltmann
+werdet werdet
+wetters wetters
+widersetzt widersetzt
+wiederbelebt wiederbelebt
+wieso wieso
+windfaust windfaust
+wirbel wirbel
+wirtschaftswachstum wirtschaftswachstum
+woass woass
+wohllaut wohllaut
+woll woll
+worum worum
+wurzweg wurzweg
+zankt zankt
+zeichnung zeichnung
+zeitweilig zeitweilig
+zerlegung zerlegung
+zeugnis zeugnis
+zier zier
+zirkel zirkel
+zoo zoo
+zufluss zufluss
+zugibt zugibt
+zunehmend zunehmend
+zusammengekehrt zusammengekehrt
+zusammenstoppeln zusammenstoppeln
+zutragend zutragend
+zwang zwang
+zweit zweit
diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/de-minimal.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/de-minimal.tsv
new file mode 100644
index 0000000000..55a91c7273
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/de-minimal.tsv
@@ -0,0 +1,2000 @@
+aalglatten aalglatt
+abendländischen abendlandisch
+abermalige abermalig
+abgebe abgeb
+abgehängen abgehang
+abgenommen abgenomm
+abgeschwächt abgeschwacht
+abgewetzten abgewetzt
+abgründe abgrund
+abhängig abhangig
+ablassen ablass
+abmühten abmuht
+abrisse abris
+abschlagen abschlag
+abschüttelten abschuttelt
+absonderungen absonderung
+abstrahieren abstrahier
+aburteilen aburteil
+abwickeln abwickel
+abzugeben abzugeb
+abzupflücken abzupfluck
+abzuwenden abzuwend
+achtete achtet
+acker acke
+adler adle
+affizierten affiziert
+ahornbäume ahornbaum
+aktionen aktio
+allbereits allbereit
+allereinzelnsten allereinzelnst
+allerschlimmste allerschlimmst
+allgemein allgemei
+allmächtige allmachtig
+allzulange allzulang
+altersleiden altersleid
+ameise amei
+amtes amte
+analogon analogo
+anbetete anbetet
+andere ander
+andreas andrea
+anerkannte anerkannt
+anfeinden anfeind
+anführen anfuhr
+angebotenen angebote
+angehalten angehalt
+angehört angehort
+angelegentlichste angelegentlichst
+angenehmste angenehmst
+angeschwollen angeschwoll
+angestrichene angestrichen
+angrenzenden angrenzend
+anheimgegeben anheimgegeb
+anhörte anhort
+ankommender ankommend
+anlegte anlegt
+anmutigen anmutig
+annähme annahm
+anrühren anruhr
+anschließen anschließ
+ansprache ansprach
+anstoss anstos
+anstößt anstoßt
+antriebe antrieb
+anwandeln anwandel
+anzengruber anzengrub
+anzuhängen anzuhang
+anzusehen anzuseh
+apfelbaumes apfelbaum
+arabiens arabien
+arbeitsplatzes arbeitsplatz
+argwohn argwoh
+armseligste armseligst
+ascher asch
+aster aste
+atome atom
+aufblies aufbli
+aufeinanderfolgen aufeinanderfolg
+auffallen auffall
+aufgabe aufgab
+aufgefunden aufgefund
+aufgekommenen aufgekomme
+aufgerüttelt aufgeruttelt
+aufgeworfene aufgeworfen
+aufhäuften aufhauft
+aufleuchtenden aufleuchtend
+aufnahmegefäss aufnahmegefas
+aufpflanzte aufpflanzt
+aufrichtigen aufrichtig
+aufschlüsse aufschlus
+aufsprossen aufspross
+auftauchten auftaucht
+aufwärter aufwart
+aufzuge aufzug
+aufzuschlagen aufzuschlag
+augen auge
+ausblase ausbla
+ausdrucksweise ausdruckswei
+auseinanderschneiden auseinanderschneid
+ausforschen ausforsch
+ausgebildete ausgebildet
+ausgeflossen ausgefloss
+ausgehungerte ausgehungert
+ausgeritten ausgeritt
+ausgesetzte ausgesetzt
+ausgetrieben ausgetrieb
+ausgingen ausging
+auskröchen auskroch
+auslöschte ausloscht
+ausreissen ausreiss
+ausschicken ausschick
+aussenminister aussenminist
+ausspannen ausspan
+ausstrecke ausstreck
+austreibe austreib
+auswendigsten auswendigst
+auszuarbeiten auszuarbeit
+auszulöschen auszulosch
+auszuschreiten auszuschreit
+ausüben ausub
+aversamur aversamu
+backsteinplatte backsteinplatt
+balester balest
+bankbeamten bankbeamt
+baren bare
+baseler basel
+bauche bauch
+bauersmann bauersman
+baumstöcke baumstock
+beachten beacht
+bebaute bebaut
+bedeckten bedeckt
+bedeutsamsten bedeutsamst
+bedrängte bedrangt
+bedürfnisses bedurfniss
+beeren beer
+befestigte befestigt
+befreie befrei
+befördert befordert
+begann began
+begehrungsvermögens begehrungsvermogen
+begleitern begleiter
+begreifen begreif
+begründe begrund
+begrüßen begruß
+behagten behagt
+behelfen behelf
+behältnis behaltni
+beider beid
+beigesellen beigesell
+beinen bein
+beistimmendes beistimmend
+bejahrten bejahrt
+beklagen beklag
+bekämpft bekampft
+belebe beleb
+beleuchteten beleuchtet
+belästigen belastig
+bemühen bemuh
+beneidenswürdige beneidenswurdig
+benützung benutzung
+beraten berat
+beredungen beredung
+bergen berg
+bergsteiger bergsteig
+berlin berli
+beruhe beruh
+berühmtesten beruhmtest
+besass besas
+beschienenen beschiene
+beschriebene beschrieben
+beschwerte beschwert
+beschäftigter beschaftigt
+besen bese
+besitzerin besitzeri
+besonnten besonnt
+besseren besser
+bestechende bestechend
+bestie besti
+bestimmtesten bestimmtest
+beständiger bestandig
+bestürmte besturmt
+besässe besas
+betragen betrag
+betrunkenen betrunke
+betrügerisch betrugerisch
+betäubt betaubt
+beurteilte beurteilt
+bewahrte bewahrt
+bewegursache bewegursach
+bewirkten bewirkt
+bewusstlosen bewusstlos
+bewässerter bewassert
+bezeugen bezeug
+bezüglichen bezuglich
+biertrinker biertrink
+bildschöne bildschon
+biographien biographi
+bitter bitt
+blanker blank
+blattern blatter
+bleibe bleib
+blendendweisse blendendweis
+blinder blind
+blitzschrecken blitzschreck
+bloßes bloß
+blutbräutigams blutbrautigam
+blähte blaht
+blödsinnige blodsinnig
+blüten blut
+bombardierte bombardiert
+boutique boutiqu
+brandrotes brandrot
+braun brau
+braver brav
+brenne brenn
+bringe bring
+broten brot
+brummbässe brummbas
+bräutigam brautigam
+brüller brull
+buchbinders buchbinder
+buchungsbelegen buchungsbeleg
+bundeslade bundeslad
+bureaus bureau
+bäche bach
+bärenschinken barenschink
+böcke bock
+bösewichte bosewicht
+büchsenlicht buchsenlicht
+bügelte bugelt
+bürgerhut burgerhut
+büroräume buroraum
+canailles canaill
+chaotischen chaotisch
+cheruben cherub
+christdemokratischen christdemokratisch
+chöre chor
+computern computer
+daches dach
+dagesessen dagesess
+daliegenden daliegend
+danken dank
+darein darei
+dartun dartu
+datis dati
+davongangen davongang
+decke deck
+deinen dein
+demokratische demokratisch
+denjenigen denjenig
+derartigen derartig
+derselbe derselb
+details detail
+deutschlehrerin deutschlehreri
+dichtes dicht
+diefer dief
+diensten dienst
+dieselben dieselb
+dinte dint
+disputieren disputier
+dominicus dominicu
+doppelbüchse doppelbuch
+dorfspaziergängen dorfspaziergang
+drachen drach
+dreieckiger dreieckig
+dreschen dresch
+drohenden drohend
+drängt drangt
+duckmäuser duckmaus
+dummes dumm
+dunkels dunkel
+durchbohrter durchbohrt
+durchführung durchfuhrung
+durchmass durchmas
+durchschritten durchschritt
+durchzogen durchzog
+dächer dach
+dänischen danisch
+dünkten dunkt
+dürftigen durftig
+düten dute
+ebereschen eberesch
+edelpferden edelpferd
+effigies effigi
+ehemals ehemal
+ehrenbürgerinfür ehrenburgerinfu
+ehrwürdig ehrwurdig
+eifers eifer
+eigenhändig eigenhandig
+eigentliche eigentlich
+eigenwillen eigenwill
+einbilde einbild
+eindringendsten eindringendst
+einfallen einfall
+einfließenden einfließend
+einflößt einfloßt
+einfühlungsvermögen einfuhlungsvermog
+eingebüsst eingebusst
+eingegangen eingegang
+eingenommen eingenomm
+eingeschlafen eingeschlaf
+eingetan eingeta
+eingeäscherten eingeaschert
+einheimsen einheims
+einigermassen einigermass
+einkrümmung einkrummung
+einmischte einmischt
+einrückte einruckt
+einschläft einschlaft
+einsichtsfähigkeit einsichtsfahigkeit
+einstiges einstig
+eintretende eintretend
+einvernahme einvernahm
+einwürfe einwurf
+einziges einzig
+einzuknöpfen einzuknopf
+einzuziehen einzuzieh
+eisgeschwistern eisgeschwister
+ekelte ekelt
+elenchis elenchi
+ellbög ellbog
+empfangszimmer empfangszimm
+empfängt empfangt
+emportürmte emporturmt
+endigte endigt
+engelgeister engelgeist
+englische englisch
+entblößt entbloßt
+entfernen entfer
+entfärbt entfarbt
+entgegenkommen entgegenkomm
+enthaltene enthalten
+entkräfteter entkraftet
+entlocken entlock
+entränne entrann
+entschlafen entschlaf
+entschwebte entschwebt
+entsprechendes entsprechend
+entströmten entstromt
+entwendete entwendet
+entwürdigend entwurdigend
+epikur epiku
+erbeben erbeb
+erblassten erblasst
+erbärmliche erbarmlich
+erdichtete erdichtet
+erfahrene erfahren
+erfindungsgabe erfindungsgab
+erforschen erforsch
+erfährt erfahrt
+ergiessen ergiess
+ergänzung erganzung
+erhaschen erhasch
+erholte erholt
+erinnern erinner
+erkenntnis erkenntni
+erklärst erklarst
+erlaube erlaub
+erleichterte erleichtert
+erlös erlo
+ermannte ermannt
+ermüdetes ermudet
+ernsthaftes ernsthaft
+erraten errat
+erröte errot
+erscheinens erscheinen
+erschrecken erschreck
+ersehe erseh
+erspähend erspahend
+ersten erst
+erstmals erstmal
+ertrotzen ertrotz
+erwachsener erwachsen
+erweiterten erweitert
+erwächst erwachst
+erwünschte erwunscht
+erziehungsleute erziehungsleut
+erzählest erzahlest
+esaus esau
+esszimmer esszimm
+eurer eure
+ewige ewig
+exkrementen exkrement
+faciles facil
+fahrwasser fahrwass
+falsches falsch
+fanatisierten fanatisiert
+farbtupfer farbtupf
+fauchte faucht
+federführung federfuhrung
+feierliche feierlich
+feigern feiger
+feinschmecker feinschmeck
+feldzuges feldzug
+felsnase felsna
+fergus fergu
+fernsten fernst
+festgemachte festgemacht
+fetten fett
+feuerhölle feuerholl
+fiber fibe
+figur figu
+fingen fing
+firste first
+flachen flach
+flats flat
+flehte fleht
+fliege flieg
+flinkfüssigen flinkfussig
+fluchtgedanken fluchtgedank
+flusses fluss
+flüchteten fluchtet
+flügelmann flugelman
+folgen folg
+fontenelle fontenell
+formenwesens formenwesen
+fortdauer fortdau
+fortgetrieben fortgetrieb
+fortschritte fortschritt
+forumein forumei
+franzosen franzos
+frauensleute frauensleut
+frechsten frechst
+freiließen freiließ
+frelmännin frelmanni
+freudenschüsse freudenschus
+freundlicher freundlich
+friedenszeiten friedenszeit
+frischer frisch
+fronten front
+fröhliche frohlich
+frühe fruh
+frühlingshimmel fruhlingshimmel
+frührot fruhrot
+fuhrwerklein fuhrwerklei
+funktionierte funktioniert
+fusssohle fusssohl
+fähigkeit fahigkeit
+färbende farbend
+försterbart forsterbart
+fühlhörnchen fuhlhornch
+führt fuhrt
+fünfen funf
+fünfzehnmal funfzehnmal
+fürchtende furchtend
+fürsichtige fursichtig
+füttern futter
+galler gall
+garderobe garderob
+gassen gass
+gasthofes gasthof
+gealttätige gealttatig
+gebeugte gebeugt
+gebissen gebiss
+geboten gebot
+gebräuchen gebrauch
+gebälks gebalk
+gebürtig geburtig
+gedankenspäne gedankenspan
+gedruckten gedruckt
+gedörrt gedorrt
+gefangener gefangen
+geformte geformt
+gefährlicher gefahrlich
+gefärbte gefarbt
+geführet gefuhret
+gegengewichts gegengewicht
+gegenwärtigeren gegenwartiger
+gegnern gegner
+gehassten gehasst
+geheimnisvoller geheimnisvoll
+gehoffte gehofft
+gehölz geholz
+gehörtest gehortest
+geisterheere geisterheer
+geistigsten geistigst
+gekrönt gekront
+gelassener gelassen
+geldgier geldgi
+gelehrte gelehrt
+gelindesten gelindest
+gelungenen gelunge
+gelüstig gelustig
+gemeindegutes gemeindegut
+gemeinschaftlichen gemeinschaftlich
+gemshorn gemshor
+gemäßigt gemaßigt
+gemütsanlage gemutsanlag
+genausten genaust
+genies geni
+genuss genus
+genüsse genus
+gepflegter gepflegt
+geprügelt geprugelt
+gerechte gerecht
+gerichten gericht
+gerichtszimmer gerichtszimm
+geringschätzung geringschatzung
+geruches geruch
+geröllhalden gerollhald
+gerüste gerust
+gesangs gesang
+gescheuerte gescheuert
+geschiedenes geschieden
+geschlossener geschlossen
+geschnatterwesen geschnatterwes
+geschrien geschri
+geschwänzelt geschwanzelt
+geschäftliche geschaftlich
+geschäftsstelle geschaftsstell
+gesegnen geseg
+gesessen gesess
+gesetzte gesetzt
+gesindehaus gesindehau
+gespreizten gespreizt
+gestalten gestalt
+gestirnes gestirn
+gestrige gestrig
+gesundes gesund
+getauchte getaucht
+getrieben getrieb
+getröstet getrostet
+gewahrten gewahrt
+gewandte gewandt
+gewerkschaftsdemonstration gewerkschaftsdemonstratio
+gewissenhafter gewissenhaft
+gewisseste gewissest
+gewordenen geworde
+gewährten gewahrt
+gewölk gewolk
+gezeigten gezeigt
+geädert geadert
+ghear ghea
+gifte gift
+glanze glanz
+glaubenden glaubend
+glaubenswahren glaubenswahr
+gleiches gleich
+gleichzumachen gleichzumach
+glockenschläge glockenschlag
+glänzender glanzend
+gläubiger glaubig
+glücks gluck
+glühende gluhend
+gnädige gnadig
+golde gold
+goldkieswege goldkiesweg
+gomorrahs gomorrah
+gottlosen gottlos
+grafen graf
+gratis grati
+grauweiss grauweis
+greisenalter greisenalt
+greueln greuel
+grimmigen grimmig
+grossartige grossartig
+grossmütige grossmutig
+großvater großvat
+grundmauern grundmauer
+gräben grab
+gröber grob
+grössten grosst
+grübeleien grubelei
+gründung grundung
+grüssend grussend
+gsungen gsung
+gutartige gutartig
+gwitter gwitt
+gänzlichen ganzlich
+göttern gotter
+götzensteine gotzenstein
+gürteten gurtet
+haarwuchs haarwuch
+haftstrafen haftstraf
+haken hake
+halbstummen halbstumm
+halskette halskett
+hampelmann hampelman
+handgelenken handgelenk
+handreibungen handreibung
+hantierungen hantierung
+harnischreste harnischrest
+hartnäckigkeit hartnackigkeit
+hasterer haster
+hauptbeschäftigung hauptbeschaftigung
+hauptspass hauptspas
+hausdurchsuchungen hausdurchsuchung
+hauste haust
+hebräisch hebraisch
+heftiger heftig
+heiliges heilig
+heimkehr heimkeh
+heimzusuchen heimzusuch
+heissmachen heissmach
+helle hell
+hemdkragen hemdkrag
+herabgeworfen herabgeworf
+herangeschwänzelt herangeschwanzelt
+heraufführen herauffuhr
+herausführt herausfuhrt
+herauskommen herauskomm
+herauszuführen herauszufuhr
+herbeigekommen herbeigekomm
+herbstmorgens herbstmorgen
+hereinkommen hereinkomm
+hergetrieben hergetrieb
+heros hero
+herrlichsten herrlichst
+herstammende herstammend
+herumkollerte herumkollert
+herumschweifen herumschweif
+herumtänzeln herumtanzel
+herunterblickte herunterblickt
+hervorblitzte hervorblitzt
+hervorgezogen hervorgezog
+hervorstrahlende hervorstrahlend
+herzensfröhlichkeit herzensfrohlichkeit
+herzogs herzog
+herüberkommen heruberkomm
+heuschrecken heuschreck
+hiegegen hiegeg
+hieroglyphen hieroglyph
+hilfskräfte hilfskraft
+himmelschreiendes himmelschreiend
+himmelsziegenhörnchen himmelsziegenhornch
+hinabgingen hinabging
+hinanfuhren hinanfuhr
+hinaufstreckte hinaufstreckt
+hinausgeschlichen hinausgeschlich
+hinausstoßen hinausstoß
+hindinnen hindin
+hineingefahren hineingefahr
+hineinschrie hineinschri
+hingaben hingab
+hingetreten hingetret
+hinnen hinn
+hinstellte hinstellt
+hinterher hinterh
+hinuntergestossen hinuntergestoss
+hinweggehen hinweggeh
+hinzufügt hinzufugt
+hinzutreten hinzutret
+hirnhäute hirnhaut
+hitze hitz
+hochgewölbten hochgewolbt
+hochtrabende hochtrabend
+hoffen hoff
+hofstaats hofstaat
+holte holt
+honetter honett
+horste horst
+huldigten huldigt
+hunderte hundert
+hungrigen hungrig
+häcksel hacksel
+hände hand
+hängten hangt
+hässliches hasslich
+häuptern haupter
+häßliche haßlich
+höflichen hoflich
+höhlen hohl
+höllisches hollisch
+hörnchen hornch
+hügel hugel
+hündlein hundlei
+hütten hutt
+ihres ihre
+immerwährend immerwahrend
+indierinnen indierin
+infos info
+innerer inner
+innewohnen innewoh
+inseratenkampagne inseratenkampagn
+intelligenzen intelligenz
+interessierten interessiert
+inwendiges inwendig
+irgendeines irgendein
+irrlehren irrlehr
+israelitischen israelitisch
+jacke jack
+jagen jage
+jahrln jahrl
+janzer janz
+jedes jede
+jenen jene
+jezuweilen jezuweil
+jonas jona
+jubilierende jubilierend
+juliusstraße juliusstraß
+juristische juristisch
+jägersprache jagersprach
+jämmerlich jammerlich
+jüngling jungling
+kaffeekanne kaffeekann
+kalender kalend
+kaminer kamin
+kammwiesen kammwies
+kannegiesser kannegiess
+kantonalkirche kantonalkirch
+kapriolen kapriol
+karton karto
+kasus kasu
+katholische katholisch
+kaufleute kaufleut
+kegelbahn kegelbah
+keinesfalls keinesfall
+kennen kenn
+kerze kerz
+kiepenheuer kiepenheu
+kindern kinder
+kindlichen kindlich
+kirchenmitglieder kirchenmitglied
+kirchgemeinderäte kirchgemeinderat
+kitschige kitschig
+klappern klapper
+klatschen klatsch
+klecksigen klecksig
+kleinen klei
+kleinviehs kleinvieh
+klirren klirr
+kläffer klaff
+knaben knab
+knickse knick
+knobeln knobel
+knäuel knauel
+koalitionsversuche koalitionsversuch
+kollerte kollert
+kommen komm
+komplimenten kompliment
+konservativen konservativ
+kopfhängen kopfhang
+korahiten korahit
+kosenamen kosenam
+kothöllen kotholl
+krankenbettes krankenbett
+kravatte kravatt
+kreisen kreis
+kreuzes kreuz
+kriechtiere kriechtier
+kriegsmann kriegsman
+kritische kritisch
+krummholzbusche krummholzbusch
+kräht kraht
+kräuter kraut
+kuchen kuch
+kultivierte kultiviert
+kunstdenkmäler kunstdenkmal
+kupfer kupf
+kurzatmiger kurzatmig
+kutte kutt
+kämen kame
+kästchen kastch
+könig konig
+königssee konigsse
+körben korb
+köter kote
+kühnheit kuhnheit
+kündigten kundigt
+kürassiere kurassier
+küstern kuster
+ladendiebin ladendiebi
+lamentierte lamentiert
+landete landet
+landsmannes landsmann
+langjährige langjahrig
+lasten last
+laube laub
+lausanne lausann
+lautsprechern lautsprecher
+lebensbuche lebensbuch
+lebenslustigen lebenslustig
+lebensähnliches lebensahnlich
+lechzte lechzt
+leere leer
+lehne lehn
+lehrmeinungen lehrmeinung
+leibesorgane leibesorgan
+leichenbegängnis leichenbegangni
+leichtsinniger leichtsinnig
+leiermann leierman
+leisen leis
+leitstern leitster
+lestungen lestung
+leuchter leucht
+leviten levit
+lichterchen lichterch
+liebende liebend
+liebesfeuer liebesfeu
+liebevollen liebevoll
+liebreizenden liebreizend
+liederlicher liederlich
+liess lies
+linke link
+lissabon lissabo
+lobenden lobend
+lohete lohet
+losgehen losgeh
+loszumachen loszumach
+lucinde lucind
+lumpenkleider lumpenkleid
+lustwälder lustwald
+lächelte lachelt
+ländchen landch
+längsten langst
+lästert lastert
+löchelchen lochelch
+löwenhaut lowenhaut
+lügners lugner
+macheten machet
+magier magi
+maikäferbein maikaferbei
+makarius makariu
+mandeltorte mandeltort
+mannigfaltigkeiten mannigfaltigkeit
+marienkäferkinderchen marienkaferkinderch
+marzipanschweinezüchterei marzipanschweinezuchterei
+massive massiv
+mathematischen mathematisch
+maßen maße
+meditativen meditativ
+mehreren mehrer
+meine mein
+meiste meist
+melodie melodi
+menschenkenntnis menschenkenntni
+menschliche menschlich
+merkwürdiges merkwurdig
+metaphysischen metaphysisch
+midian midia
+mikrofon mikrofo
+mildes mild
+millionärin millionari
+minutenlangen minutenlang
+missfällig missfallig
+missverständlich missverstandlich
+mitbrächte mitbracht
+mitgesellen mitgesell
+mitmachte mitmacht
+mittagsstunde mittagsstund
+mittelpunkte mittelpunkt
+mittlerweile mittlerweil
+mißbräuche mißbrauch
+mochten mocht
+momenten moment
+mondlichtes mondlicht
+moose moos
+morgenden morgend
+morsche morsch
+mulde muld
+murke murk
+musikstück musikstuck
+mutesäusserung mutesausserung
+mutwillens mutwillen
+mächtig machtig
+mängel mangel
+mässig massig
+mäßiger maßig
+möglich moglich
+mörser mors
+mühsam muhsam
+münzen munz
+müsstest musstest
+nachbar nachba
+nacheiferten nacheifert
+nachgeahmten nachgeahmt
+nachher nachh
+nachmittage nachmittag
+nachteile nachteil
+nachträglich nachtraglich
+nachzufahren nachzufahr
+nacketes nacket
+naher nahe
+narbenbein narbenbei
+nationalhelden nationalheld
+naturgeister naturgeist
+naturwissenschafter naturwissenschaft
+nebelhafte nebelhaft
+nebensache nebensach
+nehmenden nehmend
+nesseln nessel
+neuerdings neuerding
+neugierigen neugierig
+nichtglauben nichtglaub
+nichtsnutzigsten nichtsnutzigst
+niederdrücken niederdruck
+niederklatschen niederklatsch
+niedersten niederst
+niedrigeren niedriger
+nimmermehr nimmermeh
+nominativen nominativ
+notaufnahme notaufnahm
+notwendigen notwendig
+nussbaumlade nussbaumlad
+nächstbesten nachstbest
+nägeln nagel
+nähten naht
+nötigen notig
+nützlichen nutzlich
+oberfläche oberflach
+objective objectiv
+obzwar obzwa
+offener offen
+ohnmächtig ohnmachtig
+opfer opfe
+orangenhaine orangenhain
+ordnungssinn ordnungssin
+orientieren orientier
+osten oste
+ozean ozea
+palmzweigen palmzweig
+papiere papier
+parieren parier
+pascher pasch
+pater pate
+patschnass patschnas
+pechverbandes pechverband
+pelzmütze pelzmutz
+persuasiones persuasion
+pfades pfad
+pfefferkuchenbäume pfefferkuchenbaum
+pferdchen pferdch
+pflaumen pflaum
+pflugviehs pflugvieh
+pförtlein pfortlei
+pheresiter pheresit
+phrasen phras
+pineissens pineissen
+plangemäss plangemas
+plauderten plaudert
+plötzlichen plotzlich
+polen pole
+polnisches polnisch
+portierten portiert
+positiven positiv
+prachtvolle prachtvoll
+preis prei
+priestern priester
+privaten privat
+problemwelle problemwell
+prophetische prophetisch
+provisorischen provisorisch
+prächtiger prachtig
+präsidenten prasident
+prügelstrafe prugelstraf
+pulver pulv
+purzeln purzel
+pässe pass
+quartierbewohnern quartierbewohner
+quirlte quirlt
+rachegefühl rachegefuhl
+rande rand
+rascher rasch
+rastloses rastlos
+ratschlagten ratschlagt
+rauchfaden rauchfad
+rauschte rauscht
+rebhühner rebhuhn
+rechtes recht
+rechtsbewusstsein rechtsbewusstsei
+redenden redend
+reeder reed
+regen rege
+regierenden regierend
+regnerischer regnerisch
+reichen reich
+reichtümern reichtumer
+reineren reiner
+reisen reis
+reiten reit
+reiße reiß
+rempelte rempelt
+respektieren respektier
+rettungsgedanken rettungsgedank
+rhetorischen rhetorisch
+richtungen richtung
+riesengrosse riesengros
+rinde rind
+ringgeschmückten ringgeschmuckt
+ritikül ritikul
+rituale ritual
+rohesten rohest
+romantischer romantisch
+rosmaringärtchen rosmaringartch
+rotgelben rotgelb
+ruchbar ruchba
+ruhepunkten ruhepunkt
+rumpfe rumpf
+russigen russig
+ränke rank
+räumlichkeiten raumlichkeit
+rübezahl rubezahl
+rückschauen ruckschau
+rückweg ruckweg
+rührenden ruhrend
+rütteln ruttel
+sachlage sachlag
+saitenspieler saitenspiel
+samenreste samenrest
+sandes sand
+sanftleuchtenden sanftleuchtend
+sarnen sarn
+saubere sauber
+savoyardenkinder savoyardenkind
+schafe schaf
+schande schand
+schattenreichen schattenreich
+schaudern schauder
+schauspielschule schauspielschul
+scheinbaren scheinbar
+scheiterte scheitert
+schenkte schenkt
+scheuerte scheuert
+schicksalsrufe schicksalsruf
+schier schi
+schiffslände schiffsland
+schilfwiesen schilfwies
+schinde schind
+schlafgefährten schlafgefahrt
+schlangengifte schlangengift
+schlechten schlecht
+schleier schlei
+schleuse schleu
+schlimmer schlimm
+schlosses schloss
+schlussfolgerungen schlussfolgerung
+schlänglein schlanglei
+schmachtete schmachtet
+schmer schm
+schmetternde schmetternd
+schmucken schmuck
+schmücken schmuck
+schnaufender schnaufend
+schneelieder schneelied
+schneiderlein schneiderlei
+schnelläufer schnellauf
+schnuppern schnupper
+schnüffelnd schnuffelnd
+schonende schonend
+schranken schrank
+schreibtischs schreibtisch
+schriller schrill
+schufte schuft
+schuldnern schuldner
+schulter schult
+schwaar schwaa
+schwankenden schwankend
+schwarzseidenes schwarzseiden
+schweige schweig
+schweizerorten schweizerort
+schweres schwer
+schwester schwest
+schwimmenden schwimmend
+schwäbchens schwabchen
+schwänzen schwanz
+schwärzt schwarzt
+schäden schad
+schändlich schandlich
+schönem schonem
+schöpfe schopf
+schürzenband schurzenband
+schützende schutzend
+sechstes sechst
+seelenkräfte seelenkraft
+segens segen
+sehnsüchtiger sehnsuchtig
+seien seie
+seinigen seinig
+sekunde sekund
+selbsterkenntnis selbsterkenntni
+selbstzufrieden selbstzufried
+seligwerden seligwerd
+sender send
+servieren servier
+seufzern seufzer
+sicherheitsbehörden sicherheitsbehord
+sichtende sichtend
+siebzehn siebzeh
+silbe silb
+silbernes silbern
+singende singend
+sinnige sinnig
+sinnvollere sinnvoller
+sitzen sitz
+sofern sofer
+solchen solch
+solipsismus solipsismu
+sommerspass sommerspas
+sonne sonn
+sonnigen sonnig
+sophienstrasse sophienstras
+sorte sort
+spanien spani
+sparsame sparsam
+spazierstöckchen spazierstockch
+speiste speist
+sperrmäuler sperrmaul
+spiele spiel
+spiesse spies
+spitzen spitz
+sprache sprach
+sprengkapseln sprengkapsel
+spruchweise spruchwei
+spuren spur
+spätregen spatreg
+staatsbürgerbewußtsein staatsburgerbewußtsei
+stachligen stachlig
+stalltür stalltu
+standenes standen
+starten start
+status statu
+steckenden steckend
+stehens stehen
+steinbeschwerte steinbeschwert
+steinhaufen steinhauf
+stellten stellt
+sterbenden sterbend
+sternenkindern sternenkinder
+steuer steu
+stierer stier
+stiller still
+stimmten stimmt
+stockten stockt
+stolzer stolz
+strafgerichte strafgericht
+stramen stram
+strategischen strategisch
+streckte streckt
+streitige streitig
+strichlein strichlei
+stromes strom
+strömen strom
+studie studi
+stumpfnäschen stumpfnasch
+stäbchen stabch
+ständchen standch
+stärkte starkt
+störenfriedes storenfried
+stücks stuck
+stürze sturz
+subjektiven subjektiv
+suchenden suchend
+sunntäg sunntag
+synkretistischen synkretistisch
+säbels sabel
+sänge sang
+säuberte saubert
+säulen saul
+südliches sudlich
+süssem sussem
+tafeldeckern tafeldecker
+tagreisen tagreis
+tanne tann
+tanzte tanzt
+tassen tass
+tauchten taucht
+taumeln taumel
+techniker technik
+teils teil
+teller tell
+terroristischer terroristisch
+thachpanches thachpanch
+theologischen theologisch
+thrones thron
+tiefste tiefst
+tierschutzverein tierschutzverei
+tischlade tischlad
+todesaussichten todesaussicht
+tollen toll
+topus topu
+totgeprügelt totgeprugelt
+trage trag
+traten trat
+traume traum
+treiben treib
+treten tret
+triebfeder triebfed
+triumphe triumph
+trommeln trommel
+trostlosesten trostlosest
+träge trag
+träufelten traufelt
+tröster trost
+trüffeln truffel
+tugendhafter tugendhaft
+tuscheln tuschel
+tätig tatig
+täuschungen tauschung
+töpfen topf
+tüchl tuchl
+türfüllung turfullung
+uchtenhagen uchtenhag
+umarmungen umarmung
+umfassten umfasst
+umgehängt umgehangt
+umgezogen umgezog
+umhergeworfene umhergeworfen
+umkehrte umkehrt
+umringten umringt
+umsichtige umsichtig
+umtreiben umtreib
+umzustossen umzustoss
+unangezündet unangezundet
+unauflösliches unaufloslich
+unbedingten unbedingt
+unbeholfen unbeholf
+unbeschreibliche unbeschreiblich
+unbewussten unbewusst
+unehre unehr
+unerbittlicher unerbittlich
+unerläßlich unerlaßlich
+unersteiglicher unersteiglich
+unfriede unfried
+ungefunden ungefund
+ungekämmten ungekammt
+ungeschehen ungescheh
+ungesungenen ungesunge
+ungezweifelten ungezweifelt
+unglücklich unglucklich
+unheiligen unheilig
+uniondie uniondi
+unkriegerisches unkriegerisch
+unmittelbares unmittelbar
+unnötig unnotig
+unrechtmässig unrechtmassig
+unsaubere unsauber
+unschädlich unschadlich
+unsicherer unsicher
+unsres unsr
+unterarten unterart
+unterdrückungen unterdruckung
+untergeordneter untergeordnet
+unterkiefer unterkief
+unternehmen unternehm
+unterschiede unterschied
+unterstützen unterstutz
+untertanen unterta
+unterzukommen unterzukomm
+unvereinbar unvereinba
+unvernünftigen unvernunftig
+unversöhnlich unversohnlich
+unvordenklichen unvordenklich
+unwiderstehlichen unwiderstehlich
+unziemliches unziemlich
+unzähligem unzahligem
+urbilder urbild
+ursprunge ursprung
+urwesen urwes
+vaterhäusern vaterhauser
+verabschiedete verabschiedet
+verarmten verarmt
+verbinde verbind
+verblieben verblieb
+verboten verbot
+verbunden verbund
+verdenken verdenk
+verdingen verding
+verdrängt verdrangt
+verein verei
+verfalle verfall
+verfielen verfiel
+verfolgern verfolger
+verfälschungen verfalschung
+vergangenen vergange
+vergessener vergessen
+vergnügens vergnugen
+vergoldeten vergoldet
+verhafteten verhaftet
+verhehlten verhehlt
+verhinderte verhindert
+verhärten verhart
+verirren verirr
+verkennen verken
+verknüpfung verknupfung
+verkünstelt verkunstelt
+verlaufende verlaufend
+verletzte verletzt
+verlockungen verlockung
+verlumpte verlumpt
+vermehrter vermehrt
+vermisste vermisst
+vermähltes vermahlt
+vernahmen vernahm
+vernichtungsgenie vernichtungsgeni
+vernunftglaubens vernunftglauben
+vernunftwillens vernunftwillen
+vernünftigsein vernunftigsei
+verrechnen verrech
+verrät verrat
+verscheuchen verscheuch
+verschlangen verschlang
+verschmelzen verschmelz
+verschonen verscho
+verschwundenen verschwunde
+versessen versess
+verspotten verspott
+verstandesbegriffen verstandesbegriff
+verstehen versteh
+verstopfen verstopf
+verständiges verstandig
+verständnisvoller verstandnisvoll
+versuchungen versuchung
+verteidiger verteidig
+vertraue vertrau
+vertrunkenen vertrunke
+verursachen verursach
+verwandeln verwandel
+verwegenen verwege
+verwickeln verwickel
+verwittertes verwittert
+verwünschungen verwunschung
+verzehrendes verzehrend
+verzweifelte verzweifelt
+verändern verander
+verübt verubt
+viele viel
+vielweniger vielwenig
+viertelswandseite viertelswandseit
+visiers visier
+vokative vokativ
+vollenden vollend
+vollkommenheiten vollkommenheit
+voran vora
+voraussetzen voraussetz
+vorbilde vorbild
+vorderkrällchen vorderkrallch
+vorgebildete vorgebildet
+vorgenommene vorgenommen
+vorgezogene vorgezogen
+vorhergegangen vorhergegang
+vorhofs vorhof
+vorliegenden vorliegend
+vornehme vornehm
+vorräte vorrat
+vorsingen vorsing
+vorstellungsweise vorstellungswei
+vorträgen vortrag
+vorzeichen vorzeich
+vorzurücken vorzuruck
+vorüberdrehte voruberdreht
+vrenchen vrench
+völker volk
+wachen wach
+wackeln wackel
+wagenschmiere wagenschmier
+wahlergebnisse wahlergebnis
+wahlurnen wahlur
+wahrnehmbarer wahrnehmbar
+walde wald
+waldstämme waldstamm
+wandelnden wandelnd
+wandschränkchen wandschrankch
+warmen warm
+wasseraugen wasseraug
+wasserquellen wasserquell
+weben webe
+wegbringen wegbring
+weggenommen weggenomm
+wegspringen wegspring
+wegzufangen wegzufang
+wehklagenden wehklagend
+weibchen weibch
+weibliches weiblich
+weidenrosen weidenros
+weihnachtsgarten weihnachtsgart
+weines wein
+weisheiten weisheit
+weisshaarige weisshaarig
+weitergegeben weitergegeb
+weitherausstehenden weitherausstehend
+weißseidenen weißseide
+weltgebäudes weltgebaud
+weltteilen weltteil
+werbebeschränkungen werbebeschrankung
+werktagen werktag
+wesens wesen
+westliches westlich
+wichtigen wichtig
+widerfuhr widerfuh
+widerspreche widersprech
+widerstrebte widerstrebt
+wieder wied
+wiedergebärer wiedergebar
+wiederkommen wiederkomm
+wiesengrunde wiesengrund
+wildgarten wildgart
+willensgebietes willensgebiet
+wimmelte wimmelt
+winkeleien winkelei
+winzigen winzig
+wirklicher wirklich
+wirtschaftliche wirtschaftlich
+wischte wischt
+wisstümlichem wisstumlichem
+wizenmann wizenman
+woher wohe
+wohlduftende wohlduftend
+wohlgefälligsten wohlgefalligst
+wohlgesicherte wohlgesichert
+wohlschmeckenden wohlschmeckend
+wohlweisen wohlweis
+wohnungen wohnung
+wollen woll
+woraus worau
+wovon wovo
+wundere wunder
+wunderschöne wunderschon
+wurden wurd
+wählen wahl
+währenddessen wahrenddess
+wäret waret
+wässerte wassert
+wünschbarsten wunschbarst
+würdigkeit wurdigkeit
+wüssten wusst
+wüßtest wußtest
+zahlreicher zahlreich
+zarge zarg
+zauberhaftes zauberhaft
+zeche zech
+zehntes zehnt
+zeitabschnitte zeitabschnitt
+zeiträume zeitraum
+zentralsekretär zentralsekreta
+zerfahrenen zerfahre
+zerlegte zerlegt
+zerschellen zerschell
+zerstoßen zerstoß
+zertretenen zertrete
+zeugnisse zeugnis
+ziegen zieg
+ziemte ziemt
+zigaretten zigarett
+zimperlichen zimperlich
+zischlauten zischlaut
+zivildienstleistenden zivildienstleistend
+zottelte zottelt
+zudringlichen zudringlich
+zufriedener zufrieden
+zugeben zugeb
+zugeschrieben zugeschrieb
+zugreifen zugreif
+zukomme zukomm
+zumachen zumach
+zupfte zupft
+zurück zuruck
+zurückführen zuruckfuhr
+zurückgehn zuruckgeh
+zurückgewinkt zuruckgewinkt
+zurückliessen zuruckliess
+zurückweichen zuruckweich
+zusagte zusagt
+zusammengehalten zusammengehalt
+zusammenhängend zusammenhangend
+zusammenschrumpften zusammenschrumpft
+zusammenstößt zusammenstoßt
+zuschauers zuschauer
+zustandes zustand
+zuträgern zutrager
+zuwege zuweg
+zuzuschauen zuzuschau
+zwecken zweck
+zweifelhafter zweifelhaft
+zweihändigen zweihandig
+zwiesprache zwiesprach
+zwölfmal zwolfmal
+zähnefletschend zahnefletschend
+zögerte zogert
+zündete zundet
+äffchen affch
+ähnliches ahnlich
+änderte andert
+ärgert argert
+ässen asse
+äufnete aufnet
+äusserlichsten ausserlichst
+äußerliche außerlich
+ödungen odung
+ökonomisch okonomisch
+übelgeruch ubelgeruch
+überblick uberblick
+überdruß uberdruß
+überfahren uberfahr
+überfluß uberfluß
+übergeordneten ubergeordnet
+überhebung uberhebung
+überlasset uberlasset
+überlegungen uberlegung
+übermäßig ubermaßig
+überprüfen uberpruf
+überredungsgiften uberredungsgift
+überschaute uberschaut
+übersee uberse
+übersinnlicher ubersinnlich
+übertrage ubertrag
+übervorteilen ubervorteil
+überwindet uberwindet
+überzeugten uberzeugt
+übrige ubrig
+a a
+abertausend abertausend
+abgelenkt abgelenkt
+abgewirtschaftet abgewirtschaftet
+ablesend ablesend
+abschließung abschließung
+abstimmung abstimmung
+abwendend abwendend
+achtsamkeit achtsamkeit
+adjektiv adjektiv
+aiso aiso
+alga alga
+allerlei allerlei
+almrausch almrausch
+amer amer
+anbetet anbetet
+andeutet andeutet
+anfocht anfocht
+angefleht angefleht
+angenehm angenehm
+angestiert angestiert
+anheimfiel anheimfiel
+anlehnung anlehnung
+anregung anregung
+ansieht ansieht
+antat antat
+anwesenheit anwesenheit
+ara ara
+argument argument
+artlich artlich
+au au
+auferweckt auferweckt
+aufgefaßt aufgefaßt
+aufgetaucht aufgetaucht
+aufmerkt aufmerkt
+aufschub aufschub
+auftragt auftragt
+augsburg augsburg
+ausdauernd ausdauernd
+ausgedehnt ausgedehnt
+ausgereckt ausgereckt
+ausgeteilt ausgeteilt
+auslegung auslegung
+aussendung aussendung
+ausstand ausstand
+auswirft auswirft
+babel babel
+bang bang
+barthel barthel
+bauernpack bauernpack
+beamtenwelt beamtenwelt
+bedenkt bedenkt
+beerenkraut beerenkraut
+befreiung befreiung
+begeistert begeistert
+behaarung behaarung
+behutsam behutsam
+beiliegend beiliegend
+bekam bekam
+belastend belastend
+belog belog
+benutzt benutzt
+beredt beredt
+berghang berghang
+beruf beruf
+bescheid bescheid
+beschreibt beschreibt
+besorgt besorgt
+bestieg bestieg
+bethesda bethesda
+bettelei bettelei
+beweglich beweglich
+bezahlt bezahlt
+bibel bibel
+bind bind
+blachfeld blachfeld
+bleistift bleistift
+blocksberg blocksberg
+bock bock
+bosheit bosheit
+braungebranntem braungebranntem
+bringet bringet
+brustlatz brustlatz
+bunt bunt
+büro büro
+charakteristik charakteristik
+christi christi
+cosmic cosmic
+dadurch dadurch
+dan dan
+darlegt darlegt
+dauerhaftigkeit dauerhaftigkeit
+dehnt dehnt
+denkungsart denkungsart
+dern dern
+deutschland deutschland
+dickem dickem
+dienstleistung dienstleistung
+diskursiv diskursiv
+don don
+draufging draufging
+drin drin
+dudlerei dudlerei
+dunklem dunklem
+durchsetzung durchsetzung
+earth earth
+eda eda
+ehen ehen
+eia eia
+eigentlichst eigentlichst
+einbringung einbringung
+einfliesst einfliesst
+eingeklemmt eingeklemmt
+eingezogenheit eingezogenheit
+einladung einladung
+einsaugt einsaugt
+eintrag eintrag
+einzug einzug
+elisa elisa
+empfindungszustand empfindungszustand
+energisch energisch
+entbehrlich entbehrlich
+entgegensetzung entgegensetzung
+entledigt entledigt
+entschwindet entschwindet
+entweihung entweihung
+erbat erbat
+erdharz erdharz
+erforschung erforschung
+erhaltung erhaltung
+erinnert erinnert
+erledigung erledigung
+erneuerung erneuerung
+erscheint erscheint
+erstaunlich erstaunlich
+ertrug ertrug
+erwischt erwischt
+esset esset
+evangelii evangelii
+experientia experientia
+fahrzeug fahrzeug
+faselnackt faselnackt
+fecht fecht
+feindlich feindlich
+felsplateau felsplateau
+festgelegt festgelegt
+feuerschlacht feuerschlacht
+find find
+flatterspiel flatterspiel
+fliesst fliesst
+focht focht
+forschung forschung
+fortreisst fortreisst
+frankfurt frankfurt
+freilich freilich
+freuet freuet
+frisst frisst
+fuhrknecht fuhrknecht
+fusspfad fusspfad
+gamsbart gamsbart
+ge ge
+gebetbuch gebetbuch
+gebreitet gebreitet
+gedenkst gedenkst
+geerntet geerntet
+geformt geformt
+geharrt geharrt
+gehofft gehofft
+geistlich geistlich
+gekneift gekneift
+geld geld
+geliefert geliefert
+gemeinschaftlich gemeinschaftlich
+genehmigt genehmigt
+genugsam genugsam
+gepfropft gepfropft
+geredet geredet
+gerstenbrot gerstenbrot
+geschaut geschaut
+geschmiegt geschmiegt
+gesetz gesetz
+gespenst gespenst
+gesteinigt gesteinigt
+getanzt getanzt
+gewalt gewalt
+gewendet gewendet
+gewurzelt gewurzelt
+gibst gibst
+glasstoff glasstoff
+gleichheit gleichheit
+gmeint gmeint
+gottesdienst gottesdienst
+grasreich grasreich
+greulichem greulichem
+grossratsmitglied grossratsmitglied
+grün grün
+gurgel gurgel
+h h
+haferbrei haferbrei
+halbtot halbtot
+handbuch handbuch
+hans hans
+hast hast
+hauptziel hauptziel
+hebt hebt
+heilsamkeit heilsamkeit
+heimweg heimweg
+held held
+herablassend herablassend
+heraushilft heraushilft
+hereingepeitscht hereingepeitscht
+hermsdorf hermsdorf
+herrscht herrscht
+herumwarf herumwarf
+hervorstrahlt hervorstrahlt
+hes hes
+hiebei hiebei
+himmel himmel
+hinauf hinauf
+hindurchfließt hindurchfließt
+hingeschickt hingeschickt
+hinschritt hinschritt
+hinwendung hinwendung
+hochachtung hochachtung
+hoffnung hoffnung
+holt holt
+horst horst
+hundertdreiunddreißig hundertdreiunddreißig
+hut hut
+ich ich
+illa illa
+indifferent indifferent
+innewohnend innewohnend
+instinktiv instinktiv
+inwendigerem inwendigerem
+isgard isgard
+jaccoud jaccoud
+jahrhundert jahrhundert
+jedoch jedoch
+jesum jesum
+jon jon
+jugend jugend
+jörg jörg
+kampfplatz kampfplatz
+karmi karmi
+kaum kaum
+kennst kennst
+kinderspiel kinderspiel
+kirchenmitgliedschaft kirchenmitgliedschaft
+klagend klagend
+kleinlich kleinlich
+kneipentisch kneipentisch
+kolorit kolorit
+konfirmiert konfirmiert
+kontrakt kontrakt
+korrespondierend korrespondierend
+krankenversicherung krankenversicherung
+kriechend kriechend
+kropf kropf
+kund kund
+kurzsichtig kurzsichtig
+kürz kürz
+lag lag
+landstrich landstrich
+lattichblatt lattichblatt
+lebendig lebendig
+leberwurst leberwurst
+leget leget
+leichengestank leichengestank
+leistet leistet
+leuchtend leuchtend
+lieb lieb
+liedl liedl
+litt litt
+logik logik
+lufterscheinung lufterscheinung
+lutherischem lutherischem
+maastricht maastricht
+magst magst
+manchem manchem
+mannschaft mannschaft
+markt markt
+mastvieh mastvieh
+mecklenburg mecklenburg
+meisterschaft meisterschaft
+merari merari
+miauend miauend
+missbrauch missbrauch
+misstrauischem misstrauischem
+mitkommt mitkommt
+mittenwald mittenwald
+monatlich monatlich
+montagnachmittag montagnachmittag
+moritz moritz
+mundwerk mundwerk
+mutvoll mutvoll
+nachbarregierung nachbarregierung
+nachging nachging
+nachtig nachtig
+nahrhaft nahrhaft
+nass nass
+naß naß
+neiget neiget
+neuaufbau neuaufbau
+nichtanfechtung nichtanfechtung
+niederkniend niederkniend
+nirgendwo nirgendwo
+not not
+nutzniessung nutzniessung
+obgleich obgleich
+off off
+oke oke
+organisiert organisiert
+out out
+papparbeit papparbeit
+patent patent
+peitschenknall peitschenknall
+pfahl pfahl
+phantasterei phantasterei
+plakat plakat
+poliert poliert
+postulat postulat
+preisgibt preisgibt
+produzent produzent
+prozent prozent
+punsch punsch
+quax quax
+rahm rahm
+rats rats
+re re
+red red
+regelrecht regelrecht
+rehcherl rehcherl
+reinhold reinhold
+relativ relativ
+reue reue
+rieselt rieselt
+ritt ritt
+rose rose
+rue rue
+rund rund
+saat saat
+sakra sakra
+sammet sammet
+sattsam sattsam
+schadet schadet
+scharfsichtig scharfsichtig
+schaustellung schaustellung
+schelm schelm
+schickt schickt
+schlacht schlacht
+schlauchboot schlauchboot
+schliesst schliesst
+schluck schluck
+schmaucht schmaucht
+schmollkunst schmollkunst
+schneuz schneuz
+schreckensherrschaft schreckensherrschaft
+schrott schrott
+schwachsinnig schwachsinnig
+schwefelholz schwefelholz
+schwierig schwierig
+seekrank seekrank
+sehnippel sehnippel
+seit seit
+selbstgeschaffenem selbstgeschaffenem
+seltsamkeit seltsamkeit
+setz setz
+siebenhundert siebenhundert
+siena siena
+sinkt sinkt
+sinnzusammenhang sinnzusammenhang
+skrupel skrupel
+solcherlei solcherlei
+sommernachmittag sommernachmittag
+sonnennebel sonnennebel
+sophistik sophistik
+spargel spargel
+spekulant spekulant
+spitakl spitakl
+sprechzeit sprechzeit
+sr sr
+stadtviertel stadtviertel
+starnberg starnberg
+steh steh
+steinklotz steinklotz
+steuert steuert
+stingel stingel
+strahlend strahlend
+streichholz streichholz
+stubenreinheit stubenreinheit
+subjekt subjekt
+swissaid swissaid
+süße süße
+takt takt
+tatendrang tatendrang
+taxi taxi
+telefoniert telefoniert
+tharschisch tharschisch
+tier tier
+todeskampf todeskampf
+topoi topoi
+traam traam
+trauert trauert
+treppenabsatz treppenabsatz
+troddel troddel
+träg träg
+tyrannei tyrannei
+uhrwerk uhrwerk
+umgeht umgeht
+ummiglacht ummiglacht
+umstellung umstellung
+unangenehm unangenehm
+unbehaglich unbehaglich
+und und
+unfreiheit unfreiheit
+ungewissheit ungewissheit
+unkonventionell unkonventionell
+unruh unruh
+untauglich untauglich
+unterlassest unterlassest
+unterschiedenem unterschiedenem
+untreu untreu
+unwahrscheinlich unwahrscheinlich
+unzufriedenheit unzufriedenheit
+usw usw
+vera vera
+verbannung verbannung
+verblendet verblendet
+verderbt verderbt
+veredelt veredelt
+verfeindet verfeindet
+vergessend vergessend
+vergoldet vergoldet
+verhielt verhielt
+verkriecht verkriecht
+verliebtheit verliebtheit
+vermerkt vermerkt
+verneunfacht verneunfacht
+verrichtet verrichtet
+verschlechterung verschlechterung
+versetzung versetzung
+verstandnisvoll verstandnisvoll
+vertauscht vertauscht
+verulamio verulamio
+verwehrt verwehrt
+verwirrtem verwirrtem
+verzweifelt verzweifelt
+vier vier
+vivificandum vivificandum
+vollmond vollmond
+voraussetzt voraussetzt
+voreingenommenheit voreingenommenheit
+vorgestellt vorgestellt
+vorlaut vorlaut
+vorschlug vorschlug
+vorteilhaft vorteilhaft
+vreeli vreeli
+wahlablauf wahlablauf
+wahrhaftigkeit wahrhaftigkeit
+wand wand
+warnt warnt
+wassersturz wassersturz
+weggeholt weggeholt
+wehmut wehmut
+weich weich
+weilt weilt
+weitem weitem
+welt welt
+wendung wendung
+wertlosigkeit wertlosigkeit
+wichtigtuerei wichtigtuerei
+widersteht widersteht
+wiederkehrt wiederkehrt
+willenbestimmend willenbestimmend
+winterszeit winterszeit
+wirkung wirkung
+witwengehalt witwengehalt
+wohlgelehrt wohlgelehrt
+wolff wolff
+wortschatz wortschatz
+wurzelt wurzelt
+zahl zahl
+zedernholz zedernholz
+zeitlauf zeitlauf
+zerbrechend zerbrechend
+zerschellt zerschellt
+ziegenbart ziegenbart
+zillah zillah
+zivildiensttreffpunkt zivildiensttreffpunkt
+zuchthauskost zuchthauskost
+zugeklappt zugeklappt
+zukommt zukommt
+zurecht zurecht
+zusammengerollt zusammengerollt
+zusammenzog zusammenzog
+zutulich zutulich
+zwei zwei
+zweiundzwanzig zweiundzwanzig
+züsi züsi
diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/en-minimal.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/en-minimal.tsv
new file mode 100644
index 0000000000..81b121b7f9
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/en-minimal.tsv
@@ -0,0 +1,2000 @@
+abatements abatement
+abbots abbot
+abilities ability
+abominations abomination
+abuses abuse
+accidents accident
+accommodations accommodation
+accounts account
+accusations accusation
+aches ache
+acquaints acquaint
+actions action
+adallas adalla
+adds add
+adonis adoni
+adores adore
+adulterates adulterate
+advancements advancement
+adventures adventure
+advis advi
+aeacides aeacide
+aeneas aenea
+affections affection
+afflictions affliction
+afterwards afterward
+agues ague
+airs air
+alas ala
+alehouses alehouse
+alexas alexa
+aliis alii
+allegations allegation
+allies ally
+almanacs almanac
+altars altar
+amazes amaze
+ambiguides ambiguide
+amends amend
+amis ami
+amyntas amynta
+anchors anchor
+andirons andiron
+angiers angier
+animis animi
+announces announce
+anthems anthem
+antics antic
+antres antre
+apes ape
+appals appal
+appears appear
+appelons appelon
+appertinents appertinent
+apples apple
+applies apply
+apprehends apprehend
+approaches approache
+appurtenances appurtenance
+arbors arbor
+argues argue
+arises arise
+armours armour
+arrearages arrearage
+arrows arrow
+artists artist
+ascribes ascribe
+aspects aspect
+assails assail
+assemblies assembly
+assistances assistance
+assures assure
+athenians athenian
+atomies atomy
+attains attain
+attends attend
+attorneys attorney
+audis audi
+augurers augurer
+aunts aunt
+aves ave
+avoirdupois avoirdupoi
+awakens awaken
+babes babe
+bacchanals bacchanal
+bacons bacon
+baitings baiting
+bakes bake
+balms balm
+banishers banisher
+bannerets banneret
+banquets banquet
+bards bard
+barnacles barnacle
+barrabas barraba
+bas ba
+basins basin
+bastards bastard
+baths bath
+batters batter
+baubles bauble
+beadles beadle
+beaks beak
+bearers bearer
+beats beat
+beckons beckon
+becomings becoming
+beds bed
+beeves beeve
+befriends befriend
+beginners beginner
+begs beg
+behaviours behaviour
+beholds behold
+behowls behowl
+bellies belly
+belongings belonging
+benefactors benefactor
+bents bent
+berries berry
+besides beside
+betrays betray
+betters better
+bezonians bezonian
+biddings bidding
+billets billet
+binds bind
+births birth
+bites bite
+blackamoors blackamoor
+blacks black
+blames blame
+blasts blast
+bleeds bleed
+blesses blesse
+blocks block
+blooms bloom
+blowers blower
+blunts blunt
+blusters bluster
+boats boat
+bodies body
+boils boil
+bolts bolt
+bones bone
+boors boor
+borderers borderer
+bores bore
+boskos bosko
+bottles bottle
+bounds bound
+bowels bowel
+boxes boxe
+braggards braggard
+brakes brake
+brands brand
+braves brave
+breaches breache
+breathes breathe
+breeders breeder
+brewers brewer
+bribes bribe
+brides bride
+bringings bringing
+britons briton
+brogues brogue
+brokes broke
+brotherhoods brotherhood
+bruis brui
+bubbles bubble
+bucklers buckler
+buds bud
+builds build
+bullets bullet
+bulwarks bulwark
+burdens burden
+burns burn
+burthens burthen
+busines busine
+butcheries butchery
+buttocks buttock
+buzzards buzzard
+cabins cabin
+caddisses caddisse
+caitiffs caitiff
+calamities calamity
+calipolis calipoli
+calves calve
+cambyses cambyse
+canaries canary
+candlesticks candlestick
+canons canon
+canvas canva
+capers caper
+caps cap
+capulets capulet
+carbuncles carbuncle
+carders carder
+careers career
+carouses carouse
+carries carry
+carters carter
+cas ca
+caskets casket
+castaways castaway
+cataracts cataract
+caterpillars caterpillar
+catlings catling
+cautels cautel
+caves cave
+cedars cedar
+censures censure
+centuries century
+ceremonies ceremony
+certes certe
+chaces chace
+chairs chair
+challengers challenger
+chambermaids chambermaid
+champions champion
+changes change
+chants chant
+chaplains chaplain
+chares chare
+charities charity
+charolois charoloi
+chas cha
+chattels chattel
+checks check
+cherishes cherishe
+cherubins cherubin
+chetas cheta
+chides chide
+chimneys chimney
+chins chin
+chokes choke
+chooses choose
+christendoms christendom
+christmas christma
+chucks chuck
+churchyards churchyard
+cinders cinder
+circumstances circumstance
+citizens citizen
+clamours clamour
+claws claw
+cleomenes cleomene
+clients client
+climbs climb
+clogs clog
+clotens cloten
+clotpoles clotpole
+cloves clove
+clubs club
+coaches coache
+coats coat
+cocks cock
+coffers coffer
+cohabitants cohabitant
+colchos colcho
+colors color
+columbines columbine
+comers comer
+comfits comfit
+commanders commander
+commendations commendation
+comments comment
+commits commit
+commons common
+companions companion
+compeers compeer
+complainings complaining
+complements complement
+complies comply
+compounds compound
+compris compri
+comrades comrade
+conceals conceal
+concernings concerning
+conclusions conclusion
+conditions condition
+confederates confederate
+confiners confiner
+confirmities confirmity
+confounds confound
+congregations congregation
+conjoins conjoin
+conjures conjure
+cons con
+consents consent
+considerations consideration
+consists consist
+conspires conspire
+constrains constrain
+consults consult
+contains contain
+contents content
+contraries contrary
+contrives contrive
+conveniences convenience
+convers conver
+converts convert
+convinces convince
+cools cool
+copulatives copulative
+cords cord
+coronets coronet
+corrivals corrival
+corses corse
+cottages cottage
+counsellors counsellor
+counterfeits counterfeit
+counterpoints counterpoint
+countesses countesse
+counts count
+couriers courier
+courses course
+courtiers courtier
+covenants covenant
+covets covet
+cozeners cozener
+crackers cracker
+crafts craft
+cranks crank
+cravens craven
+creatures creature
+creeps creep
+crests crest
+crickets cricket
+croaks croak
+crotchets crotchet
+crownets crownet
+cruels cruel
+crutches crutche
+cudgels cudgel
+cullions cullion
+cups cup
+cures cure
+curs cur
+curtains curtain
+curvets curvet
+customers customer
+cuts cut
+daffodils daffodil
+daisies daisy
+dames dame
+damsons damson
+danskers dansker
+darlings darling
+dastards dastard
+daws daw
+dealers dealer
+dearths dearth
+debts debt
+deceits deceit
+decerns decern
+decks deck
+decreas decrea
+deeps deep
+defeatures defeature
+defenders defender
+deformities deformity
+delicates delicate
+delivers deliver
+demands demand
+demoiselles demoiselle
+dennis denni
+dependences dependence
+depos depo
+depths depth
+derides deride
+descents descent
+deserts desert
+deservings deserving
+desirers desirer
+destinies destiny
+destructions destruction
+determinations determination
+detractions detraction
+devis devi
+dewberries dewberry
+dials dial
+dickens dicken
+differs differ
+digestions digestion
+dilations dilation
+dimensions dimension
+dims dim
+diomedes diomede
+dirges dirge
+disannuls disannul
+disburs disbur
+disciples disciple
+disclos disclo
+discords discord
+discoveries discovery
+discretions discretion
+diseases disease
+disheartens dishearten
+dishonours dishonour
+dislimns dislimn
+disorders disorder
+dispers disper
+dispos dispo
+disputations disputation
+dissensions dissension
+distaffs distaff
+distills distill
+distresses distresse
+ditches ditche
+divers diver
+divides divide
+doctors doctor
+doigts doigt
+dollars dollar
+domestics domestic
+doors door
+doters doter
+doubts doubt
+doves dove
+downs down
+dozens dozen
+dragons dragon
+draughts draught
+dreads dread
+dregs dreg
+drinks drink
+dromios dromio
+droplets droplet
+dropsies dropsy
+drudges drudge
+ducats ducat
+dues due
+dukes duke
+dungeons dungeon
+dwells dwell
+earls earl
+earthquakes earthquake
+eaters eater
+ebbs ebb
+edges edge
+edifies edify
+effects effect
+egyptians egyptian
+elegies elegy
+eliads eliad
+embarquements embarquement
+emblems emblem
+embraces embrace
+employments employment
+enacts enact
+enchas encha
+encounters encounter
+endowments endowment
+eneas enea
+enfeebles enfeeble
+enfranchis enfranchi
+engilds engild
+enjoys enjoy
+enriches enriche
+ensigns ensign
+enterprises enterprise
+enticements enticement
+entreatments entreatment
+envies envy
+epicures epicure
+epitaphs epitaph
+equals equal
+ercles ercle
+erflows erflow
+eros ero
+erreaches erreache
+erslips erslip
+erthrows erthrow
+erweens erween
+espials espial
+essays essay
+estimations estimation
+etes ete
+euphrates euphrate
+evasions evasion
+ewers ewer
+exacts exact
+examples example
+excellencies excellency
+exchequers exchequer
+exclamations exclamation
+excursions excursion
+executioners executioner
+exercises exercise
+exhibiters exhibiter
+expectations expectation
+expels expel
+experiments experiment
+expos expo
+exteriors exterior
+extremities extremity
+eyeballs eyeball
+eyes eye
+faces face
+fadings fading
+fails fail
+fairings fairing
+faites faite
+falconers falconer
+familiars familiar
+fangs fang
+fardels fardel
+farms farm
+fashions fashion
+fathers father
+faults fault
+favourers favourer
+fawns fawn
+feats feat
+feeders feeder
+fellies felly
+fells fell
+ferrers ferrer
+fetlocks fetlock
+fields field
+fifteens fifteen
+figures figure
+fills fill
+findings finding
+fingers finger
+firebrands firebrand
+firstlings firstling
+fits fit
+flagons flagon
+flamens flamen
+flashes flashe
+flatters flatter
+fleas flea
+fleshes fleshe
+flights flight
+floodgates floodgate
+flouts flout
+flows flow
+foams foam
+foins foin
+folks folk
+follows follow
+footboys footboy
+foragers forager
+forces force
+foreruns forerun
+foretells foretell
+forfeitures forfeiture
+forgets forget
+fornications fornication
+fortinbras fortinbra
+fortunes fortune
+fountains fountain
+foxes foxe
+frames frame
+franchises franchise
+frays fray
+freezes freeze
+freshes freshe
+friends friend
+fritters fritter
+frosts frost
+fulfils fulfil
+fumes fume
+furlongs furlong
+furrows furrow
+gains gain
+gallants gallant
+gallops gallop
+gallowses gallowse
+gamboys gamboy
+gaolers gaoler
+garboils garboil
+garments garment
+garters garter
+gates gate
+gauntlets gauntlet
+gems gem
+generations generation
+gentlefolks gentlefolk
+germains germain
+gestures gesture
+gibbets gibbet
+giglets giglet
+gillyvors gillyvor
+gipes gipe
+girls girl
+givings giving
+glanders glander
+gleams gleam
+glimmers glimmer
+glories glory
+glozes gloze
+gnaws gnaw
+gobbets gobbet
+goddesses goddesse
+gogs gog
+goods good
+goosequills goosequill
+goths goth
+gowns gown
+grains grain
+grandsires grandsire
+grapples grapple
+grates grate
+gravities gravity
+greeks greek
+greetings greeting
+greyhounds greyhound
+grieves grieve
+grooms groom
+grounds ground
+grubs grub
+guardians guardian
+guides guide
+guilts guilt
+gulls gull
+gusts gust
+guysors guysor
+hacks hack
+hags hag
+halberds halberd
+hals hal
+halves halve
+handkerchers handkercher
+hands hand
+hangs hang
+harbingers harbinger
+harlots harlot
+harts hart
+hastings hasting
+hates hate
+haunts haunt
+hawks hawk
+heads head
+heaps heap
+hearkens hearken
+hearts heart
+heauties heauty
+heavings heaving
+hedges hedge
+heifers heifer
+helmets helmet
+helps help
+heralds herald
+hercules hercule
+heresies heresy
+herods herod
+hesperides hesperide
+hibocrates hibocrate
+hiems hiem
+hills hill
+hinds hind
+his hi
+hits hit
+hobnails hobnail
+hoists hoist
+holidays holiday
+homes home
+homicides homicide
+honours honour
+hooks hook
+hopes hope
+horns horn
+horsehairs horsehair
+hounds hound
+households household
+housewives housewive
+hoxes hoxe
+hulks hulk
+humours humour
+hunters hunter
+hurries hurry
+hushes hushe
+hyperboles hyperbole
+icicles icicle
+idiots idiot
+ignis igni
+ils il
+imitations imitation
+impeachments impeachment
+imperfections imperfection
+implements implement
+imports import
+impossibilities impossibility
+impugns impugn
+incenses incense
+incites incite
+inconveniences inconvenience
+increases increase
+indexes indexe
+indignities indignity
+inductions induction
+infections infection
+infidels infidel
+informations information
+ingratitudes ingratitude
+inheritors inheritor
+injunctions injunction
+innocents innocent
+inroads inroad
+instances instance
+instructs instruct
+insurrections insurrection
+intelligis intelligi
+intercepts intercept
+interjections interjection
+interrogatories interrogatory
+intoxicates intoxicate
+inventions invention
+invites invite
+iris iri
+isbels isbel
+islands island
+itches itche
+iwis iwi
+jakes jake
+jars jar
+jaws jaw
+jerkins jerkin
+jests jest
+jews jew
+joins join
+journeys journey
+judas juda
+jugglers juggler
+junes june
+justicers justicer
+justs just
+keels keel
+kerns kern
+kibes kibe
+kills kill
+kinds kind
+kirtles kirtle
+kites kite
+knaves knave
+knights knight
+knives knive
+knowings knowing
+labourers labourer
+laces lace
+lacks lack
+lads lad
+lambkins lambkin
+lamentings lamenting
+lammas lamma
+lands land
+languishes languishe
+lapis lapi
+lards lard
+las la
+latches latche
+laurels laurel
+laws law
+lazars lazar
+leagues league
+learns learn
+leaves leave
+leeches leeche
+leets leet
+legions legion
+lendings lending
+lengths length
+lers ler
+lessons lesson
+letters letter
+levies levy
+liars liar
+libertines libertine
+lictors lictor
+lifelings lifeling
+lightens lighten
+likelihoods likelihood
+lilies lily
+limekilns limekiln
+linens linen
+links link
+liquors liquor
+livers liver
+loads load
+lobbies lobby
+lodgers lodger
+loggerheads loggerhead
+loins loin
+longings longing
+looks look
+lords lord
+losers loser
+lots lot
+loves love
+luces luce
+lunatics lunatic
+lurks lurk
+lymoges lymoge
+macmorris macmorri
+mads mad
+magistrates magistrate
+maidens maiden
+mains main
+majestas majesta
+makes make
+malcontents malcontent
+malefactors malefactor
+mammets mammet
+manes mane
+manifests manifest
+mans man
+marches marche
+maries mary
+marks mark
+marries marry
+marseilles marseille
+marvels marvel
+masks mask
+masques masque
+masters master
+mates mate
+matters matter
+mazes maze
+meals meal
+means mean
+mechanicals mechanical
+medicines medicine
+medlars medlar
+meets meet
+members member
+memphis memphi
+mends mend
+mercenaries mercenary
+mercuries mercury
+merriments merriment
+messages message
+metals metal
+metaphysics metaphysic
+methinks methink
+metropolis metropoli
+midwives midwive
+milks milk
+mills mill
+minerals mineral
+ministers minister
+minotaurs minotaur
+minutes minute
+mis mi
+mischiefs mischief
+misdemeanours misdemeanour
+misers miser
+mishaps mishap
+mispris mispri
+mistakes mistake
+mistresses mistresse
+mites mite
+moans moan
+modesties modesty
+mollis molli
+moneys money
+monkeys monkey
+monsieurs monsieur
+monuments monument
+moons moon
+moors moor
+morris morri
+mortals mortal
+moths moth
+mots mot
+mountains mountain
+mourners mourner
+movables movable
+moves move
+moyses moyse
+mugs mug
+muleteers muleteer
+muniments muniment
+murmurers murmurer
+muscovites muscovite
+mushrooms mushroom
+muskets musket
+musters muster
+mutineers mutineer
+muttons mutton
+myrmidons myrmidon
+nails nail
+napkins napkin
+narines narine
+natures nature
+neapolitans neapolitan
+needles needle
+negatives negative
+neighbours neighbour
+nephews nephew
+nests nest
+nettles nettle
+newsmongers newsmonger
+nicks nick
+nightingales nightingale
+nnights nnight
+noces noce
+nois noi
+nooks nook
+nos no
+nostrils nostril
+nouns noun
+noverbs noverb
+nuns nun
+nuts nut
+oars oar
+obeys obey
+oblations oblation
+obsequies obsequy
+obstacles obstacle
+occupations occupation
+occurrents occurrent
+odes ode
+oeuvres oeuvre
+offends offend
+offers offer
+oftentimes oftentime
+olives olive
+oneyers oneyer
+onwards onward
+operations operation
+opportunities opportunity
+opposes oppose
+oracles oracle
+orchards orchard
+ords ord
+orleans orlean
+orts ort
+ostents ostent
+others other
+ouches ouche
+ours our
+outcries outcry
+outlives outlive
+outruns outrun
+outspeaks outspeak
+outworths outworth
+overlooks overlook
+oversights oversight
+owls owl
+oxlips oxlip
+packhorses packhorse
+pagans pagan
+pailfuls pailful
+paintings painting
+palabras palabra
+pales pale
+pallas palla
+palms palm
+pancackes pancacke
+pangs pang
+pants pant
+paps pap
+parallels parallel
+parasites parasite
+parings paring
+parisians parisian
+parles parle
+parricides parricide
+particularities particularity
+partisans partisan
+pas pa
+passes passe
+pasties pasty
+pastures pasture
+pates pate
+patients patient
+patrons patron
+paunches paunche
+pawns pawn
+pays pay
+peaces peace
+peals peal
+peasants peasant
+pedlars pedlar
+peers peer
+pencils pencil
+pennyworths pennyworth
+peradventures peradventure
+perfections perfection
+performs perform
+periapts periapt
+perjuries perjury
+persevers persever
+personates personate
+persuades persuade
+perturbations perturbation
+phantasimes phantasime
+philosophers philosopher
+physicians physician
+pickers picker
+pictures picture
+pies py
+pilates pilate
+pilgrims pilgrim
+pillows pillow
+pines pine
+pioners pioner
+pippins pippin
+pistols pistol
+pits pit
+plagues plague
+plaintiffs plaintiff
+planks plank
+plates plate
+players player
+pleads plead
+pleases please
+plebs pleb
+plenties plenty
+plots plot
+plumes plume
+poets poet
+poins poin
+poisons poison
+policies policy
+poltroons poltroon
+poniards poniard
+portcullis portculli
+ports port
+possessions possession
+posteriors posterior
+posthorses posthorse
+potations potation
+pots pot
+powers power
+practices practice
+practisers practiser
+prains prain
+prawls prawl
+prays pray
+precepts precept
+predictions prediction
+prejudicates prejudicate
+preparations preparation
+presagers presager
+prescripts prescript
+presents present
+presumes presume
+prevails prevail
+preys prey
+prides pride
+primroses primrose
+prings pring
+prisoners prisoner
+privileges privilege
+proceedings proceeding
+procreants procreant
+prodigies prodigy
+professes professe
+proffers proffer
+projects project
+promises promise
+pronouns pronoun
+prophecies prophecy
+propos propo
+proscriptions proscription
+protectors protector
+protests protest
+proves prove
+provokes provoke
+ptolemies ptolemy
+puis pui
+pumps pump
+pupils pupil
+purchas purcha
+purples purple
+purs pur
+pursuers pursuer
+pushes pushe
+pyramides pyramide
+pyramises pyramise
+quakes quake
+quantities quantity
+quarters quarter
+questions question
+quickens quicken
+quiddits quiddit
+quinces quince
+quits quit
+quoits quoit
+rackets racket
+rags rag
+rais rai
+rakes rake
+rams ram
+ranges range
+rapes rape
+raptures rapture
+ratifiers ratifier
+ravens raven
+rays ray
+reaches reache
+reapers reaper
+reasons reason
+receipts receipt
+recks reck
+recommends recommend
+records record
+recoveries recovery
+redeems redeem
+reeks reek
+regards regard
+regreets regreet
+reins rein
+relations relation
+reliances reliance
+reliques relique
+remedies remedy
+remercimens remercimen
+renders render
+repairs repair
+repents repent
+reports report
+reproves reprove
+requests request
+rers rer
+reserves reserve
+resolutes resolute
+respects respect
+restrains restrain
+retails retail
+retorts retort
+reveals reveal
+revengers revenger
+reverbs reverb
+revolts revolt
+rheims rheim
+rhodes rhode
+ribands riband
+richmonds richmond
+rides ride
+ries ry
+rings ring
+rises rise
+rivets rivet
+roars roar
+robes robe
+rods rod
+romans roman
+rooms room
+ros ro
+rounds round
+royalties royalty
+ruffians ruffian
+rulers ruler
+rumours rumour
+runners runner
+rushes rushe
+sables sable
+sacrificers sacrificer
+safeties safety
+saints saint
+salmons salmon
+salutes salute
+sanctimonies sanctimony
+sandys sandy
+santrailles santraille
+sardis sardi
+saturdays saturday
+sauces sauce
+savours savour
+sayings saying
+scalps scalp
+scapes scape
+scars scar
+sceptres sceptre
+schoolfellows schoolfellow
+sciaticas sciatica
+scissors scissor
+scopes scope
+scorpions scorpion
+scouts scout
+screams scream
+scribes scribe
+scrolls scroll
+sculls scull
+searchers searcher
+seasons season
+secretaries secretary
+sedges sedge
+seems seem
+seizes seize
+semblances semblance
+sends send
+senses sense
+sepulchres sepulchre
+serpents serpent
+services service
+sestos sesto
+severs sever
+shades shade
+shakes shake
+shambles shamble
+shapes shape
+sharpens sharpen
+shears shear
+sheds shed
+sheepskins sheepskin
+shelves shelve
+shepherds shepherd
+shields shield
+shines shine
+shipwrights shipwright
+shocks shock
+shores shore
+shoulders shoulder
+showers shower
+shrews shrew
+shrives shrive
+shrubs shrub
+shuns shun
+sicils sicil
+sieges siege
+sights sight
+signiories signiory
+signs sign
+simois simoi
+sings sing
+sinners sinner
+sisters sister
+sixpences sixpence
+skies sky
+skirts skirt
+slanders slander
+slays slay
+sleeves sleeve
+slings sling
+slops slop
+slys sly
+smiles smile
+smocks smock
+snakes snake
+snatches snatche
+snuffs snuff
+sobs sob
+softens soften
+soles sole
+solidares solidare
+sonnets sonnet
+soothers soother
+sores sore
+sots sot
+sources source
+spaces space
+spans span
+sparrows sparrow
+speaks speak
+specialties specialty
+speculations speculation
+spells spell
+spices spice
+spills spill
+spirits spirit
+spleens spleen
+spokes spoke
+spots spot
+spreads spread
+springs spring
+spurs spur
+squeezes squeeze
+stables stable
+staffords stafford
+stags stag
+stakes stake
+stamps stamp
+stands stand
+stares stare
+startles startle
+statues statue
+staves stave
+stealers stealer
+steeples steeple
+steps step
+sticks stick
+stinks stink
+stirrups stirrup
+stockings stocking
+stomachers stomacher
+stools stool
+storehouses storehouse
+storms storm
+strains strain
+straps strap
+straws straw
+streamers streamer
+strengths strength
+strides stride
+strikes strike
+striplings stripling
+stronds strond
+strumpets strumpet
+studs stud
+subduements subduement
+submits submit
+substances substance
+suburbs suburb
+succeeds succeed
+succours succour
+sues sue
+suffices suffice
+suis sui
+sullens sullen
+summoners summoner
+sunbeams sunbeam
+suns sun
+supplies supply
+supposes suppose
+surfeits surfeit
+surmis surmi
+surreys surrey
+survives survive
+swaggerers swaggerer
+swans swan
+sways sway
+sweats sweat
+sweetens sweeten
+swellings swelling
+swimmers swimmer
+swits swit
+swords sword
+symbols symbol
+syrups syrup
+tabourines tabourine
+tails tail
+talbotites talbotite
+tales tale
+tallies tally
+tames tame
+tapsters tapster
+tarquins tarquin
+tasks task
+tattlings tattling
+taxes taxe
+tears tear
+tempers temper
+temps temp
+tempts tempt
+tenedos tenedo
+tenours tenour
+tents tent
+terms term
+terrors terror
+thankings thanking
+thaws thaw
+theirs their
+thereabouts thereabout
+thickens thicken
+thimbles thimble
+thinks think
+thirties thirty
+thoas thoa
+thousands thousand
+threats threat
+thrivers thriver
+throbs throb
+throws throw
+thunderbolts thunderbolt
+tickles tickle
+ties ty
+times time
+tires tire
+titles title
+toasts toast
+tokens token
+tomyris tomyri
+topas topa
+torchbearers torchbearer
+torments torment
+totters totter
+towards toward
+toys toy
+trades trade
+tragedians tragedian
+traitors traitor
+translates translate
+trappings trapping
+travellers traveller
+treachers treacher
+treasuries treasury
+trebles treble
+trenches trenche
+tresses tresse
+tribes tribe
+tricks trick
+trinculos trinculo
+trips trip
+triumvirs triumvir
+tromperies trompery
+trots trot
+troyans troyan
+trumpets trumpet
+trusters truster
+tufts tuft
+tunis tuni
+turkeys turkey
+turnips turnip
+turtles turtle
+twigs twig
+twopences twopence
+types type
+uds ud
+unadvis unadvi
+unbinds unbind
+unburdens unburden
+underlings underling
+understands understand
+undispos undispo
+unhearts unheart
+universities university
+unloos unloo
+unpleas unplea
+unrevers unrever
+untruths untruth
+upbraids upbraid
+upstairs upstair
+urinals urinal
+usances usance
+usurers usurer
+usurps usurp
+vagabonds vagabond
+values value
+vantages vantage
+variations variation
+vaultages vaultage
+veins vein
+ventages ventage
+vergers verger
+verses verse
+vetches vetche
+viands viand
+victims victim
+victuals victual
+villages village
+villanies villany
+violates violate
+virgins virgin
+visions vision
+visitors visitor
+voices voice
+volumes volume
+votaries votary
+vouches vouche
+vowels vowel
+vultures vulture
+wages wage
+wainropes wainrope
+wales wale
+walls wall
+wanes wane
+warders warder
+warms warm
+warrants warrant
+washes washe
+wasters waster
+watches watche
+waterpots waterpot
+waves wave
+weapons weapon
+wears wear
+weaves weave
+weeks week
+weighs weigh
+wenches wenche
+wheels wheel
+whenas whena
+whippers whipper
+whisperings whispering
+whites white
+whoresons whoreson
+widows widow
+wilds wild
+williams william
+windlasses windlasse
+wings wing
+winnows winnow
+wires wire
+wishes wishe
+withholds withhold
+wives wive
+wombs womb
+wooers wooer
+worins worin
+works work
+worms worm
+worships worship
+wots wot
+wouns woun
+wraths wrath
+wrecks wreck
+wrinkles wrinkle
+writes write
+wrongs wrong
+years year
+yells yell
+yields yield
+yorks york
+yourselves yourselve
+zeals zeal
+a a
+aboded aboded
+abundant abundant
+accord accord
+achievement achievement
+acutely acutely
+admiring admiring
+adulterous adulterous
+aemilia aemilia
+afflicted afflicted
+aggrief aggrief
+ainsi ainsi
+aliena aliena
+almanac almanac
+amazedly amazedly
+amphimacus amphimacus
+angl angl
+anthem anthem
+apish apish
+appertinent appertinent
+aptness aptness
+arguing arguing
+arragon arragon
+ascendeth ascendeth
+assailant assailant
+astraea astraea
+attentive attentive
+augurer augurer
+avert avert
+azur azur
+bailiff bailiff
+ban ban
+bard bard
+bartholomew bartholomew
+batler batler
+beamed beamed
+becom becom
+befriended befriended
+beholdest beholdest
+belong belong
+bent bent
+beseem beseem
+beteem beteem
+bewhored bewhored
+birch birch
+bladed bladed
+blench blench
+bloodstained bloodstained
+board board
+bolder bolder
+boot boot
+bouncing bouncing
+brac brac
+braver braver
+breese breese
+brightness brightness
+brood brood
+buckled buckled
+bungle bungle
+business business
+ca ca
+callet callet
+candidatus candidatus
+capital capital
+cared cared
+carve carve
+cataplasm cataplasm
+caveto caveto
+ceremoniously ceremoniously
+champagne champagne
+chare chare
+chastity chastity
+cher cher
+childeric childeric
+choleric choleric
+churchyard churchyard
+circumvention circumvention
+claud claud
+clifton clifton
+closest closest
+coach coach
+cognition cognition
+coloquintida coloquintida
+comfortable comfortable
+commix commix
+compensation compensation
+compulsion compulsion
+concurring concurring
+confine confine
+congreeing congreeing
+consecrate consecrate
+constancy constancy
+contempt contempt
+contrariety contrariety
+convey convey
+cordial cordial
+corroborate corroborate
+counsell counsell
+coursed coursed
+cowardice cowardice
+crare crare
+cressid cressid
+crone crone
+crusadoes crusadoes
+cunningly cunningly
+curstest curstest
+cytherea cytherea
+damoiselle damoiselle
+darker darker
+de de
+debt debt
+decoct decoct
+defending defending
+deigned deigned
+demigod demigod
+dependant dependant
+derogation derogation
+despatch despatch
+detested detested
+dialect dialect
+difficile difficile
+dimming dimming
+disallow disallow
+discomfited discomfited
+diseased diseased
+disliken disliken
+dispiteous dispiteous
+disquietly disquietly
+distilment distilment
+divest divest
+doer doer
+dong dong
+doughty doughty
+drake drake
+drily drily
+drowse drowse
+dulcet dulcet
+duteous duteous
+earthly earthly
+eden eden
+ego ego
+elm elm
+embroider embroider
+enamelled enamelled
+end end
+enfranchisement enfranchisement
+enkindled enkindled
+enrooted enrooted
+entertainment entertainment
+ephesian ephesian
+ercast ercast
+ermount ermount
+erswell erswell
+essential essential
+evade evade
+exampled exampled
+excusing excusing
+expedient expedient
+expressive expressive
+extracted extracted
+facinerious facinerious
+faithless faithless
+famously famously
+fast fast
+favorable favorable
+featureless featureless
+female female
+feu feu
+fighting fighting
+fing fing
+fitment fitment
+flattered flattered
+flieth flieth
+fluster fluster
+follower follower
+forbidden forbidden
+foresaw foresaw
+forgetting forgetting
+forthlight forthlight
+fount fount
+frankness frankness
+freshest freshest
+frontier frontier
+fulsome fulsome
+fusty fusty
+gallian gallian
+gargantua gargantua
+gav gav
+genoux genoux
+gibbet gibbet
+givest givest
+glistering glistering
+gnawing gnawing
+gondolier gondolier
+gosling gosling
+grammar grammar
+gravell gravell
+greet greet
+grizzle grizzle
+guardage guardage
+gul gul
+hailed hailed
+handed handed
+happy happy
+harsh harsh
+have have
+heard heard
+heaviness heaviness
+helm helm
+hereditary hereditary
+hide hide
+hippolyta hippolyta
+hoist hoist
+homo homo
+hope hope
+host host
+howsoever howsoever
+humor humor
+husband husband
+idle idle
+illyrian illyrian
+impairing impairing
+impon impon
+imprisoning imprisoning
+incidency incidency
+ind ind
+induc induc
+inferreth inferreth
+ingraffed ingraffed
+inky inky
+inset inset
+instruction instruction
+intercepter intercepter
+intestine intestine
+investing investing
+irremovable irremovable
+jacet jacet
+jerkin jerkin
+jointly jointly
+judicious judicious
+justify justify
+kersey kersey
+kinsman kinsman
+knog knog
+lad lad
+lance lance
+largest largest
+laundry laundry
+leading leading
+lecher lecher
+lennox lennox
+leviathan leviathan
+lieu lieu
+limber limber
+liquor liquor
+loaf loaf
+lombardy lombardy
+lordship lordship
+loveth loveth
+lucre lucre
+lustily lustily
+madame madame
+maimed maimed
+malign malign
+manifold manifold
+marcus marcus
+marshalsea marshalsea
+masterly masterly
+maze maze
+mediation mediation
+member member
+mere mere
+metre metre
+mild mild
+minime minime
+misbhav misbhav
+misleader misleader
+mistresss mistresss
+modo modo
+monk monk
+morality morality
+moulded moulded
+movingly movingly
+munition munition
+mustering mustering
+name name
+navy navy
+neer neer
+nettle nettle
+nihil nihil
+nodded nodded
+northgate northgate
+nourishment nourishment
+nutmeg nutmeg
+obscured obscured
+octavius octavius
+officious officious
+oozy oozy
+oracle oracle
+osier osier
+outfacing outfacing
+outwent outwent
+overmaster overmaster
+owed owed
+pageant pageant
+paly paly
+paraquito paraquito
+parsley parsley
+passenger passenger
+patrum patrum
+peasant peasant
+pelf pelf
+pensive pensive
+peremptory peremptory
+permanent permanent
+perspectively perspectively
+peto peto
+philosopher philosopher
+piec piec
+pinching pinching
+pithless pithless
+plant plant
+please please
+plucker plucker
+poisoning poisoning
+pompous pompous
+portage portage
+posthorse posthorse
+power power
+prayer prayer
+prefer prefer
+prescript prescript
+pretia pretia
+primitive primitive
+privy privy
+produc produc
+projection projection
+propertied propertied
+prosperously prosperously
+provincial provincial
+puddled puddled
+purchaseth purchaseth
+purveyor purveyor
+qualmish qualmish
+questioned questioned
+quo quo
+railing railing
+rankle rankle
+rather rather
+razorable razorable
+rebukeable rebukeable
+recommend recommend
+redeeming redeeming
+refreshing refreshing
+rein rein
+remain remain
+rendered rendered
+replant replant
+repugn repugn
+reservation reservation
+resteth resteth
+returned returned
+revok revok
+ribaudred ribaudred
+rigorous rigorous
+rive rive
+roe roe
+roscius roscius
+rout rout
+ruffling ruffling
+rushy rushy
+sad sad
+salisbury salisbury
+sanded sanded
+sauciness sauciness
+scald scald
+scarre scarre
+scorch scorch
+scripture scripture
+searcheth searcheth
+seeded seeded
+self self
+septentrion septentrion
+session session
+shadow shadow
+share share
+shelt shelt
+shiver shiver
+shove shove
+shrunk shrunk
+sienna sienna
+silva silva
+singled singled
+siz siz
+slandered slandered
+slewest slewest
+sluggish sluggish
+smith smith
+sneap sneap
+soiled soiled
+solyman solyman
+sorer sorer
+south south
+sparkling sparkling
+spencer spencer
+spirt spirt
+sprang sprang
+squarer squarer
+staled staled
+starv starv
+steeped steeped
+stigmatical stigmatical
+stomach stomach
+strain strain
+stretched stretched
+struck struck
+stygian stygian
+subtle subtle
+sufficient sufficient
+summer summer
+supersubtle supersubtle
+supremacy supremacy
+surveyest surveyest
+swart swart
+swiftly swiftly
+synagogue synagogue
+taking taking
+tape tape
+taught taught
+teller teller
+tenfold tenfold
+tetter tetter
+thereafter thereafter
+thirst thirst
+threepence threepence
+thrum thrum
+ticklish ticklish
+tiny tiny
+tod tod
+top top
+tott tott
+traduc traduc
+translate translate
+treatise treatise
+trident trident
+troiant troiant
+truest truest
+tumultuous tumultuous
+twang twang
+tyke tyke
+unanswer unanswer
+unblown unblown
+unchanging unchanging
+uncouple uncouple
+understood understood
+unduteous unduteous
+unfinish unfinish
+unguarded unguarded
+union union
+unlink unlink
+unmitigated unmitigated
+unpin unpin
+unquestion unquestion
+unrivall unrivall
+unsettle unsettle
+unspoken unspoken
+unthankful unthankful
+untutor untutor
+unwise unwise
+upshot upshot
+usurer usurer
+vainly vainly
+vanquishest vanquishest
+vaumond vaumond
+venomous venomous
+vernon vernon
+victual victual
+villian villian
+visage visage
+volant volant
+vowel vowel
+wait wait
+wanton wanton
+warrior warrior
+waverer waverer
+weariness weariness
+weightier weightier
+whatsoe whatsoe
+whereupon whereupon
+whistling whistling
+whosoever whosoever
+wilt wilt
+wiselier wiselier
+witnesseth witnesseth
+wond wond
+working working
+wouldest wouldest
+wretchcd wretchcd
+xv xv
+yielder yielder
diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/es-light.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/es-light.tsv
new file mode 100644
index 0000000000..616162de64
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/es-light.tsv
@@ -0,0 +1,2000 @@
+aarón aaron
+abarcamos abarcam
+abatida abatid
+abiertas abiert
+abogado abogad
+abortados abortad
+abrira abrir
+absoluta absolut
+abstuviera abstuvier
+abunda abund
+acabará acabar
+acaparado acaparad
+accedido accedid
+accionario accionari
+aceleró aceler
+aceptara aceptar
+acercando acercand
+acertado acertad
+aclamado aclamad
+acomodado acomodad
+acompañaría acompañari
+acontecimientos acontecimient
+acortó acort
+acotamiento acotamient
+actas act
+actuaba actuab
+actúa actu
+acudió acudi
+acumulado acumulad
+acusarlo acusarl
+adaptando adaptand
+adecuarlos adecuarl
+adelante adelant
+adese ades
+adictos adict
+administraciones administracion
+admitió admiti
+adoptando adoptand
+adquiere adquier
+adscrito adscrit
+advertencia advertenci
+aerolito aerolit
+aerógrafo aerograf
+afectarán afectaran
+aficionados aficionad
+afinó afin
+aflora aflor
+afrodisio afrodisi
+agilización agilizacion
+agora agor
+agradecería agradeceri
+agravios agravi
+agresiva agresiv
+agroquímico agroquimic
+aguantarse aguantars
+aguilera aguiler
+ahorita ahorit
+airadamente airadament
+ajenos ajen
+alabó alab
+alarme alarm
+albiazules albiazul
+alcance alcanc
+alcanzarlos alcanzarl
+alegatos alegat
+alejara alejar
+alergia alergi
+algebra algebr
+alicea alice
+alimenticio alimentici
+aljibes aljib
+almacenes almacen
+altamente altament
+alternando alternand
+alumbraba alumbrab
+alzados alzad
+amante amant
+amarrando amarrand
+ambientales ambiental
+amenace amenac
+americanas american
+amiguismos amiguism
+amores amor
+ampliadas ampliad
+ampudia ampudi
+analizamos analizam
+ancestro ancestr
+andaría andari
+anexos anex
+anglo angl
+anillo anill
+anotados anotad
+antemano anteman
+anticipadamente anticipadament
+antigua antigu
+antipatía antipati
+anulados anulad
+anzuelo anzuel
+apacible apacibl
+apareciendo apareciend
+apartados apartad
+apelaciones apelacion
+aplaudiendo aplaudiend
+aplicado aplicad
+apocada apocad
+aportación aportacion
+apoya apoy
+apoyándola apoyandol
+aprehensiones aprehension
+apresura apresur
+aprobación aprobacion
+aprovecha aprovech
+aproximado aproximad
+apuntó apunt
+aquél aquel
+arbitraje arbitraj
+archundia archundi
+argentina argentin
+arista arist
+armamento armament
+armónico armonic
+arquidiócesis arquidiocesis
+arranca arranc
+arreaga arreag
+arrendaba arrendab
+arrestó arrest
+arrobamiento arrobamient
+arroyos arroy
+artesanas artesan
+artículos articul
+asaltada asaltad
+ascenderá ascender
+asegurados asegurad
+asentó asent
+asesoría asesori
+asignación asignacion
+asistiendo asistiend
+asociarse asociars
+aspira aspir
+astronómicos astronomic
+asustado asustad
+atacas atac
+atañe atañ
+atendía atendi
+atiende atiend
+atmosférico atmosferic
+atrapadas atrapad
+atrevo atrev
+atropelló atropell
+audio audi
+augusto august
+aurelio aureli
+auspiciará auspiciar
+autocalificación autocalificacion
+automovilistas automovilist
+autopsia autopsi
+autorizadas autorizad
+autárticos autartic
+auxilio auxili
+avanzada avanzad
+aventaja aventaj
+aviacsa aviacs
+ayala ayal
+ayudarlo ayudarl
+azotaba azotab
+azúcares azucar
+bacteria bacteri
+bajadas bajad
+balaceras balacer
+balderas balder
+bananero bananer
+banderas bander
+banqueta banquet
+barbarabbe barbarabb
+barra barr
+barriles barril
+basadas basad
+bastante bastant
+batallas batall
+bautizaría bautizari
+bebió bebi
+bejarano bejaran
+benavente benavent
+beneficiarán beneficiaran
+benzeno benzen
+bernuncio bernunci
+biblias bibli
+bienvenidas bienvenid
+biodegradables biodegradabl
+blanca blanc
+bloqueadas bloquead
+bochornos bochorn
+bolaños bolañ
+boloña boloñ
+bondadosas bondados
+borge borg
+borsalino borsalin
+botello botell
+boxística boxistic
+brasilia brasili
+brevísima brevisim
+brindará brindar
+brocha broch
+bruce bruc
+buddleia buddlei
+buques buqu
+burro burr
+buscando buscand
+bustamante bustamant
+bátiz batiz
+caballada caballad
+cabida cabid
+cacao caca
+cadetes cadet
+cajuela cajuel
+calculando calculand
+calentura calentur
+calificados calificad
+calladito calladit
+caluroso caluros
+camarote camarot
+cambiaría cambiari
+camexa camex
+camiseta camiset
+campeona campeon
+canaco canac
+canasto canast
+canciones cancion
+canje canj
+cantera canter
+capacita capacit
+capitalina capitalin
+capote capot
+capucha capuch
+caras car
+cardenismo cardenism
+careció careci
+cargamentos cargament
+caricias carici
+carnavaleros carnavaler
+carpera carper
+carreteros carreter
+carroza carroz
+cartilla cartill
+casas cas
+casio casi
+castellano castellan
+castruita castruit
+catastrales catastral
+catálogo catalog
+causado causad
+cautivos cautiv
+cañones cañon
+cegarse cegars
+celebrarse celebrars
+cemcaspe cemcasp
+censurada censurad
+centre centr
+cerca cerc
+cerebrales cerebral
+cerralvo cerralv
+certeros certer
+cesados cesad
+chagoyos chagoy
+chapa chap
+charló charl
+chavitas chavit
+cheyene cheyen
+chicuelinas chicuelin
+chilpancingo chilpancing
+chispeando chispeand
+choques choqu
+chusca chusc
+ciclónica ciclonic
+cierta ciert
+cimarrones cimarron
+cineterraza cineterraz
+circula circul
+circunvalación circunvalacion
+ciudadana ciudadan
+ciénega cieneg
+clasificaciones clasificacion
+clausurará clausurar
+clone clon
+clínico clinic
+cobraba cobrab
+cobán coban
+coello coell
+coincidencia coincidenci
+colaboraría colaborari
+colectiva colectiv
+colgados colgad
+colocadas colocad
+colofón colofon
+colorido colorid
+columnas column
+comandos comand
+combinado combinad
+comentaba comentab
+comentábamos comentabam
+comercialización comercializacion
+cometas comet
+comidas comid
+comitiva comitiv
+companía compani
+comparsas compars
+compatriota compatriot
+compensatorio compensatori
+competitivas competitiv
+complejos complej
+completo complet
+componentes component
+compradores comprador
+comprendas comprend
+comprobó comprob
+compró compr
+compás comp
+comunicó comunic
+concanaco concanac
+concentradas concentrad
+concertadamente concertadament
+concibió concibi
+conclusiones conclusion
+concrete concret
+condado condad
+condenó conden
+conducidos conducid
+conecta conect
+conferencistas conferencist
+confiarse confiars
+confio confi
+conforme conform
+confíen confien
+congoja congoj
+conjuga conjug
+conmemorativa conmemorativ
+conocerá conocer
+conoció conoci
+conscientes conscient
+consejero consejer
+conservando conservand
+considerados considerad
+consigna consign
+consistente consistent
+conspiración conspiracion
+constituciones constitucion
+constituyente constituyent
+construirse construirs
+consultado consultad
+consumismo consumism
+contadores contador
+contara contar
+contemporánea contemporane
+contento content
+contiene contien
+continuamente continuament
+contraataques contraataqu
+contraparte contrapart
+contratación contratacion
+contrayente contrayent
+contritos contrit
+controvertido controvertid
+convencerle convencerl
+convenidos convenid
+conversó convers
+convino convin
+convocatoria convocatori
+coordinación coordinacion
+coraje coraj
+coreados coread
+corporaciones corporacion
+correcta correct
+corremos correm
+correveidile correveidil
+corrompe corromp
+cortadores cortador
+cortines cortin
+cosecha cosech
+costas cost
+costuras costur
+cotizados cotizad
+creado cread
+crece crec
+credencializados credencializad
+cretinismo cretinism
+criadores criador
+cristiano cristian
+cromadoras cromador
+cruda crud
+cráter crater
+cuadrados cuadrad
+cuantas cuant
+cuarzo cuarz
+cubierto cubiert
+cucharaditas cucharadit
+cuerda cuerd
+cuestionados cuestionad
+cuidadosa cuidados
+culminarán culminaran
+culto cult
+cumplidos cumplid
+cunda cund
+cursada cursad
+cuáles cual
+cálido calid
+cáscara cascar
+césar cesar
+cómica comic
+córdoba cordob
+damas dam
+darán daran
+dañinos dañin
+debes deb
+debía debi
+decenso decens
+decidirá decidir
+decisioón decisioon
+declare declar
+decretado decretad
+dedicada dedicad
+dedillo dedill
+defendiendo defendiend
+deficiencia deficienci
+definiendo definiend
+defraudadores defraudador
+dejado dejad
+dejándolas dejandol
+delegados delegad
+delicias delici
+demagogia demagogi
+demasiada demasiad
+democráticas democratic
+demostrarle demostrarl
+denominados denominad
+denunciantes denunciant
+depende depend
+deportista deportist
+deposítele depositel
+derechazo derechaz
+dermatología dermatologi
+derroche derroch
+desacreditados desacreditad
+desahogo desahog
+desalojos desaloj
+desapariciones desaparicion
+desarrollamos desarrollam
+desató desat
+descalabro descalabr
+descarnado descarnad
+descensos descens
+desconfiara desconfiar
+descontentos descontent
+descubre descubr
+desdichada desdichad
+desembarque desembarqu
+desengaña desengañ
+deserciones desercion
+desgarradoramente desgarradorament
+deshizo deshiz
+desincorporación desincorporacion
+desleales desleal
+desmintió desminti
+desordenado desordenad
+despedidos despedid
+despertó despert
+desplazando desplazand
+despotismo despotism
+después despu
+destanteados destantead
+destinatario destinatari
+destruyó destruy
+desvirtuación desvirtuacion
+detallitos detallit
+detendrá detendr
+determina determin
+detonación detonacion
+devoción devocion
+diagnósticos diagnostic
+dibujos dibuj
+dictado dictad
+difame difam
+dificultado dificultad
+digamos digam
+dijiste dijist
+diminutos diminut
+diosa dios
+diputados diputad
+directorio directori
+dirigirme dirigirm
+disciplinada disciplinad
+discriminación discriminacion
+disertará disertar
+disfrazada disfrazad
+disidentes disident
+disparaba disparab
+dispersos dispers
+dispuesto dispuest
+distancia distanci
+distintos distint
+distribuirse distribuirs
+diversa divers
+divide divid
+divorciarme divorciarm
+doblajes doblaj
+docta doct
+documenté document
+domina domin
+domésticas domestic
+donde dond
+doscientas doscient
+droga drog
+dudaba dudab
+dupla dupl
+duranguense duranguens
+dárselos darsel
+dígales digal
+echado echad
+ecologista ecologist
+económica economic
+edelmiro edelmir
+editado editad
+educativas educativ
+efectuado efectuad
+eficientarlas eficientarl
+egoísta egoist
+ejecutarse ejecutars
+ejercerán ejerceran
+elaborado elaborad
+electores elector
+elegantes elegant
+elepé elep
+elija elij
+eliodoro eliodor
+eloxochitlán eloxochitlan
+embajadas embajad
+embestida embestid
+embriagantes embriagant
+eminentemente eminentement
+emitirán emitiran
+empadronados empadronad
+empezaba empezab
+emplea emple
+emprendiendo emprendiend
+enamora enamor
+encaminadas encaminad
+encarga encarg
+encarnado encarnad
+enciclopédico enciclopedic
+encontradas encontrad
+encontró encontr
+encuestas encuest
+enemigos enemig
+enfermedades enfermedad
+enfoque enfoqu
+enfrentará enfrentar
+englutidos englutid
+enlaza enlaz
+enrazado enrazad
+ensangrentados ensangrentad
+enseñarles enseñarl
+entenderíamos entenderiam
+entereza enterez
+entra entr
+entre entr
+entregarán entregaran
+entrenadores entrenador
+entrevistaba entrevistab
+entusiasmo entusiasm
+enviado enviad
+envió envi
+enésima enesim
+equipararnos equipararn
+eramos eram
+errónea errone
+escalonados escalonad
+escasas escas
+esclarecimiento esclarecimient
+escogiendo escogiend
+escondió escondi
+escribió escribi
+escuadra escuadr
+escuché escuch
+escándalo escandal
+esmaltes esmalt
+esparza esparz
+especializadas especializad
+espectro espectr
+espejo espej
+esperarlos esperarl
+espina espin
+esposas espos
+estaba estab
+establecía estableci
+estadios estadi
+estambre estambr
+estaremos estarem
+estatutos estatut
+estimada estimad
+estipula estipul
+estrada estrad
+estrecha estrech
+estrenando estrenand
+estropeadas estropead
+estudiará estudiar
+estuvimos estuvim
+estévez estevez
+etnia etni
+europea europe
+evaluados evaluad
+evidenciado evidenciad
+evitarse evitars
+exagerada exagerad
+excedernos excedern
+excesivos excesiv
+exclusivamente exclusivament
+exenta exent
+exhibirse exhibirs
+exigida exigid
+exime exim
+exitosa exitos
+expectativa expectativ
+experimentados experimentad
+explicando explicand
+explotación explotacion
+exponían exponian
+expresada expresad
+expuesto expuest
+extendemos extendem
+externado externad
+extracto extract
+extraordinarios extraordinari
+extrañe extrañ
+fabio fabi
+fabulosos fabulos
+factible factibl
+facultativos facultativ
+fallece fallec
+falsificó falsific
+faltó falt
+fantasmas fantasm
+farías fari
+favorables favorabl
+febrero febrer
+federalización federalizacion
+felicitado felicitad
+femeninos femenin
+fernández fernandez
+festeja festej
+fibra fibr
+fiesta fiest
+fijamos fijam
+filete filet
+filtros filtr
+financiado financiad
+fines fin
+firmarse firmars
+fisonomía fisonomi
+fleteros fleter
+flotando flotand
+fogueo fogue
+fonda fond
+foristas forist
+formamos formam
+fornica fornic
+fortaleciéndose fortaleciendos
+foránea forane
+fotomecánica fotomecanic
+fraccionamiento fraccionamient
+franca franc
+franquicia franquici
+frayre frayr
+frenos fren
+friolentos friolent
+fruta frut
+fuera fuer
+fulminante fulminant
+funcionarán funcionaran
+fundamentados fundamentad
+fundó fund
+fusionada fusionad
+futuros futur
+físicamente fisicament
+galardonada galardonad
+galileo galile
+galán galan
+ganancias gananci
+garantice garantic
+garganta gargant
+gasoducto gasoduct
+gastroenterología gastroenterologi
+gaytán gaytan
+generado generad
+generará generar
+gentes gent
+gerencia gerenci
+gestoras gestor
+gimnasio gimnasi
+gladiadores gladiador
+gloriosísima gloriosisim
+gobienro gobienr
+golondrinas golondrin
+gonzález gonzalez
+goteo gote
+grabadoras grabador
+grado grad
+granadas granad
+grandote grandot
+grato grat
+grecorromano grecorroman
+grita grit
+grupo grup
+guantes guant
+guardas guard
+guerrerense guerrerens
+guillotina guillotin
+gustavo gustav
+güedad guedad
+habidos habid
+hablaba hablab
+hablé habl
+hacendarias hacendari
+hacienda haciend
+hagámosla hagamosl
+halle hall
+hardware hardwar
+hayas hay
+helados helad
+herce herc
+hermana herman
+hermética hermetic
+hiciera hicier
+hierbas hierb
+hinca hinc
+hippie hippi
+historias histori
+hojalata hojalat
+homero homer
+homólogo homolog
+honorarios honorari
+hormona hormon
+hospitalización hospitalizacion
+huapango huapang
+huella huell
+huidizo huidiz
+humilde humild
+hurtadillas hurtadill
+hérdez herdez
+idaho idah
+identificó identific
+idólatra idolatr
+ignore ignor
+ilimitada ilimitad
+ilícito ilicit
+imitaciones imitacion
+impartirán impartiran
+imperialismo imperialism
+implanté implant
+implicó implic
+importación importacion
+importaría importari
+impresa impres
+impresores impresor
+impuestas impuest
+impuras impur
+inalámbrico inalambric
+incapacitado incapacitad
+incide incid
+inclinada inclinad
+incluiría incluiri
+incompleto incomplet
+inconsecuencia inconsecuenci
+incorporando incorporand
+incrementos increment
+incumplidas incumplid
+indecibles indecibl
+independientemente independientement
+indicando indicand
+indigentes indigent
+indispensable indispensabl
+inducirlo inducirl
+indígena indigen
+inevitable inevitabl
+infantiles infantil
+inflacionarios inflacionari
+informaba informab
+informativas informativ
+infractores infractor
+ingenua ingenu
+ingresado ingresad
+inicia inici
+iniciará iniciar
+injude injud
+inmediatas inmediat
+inmorales inmoral
+innovación innovacion
+inquieto inquiet
+inscripción inscripcion
+insista insist
+inspeccionado inspeccionad
+instalados instalad
+instantáneamente instantaneament
+instrucciones instruccion
+insubordinación insubordinacion
+insurrección insurreccion
+integrante integrant
+inteligentes inteligent
+intensión intension
+intentó intent
+interceptado interceptad
+interesante interesant
+interinatos interinat
+intermitentes intermitent
+interpretaciones interpretacion
+interpuestas interpuest
+interrumpía interrumpi
+intervino intervin
+intrincadas intrincad
+intrínseca intrinsec
+invaluable invaluabl
+invernadero invernader
+invertirá invertir
+investigue investigu
+invitación invitacion
+involucrado involucrad
+inédito inedit
+iriarte iriart
+irregulares irregular
+irritantes irritant
+israelíes israeli
+ixcaquixtla ixcaquixtl
+jaguares jaguar
+jamón jamon
+jarocha jaroch
+jerónimo jeronim
+jonas jon
+joyas joy
+jueceo juece
+jugando jugand
+julián julian
+jurídica juridic
+justificando justificand
+juzgados juzgad
+kenia keni
+kosovo kosov
+laborde labord
+ladrones ladron
+lamentablemente lamentablement
+lanzada lanzad
+lares lar
+lastimadas lastimad
+laudos laud
+lazos laz
+ledezma ledezm
+legislativo legislativ
+legítimo legitim
+lento lent
+lesionado lesionad
+letrinas letrin
+levantarás levantar
+leñero leñer
+libero liber
+librerías libreri
+licitación licitacion
+liera lier
+liguilla liguill
+limpia limpi
+lineamiento lineamient
+literalmente literalment
+llamaba llamab
+llamarían llamarian
+llanta llant
+llegara llegar
+llenando llenand
+llevado llevad
+llevarían llevarian
+lloró llor
+lobeira lobeir
+localmente localment
+lograremos lograrem
+lombardo lombard
+lotería loteri
+luchando luchand
+lucía luci
+lunáticos lunatic
+láser laser
+líquido liquid
+macedonia macedoni
+macrópolis macropolis
+madrileñas madrileñ
+maestría maestri
+magma magm
+magnífico magnific
+maldonado maldonad
+malta malt
+mamíferos mamifer
+mandarinas mandarin
+mandó mand
+manejo manej
+manifestada manifestad
+manolita manolit
+mantenerlas mantenerl
+mantuvo mantuv
+maqueta maquet
+marasmo marasm
+marcadores marcador
+marciano marcian
+marginación marginacion
+maricela maricel
+marinos marin
+martellotto martellott
+masacre masacr
+massa mass
+matemática matematic
+matorrales matorral
+maximova maximov
+mayrán mayran
+mecánica mecanic
+medianas median
+medido medid
+meditación meditacion
+mejorado mejorad
+mella mell
+menchú menchu
+mendoza mendoz
+mensualidades mensualidad
+meramente merament
+mercomún mercomun
+mermeladas mermelad
+metales metal
+meticulosamente meticulosament
+metropolitana metropolitan
+mexicanos mexican
+michelle michell
+micros micr
+migraciones migracion
+militantes militant
+milésimas milesim
+ministerio ministeri
+minuta minut
+miras mir
+misma mism
+mitras mitr
+modera moder
+modesta modest
+modos mod
+molestó molest
+monarquía monarqui
+monitores monitor
+montajes montaj
+monterreynuevo monterreynuev
+morada morad
+mordiscos mordisc
+moría mori
+mostrarlo mostrarl
+motivarlo motivarl
+motos mot
+movimientos movimient
+mucho much
+muera muer
+mugre mugr
+multados multad
+multitudes multitud
+muralismo muralism
+muslos musl
+muñeca muñec
+máxime maxim
+métodos metod
+mítico mitic
+múzquiz muzquiz
+nadadores nadador
+narcoanálisis narcoanalisis
+natalie natali
+navaja navaj
+navojoa navojo
+necesitamos necesitam
+nefrología nefrologi
+negligencia negligenci
+negocio negoci
+neopopulistas neopopulist
+nervioso nervios
+neurona neuron
+nicola nicol
+nilda nild
+noble nobl
+nombra nombr
+nominada nominad
+norestense norestens
+norteamérica norteameric
+notaria notari
+notificó notific
+novelista novelist
+novios novi
+nuestros nuestr
+numero numer
+náutico nautic
+obdulio obduli
+objetivo objetiv
+obligarían obligarian
+obreros obrer
+observadas observad
+obsesiva obsesiv
+obtención obtencion
+obtiene obtien
+ocasionarse ocasionars
+ochenta ochent
+ocultó ocult
+ocurridas ocurrid
+ofenderá ofender
+oficialista oficialist
+ofrecerles ofrecerl
+ofreció ofreci
+olaya olay
+olmedo olmed
+olímpico olimpic
+opciones opcion
+operando operand
+opinó opin
+optarse optars
+orangután orangutan
+orduño orduñ
+organizadas organizad
+orgullo orgull
+orientado orientad
+originalmente originalment
+orishas orish
+ortodoxia ortodoxi
+oscuro oscur
+otorga otorg
+otras otr
+oviedo ovied
+pacheco pachec
+padece padec
+pagadas pagad
+pagarían pagarian
+palanca palanc
+paletones paleton
+pamela pamel
+pandillas pandill
+pantalla pantall
+papelerías papeleri
+parado parad
+paralizando paralizand
+parecería pareceri
+paremos parem
+parodiando parodiand
+parroquiano parroquian
+participará participar
+partidero partider
+parvada parvad
+pasados pasad
+pasarse pasars
+pasillo pasill
+patadas patad
+patiñazo patiñaz
+patrocinado patrocinad
+paulatinamente paulatinament
+pavimentados pavimentad
+pechera pecher
+pediatría pediatri
+pediátrica pediatric
+pegando pegand
+peleles pelel
+pelotero peloter
+penetrante penetrant
+pensarse pensars
+penúltimo penultim
+percatado percatad
+perdición perdicion
+pereda pered
+perfila perfil
+periféricos periferic
+perjudicada perjudicad
+permaneciendo permaneciend
+permita permit
+permitiéndole permitiendol
+perplejo perplej
+persistente persistent
+pertenece pertenec
+peruana peruan
+pesados pesad
+pesquería pesqueri
+petróleos petrole
+pictórica pictoric
+pienso piens
+pillma pillm
+pintadas pintad
+pioneros pioner
+pisoteando pisoteand
+pizza pizz
+planas plan
+planetaria planetari
+planteada plantead
+plasma plasm
+platicaba platicab
+playas play
+plenaria plenari
+plácidamente placidament
+poblano poblan
+poderoso poderos
+podíamos podiam
+policiaco policiac
+polio poli
+polémica polemic
+ponderada ponderad
+ponerlo ponerl
+ponía poni
+porcentajes porcentaj
+pornográficos pornografic
+portezuela portezuel
+posesivas posesiv
+positivamente positivament
+postre postr
+potencialmente potencialment
+practicadas practicad
+precedente precedent
+precipitarse precipitars
+preconiza preconiz
+predominante predominant
+prefiera prefier
+pregunte pregunt
+premiaba premiab
+prendarios prendari
+preocupara preocupar
+preparamos preparam
+prepotentes prepotent
+presencia presenci
+presentando presentand
+presentí presenti
+presidente president
+presos pres
+presume presum
+pretemporada pretemporad
+prevalezca prevalezc
+previene previen
+price pric
+primeras primer
+principales principal
+pristina pristin
+privilegios privilegi
+probarse probars
+procedimiento procedimient
+procesos proces
+procure procur
+producirá producir
+proeza proez
+profetas profet
+programadas programad
+prohiba prohib
+prolongadas prolongad
+prometió prometi
+promovemos promovem
+pronostica pronostic
+propagación propagacion
+propietaria propietari
+propongo propong
+proporciones proporcion
+prosa pros
+protagonistas protagonist
+protegerse protegers
+proteínas protein
+provincia provinci
+provocó provoc
+prudentemente prudentement
+préstamo prestam
+psicoanalista psicoanalist
+psicólogo psicolog
+publicitaria publicitari
+pueblo puebl
+puestas puest
+pulimos pulim
+punteros punter
+pupilo pupil
+puñaladas puñalad
+pértiga pertig
+público public
+quedarnos quedarn
+quejado quejad
+quemó quem
+queríamos queriam
+quijano quijan
+quirúrgica quirurgic
+quitarles quitarl
+químicas quimic
+radiación radiacion
+radiofónico radiofonic
+ramírez ramirez
+rascacielos rascaciel
+ratoncito ratoncit
+raymundo raymund
+reabra reabr
+reajustarlas reajustarl
+realizada realizad
+realizó realiz
+rebasada rebasad
+rebotarán rebotaran
+recelos recel
+rechazando rechazand
+recibimos recibim
+reciclaje reciclaj
+reclamaba reclamab
+reclutadas reclutad
+recomendadas recomendad
+reconoce reconoc
+reconozca reconozc
+recordó record
+recrimina recrimin
+recuperable recuperabl
+recíproco reciproc
+redondo redond
+redunde redund
+reencuentro reencuentr
+referidos referid
+refirió refiri
+reflexión reflexion
+refractarias refractari
+refugió refugi
+regidores regidor
+registra registr
+registró registr
+regresarse regresars
+regulación regulacion
+rehenes rehen
+reintegrarme reintegrarm
+relacionado relacionad
+relativo relativ
+relevó relev
+reluciente relucient
+remitidos remitid
+remuneración remuneracion
+renee rene
+renovarvía renovarvi
+renunciarán renunciaran
+reparos repar
+repentinamente repentinament
+repetiría repetiri
+reportados reportad
+representa represent
+representó represent
+reproducirse reproducirs
+repórtese reportes
+requiere requier
+rescatada rescatad
+reservadas reservad
+residentes resident
+resistente resistent
+resolvió resolvi
+respectivos respectiv
+respiratoria respiratori
+responsabilidades responsabilidad
+restas rest
+restructuración restructuracion
+resulte result
+reticencia reticenci
+retirarán retiraran
+retomó retom
+retrasando retrasand
+retroactiva retroactiv
+reune reun
+revaluándose revaluandos
+reventadores reventador
+revisarla revisarl
+revolucionarias revolucionari
+revólveres revolver
+reírnos reirn
+ricachón ricachon
+riesgosísimo riesgosisim
+riqueza riquez
+riviello riviell
+robles robl
+rodarse rodars
+rodisonato rodisonat
+romances romanz
+rompimiento rompimient
+rosario rosari
+rotativo rotativ
+rubén ruben
+ruinas ruin
+rutina rutin
+régimen regimen
+sabedores sabedor
+saboreando saboreand
+sacado sacad
+sacos sac
+saeta saet
+saldos sald
+saliente salient
+salones salon
+saludando saludand
+salvaje salvaj
+samoa samo
+sandrine sandrin
+sanitarios sanitari
+sapién sapien
+satisfactores satisfactor
+satín satin
+seamos seam
+secretarías secretari
+secuestró secuestr
+sedujo seduj
+seguimos seguim
+segura segur
+selección seleccion
+sembradores sembrador
+semidíos semidi
+senadores senador
+sensación sensacion
+sentarse sentars
+sentía senti
+separarán separaran
+sergio sergi
+serra serr
+servirá servir
+seudónimo seudonim
+sexto sext
+señora señor
+sicológica sicologic
+siglas sigl
+significo signific
+silencioso silencios
+simeone simeon
+simulados simulad
+sincronizados sincronizad
+sintiéndome sintiendom
+sirve sirv
+sitio siti
+sobando soband
+sobreasignación sobreasignacion
+sobrepasa sobrepas
+sobretodo sobretod
+socialismo socialism
+socorristas socorrist
+sofía sofi
+soleado solead
+solicitudes solicitud
+solteras solter
+sombras sombr
+sonados sonad
+sonya sony
+sorgo sorg
+sorpresas sorpres
+sospechoso sospechos
+sostiene sostien
+statuo statu
+subalterno subaltern
+subdirectora subdirector
+subió subi
+subsanables subsanabl
+substancia substanci
+subían subian
+sucesos suces
+suecia sueci
+sueño sueñ
+sufría sufri
+suicidarse suicidars
+sultanes sultan
+sumido sumid
+superarlo superarl
+superligero superliger
+supervisión supervision
+suponemos suponem
+supuestas supuest
+surgimiento surgimient
+susceptibles susceptibl
+suspendidos suspendid
+sustento sustent
+suyas suy
+séquito sequit
+sólidas solid
+tableros tabler
+tajante tajant
+talusa talus
+tangibles tangibl
+tapatíos tapati
+tarahumaras tarahumar
+tarea tare
+tataranietos tataraniet
+teatralmente teatralment
+tecnologías tecnologi
+tejas tej
+telehogares telehogar
+televisión television
+temible temibl
+temporales temporal
+tendencias tendenci
+tendón tendon
+tenido tenid
+teodoro teodor
+terapéuticos terapeutic
+terminaciones terminacion
+terminarían terminarian
+terrenales terrenal
+tesoreros tesorer
+texas tex
+theodore theodor
+tiernamente tiernament
+timorato timorat
+tirando tirand
+titula titul
+tlaxcaltecas tlaxcaltec
+tolerada tolerad
+tomando tomand
+tomándola tomandol
+topete topet
+torio tori
+torrado torrad
+tortuguismo tortuguism
+trabado trabad
+trabajos trabaj
+traducidos traducid
+tragarse tragars
+trajo traj
+tranquilamente tranquilament
+transcribe transcrib
+transformaciones transformacion
+transitará transitar
+transparentarse transparentars
+transportistas transportist
+traslación traslacion
+trasmitirlo trasmitirl
+trataba tratab
+trataría tratari
+trayectoria trayectori
+treinta treint
+treviño treviñ
+trinchera trincher
+tristes trist
+trizados trizad
+tropas trop
+trámites tramit
+tumba tumb
+turistico turistic
+tuzos tuz
+témpano tempan
+tómese tomes
+ubicación ubicacion
+ubicó ubic
+ultranza ultranz
+unificadas unificad
+unitardos unitard
+urbana urban
+uribe urib
+usarlos usarl
+utilidades utilidad
+utilizarán utilizaran
+vació vaci
+valde vald
+valenzuela valenzuel
+valle vall
+valores valor
+vanguardia vanguardi
+varela varel
+variopinta variopint
+vaticinios vaticini
+vegetarianos vegetarian
+velas vel
+vencerás vencer
+venderemos venderem
+vendió vendi
+vengo veng
+ventanilla ventanill
+veras ver
+verdugo verdug
+verlo verl
+vertidas vertid
+vestigio vestigi
+viajaba viajab
+vibraciones vibracion
+victorioso victorios
+vidrio vidri
+viendose viendos
+vigilada vigilad
+villa vill
+villán villan
+violada violad
+violetina violetin
+visionarios visionari
+visitarán visitaran
+vistazo vistaz
+vitamina vitamin
+vividos vivid
+vivíamos viviam
+volando voland
+voltea volte
+voluntarioso voluntarios
+volátiles volatil
+vuelca vuelc
+vulgo vulg
+vínculo vincul
+willie willi
+ycosas ycos
+yukio yuki
+zambrano zambran
+zapoteco zapotec
+zoológico zoologic
+zurdos zurd
+ámbitos ambit
+ásperamente asperament
+étnica etnic
+íntegro integr
+órgano organ
+a a
+abel abel
+abren abren
+abuchearon abuchearon
+acarrear acarrear
+aceptar aceptar
+acicalar acicalar
+aconsejar aconsejar
+actor actor
+acusaban acusaban
+adelantar adelantar
+adoptaran adoptaran
+advertising advertising
+afinar afinar
+agarrar agarrar
+agredieron agredieron
+ahogaron ahogaron
+ajalpan ajalpan
+albergar albergar
+alegaron alegaron
+algo algo
+allí allí
+alud alud
+amagaron amagaron
+amen amen
+amoxcalli amoxcalli
+anamup anamup
+animal animal
+anthony anthony
+anuncian anuncian
+apegan apegan
+apodaban apodaban
+apoyen apoyen
+apro apro
+apuntaron apuntaron
+argumentar argumentar
+arrancar arrancar
+arrojan arrojan
+as as
+asesinaron asesinaron
+asisten asisten
+asumen asumen
+atentar atentar
+atraviesan atraviesan
+aun aun
+autorizan autorizan
+avanzaron avanzaron
+ayudan ayudan
+año año
+bajaron bajaron
+band band
+basar basar
+batallaron batallaron
+baño baño
+becker becker
+benchmarks benchmarks
+bernabeu bernabeu
+bien bien
+bin bin
+blandir blandir
+boca boca
+bormann bormann
+bowman bowman
+brevedad brevedad
+bromeaban bromeaban
+bud bud
+bursatilidad bursatilidad
+báez báez
+cae cae
+calentar calentar
+cama cama
+canal canal
+cantar cantar
+caporal caporal
+carburador carburador
+carmen carmen
+casavan casavan
+catalogan catalogan
+cayo cayo
+ccinlac ccinlac
+celebran celebran
+censurar censurar
+cerraron cerraron
+chalmer chalmer
+checar checar
+chilac chilac
+christi christi
+cima cima
+cite cite
+claridad claridad
+clouthier clouthier
+co co
+coco coco
+cojo cojo
+colin colin
+combinan combinan
+comer comer
+compact compact
+competitividad competitividad
+comportan comportan
+comprometen comprometen
+conadeip conadeip
+conclusion conclusion
+condicionan condicionan
+confiar confiar
+congregaron congregaron
+conozcan conozcan
+consideren consideren
+constituyeron constituyeron
+contabilizan contabilizan
+contengan contengan
+contradecir contradecir
+contribuyeron contribuyeron
+convivir convivir
+coordinan coordinan
+corporal corporal
+corresponsal corresponsal
+coss coss
+cox cox
+crecen crecen
+crisis crisis
+cruz cruz
+cualquier cualquier
+cuestionan cuestionan
+cumplan cumplan
+cuyo cuyo
+daihim daihim
+das das
+daña daña
+deber deber
+decir decir
+dedicaran dedicaran
+deja deja
+delimitar delimitar
+democratizar democratizar
+denunciar denunciar
+derivaron derivaron
+desalojar desalojar
+desatar desatar
+descomunal descomunal
+descuidan descuidan
+desenmascaran desenmascaran
+desintegrar desintegrar
+desparramaron desparramaron
+destacan destacan
+desviar desviar
+detienen detienen
+diagnosticar diagnosticar
+dieran dieran
+difundir difundir
+dilatar dilatar
+dirimir dirimir
+disfrutar disfrutar
+disputar disputar
+dividir dividir
+doctoral doctoral
+dominen dominen
+dormir dormir
+dragster dragster
+duo duo
+duró duró
+díle díle
+echó echó
+edison edison
+edén edén
+eiffel eiffel
+electricidad electricidad
+eliud eliud
+embargaron embargaron
+emory emory
+empiezan empiezan
+encaminaron encaminaron
+encontraban encontraban
+enfrentar enfrentar
+enmendar enmendar
+entender entender
+entregar entregar
+enviar enviar
+er er
+esas esas
+esconder esconder
+esde esde
+especificar especificar
+espiritualidad espiritualidad
+establezcan establezcan
+estimaron estimaron
+estudian estudian
+eugui eugui
+evidencian evidencian
+excedieron excedieron
+eximir eximir
+explicaban explicaban
+exportan exportan
+exterior exterior
+fabricar fabricar
+fallar fallar
+fatal fatal
+federal federal
+feroz feroz
+fiel fiel
+film film
+fingir fingir
+flannery flannery
+foco foco
+formal formal
+forzaron forzaron
+francotirador francotirador
+fresh fresh
+fuesen fuesen
+fundamental fundamental
+gail gail
+ganen ganen
+gasset gasset
+generalidad generalidad
+gephard gephard
+gime gime
+gober gober
+golearon golearon
+gorvachov gorvachov
+gradocon gradocon
+gravar gravar
+gro gro
+guiaron guiaron
+haber haber
+haddad haddad
+han han
+harry harry
+hayan hayan
+heidi heidi
+herramental herramental
+hill hill
+hogar hogar
+honor honor
+hoy hoy
+huir huir
+huyeron huyeron
+ida ida
+igual igual
+imagen imagen
+impartir impartir
+impongan impongan
+imán imán
+incian incian
+inconstitucionalidad inconstitucionalidad
+incumplieron incumplieron
+indignidad indignidad
+infernal infernal
+inforrey inforrey
+inicien inicien
+insensatez insensatez
+instrumentar instrumentar
+intensifiquen intensifiquen
+interfieran interfieran
+interrumpir interrumpir
+invadir invadir
+invitan invitan
+irma irma
+isaac isaac
+iva iva
+jalar jalar
+jefa jefa
+joel joel
+juan juan
+julius julius
+juzgar juzgar
+kb kb
+kgb kgb
+ko ko
+kubli kubli
+lagerfeld lagerfeld
+langley langley
+lata lata
+lealtad lealtad
+legislar legislar
+les les
+ley ley
+libran libran
+lima lima
+liner liner
+lle lle
+llevaron llevaron
+loco loco
+lopez lopez
+lucieron lucieron
+luz luz
+madurar madurar
+maksim maksim
+manden manden
+manipular manipular
+many many
+marcus marcus
+marketing marketing
+mas mas
+mataron mataron
+max max
+mcdonalds mcdonalds
+mejor mejor
+mencionaron mencionaron
+mercadear mercadear
+meta meta
+mexinox mexinox
+mico mico
+miguel miguel
+mimi mimi
+mirador mirador
+missouri missouri
+moda moda
+molestar molestar
+montiel montiel
+morozoff morozoff
+moto moto
+mozo mozo
+multichip multichip
+murieron murieron
+mystic mystic
+nacionalidad nacionalidad
+narran narran
+navajearon navajearon
+negaban negaban
+neri neri
+newton newton
+nina nina
+nombrar nombrar
+nos nos
+nox nox
+nupcial nupcial
+objetividad objetividad
+observaban observaban
+oceransky oceransky
+ocurren ocurren
+ofrecieron ofrecieron
+olloqui olloqui
+one one
+oportunidad oportunidad
+orden orden
+origen origen
+os os
+otorgaran otorgaran
+oxidar oxidar
+padecer padecer
+pale pale
+par par
+pared pared
+participen participen
+pasear pasear
+pato pato
+pc pc
+pegaran pegaran
+penal penal
+per per
+perjudican perjudican
+perry perry
+pesar pesar
+pfcyp pfcyp
+pide pide
+pinal pinal
+pisotear pisotear
+planchar planchar
+playback playback
+polar polar
+pongan pongan
+portabilidad portabilidad
+posesionar posesionar
+potosi potosi
+prampolini prampolini
+predominaron predominaron
+prendieron prendieron
+presentaban presentaban
+pressey pressey
+prevenir prevenir
+pro pro
+produzcan produzcan
+proliferan proliferan
+promotor promotor
+proponen proponen
+proteger proteger
+provocan provocan
+public public
+pues pues
+pura pura
+q q
+quejaron quejaron
+qué qué
+rafael rafael
+rapar rapar
+ravel ravel
+reactivar reactivar
+reanudar reanudar
+recaudaban recaudaban
+recibir recibir
+recomendaron recomendaron
+recrudecieron recrudecieron
+redoblar redoblar
+reflejaban reflejaban
+regidor regidor
+regresen regresen
+reja reja
+renegociar renegociar
+repavimentar repavimentar
+reprimir reprimir
+residen residen
+responsabilidad responsabilidad
+resumen resumen
+retratar retratar
+revelaban revelaban
+revocar revocar
+riazor riazor
+rifkin rifkin
+risa risa
+road road
+rocaetti rocaetti
+roel roel
+rompen rompen
+rossin rossin
+rubor rubor
+ruso ruso
+sabor sabor
+saint saint
+salir salir
+sanchez sanchez
+sar sar
+saya saya
+scout scout
+secuencial secuencial
+seis seis
+seminal seminal
+sep sep
+serial serial
+sexys sexys
+shcp shcp
+sida sida
+siguieron siguieron
+singular singular
+sister sister
+sobrepasan sobrepasan
+sociedad sociedad
+solemnidad solemnidad
+someter someter
+soundgarden soundgarden
+special special
+stanley stanley
+straffon straffon
+subaru subaru
+suburban suburban
+sueltan sueltan
+suma suma
+suoo suoo
+superwelter superwelter
+sus sus
+svyt svyt
+tabe tabe
+tamez tamez
+tasa tasa
+teddys teddys
+teme teme
+tepochcalli tepochcalli
+textil textil
+tibet tibet
+tirar tirar
+tlatoanis tlatoanis
+tomaban tomaban
+topa topa
+torricelli torricelli
+trabajador trabajador
+traidor traidor
+transfieren transfieren
+transparentar transparentar
+tratar tratar
+trinidad trinidad
+troy troy
+tumor tumor
+tv tv
+uat uat
+un un
+unisex unisex
+ur ur
+use use
+v v
+valet valet
+vano vano
+ve ve
+vena vena
+ventilaron ventilaron
+vertical vertical
+viajar viajar
+vienen vienen
+villaseñor villaseñor
+virilidad virilidad
+visten visten
+vivir vivir
+volmer volmer
+voto voto
+vías vías
+waterer waterer
+widnall widnall
+worcester worcester
+xviii xviii
+yeso yeso
+zabludowsky zabludowsky
+ágil ágil
diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/es-minimal.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/es-minimal.tsv
new file mode 100644
index 0000000000..f0d29801f3
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/es-minimal.tsv
@@ -0,0 +1,2000 @@
+abandonadas abandonada
+abarroteros abarrotero
+abiertas abierta
+abogadas abogada
+abortos aborto
+abrogados abrogado
+abucheos abucheo
+abundantes abundant
+académicas academica
+acarreados acarreado
+accesos acceso
+accionarias accionaria
+acentuadas acentuada
+acercamientos acercamiento
+acereros acerero
+aclaraciones aclaracion
+acompañados acompanado
+acondicionados acondicionado
+acostumbradas acostumbrada
+acreedores acreedor
+activas activa
+actos acto
+actualizaciones actualizacion
+acuerdos acuerdo
+acusadoras acusadora
+acusándolos acusandolo
+adecuaciones adecuacion
+adelantamos adelantamo
+ademas adema
+adheridos adherido
+adiós adio
+administrativos administrativo
+adoradores adorador
+adquirientes adquirient
+adultos adulto
+advertimos advertimo
+aeropuertos aeropuerto
+afecciones afeccion
+afectos afecto
+afiliadas afiliada
+afirmaciones afirmacion
+afrobrasileños afrobrasileno
+agendas agenda
+aglomeraciones aglomeracion
+agraristas agrarista
+agresivas agresiva
+agroquímicos agroquimico
+aguacates aguacat
+agudos agudo
+ahogados ahogado
+ahujas ahuja
+aislados aislado
+alabarderos alabardero
+alarmados alarmado
+alcaldes alcald
+alcances alcanz
+aldeas aldea
+alemanas alemana
+alfilerazos alfilerazo
+aliados aliado
+alimentadores alimentador
+aljibes aljib
+almas alma
+alteraciones alteracion
+altos alto
+aluncinógenos aluncinogeno
+amables amabl
+amargos amargo
+amateurs amateur
+ambiciosos ambicioso
+ambos ambo
+amenazas amenaza
+ames am
+amistades amistad
+amores amor
+ampliaciones ampliacion
+américas america
+analizados analizado
+ancestros ancestro
+andamos andamo
+anexamos anexamo
+angelitos angelito
+angélicas angelica
+anotados anotado
+anteriores anterior
+anticipamos anticipamo
+antiestrés antiestr
+antillas antilla
+anuales anual
+anuncios anuncio
+anónimos anonimo
+aparatos aparato
+apartados apartado
+apelaciones apelacion
+aplacarlos aplacarlo
+aplicarlos aplicarlo
+apocalípticas apocaliptica
+apostamos apostamo
+apoyos apoyo
+aprendices aprendiz
+aprobados aprobado
+aptas apta
+apuestos apuesto
+aquelarres aquelarr
+aquéllos aquello
+arañas arana
+arcillistas arcillista
+areas area
+arguelles arguell
+arkansas arkansa
+armamentos armamento
+arqueológicas arqueologica
+arquitecturas arquitectura
+arrancaremos arrancaremo
+arrendamientos arrendamiento
+arrojados arrojado
+arrugas arruga
+artes art
+artesianos artesiano
+artísticas artistica
+asaltos asalto
+aseados aseado
+asentamientos asentamiento
+asestadas asestada
+asimilemos asimilemo
+asociados asociado
+aspes asp
+astroditomas astroditoma
+asuntos asunto
+atacas ataca
+atascadas atascada
+atendidas atendida
+atentos atento
+atlantistas atlantista
+atractivas atractiva
+atrasaditos atrasadito
+atribuibles atribuibl
+atuendos atuendo
+auditores auditor
+aulas aula
+auspiciadoras auspiciadora
+austriacos austriaco
+automatizados automatizado
+automovilistas automovilista
+autopistas autopista
+autorizadas autorizada
+autosuficientes autosuficient
+autógrafos autografo
+auxilios auxilio
+avances avanz
+aventuras aventura
+avilés avil
+ayudados ayudado
+aztecas azteca
+azúcares azucar
+baccantes baccant
+bailes bail
+bajos bajo
+balas bala
+balderas baldera
+bancas banca
+banderillas banderilla
+bankshares bankshar
+baratas barata
+bardas barda
+barreras barrera
+barrios barrio
+basados basado
+basuras basura
+baterías bateria
+beauvais beauvai
+beisbolistas beisbolista
+benavides benavid
+beneficios beneficio
+bernanos bernano
+bichos bicho
+bienvenidas bienvenida
+bilaterales bilateral
+biodegradables biodegradabl
+blackhawks blackhawk
+blatidos blatido
+bloqueos bloqueo
+bochornos bochorno
+boicotearlas boicotearla
+boleados boleado
+bolitas bolita
+bomberos bombero
+bonitos bonito
+bordos bordo
+borreguitos borreguito
+botellas botella
+boutiques boutiqu
+bracamontes bracamont
+brechas brecha
+bringas bringa
+británicos britanico
+bronquitis bronquiti
+brunas bruna
+brutos bruto
+bulbos bulbo
+burocratismos burocratismo
+burócratas burocrata
+buscaremos buscaremo
+bytes byt
+búsquedas busqueda
+cabañas cabana
+cabiedes cabied
+cacallacas cacallaca
+caciques caciqu
+cadis cadi
+caifanes caifan
+calcetines calcetin
+calidades calidad
+calificamos calificamo
+callejoneadas callejoneada
+camareros camarero
+cambiarlos cambiarlo
+camioneras camionera
+camisitas camisita
+campañas campana
+campos campo
+canalizados canalizado
+cancilleres canciller
+candidiasis candidiasi
+cantantes cantant
+cantos canto
+capacitamos capacitamo
+capitanes capitan
+caprichos capricho
+capturados capturado
+caracterizadas caracterizada
+carcajadas carcajada
+carentes carent
+cargas carga
+caricias caricia
+carnavaleros carnavalero
+carnes carn
+carreteras carretera
+carros carro
+cartas carta
+casados casado
+caseras casera
+casquillos casquillo
+castigadas castigada
+casuales casual
+catarsis catarsi
+cateos cateo
+cauces cauz
+causantes causant
+cavazos cavazo
+cañonazos canonazo
+celadores celador
+celebridades celebridad
+cementeras cementera
+cenizas ceniza
+centradas centrada
+centésimas centesima
+cercanos cercano
+cerebrales cerebral
+cerraduras cerradura
+certificados certificado
+cesados cesado
+chagoyos chagoyo
+chamois chamoi
+charles charl
+chavitas chavita
+chetumaleños chetumaleno
+chicles chicl
+chiles chil
+chirinos chirino
+chocolates chocolat
+cibaeñas cibaena
+cientos ciento
+ciertas cierta
+cigarros cigarro
+cines cin
+circuitos circuito
+cirujanos cirujano
+citamos citamo
+ciudadanías ciudadania
+clandestinos clandestino
+clases clas
+clasificatorias clasificatoria
+clones clon
+clásicos clasico
+cmos cmo
+cobos cobo
+coches coch
+coincidencias coincidencia
+colchoneros colchonero
+colegas colega
+colinas colina
+colocados colocado
+colonias colonia
+colosos coloso
+comandos comando
+combinadas combinada
+comedores comedor
+comentaristas comentarista
+comerciales comercial
+cometarios cometario
+cometidos cometido
+comillas comilla
+communications communication
+comodísimos comodisimo
+comparsas comparsa
+compañeras companera
+compensatorios compensatorio
+competiremos competiremo
+complementarias complementaria
+completos completo
+componentes component
+compradores comprador
+compras compra
+comprometimos comprometimo
+computadoras computadora
+comunes comun
+comunidades comunidad
+conatos conato
+concepciones concepcion
+concesionarios concesionario
+conciudadanos conciudadano
+concretos concreto
+condenados condenado
+condominios condominio
+conduciéndonos conduciendono
+conejos conejo
+conferencistas conferencista
+confiamos confiamo
+configuradas configurada
+confundimos confundimo
+conglomerados conglomerado
+congruentes congruent
+conjuntos conjunto
+conocedores conocedor
+conocimientos conocimiento
+consagrados consagrado
+consecutivos consecutivo
+conservacionistas conservacionista
+consideradas considerada
+consideres consider
+constancias constancia
+constitutivos constitutivo
+constructores constructor
+consultas consulta
+contadas contada
+contaminantes contaminant
+contemporáneos contemporaneo
+contentamos contentamo
+contingencias contingencia
+contrabandistas contrabandista
+contrantes contrant
+contrastes contrast
+contratiempos contratiempo
+contreras contrera
+controlables controlabl
+conurbadas conurbada
+convenciones convencion
+conversaciones conversacion
+convicciones conviccion
+convoyes convoy
+coordinadas coordinada
+copias copia
+cordobés cordob
+coros coro
+corpus corpu
+correctas correcta
+corremos corremo
+corridos corrido
+cortantes cortant
+cortesanas cortesana
+cosas cosa
+costados costado
+costos costo
+costureras costurera
+couches couch
+creaciones creacion
+creativas creativa
+crecimientos crecimiento
+creditos credito
+creíbles creibl
+criaturas criatura
+cristales cristal
+cromadoras cromadora
+croquetas croqueta
+cruzadas cruzada
+créditos credito
+cuadrados cuadrado
+cualidades cualidad
+cuarteles cuartel
+cubanos cubano
+cubriéndonos cubriendono
+cuchillos cuchillo
+cuerpos cuerpo
+cuevas cueva
+culpables culpabl
+cultos culto
+cumpleaños cumpleano
+cumplimos cumplimo
+curiosidades curiosidad
+cuyos cuyo
+cyrus cyru
+cáritas carita
+cédulas cedula
+círculos circulo
+códigos codigo
+cómodos comodo
+cúbicos cubico
+dallas dalla
+darles darl
+days day
+daños dano
+debes deb
+decapitados decapitado
+decimos decimo
+declaraciones declaracion
+decretos decreto
+dedicados dedicado
+defectos defecto
+defensores defensor
+definiciones definicion
+deformaciones deformacion
+deidades deidad
+dejemos dejemo
+delegados delegado
+delicadas delicada
+delors delor
+demasiados demasiado
+demográficas demografica
+demostremos demostremo
+denominados denominado
+denunciantes denunciant
+dependes depend
+deportistas deportista
+depredadores depredador
+derechazos derechazo
+derivadas derivada
+derrotas derrota
+desacuerdos desacuerdo
+desahogos desahogo
+desamparados desamparado
+desarrolladas desarrollada
+desastres desastr
+descabelladas descabellada
+descastados descastado
+desconocerlos desconocerlo
+descriptores descriptor
+descubrimientos descubrimiento
+desechos desecho
+desentonados desentonado
+desestímulos desestimulo
+desglosados desglosado
+designadas designada
+deslaves deslav
+desnudos desnudo
+despedidas despedida
+despidos despido
+destacadas destacada
+destapes destap
+destinos destino
+desventajosas desventajosa
+detalladas detallada
+detectados detectado
+detergentes detergent
+detrás detra
+diablos diablo
+diarias diaria
+dichas dicha
+dictarnos dictarno
+diferendos diferendo
+difíciles dificil
+dignas digna
+diligencias diligencia
+dimos dimo
+dinámicas dinamica
+diplomáticas diplomatica
+direcciones direccion
+directores director
+dirigidos dirigido
+disciplinas disciplina
+discs disc
+diseñadores disenador
+disfrazados disfrazado
+disparos disparo
+dispositivos dispositivo
+disqueras disquera
+distinguidos distinguido
+distribuidas distribuida
+distribuimos distribuimo
+diversas diversa
+dividendos dividendo
+divisiones division
+dobles dobl
+doctorados doctorado
+documentos documento
+domesticados domesticado
+domingos domingo
+donados donado
+doors door
+dorsets dorset
+dotes dot
+drogas droga
+dudosos dudoso
+duplicidades duplicidad
+dándonos dandono
+décimas decima
+eagles eagl
+echoes echo
+ecológicos ecologico
+económicos economico
+ecotécnicas ecotecnica
+edificios edificio
+editores editor
+efectivas efectiva
+eficientarlas eficientarla
+egresados egresado
+ejecutivos ejecutivo
+ejércitos ejercito
+electorales electoral
+electromagnéticas electromagnetica
+elegidos elegido
+elevadas elevada
+ellas ella
+elotitos elotito
+elías elia
+embarcadas embarcada
+embotelladoras embotelladora
+embutidos embutido
+emigrantes emigrant
+emitidas emitida
+empacados empacado
+empatarles empatarl
+empeñados empenado
+emprendimos emprendimo
+empréstitos emprestito
+encaminadas encaminada
+encargados encargado
+encerrarnos encerrarno
+encontradas encontrada
+encuadrados encuadrado
+encuestados encuestado
+energéticos energetico
+enfermos enfermo
+enfrascados enfrascado
+engañosas enganosa
+engorrosos engorroso
+enrazados enrazado
+enseñarles ensenarl
+entenados entenado
+enterados enterado
+entes ent
+entramos entramo
+entregándoles entregandol
+entrenados entrenado
+entrevistas entrevista
+enviados enviado
+envidiamos envidiamo
+enérgicas energica
+equipararnos equipararno
+equivocados equivocado
+errores error
+escaleras escalera
+escandalosas escandalosa
+escenas escena
+esclavas esclava
+escolares escolar
+escotes escot
+escritos escrito
+escuchadas escuchada
+escurridizos escurridizo
+esforzamos esforzamo
+esos eso
+españolas espanola
+especialidades especialidad
+especificaciones especificacion
+especuladores especulador
+esperamos esperamo
+esperemos esperemo
+esplendores esplendor
+esquinas esquina
+estacionados estacionado
+estadios estadio
+estamos estamo
+estanques estanqu
+estatales estatal
+esterlinas esterlina
+estimamos estimamo
+estragos estrago
+estratégicas estrategica
+estrellamos estrellamo
+estropeadas estropeada
+estudios estudio
+estuviéramos estuvieramo
+estéticos estetico
+eurobonos eurobono
+evaluaciones evaluacion
+eventuales eventual
+evolucionarios evolucionario
+exalumnos exalumno
+excepcionales excepcional
+excitantes excitant
+excursiones excursion
+exigencias exigencia
+eximirlos eximirlo
+expectativas expectativa
+experimentadas experimentada
+explicarles explicarl
+exportaciones exportacion
+exportamos exportamo
+expresiones expresion
+exquisitos exquisito
+exteriores exterior
+extrabajadores extrabajador
+extraordinarios extraordinario
+extraviadas extraviada
+exvotos exvoto
+fabricadas fabricada
+facilidades facilidad
+factorajes factoraj
+facturas factura
+fagotistas fagotista
+falsas falsa
+familiares familiar
+fans fan
+farmacias farmacia
+fastuosos fastuoso
+favoritos favorito
+fechas fecha
+felices feliz
+felícitos felicito
+fenómenos fenomeno
+ferronales ferronal
+festivales festival
+fetos feto
+fideicomisos fideicomiso
+fijados fijado
+filas fila
+filmados filmado
+finales final
+financieras financiera
+finos fino
+firmantes firmant
+flandes fland
+flexibles flexibl
+flotantes flotant
+folletos folleto
+foquitos foquito
+formales formal
+formatos formato
+fors for
+forzadas forzada
+fotocredencializadas fotocredencializada
+fotoquímicos fotoquimico
+fraccionadores fraccionador
+fracturas fractura
+franceses frances
+fraudes fraud
+frenados frenado
+frias fria
+fritos frito
+frutales frutal
+fríos frio
+fumarolas fumarola
+funciones funcion
+fundamentales fundamental
+furtivos furtivo
+futuras futura
+fílmicos filmico
+fósiles fosil
+galeones galeon
+galletitas galletita
+ganaderos ganadero
+ganarles ganarl
+garantizadas garantizada
+garroteros garrotero
+gastados gastado
+gemelas gemela
+generadores generador
+generandoles generandol
+genetistas genetista
+genéticos genetico
+gerencias gerencia
+geólogos geologo
+giras gira
+globales global
+gobernadores gobernador
+goles gol
+gomes gom
+gorras gorra
+grabadas grabada
+gracias gracia
+grammys grammy
+granados granado
+granjas granja
+gravados gravado
+griegos griego
+gritos grito
+gráficas grafica
+guardados guardado
+gubernamentales gubernamental
+guiones guion
+gustos gusto
+haberlos haberlo
+habitaciones habitacion
+hablados hablado
+habríamos habriamo
+hacerlos hacerlo
+haciéndolas haciendola
+hagamos hagamo
+hallazgos hallazgo
+haremos haremo
+hearts heart
+hectáreas hectarea
+hemerográficas hemerografica
+heredados heredado
+hermanas hermana
+heróicos heroico
+hidrocarburos hidrocarburo
+hierros hierro
+hines hin
+hipótesis hipotesi
+históricas historica
+hojas hoja
+homeóstasis homeostasi
+homologarnos homologarno
+hondureños hondureno
+honores honor
+horizontes horizont
+hortalizas hortaliza
+hospitalizados hospitalizado
+huecos hueco
+huertos huerto
+huicholes huichol
+humanos humano
+hundimientos hundimiento
+hábitos habito
+hígados higado
+ideas idea
+idiomas idioma
+igualarnos igualarno
+ilimitados ilimitado
+ilustraciones ilustracion
+impactos impacto
+implacables implacabl
+implicados implicado
+importadas importada
+imposiciones imposicion
+impresiones impresion
+impropiedades impropiedad
+impugnaciones impugnacion
+imputaciones imputacion
+inadvertidas inadvertida
+inauguraciones inauguracion
+incendios incendio
+inclemencias inclemencia
+incluidos incluido
+incompetentes incompetent
+inconformes inconform
+inconstitucionales inconstitucional
+incosteables incosteabl
+incrustaciones incrustacion
+indebidos indebido
+indicaciones indicacion
+indigentes indigent
+indispensables indispensabl
+individuos individuo
+industrias industria
+ineficiencias ineficiencia
+inexploradas inexplorada
+inferiores inferior
+infiltrados infiltrado
+informantes informant
+infraccionados infraccionado
+infundios infundio
+ingleses ingles
+ingresos ingreso
+iniciadas iniciada
+inicios inicio
+injustas injusta
+inmediaciones inmediacion
+inmiscuidos inmiscuido
+inmortales inmortal
+innovaciones innovacion
+inofensivos inofensivo
+inquilinos inquilino
+insectos insecto
+inspecciones inspeccion
+instalados instalado
+institucionales institucional
+instrumentados instrumentado
+insuficientes insuficient
+integradas integrada
+integrarlos integrarlo
+intenciones intencion
+intentos intento
+interesados interesado
+interinatos interinato
+intermedios intermedio
+internos interno
+interpuestas interpuesta
+intervalos intervalo
+intimidados intimidado
+intérpretes interpret
+invasiones invasion
+invertimos invertimo
+investigados investigado
+invitamos invitamo
+inútiles inutil
+iraquíes iraqui
+irnos irno
+irregularidades irregularidad
+irritaciones irritacion
+israelíes israeli
+izquierdas izquierda
+jaguarundis jaguarundi
+jamás jama
+jardines jardin
+jerarcas jerarca
+jobs job
+jornadas jornada
+joyeros joyero
+jueces juez
+jugadoras jugadora
+juicios juicio
+juristas jurista
+justos justo
+kempes kemp
+kilómetros kilometro
+lacónicos laconico
+ladrones ladron
+laicos laico
+lanzadas lanzada
+lares lar
+larios lario
+latinoamericanos latinoamericano
+lavacoches lavacoch
+lectores lector
+legislativas legislativa
+legumbres legumbr
+lemus lemu
+leotardos leotardo
+lesionados lesionado
+letrinas letrina
+leyes ley
+libertades libertad
+licencias licencia
+lidereados lidereado
+limitaciones limitacion
+limítrofes limitrof
+lineamientos lineamiento
+literarias literaria
+litros litro
+llamamos llamamo
+llamáis llamai
+llaveros llavero
+llegamos llegamo
+llenas llena
+llevamos llevamo
+lloviznas llovizna
+localidades localidad
+logradas lograda
+logros logro
+londres londr
+lourdes lourd
+luctuosas luctuosa
+lumbreras lumbrera
+lácteos lacteo
+líderes lider
+líquidos liquido
+maderas madera
+madrinas madrina
+maestrías maestria
+magnéticas magnetica
+malas mala
+males mal
+malos malo
+mamilas mamila
+manazos manazo
+mandamos mandamo
+mandatarios mandatario
+manejadas manejada
+manejos manejo
+manglares manglar
+maniobras maniobra
+mantas manta
+mantenernos mantenerno
+manzanas manzana
+maquilados maquilado
+maravillosos maravilloso
+marcos marco
+margenes margen
+marianas mariana
+marinos marino
+marquis marqui
+martes mart
+masivas masiva
+massachussets massachusset
+matarnos matarno
+materias materia
+matrimoniales matrimonial
+mayoristas mayorista
+mayúsculas mayuscula
+medallas medalla
+medicamentos medicamento
+medidas medida
+mefistófeles mefistofel
+mejorarlos mejorarlo
+melquiades melquiad
+menciones mencion
+meninges mening
+menospreciarnos menospreciarno
+mentalidades mentalidad
+mentores mentor
+mercantiles mercantil
+merlis merli
+meses mes
+meteorológicos meteorologico
+metodologías metodologia
+metzelaars metzelaar
+mezcladas mezclada
+micosis micosi
+microelectronics microelectronic
+microsystems microsystem
+miercoles miercol
+milagrosos milagroso
+militantes militant
+millonarias millonaria
+mindes mind
+minicomputadoras minicomputadora
+minorías minoria
+miras mira
+misericordiosos misericordioso
+misterios misterio
+mitras mitra
+mochilas mochila
+modelos modelo
+modestos modesto
+modos modo
+mollejas molleja
+monedas moneda
+monjaras monjara
+monsivais monsivai
+montañas montana
+montos monto
+moralistas moralista
+morelenses morelens
+morris morri
+motivacionales motivacional
+motivos motivo
+motos moto
+movimientos movimiento
+muchos mucho
+muertas muerta
+mujeres mujer
+multados multado
+multinacionales multinacional
+mundos mundo
+museos museo
+mutilados mutilado
+máquinas maquina
+médicos medico
+méxiconorteamericanos mexiconorteamericano
+móviles movil
+nacimos nacimo
+nadores nador
+narcotraficantes narcotraficant
+naufragios naufragio
+navieras naviera
+necesarias necesaria
+necesitarlas necesitarla
+negociaciones negociacion
+negros negro
+neopopulistas neopopulista
+nerviosos nervioso
+neuronales neuronal
+newagers newager
+nicolás nicola
+niveles nivel
+noches noch
+nombradas nombrada
+nombres nombr
+nopales nopal
+norris norri
+norteños norteno
+notamos notamo
+novatas novata
+novedosos novedoso
+novilleros novillero
+nudos nudo
+nuevas nueva
+numerales numeral
+numerosos numeroso
+népotas nepota
+obispos obispo
+obligaciones obligacion
+obreros obrero
+observadas observada
+obstáculos obstaculo
+obuses obus
+occisos occiso
+ocultos oculto
+ofendidas ofendida
+ofertas oferta
+ofrecidas ofrecida
+ojeras ojera
+oleaginosos oleaginoso
+ollas olla
+ontiveros ontivero
+operaciones operacion
+operarios operario
+opiniones opinion
+opositores opositor
+orangutanes orangutan
+ordeñarás ordenara
+orfebres orfebr
+organizadores organizador
+orgánicas organica
+orientales oriental
+orillas orilla
+ornellas ornella
+oscilaciones oscilacion
+otitis otiti
+otras otra
+ovejas oveja
+pabilos pabilo
+padres padr
+paganos pagano
+paises pais
+palazuelos palazuelo
+paletones paleton
+palomas paloma
+pancartas pancarta
+paneles panel
+pantallas pantalla
+panzas panza
+papás papa
+paradas parada
+paralelos paralelo
+paredes pared
+parientes parient
+paros paro
+parroquiales parroquial
+participaciones participacion
+particulares particular
+partos parto
+parámetros parametro
+pasacassettes pasacassett
+pasajes pasaj
+pases pas
+pasos paso
+patentes patent
+patriarcas patriarca
+patrocinadores patrocinador
+patéticos patetico
+país pai
+pecadores pecador
+pedagógicas pedagogica
+pedidores pedidor
+pedradas pedrada
+peleles pelel
+pelos pelo
+penas pena
+pensabamos pensabamo
+pensemos pensemo
+peores peor
+perales peral
+perdedores perdedor
+perdones perdon
+periciales pericial
+periodistas periodista
+perjudicados perjudicado
+permanentes permanent
+permitirles permitirl
+perros perro
+personajes personaj
+pertenecientes pertenecient
+perturbemos perturbemo
+períodos periodo
+pescados pescado
+pesos peso
+petroleras petrolera
+phillips phillip
+pichichis pichichi
+piedras piedra
+pies pi
+pinos pino
+pintores pintor
+piratas pirata
+pitoncitos pitoncito
+piñas pina
+plaguicidas plaguicida
+planes plan
+plantas planta
+planteamos planteamo
+plataformas plataforma
+plateas platea
+platinos platino
+plazos plazo
+plumones plumon
+plásticos plastico
+pobladores poblador
+pocas poca
+poderes poder
+podríamos podriamo
+policiacas policiaca
+policíacos policiaco
+politólogos politologo
+políticos politico
+ponds pond
+ponerles ponerl
+pons pon
+porcentajes porcentaj
+porcícolas porcicola
+porras porra
+portugués portugu
+posgrados posgrado
+positivos positivo
+postes post
+potenciales potencial
+practicadas practicada
+praxedis praxedi
+preceptos precepto
+precipitadas precipitada
+precursores precursor
+preferencias preferencia
+prehispánicas prehispanica
+premiados premiado
+prendedores prendedor
+preocupes preocup
+preparatorias preparatoria
+presas presa
+presentaciones presentacion
+presentaremos presentaremo
+presidenciales presidencial
+presos preso
+presuntos presunto
+preventivas preventiva
+primarias primaria
+primeros primero
+princesas princesa
+prisioneros prisionero
+priístas priista
+problemas problema
+procesados procesado
+producciones produccion
+productivos productivo
+profesionistas profesionista
+profundidades profundidad
+programas programa
+prolijas prolija
+prometidas prometida
+promotores promotor
+pronunciamos pronunciamo
+propias propia
+proponemos proponemo
+proporciones proporcion
+propósitos proposito
+protagónicos protagonico
+protestantes protestant
+provenientes provenient
+provocados provocado
+prusianos prusiano
+prófugos profugo
+psicológicos psicologico
+psoriasis psoriasi
+pueblos pueblo
+pues pu
+pugnas pugna
+pumas puma
+punterías punteria
+pupilas pupila
+pusiéramos pusieramo
+pájaros pajaro
+públicos publico
+quedaríamos quedariamo
+quehaceres quehacer
+quemaduras quemadura
+queridas querida
+quieras quiera
+quisiéramos quisieramo
+quitos quito
+rachas racha
+radiales radial
+rads rad
+rams ram
+raros raro
+rateros ratero
+rayados rayado
+razonables razonabl
+reacciones reaccion
+realidades realidad
+realizamos realizamo
+rebeldes rebeld
+recesiones recesion
+recibidas recibida
+recibos recibo
+reclamados reclamado
+reclusorios reclusorio
+recomendaciones recomendacion
+reconocerlas reconocerla
+recordemos recordemo
+rectas recta
+recíprocas reciproca
+reducciones reduccion
+refaccionarias refaccionaria
+referentes referent
+reflexiones reflexion
+refractarias refractaria
+refuerzos refuerzo
+regalárselos regalarselo
+regiomontanas regiomontana
+regirnos regirno
+reglamentos reglamento
+regreses regres
+rehabilitaciones rehabilitacion
+rejones rejon
+relaciones relacion
+relevos relevo
+rellenadas rellenada
+remitidos remitido
+removidos removido
+rencorosos rencoroso
+renovadores renovador
+rentarlas rentarla
+reparaciones reparacion
+repartimos repartimo
+repetidoras repetidora
+reportadas reportada
+represalias represalia
+represivos represivo
+reproducciones reproduccion
+requeridos requerido
+resbalosas resbalosa
+resentidos resentido
+reservas reserva
+residentes resident
+resistidas resistida
+respectivas respectiva
+respiratorias respiratoria
+restantes restant
+restos resto
+reticencias reticencia
+retiros retiro
+retos reto
+reubicados reubicado
+reuters reuter
+reverenciales reverencial
+revistas revista
+reyes rey
+reírnos reirno
+richards richard
+riendas rienda
+rigurosos riguroso
+ritmos ritmo
+robadas robada
+robos robo
+rockeras rockera
+rodillas rodilla
+rolls roll
+rompevientos rompeviento
+ropajes ropaj
+ross ros
+rounds round
+ruedas rueda
+rumanos rumano
+rusas rusa
+rápidas rapida
+rígidas rigida
+sabedores sabedor
+sabinas sabina
+sabíamos sabiamo
+sacarles sacarl
+sacs sac
+salariales salarial
+salgamos salgamo
+salmos salmo
+saltillenses saltillens
+salvados salvado
+sancionados sancionado
+sangrados sangrado
+santistas santista
+sargentos sargento
+satisfactores satisfactor
+saunders saunder
+seas sea
+secretarías secretaria
+sectoriales sectorial
+secuestros secuestro
+sedanes sedan
+seguidos seguido
+seguirles seguirl
+seguros seguro
+selecciones seleccion
+sembradores sembrador
+semestrales semestral
+semifinales semifinal
+semioscuras semioscura
+sencillos sencillo
+senos seno
+sensores sensor
+sentenciados sentenciado
+separaciones separacion
+seremos seremo
+serios serio
+servimos servimo
+sesiones sesion
+severas severa
+sexuales sexual
+señales senal
+shorts short
+sigamos sigamo
+significativos significativo
+sillas silla
+simples simpl
+sinaloenses sinaloens
+singles singl
+sirves sirv
+sistemáticas sistematica
+situarlos situarlo
+sobrecargas sobrecarga
+sobresaltos sobresalto
+socavamos socavamo
+socorristas socorrista
+sofisticadas sofisticada
+solas sola
+solicitamos solicitamo
+solteras soltera
+someterlos someterlo
+sonados sonado
+sonríes sonri
+sorprendidas sorprendida
+sorpresivos sorpresivo
+sotaneros sotanero
+sparrings sparring
+steels steel
+suaves suav
+subdesarrollados subdesarrollado
+sublíderes sublider
+subsanables subsanabl
+subsidiadas subsidiada
+substancias substancia
+subviertes subviert
+sudamericanas sudamericana
+sueños sueno
+sugerencias sugerencia
+sujetos sujeto
+summers summer
+supercenters supercenter
+superiores superior
+supervisarlos supervisarlo
+suposiciones suposicion
+surcoreanos surcoreano
+suspensiones suspension
+suyas suya
+sépticas septica
+síntomas sintoma
+sórdidas sordida
+tagetes taget
+tales tal
+tamps tamp
+tanzanios tanzanio
+tapatíos tapatio
+tarahumaras tarahumara
+tarifas tarifa
+tataranietos tataranieto
+tazas taza
+technologies technologi
+tecnológicos tecnologico
+tejidos tejido
+telefónicas telefonica
+televidentes televident
+teléfonos telefono
+temores temor
+temporales temporal
+tendientes tendient
+tenemos tenemo
+teniamos teniamo
+teníamos teniamo
+terapéuticos terapeutico
+termes term
+terminales terminal
+terrenales terrenal
+tesis tesi
+testimonios testimonio
+textos texto
+thelonius theloniu
+tiempos tiempo
+tigrillas tigrilla
+times tim
+tirados tirado
+tiroides tiroid
+tlamacazques tlamacazqu
+todos todo
+tomarnos tomarno
+tonalidades tonalidad
+toques toqu
+tornados tornado
+torres torr
+torturas tortura
+trabajadoras trabajadora
+trabas traba
+traemos traemo
+traicionados traicionado
+trampas trampa
+transacciones transaccion
+transeros transero
+transfronterizas transfronteriza
+transnacionales transnacional
+transportistas transportista
+tras tra
+trasfondos trasfondo
+trasplantes trasplant
+tratamientos tratamiento
+tratos trato
+traídos traido
+tres tr
+tributarias tributaria
+tris tri
+triunfos triunfo
+troncos tronco
+troyanos troyano
+tubos tubo
+tupamaros tupamaro
+turísticas turistica
+tácticas tactica
+térmicas termica
+típicos tipico
+tóxicas toxica
+ubicados ubicado
+ultimos ultimo
+unidos unido
+unilaterales unilateral
+universidades universidad
+urbanistas urbanista
+urnas urna
+usarlos usarlo
+usuarios usuario
+utilizados utilizado
+uñas una
+vacíos vacio
+valdés vald
+valiosos valioso
+valoradas valorada
+vamos vamo
+vanos vano
+vaquerías vaqueria
+variaciones variacion
+varios vario
+vasos vaso
+veces vez
+vegetarianos vegetariano
+veintiseis veintisei
+vemos vemo
+vencimientos vencimiento
+venderemos venderemo
+vengadores vengador
+ventanas ventana
+veracruzanos veracruzano
+verdades verdad
+veremos veremo
+versiones version
+veríamos veriamo
+vestimos vestimo
+viales vial
+vicios vicio
+vidales vidal
+videoclubes videoclub
+viejitos viejito
+viernes viern
+vigilantes vigilant
+villuendas villuenda
+violadores violador
+virtudes virtud
+visionarios visionario
+visitas visita
+visuales visual
+vituperados vituperado
+viviendas vivienda
+vivíamos viviamo
+voices voiz
+volteretas voltereta
+voluntades voluntad
+volvimos volvimo
+votos voto
+vulcanólogos vulcanologo
+vías via
+vítores vitor
+weiss weis
+xenotransplantes xenotransplant
+years year
+zagas zaga
+zapatos zapato
+zorros zorro
+ácidos acido
+árabes arab
+énfasis enfasi
+éstos esto
+ídolos idolo
+ómnibus omnibu
+óxidos oxido
+a a
+abel abel
+abrazarse abrazarse
+abstuviera abstuviera
+acapara acapara
+acentuar acentuar
+acervo acervo
+acompañando acompañando
+acostumbrando acostumbrando
+actuará actuará
+acusaron acusaron
+adelanto adelanto
+admiro admiro
+adquirió adquirió
+aerosol aerosol
+afirmado afirmado
+agenda agenda
+agravación agravación
+aguardaba aguardaba
+ais ais
+alarmismo alarmismo
+alcanzar alcanzar
+alentadora alentadora
+alija alija
+almuerzo almuerzo
+alumnado alumnado
+amasando amasando
+amga amga
+ampudia ampudia
+andaría andaría
+animarán animarán
+anticipando anticipando
+anunciar anunciar
+apariencia apariencia
+aplicado aplicado
+apostólico apostólico
+aprenderlo aprenderlo
+aprovechando aprovechando
+arana arana
+aritmética aritmética
+arrachera arrachera
+arreola arreola
+arrópese arrópese
+ascendente ascendente
+asesoramiento asesoramiento
+asistían asistían
+asumirá asumirá
+atendieran atendieran
+atrapado atrapado
+auditoría auditoría
+autobalance autobalance
+autorizarse autorizarse
+avelar avelar
+ayudante ayudante
+añadieron añadieron
+balance balance
+banoro banoro
+bart bart
+batalló batalló
+bebé bebé
+bendito bendito
+bernardino bernardino
+bilateral bilateral
+blocker blocker
+bolívar bolívar
+botanero botanero
+bremer bremer
+brock brock
+bulgaria bulgaria
+bush bush
+cabildo cabildo
+calcula calcula
+californiano californiano
+cambiarle cambiarle
+campestre campestre
+candy candy
+capfce capfce
+caravana caravana
+cargaran cargaran
+carrera carrera
+casavan casavan
+catalogan catalogan
+cayeran cayeran
+cedieron cedieron
+cenlac cenlac
+cereso cereso
+cetro cetro
+charro charro
+chido chido
+chraysler chraysler
+cierre cierre
+circularán circularán
+clarifiquen clarifiquen
+cláusula cláusula
+cobre cobre
+coincidentemente coincidentemente
+colgada colgada
+coloso coloso
+comedia comedia
+comerciar comerciar
+comparado comparado
+competidor competidor
+complicarse complicarse
+comprimida comprimida
+comunicándose comunicándose
+concert concert
+concretamente concretamente
+conducido conducido
+confiesan confiesan
+confían confían
+connotación connotación
+consejo consejo
+consignará consignará
+constitucionalmente constitucionalmente
+consultar consultar
+contamine contamine
+contexto contexto
+contradicen contradicen
+controlada controlada
+conversación conversación
+cooperación cooperación
+cornejo cornejo
+correspondencia correspondencia
+cortejar cortejar
+cotejo cotejo
+creativa creativa
+crimen crimen
+cruise cruise
+cuarenta cuarenta
+cuento cuento
+culminará culminará
+curaban curaban
+cárcel cárcel
+daihim daihim
+dañaban dañaban
+debutó debutó
+decisioón decisioón
+dedicación dedicación
+defiende defiende
+dejarlo dejarlo
+delirante delirante
+demora demora
+denzel denzel
+derek derek
+desactivaron desactivaron
+desaprovechando desaprovechando
+descansan descansan
+descongelar descongelar
+desdeño desdeño
+desenvuelve desenvuelve
+designe designe
+desnudaron desnudaron
+despiertan despiertan
+desrregulación desrregulación
+desvanecieran desvanecieran
+detentando detentando
+devolverle devolverle
+dictaminaron dictaminaron
+difundirlo difundirlo
+dinamismo dinamismo
+dirigían dirigían
+diseñaron diseñaron
+dispararon dispararon
+distinta distinta
+dividiéndose dividiéndose
+doctoró doctoró
+don don
+dramaturgia dramaturgia
+duplicó duplicó
+déle déle
+eco eco
+editorial editorial
+eficaz eficaz
+ejemplo ejemplo
+elegido elegido
+elimine elimine
+embestida embestida
+emocionante emocionante
+empleando empleando
+encantada encantada
+encierra encierra
+endocrinología endocrinología
+enfrentarán enfrentarán
+enojo enojo
+ente ente
+entrarían entrarían
+entretenimiento entretenimiento
+envolviéndose envolviéndose
+erhard erhard
+escasez escasez
+escribe escribe
+escupir escupir
+especie especie
+esperó esperó
+establece establece
+estanzuela estanzuela
+estiró estiró
+estricta estricta
+estévez estévez
+evaluación evaluación
+evolucionen evolucionen
+excitarse excitarse
+exigente exigente
+expansion expansion
+exploración exploración
+expresarse expresarse
+extinta extinta
+fabrica fabrica
+falda falda
+famoso famoso
+fea fea
+feminista feminista
+ficóloga ficóloga
+filiberto filiberto
+finiquitación finiquitación
+flavorite flavorite
+fomentada fomentada
+formato formato
+fotografía fotografía
+franz franz
+frontal frontal
+fulminó fulminó
+fundó fundó
+gabinete gabinete
+ganancia ganancia
+gasca gasca
+gene gene
+geográfico geográfico
+gira gira
+gobienro gobienro
+gordo gordo
+grado grado
+gravamen gravamen
+gruending gruending
+guerrero guerrero
+gélido gélido
+hablé hablé
+hall hall
+harvey harvey
+henderson henderson
+herramienta herramienta
+hipersensibilidad hipersensibilidad
+holgada holgada
+horizon horizon
+huehuetlán huehuetlán
+hungo hungo
+identidad identidad
+iguala iguala
+imevisión imevisión
+impida impida
+importadora importadora
+impuesta impuesta
+incapacitado incapacitado
+incluya incluya
+incrementado incrementado
+indeciso indeciso
+indignó indignó
+inexistente inexistente
+información información
+ingrediente ingrediente
+injusta injusta
+inquina inquina
+instala instala
+instó instó
+intencional intencional
+interceptado interceptado
+internacionalmente internacionalmente
+intervención intervención
+inundación inundación
+investigado investigado
+involucrarme involucrarme
+irreversible irreversible
+itzá itzá
+japonesa japonesa
+joachim joachim
+juegue juegue
+jurídica jurídica
+kardex kardex
+kissinger kissinger
+laboró laboró
+lanz lanz
+latinoamericano latinoamericano
+legado legado
+leo leo
+levantándose levantándose
+libidio libidio
+ligarde ligarde
+lineamiento lineamiento
+llame llame
+lleva lleva
+lluvioso lluvioso
+lograrán lograrán
+luchar luchar
+lwdvig lwdvig
+macizo macizo
+magnetómetro magnetómetro
+maltrecha maltrecha
+manente manente
+mantenido mantenido
+marca marca
+maria maria
+martinica martinica
+mataría mataría
+mayoritaria mayoritaria
+mediante mediante
+melanoma melanoma
+mensual mensual
+mero mero
+metternich metternich
+microempresario microempresario
+milton milton
+mirando mirando
+mochila mochila
+molestar molestar
+montando montando
+morell morell
+motivante motivante
+mtito mtito
+multichip multichip
+museógrafo museógrafo
+método método
+nací nací
+nativa nativa
+necesitado necesitado
+negoció negoció
+neuville neuville
+nissho nissho
+norah norah
+notificaron notificaron
+nuestra nuestra
+obedecen obedecen
+obrera obrera
+obtención obtención
+ochenta ochenta
+ocurría ocurría
+ofrecería ofrecería
+olvidada olvidada
+operadora operadora
+or or
+organizaría organizaría
+orinar orinar
+oswaldo oswaldo
+ovulación ovulación
+padrecito padrecito
+palestra palestra
+papasquiaroa papasquiaroa
+parecerse parecerse
+participación participación
+pasando pasando
+pata pata
+paulo paulo
+pedirá pedirá
+peligrosamente peligrosamente
+pentágono pentágono
+peregrinación peregrinación
+perla perla
+pero pero
+perturbación perturbación
+pfeiffer pfeiffer
+pierre pierre
+piropeado piropeado
+planea planea
+platicaba platicaba
+poblaron poblaron
+polio polio
+pontiac pontiac
+portar portar
+postelectoral postelectoral
+practicaron practicaron
+predica predica
+preguntó preguntó
+prepara prepara
+presentando presentando
+presley presley
+pretendió pretendió
+prime prime
+priísta priísta
+procuradora procuradora
+profesor profesor
+prologan prologan
+promovía promovía
+propinó propinó
+prospectiva prospectiva
+proveedor proveedor
+prudente prudente
+publicaron publicaron
+puig puig
+pusiese pusiese
+quebró quebró
+queso queso
+quite quite
+radiología radiología
+rastro rastro
+reaccionar reaccionar
+realmente realmente
+recapitalización recapitalización
+recibir recibir
+recogerle recogerle
+reconversión reconversión
+recuperación recuperación
+reducirá reducirá
+refinación refinación
+refugio refugio
+reglamentar reglamentar
+reimplantó reimplantó
+relativo relativo
+removió removió
+reo reo
+repleta repleta
+reprocha reprocha
+resbaladero resbaladero
+resolverá resolverá
+respondido respondido
+resultando resultando
+retire retire
+retroceder retroceder
+reveló reveló
+revuelo revuelo
+richardson richardson
+riteaid riteaid
+rocha rocha
+rolada rolada
+rosilí rosilí
+ruggeri ruggeri
+sabastian sabastian
+sacrificarlo sacrificarlo
+salido salido
+salvar salvar
+sanitaria sanitaria
+satín satín
+seccional seccional
+seguir seguir
+semental semental
+sentido sentido
+sergio sergio
+sexo sexo
+show show
+sigo sigo
+sin sin
+sirve sirve
+sobrarán sobrarán
+sobrevuelan sobrevuelan
+soldado soldado
+solucione solucione
+soportó soportó
+sostuvieron sostuvieron
+steven steven
+suben suben
+subversión subversión
+suelo suelo
+sujeción sujeción
+superación superación
+suplente suplente
+surta surta
+sustituirá sustituirá
+sólido sólido
+talón talón
+tardanza tardanza
+tecihuatlanque tecihuatlanque
+teloloapense teloloapense
+tendrían tendrían
+tercia tercia
+tesitura tesitura
+tiene tiene
+titula titula
+tolerando tolerando
+topa topa
+tortilla tortilla
+tracción tracción
+tramitando tramitando
+transformaron transformaron
+transporte transporte
+trataron trataron
+tribunal tribunal
+trivial trivial
+tull tull
+técnicamente técnicamente
+ubicándolo ubicándolo
+unificar unificar
+urgente urgente
+utilizado utilizado
+vale vale
+valuación valuación
+vax vax
+vencer vencer
+venida venida
+verifican verifican
+veían veían
+videoclip videoclip
+viii viii
+violentamente violentamente
+vislumbra vislumbra
+vivieron vivieron
+volumen volumen
+vuelca vuelca
+warren warren
+xix xix
+yucateco yucateco
+zenith zenith
+ávido ávido
diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/fi-light.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/fi-light.tsv
new file mode 100644
index 0000000000..fc1952f5a1
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/fi-light.tsv
@@ -0,0 +1,2000 @@
+aachenin aachen
+aallonmurtaja aallonmurt
+aaltoselle aaltos
+aamuinen aamu
+aamulehden aamuleh
+aamupäivällä aamupaiv
+aamuviideltä aamuviid
+aari aar
+aarras aarra
+aasianleijona aasianleij
+aatelispoika aatelispoik
+aatteellisista aateellis
+aavalla aav
+aavisteli aavistel
+aberdeeniin aberde
+abortti abort
+absurdissa absurd
+adelbodenissa adelboden
+adrenaliinin adrenaliin
+advokat advok
+afganistanista afganistan
+aftenposten aftenpos
+agentit agent
+aggressiota aggress
+ahavan ahav
+ahdistavassa ahdistav
+ahdistuneena ahdistun
+ahkeraa ahker
+ahlaisten ahlais
+ahmii ahmi
+ahneutta ahneu
+ahosen aho
+ahtamattomien ahtamatom
+ahtisaaret ahtisaar
+ahvenanmerellä ahvenanmer
+aida aid
+aidon aid
+aiempaan aiemp
+aiheena aihe
+aiheisia aiheis
+aiheutettujen aiheutet
+aiheuttamat aiheutam
+aiheuttavia aiheutav
+aihiosta aihio
+aikaansaamisen aikaansaam
+aikainen aik
+aikaisempina aikaisemp
+aikaisti aika
+aikakauslehdistä aikakauslehd
+aikalaisia aikalais
+aikan aik
+aikarajoitus aikarajoit
+aikatauluongelmien aikatauluongelm
+aikeeni aike
+aikomastaan aikomast
+aikovia aikov
+aikuisinakin aikuis
+aikuisten aikuis
+aime aim
+aineelliseen aineell
+aineina ain
+ainelaitokset ainelaitoks
+ainoalla aino
+ainutkertaisen ainutkerta
+aiotaanko aiot
+airesin aire
+aisoihin aiso
+aistinut aistinu
+aitiopaikka aitiopaik
+aitosuomalaisen aitosuomala
+aivansamassa aivansam
+aivopesua aivopesu
+ajaisin ajai
+ajama ajam
+ajaneet ajanee
+ajankohtaisemmaksi ajankohtaisemm
+ajankohtaisuus ajankohtaisu
+ajanmukaistaa ajanmuka
+ajassa ajas
+ajateltavissa ajateltav
+ajattelevaan ajatelev
+ajattelulleen ajatelull
+ajatuksena ajatuks
+ajatus ajatu
+ajautua ajautu
+ajavasta ajav
+ajeleva ajelev
+ajettavana ajetav
+ajoi ajo
+ajoittunut ajoitun
+ajokeista ajok
+ajokoiran ajokoir
+ajomies ajomie
+ajoneuvoyhdistelmän ajoneuvoyhdistelm
+ajotaitonsa ajotaiton
+ajurit ajur
+akateemiset akateemis
+akille akill
+akrobaatti akrobaat
+aktiassa akti
+aktiivisiin aktiivis
+aktion akt
+aktuellt aktuell
+akuuttia akuut
+alafrantti alafrant
+alaiselle alais
+alaisuuteen alaisuu
+alakohtaisten alakohtais
+alalauri alalaur
+alamäkeen alamak
+alaosastaan alaosast
+alarajan alara
+alasenlahdella alasenlaks
+alastomina alastom
+alaurakoinnissa alaurakoinn
+albanialainen albanial
+albinonin albinon
+aldana ald
+aleksei aleks
+alena alen
+alennettaisiin alennetais
+alennusmyynteihin alennusmyynt
+alentaneen alent
+alettaisiin aletais
+alfthan alf
+alhaisemmalle alhaisemm
+alhambra alhambr
+alice alic
+alihankkijoita alihankij
+alilähetin alilahe
+alioikeuden alioikeu
+alista ali
+alistuvat alistuv
+alituisessa alituis
+alkaa alk
+alkaneella alkane
+alkavansa alkavan
+alkeita alk
+alkoholilakia alkoholilak
+alkoholipitoisuus alkoholipitoisu
+alkoholituotteita alkoholituot
+alkuaikojen alkuaiko
+alkuiltaan alkuilt
+alkukesää alkuke
+alkulohkossa alkulohk
+alkupala alkupal
+alkuperäisiä alkuperais
+alkupuoli alkupuol
+alkusoittoa alkusoit
+alkutekstiä alkutekst
+alkuviikko alkuviik
+allakasta allak
+allekirjoitettaessa allekirjoiteta
+allekirjoittaman allekirjoitam
+allekirjoitusten allekirjoitus
+allergioita allergio
+alligaattorien alligaator
+almilan almil
+aloitella aloit
+aloitimme aloitimm
+aloittamiseen aloitam
+aloittavia aloitav
+aloitteisuutta aloiteisu
+aloituksia aloituks
+alokasta alok
+alppihii alpih
+alppiyhdistetyn alpiyhdist
+altis alti
+alttiiden alti
+alueellisella alueellis
+aluehallinnon aluehallinn
+alueistaan alueist
+aluekeskus aluekesk
+aluepaloaseman aluepaloasem
+aluesairaalassa aluesairaal
+aluetoimittajat aluetoimitaj
+aluevastaava aluevastaav
+aluksille aluks
+alushousuja alushous
+alustavaan alustav
+alut alu
+amatöörien amatoor
+ambulansseja ambulanss
+amerikansuomalaisille amerikansuomalais
+amerikkalaisiin amerikalais
+amerikkalaisperäinen amerikalaisper
+amerikkalaisyhtiöitä amerikalaisyht
+amilcare amilcar
+ammatillisessa ammatillis
+ammatteihin ammat
+ammattijärjestöön ammatijarjest
+ammattikorkean ammatikork
+ammattikuntansa ammatikuntan
+ammattilaisliigaan ammatilaisliig
+ammattilaisuus ammatilaisu
+ammattimaiset ammatimais
+ammattinimikkeen ammatinimik
+ammattipoliitikko ammatipoliitik
+ammattitaitoisesta ammatitaitois
+ammattiväki ammativak
+ammensivat ammensiv
+ammunnassa ammunn
+ammusten ammus
+ampaisee ampaise
+ampujia ampuj
+ampumaseura ampumaseur
+ampuneen ampu
+anaboliset anabolis
+analysoitiin analysoit
+ananasmurskaa ananasmursk
+anastetun anaste
+anderssoniin andersso
+andres andre
+anette anet
+anglosaksisen anglosaks
+animaation animaat
+anjelika anjelik
+ankarimmillaan ankarimmill
+ankerias ankeria
+ankkurissa ankur
+annan ann
+annettava annetav
+annetussa annetu
+anniskelulupien anniskelulup
+annoksilla anno
+anomukseen anomuk
+anri anr
+ansaitsisi ansaitsis
+ansioille ansio
+ansiokkaassa ansioka
+ansioristit ansiorist
+ansioturvan ansioturv
+antama antam
+antaneen ant
+antautunut antautun
+anteeksipyyntö anteeksipyynt
+antibioottikuuria antibiootikuur
+antilan antil
+antoine anto
+antropologi antropolog
+anttosen anto
+apatia apat
+apollolla apollo
+apposen appo
+apteekkarissa apteekar
+apulaiset apulaise
+apulaisoikeuskansleri apulaisoikeuskansler
+apulaistiemestari apulaistiemestar
+apurahoista apuraho
+aqui aqu
+arabimaiden arabima
+arastellut arastell
+arborin arbor
+arena aren
+argumentein argument
+aristelevat aristelev
+arkaa ark
+arkangelista arkangel
+arkielämässäkin arkielam
+arkipäiväksi arkipaiv
+arkissa ark
+arkitodellisuuden arkitodellisu
+arkkitehdeiltä arkitehd
+arkkitehtitoimisto arkitehtitoimist
+arkkuun arku
+arlandassa arland
+armeijain armeij
+armi arm
+armottomasta armotom
+aromit arom
+arposen arpo
+arsenikkia arsenik
+artikkelisarjasta artikelisarj
+artsin art
+arvaamattomuutta arvaamatomu
+arvattavaksi arvatav
+arvellut arvellu
+arvioida arvioid
+arvioineet arvioine
+arvioita arvio
+arvionne arvion
+arvoille arvo
+arvoista arvo
+arvojärjestyksestä arvojarjestyks
+arvokisoista arvokiso
+arvokkaina arvoka
+arvoltaan arvolt
+arvonimestä arvonim
+arvonnassa arvonn
+arvorakennusten arvorakennus
+arvostavan arvostav
+arvostelijoista arvostelij
+arvosteluryöpystä arvosteluryopy
+arvostetussa arvostet
+arvoton arvo
+arvovaltaiseen arvovalta
+asaharaa asahar
+aseellista aseell
+aseidenriisuntaa aseidenriisun
+aseistautumisesta aseistautumis
+asejärjestelmän asejarjestelm
+aselepolinjan aselepolin
+asemakaavoitus asemakaavoit
+asemasodan asemasod
+asennemuutoksen asennemuut
+asennoitumisesta asennoitumis
+asentajan asenta
+asenteiltaan asenteilt
+aseriisunnasta aseriisunn
+aseteltuja aseteltu
+asetoimituksilla asetoimit
+asettamisesta asetamis
+asettumalla asetum
+asetuksissa asetuks
+asevelikylästä asevelikyl
+asevientiä asevient
+asiaankuuluvan asiaankuuluv
+asiakasnäkökulma asiakasnakokulm
+asiakastahojen asiakastah
+asiakkaat asiaka
+asiakysymyksissä asiakysymyks
+asiallisten asiallis
+asianajajan asianaja
+asianomainen asianom
+asiantilaa asiantil
+asiantuntijalausuntoja asiantuntijalausunt
+asiantuntijoiksi asiantuntij
+asiatietoja asiatiet
+asioilleen asioill
+askareissa askar
+askeleena askele
+aski ask
+assadia assad
+assosiaatiosopimuksen assosiaatiosopim
+asteilla ast
+astiaa ast
+astmakohtaukseen astmakohtauk
+astuessa astu
+astutus astutu
+asuinalueita asuinalu
+asuinpaikkaansa asuinpaikaan
+asuintalonsa asuintalon
+asukasyhdistyksen asukasyhdisty
+asukkaineen asuka
+asumisen asum
+asumistaan asumist
+asuneita asun
+asunnostaan asunnost
+asuntoasioista asuntoas
+asuntola asuntol
+asuntomarkkinoille asuntomarkin
+asuntopolitiikan asuntopolitiik
+asuntotoimessa asuntotoim
+asusta asu
+asuttamasta asutam
+asutuksesta asutuks
+asuvalle asuv
+atalassa atal
+atena aten
+athenen athen
+atleticossa atletico
+atomivoimaloiden atomivoimalo
+audiovisuaaliseen audiovisuaal
+augustsson augusts
+aukene auk
+aukiolostaan aukiolost
+auktoriteetteja auktoriteet
+aumoissa aumo
+aureen aur
+auringonpaistetta auringonpaist
+aurinkoista aurinko
+auroja auro
+australiasta austral
+autiomaa autiom
+autoaseman autoasem
+autoillessa autoill
+autokannen autoka
+autokoulu autokoul
+autolauttaa autolau
+autollisen autoll
+automaattiaseella automaatias
+automallien automall
+automerkin automer
+autonkuvia autonkuv
+autopaikan autopaik
+autosi autos
+autoteollisuudessa autoteollisuud
+autovarkauksiin autovarkauks
+auttajat autaj
+auttava autav
+auvoa auvo
+avaimella avaim
+avainpelaajista avainpelaaj
+avajaispäivä avajaispaiv
+avantoon avanto
+avaruusajan avaruusa
+avaruustekniikkaa avaruustekniik
+avatun ava
+avauskierroksen avauskierr
+avausosuman avausosum
+avautuivat avautuiv
+avignon avign
+avioliitosta avioliit
+avioparin aviopar
+avoauton avoau
+avoimen avoim
+avoinnaklo avoinnakl
+avonius avoniu
+avulias avulia
+avustaisi avustais
+avustamiseen avustam
+avustuksina avustuks
+avustusrahojen avustusrah
+avuttomana avutom
+azerbaidzhanin azerbaidzhan
+baaritiskiltä baaritisk
+backmanin backman
+baijeri baijer
+bakteerista bakteer
+balettisarja baletisar
+ballmasters ballmaster
+banaaleja banaal
+bandidosin bandido
+banken bank
+barbie barb
+baritoni barito
+barometrin barometr
+bartova bartov
+baskeja bask
+bassot basso
+bayliss baylis
+beatrixin beatrix
+beiga beig
+belgialaisia belgialais
+belmondon belmond
+bengts bengt
+bensiinikäyttöiset bensiinikaytois
+bergeron berger
+berliiniläisille berliinilais
+bernsteinin bernstein
+besöker besoker
+betoniset betonise
+bielistä biel
+bilbaon bilb
+bingenin bingen
+biojätteitä biojat
+biologista biolog
+birkenaun birken
+bistrossa bistro
+björklöf bjorklof
+blairia blair
+blokkia blok
+boca boc
+boheemin boheem
+bokseri bokser
+boltonista bolton
+bongausta bongau
+boogie boog
+borin bor
+bosmanin bosman
+bostonissa boston
+boutros boutro
+brahms brahm
+brasilialaisista brasilialais
+bravuuri bravuur
+brendan brend
+bridgen bridg
+britannialla britann
+brittifilmi britifilm
+brittiläisestä britilais
+brnossa brno
+bronda brond
+brucen bruc
+bruttoinvestoinnit brutoinvestoinn
+brysseliin bryssel
+budapestissa budapest
+budjetoidun budjetoid
+budjettiesitys budjetiesity
+budjettineuvotteluissaan budjetineuvoteluiss
+budjettivajeiden budjetiva
+bujumburan bujumbur
+bulimia bulim
+burana bur
+burundi burund
+bussikorttia bussikort
+bussipysäkkien bussipysak
+buukattua buukatu
+byrokratiassa byrokrat
+bändissä band
+cabriolet cabriole
+cali cal
+cameronin cameron
+candelarian candelar
+cantonan canton
+caracas caraca
+carlossa carlo
+carolinan carolin
+cartoonin cartoon
+catanin catan
+cecilian cecil
+centeriä center
+championships championship
+charlesista charles
+chelsean chels
+chicagolaisen chicagola
+chinatown chinatow
+christa chr
+churchin churc
+citroenilla citroen
+clare clar
+cliburn clibur
+cobos cobo
+colesin cole
+coltranen coltran
+conceicao conceica
+constanze constanz
+coppolan copol
+corporationin corporation
+cotten cot
+coventrya coventry
+crime crim
+csaban csab
+cupissa cup
+czerkawskin czerkaw
+dahlenin dahlen
+dallasin dalla
+dances dance
+darius dariu
+davidin david
+deakins deakin
+deesin dee
+dekkarimaratonin dekarimaraton
+delhi delh
+demari demar
+dementiayksikön dementiayksik
+demokraattiselle demokraatis
+demokratiat demokrat
+denton den
+desibeliä desibel
+dettmannin detmann
+devalvoituminen devalvoitum
+diabetespotilaiden diabetespotila
+diakonissat diakoniss
+dickin dick
+dieselveron dieselver
+digitaalitekniikka digitaalitekniik
+dilissä dil
+dioja dio
+diplomaattisia diplomaatis
+direktiiveissä direktiiv
+diskon disk
+divine div
+dobojin dobo
+dokumentoinnin dokumentoinn
+dole dol
+doloresin dolore
+domän dom
+donneria donner
+dorothea doroth
+doylen doyl
+drake drak
+dramaattista dramaat
+dreamworks dreamwork
+dubaissa duba
+duisburgissa duisburg
+dusen dus
+dynaamisen dynaam
+dähliestä dahl
+eckstein eckst
+edelleenkin edell
+edelliskaudella edelliskaud
+edellisvuotista edellisvuot
+edellyttäviä edellytav
+edelläkävijöiden edellakavijo
+edeltäjästä edeltaj
+edeltävät edeltav
+edesmenneeseen edesmenn
+edeten ede
+edistyisivät edistyisiv
+edistyspuolueelle edistyspuolu
+edistämisohjelma edistamisohjelm
+editointi editoint
+edullisempaa edullisemp
+edullisuutta edullisu
+eduskuntaenemmistön eduskuntaenemmis
+eduskuntaryhmää eduskuntaryhm
+edusmiehenä edusmieh
+edustajamme edustajamm
+edustalla edu
+edustavana edustav
+edustushiihtäjien edustushiihtaj
+edustustehtävistä edustustehtav
+eedeniin eed
+eeroheinonen eeroheinon
+eetvartin eetvar
+eftan eft
+egyptissä egypt
+ehdokasasettelua ehdokasasetel
+ehdokkaiden ehdoka
+ehdolliseenvankeuteen ehdolliseenvanke
+ehdotettuun ehdotet
+ehdottivat ehdotiv
+ehdotuksiin ehdotuks
+ehjän ehj
+ehkäisykeinona ehkaisykein
+ehrnroothien ehrnrooth
+ehtinytkään ehtinytk
+ehtoon ehto
+eihalua eihalu
+eilan eil
+eimillään eimill
+eioikeastaan eioikeast
+eiswein eisw
+eivätpähän eivatp
+eklöf eklof
+ekologiseen ekolog
+ekonomistien ekonomist
+eksoottisesta eksootis
+ekstaasin ekstaa
+ekumenia ekumen
+electra electr
+elegantti elegant
+elektronisessa elektronis
+elementtirakentamisen elementirakentam
+elia eli
+elikot eliko
+elimistö elimisto
+elinehtoja elinehto
+elinkautistuomion elinkautistuom
+elinkeinopiirit elinkeinopiir
+elinkeinoyhtiö elinkeinoyht
+elinpiirin elinpiir
+elintarvikeliikkeissä elintarvikeliik
+elintarviketta elintarvik
+elintasokuilun elintasokuil
+elinvoima elinvoim
+elinympäristöt elinymparist
+elitserienin elitserien
+ellen ell
+elohopeaa elohop
+elokuvaa elokuv
+elokuvakin elokuv
+elokuvamarkkinoilla elokuvamarkin
+elokuvaohjelmistossa elokuvaohjelmist
+elokuvateatteri elokuvateater
+elokuvayhtiö elokuvayht
+elonkorjuun elonkorj
+elovainion elovain
+elton elt
+elvyttämisestä elvytamis
+eläessäni ela
+eläimiään elaim
+eläinlääketieteen elainlaaket
+eläinpuisto elainpuist
+eläinsuojelulaista elainsuojelula
+eläintensuojelijat elaintensuojelij
+eläkeiän elak
+eläkeläisen elakela
+eläkemaksua elakemaks
+eläkerahat elakerah
+eläketurvan elaketurv
+eläkevastuu elakevastu
+eläkkeiden elak
+elämyksestä elamyks
+elämäkään elamak
+elämänhallintaa elamanhallin
+elämänkäänteitä elamankaant
+elämänohjeeseen elamanohj
+elämäntarinansa elamantarinan
+elämäntyöksi elamanty
+elämässäkin elam
+eläneitä elan
+elävillä elav
+elävöittävät elavoitav
+emexillä emex
+emmi emm
+empii empi
+emännäksi emann
+endin end
+enemmistöosakkaaksi enemmistoosaka
+enempiä enemp
+energialaitos energialait
+energiankulutuksesta energiankulutuks
+energiapolitiikassa energiapolitiik
+energiaverojen energiaver
+engelbergin engelberg
+englanninkielisten englanninkielis
+englantilaisista englantilais
+enimmäismäärän enimmaismaar
+enkelten enkel
+ennakkokäsittelyyn ennakokasitely
+ennakkomaksua ennakomaks
+ennakkosäästämisellä ennakosaastamis
+ennakkoäänestyspäivän ennakoaanestyspaiv
+ennakoivaa ennakoiv
+enne enn
+ennenkuin ennenku
+ennustajan ennusta
+ennusteitten ennust
+ennustukseen ennustuk
+ennätyksellistä ennatyksell
+ennätyskorkealle ennatyskork
+ennätystensä ennatysten
+enpä enp
+ensiesiintyminen ensiesiintym
+ensikertalaisista ensikertalais
+ensiminuuteilla ensiminuut
+ensimmäisissä ensimmais
+ensisijaiseksi ensisijais
+ensivuoden ensivuo
+enterprisen enterpr
+entiset entise
+entivanhaan entivanh
+epidemioina epidemio
+epua epu
+epäilevä epailev
+epäillyllä epailly
+epäilyksille epailyks
+epäinhimillistä epainhimill
+epäkohtiin epakoht
+epäluuloisuus epaluuloisu
+epämääräisesti epamaarais
+epäolennaisia epaolennais
+epäonnistumista epaonnistum
+epäpuhdasta epapuhd
+epäreiluna epareilu
+epäselvät epaselv
+epäsäännöllisiä epasaannollis
+epätavallista epatavall
+epätodennäköisinä epatodennakois
+epäuskoa epausko
+epävarmalta epavarm
+epävarmuutta epavarmu
+erakko erako
+erehtymättömän erehtymatom
+eriarvoisessa eriarvois
+erikoisalanaan erikoisalan
+erikoiset erikoise
+erikoiskokeelle erikoiskok
+erikoisliikkeen erikoisliik
+erikoispalkinnolla erikoispalkinn
+erikoista eriko
+erikoistuneet erikoistune
+erikoisuutenaan erikoisuuten
+erilaisessa erilais
+erilaisuuteen erilaisu
+erimielisiä erimielis
+erinomaisista erinomais
+eriskummallista eriskummall
+eristyksiin eristyks
+erisuuruinen erisuuru
+eritteiden erit
+erityisasiantuntija erityisasiantunt
+erityisiin erityis
+erityismäärärahan erityismaarar
+erityisryhmän erityisryhm
+erityistoimintojen erityistoimint
+eriytetty eriytety
+erkinjuntti erkinjunt
+ernstreit ernstre
+eroavista eroav
+eronneesta eronne
+eropassit eropass
+erotettaviksi erotetav
+erottamisen erotam
+erotti erot
+erotuomarit erotuomar
+eräkangas erakanga
+eränlopussa eranlopu
+erätauolla eratauo
+erääntyneitä eraantyn
+esihistoriallisena esihistoriallis
+esiintyjistä esiintyj
+esiintymisistä esiintymis
+esiintymään esiintym
+esikaupungit esikaupung
+esikoispoikansa esikoispoikan
+esikuntansa esikuntan
+esikuvista esikuv
+esimerkillä esimerk
+esimiehenä esimieh
+esineinä esin
+esiselvityksen esiselvity
+esitelmässään esitelmass
+esitettyään esitety
+esitteeseen esite
+esitteleviä esitelev
+esittelynsä esitelyn
+esittäjäksi esitaj
+esittämät esitam
+esittäytymään esitaytym
+esityksestä esityks
+esityslistalle esityslist
+esitämme esitamm
+eskosta esko
+espanjalle espanj
+espoolainen espool
+esseessään esseess
+esteellisyyskysymyksissä esteellisyyskysymyks
+esteettisyys esteetisyy
+esteratsastusta esteratsast
+estolääkityksen estolaakity
+estyneitä estyn
+estävää estav
+eteenpäinmenoa eteenpainmen
+eteläamerikkalaisten etelaamerikalais
+eteläkorealaisia etelakorealais
+etelänmatkalle etelanmatk
+eteläpuolisella etelapuolis
+eteläsuomalainen etelasuomal
+etenevä etenev
+etiikkaa etiik
+etlantoimitilat etlantoimitil
+etsijät etsij
+etsinnän etsinn
+etsiskellä etsisk
+etsiytyvät etsiytyv
+ettähän ett
+ettäsuomi etasuom
+etujoukko etujouk
+etulinja etulin
+etunimien etunim
+etupenkille etupenk
+eturivin eturiv
+etuudet etuude
+etymologinen etymolog
+etäpeliä etapel
+euraan eur
+euroedustajaksi euroedustaj
+euromarket euromark
+euroopanunioniin euroopanun
+eurooppalaisin euroopala
+europarlamentaarikoksi europarlamentaarik
+eurorahaa eurorah
+euroviisuja euroviis
+evakuoiduista evakuoid
+evankelisten evankelis
+everstit everst
+evännyt evanny
+eximia exim
+fabienne fabien
+faijan fai
+fallesmannin fallesmann
+faneille fan
+fantasian fantas
+farmarihousut farmarihous
+farossa faro
+fason fas
+faxilla fax
+feldman feldm
+feministeistä feminist
+feresit feres
+festivaaleilla festivaal
+fetajuusto fetajuust
+fiej fie
+fiilistä fiil
+fileoi fileo
+filisteri filister
+filmijuhlien filmijuhl
+filmnet filmne
+filosofit filosof
+finaalisarjassa finaalisarj
+finanssipolitiikassa finanssipolitiik
+finlaysonille finlayson
+finnjetin finnje
+finski finsk
+firmat firm
+flaamilainen flaamil
+flegmaattinen flegmaat
+floresin flore
+flute flut
+folkhälsan folkhal
+forbes forbe
+formulakausi formulakaus
+forssalaisten forssalais
+fosfaatteja fosfaat
+fraasit fraas
+franckin franck
+frankille frank
+fredi fred
+frenckelliin frenckell
+friikkejä friik
+frölunda frolund
+fundamentalismia fundamentalism
+futari futar
+fuusioita fuusio
+fyhrqvist fyhrqvis
+fyysinen fyy
+föglö foglo
+gabrielle gabr
+galette galet
+gallupeissa gallup
+gangsteri gangster
+garmischin garmisc
+gaudeamus gaudeamu
+gdanskissa gdansk
+geenit geen
+gena gen
+genova genov
+georgea georg
+germaanien germaan
+ghanalaisen ghanala
+gigi gig
+gingchin gingc
+give giv
+globaalista globaal
+godfreyn godfr
+goldbergeriä goldberger
+golgatan golg
+goranin goran
+gortshakova gortshakov
+graafikoiden graafiko
+graeme graem
+grammin gramm
+granqvistin granqvis
+greenpeacea greenpeac
+griegin grieg
+gripenin gripen
+grozni groz
+gröna gron
+grünewaldin grünewald
+guerre guerr
+gumpia gump
+gustafsson gustafs
+gynt gyn
+götschl gotschl
+haaleaksi haale
+haamut haamu
+haapaniemeä haapaniem
+haarapääsky haarapaasky
+haaskalla haask
+haastatelluista haastatell
+haastatteli haastatel
+haastattelupyyntöjä haastatelupyynt
+haasteellinen haasteell
+haastemies haastem
+haaveet haavee
+haaveista haav
+haavistolla haavisto
+haavoittuneita haavoitun
+hacklin hackl
+haetut haetu
+hahmolle hahmo
+hahmottelevat hahmotelev
+haihtunut haihtunu
+haikeat haike
+haiseva haisev
+haistoi haisto
+haitata hait
+haittapuolista haitapuol
+hajaantuu hajaantu
+hajauttaa hajau
+hajoittaa hajo
+hajottanut hajotan
+hajuton haju
+hakametsän hakamet
+hake hak
+hakemuksensa hakemuksen
+hakeuduta hakeudu
+hakevista hakev
+hakijoitten hakijo
+hakkeen hakk
+hakkuukoneita hakuukon
+hakulaitteen hakula
+halaistua halaistu
+halkaisee halkaise
+halkomaan halkom
+hallihankkeen hallihank
+hallimestaruuskilpailut hallimestaruuskilpail
+hallinnollisesta hallinnollis
+hallintaa hallin
+hallintokin hallinto
+hallintoneuvostoihin hallintoneuvost
+hallintovaliokunta hallintovaliokun
+hallitsemalta hallitsem
+hallitsevaa hallitsev
+hallittiin hallit
+hallituksilla hallitu
+hallituskoalitionsa hallituskoalition
+hallitusmuotoon hallitusmuot
+hallituspohja hallituspoh
+hallitusrintamalla hallitusrintam
+hallitustunnustelijan hallitustunnustel
+halloween hallow
+haloota haloo
+halpoihin halpo
+haltioituneesti haltioitun
+haluaisitte haluaisit
+haluavalle haluav
+halukkaiden haluka
+halusinkin halu
+haluttomuudesta halutomuud
+halvaria halvar
+halvemmasta halvemm
+halvimmassa halvimm
+hameisiin hameis
+hammaskiveä hammaskiv
+hampaankolossa hampaankol
+hampuriin hampur
+hamuavan hamuav
+hangaslahden hangaslah
+hanhisuolle hanhisuo
+hankalinta hankalin
+hankausta hankau
+hankintakilpailu hankintakilpail
+hankittua hankitu
+hankkeilla hank
+hankkimassa hankim
+hankkiutumaan hankiutum
+hannikaisen hannika
+hanoverin hanover
+hantta han
+hapenkulutusta hapenkulut
+happea happ
+harada harad
+harbin harb
+harhanäyt harhanay
+harjaan harj
+harjavaltaan harjavalt
+harjoitettu harjoitet
+harjoittavat harjoitav
+harjoittelijanvaihto harjoitelijanvaiht
+harjoittelupaikkoja harjoitelupaik
+harjoitusajalla harjoitus
+harjoitusleirillä harjoitusleir
+harjoitusottelun harjoitusotel
+harjoitusvuoro harjoitusvuor
+harjussa harju
+harkita hark
+harkitsisivat harkitsisiv
+harlin harl
+harmaapartainen harmaapart
+harmiksi harm
+harmittavaa harmitav
+harmonikan harmonik
+harppasi harpas
+harrastajanäyttelijöiden harrastajanaytelijo
+harrastanut harrastan
+harrastuksekseen harrastuksek
+harrastuspaikat harrastuspaik
+harrista harr
+hartfordissa hartford
+hartson hart
+harvemmalla harvemm
+harvialassa harvial
+harvinaistunut harvinaistun
+hashista hash
+hassummin hassumm
+hatchissa hatch
+hatun hat
+haudattujen haudatu
+hauikset hauikse
+haukiviinaa haukiv
+haukkuu haukuu
+haumeen haum
+hauskanpito hauskanpit
+hauskuutti hauskuut
+hautakiviä hautakiv
+hautapaikkaa hautapaik
+hautautumassa hautautum
+havahtuivat havahtuiv
+havainnon havainn
+havaitseminen havaitsem
+havanka havank
+haviteltiin havitelt
+havun hav
+heaneyn hean
+hedelmällisen hedelmall
+heeivät heeiv
+hehkutti hehkut
+heideggerin heidegger
+heijasteli heijastel
+heike heik
+heikentäisi heikentais
+heikit heik
+heikkisen heik
+heikkotuottoisia heikotuotois
+heikoimpien heikoimp
+heikossa heiko
+heilauttaa heilau
+heiluttaa heilu
+heimoon heimo
+heinimaan heinim
+heinrichsin heinrich
+heinäsirkat heinasirk
+heitelleitä heitell
+heitteillejättöä heiteillejat
+heittoon heito
+heittäneen heit
+heiveröisenä heiverois
+helcomin helcom
+heliborin helibor
+heliniä helin
+helkkarinmoinen helkarinm
+hellerin heller
+hellittävän hellitav
+hellyttävät hellytav
+helmeilee helmeile
+helmillä helm
+helpointa helpoin
+helpottaakseen helpotaak
+helpottuneena helpotun
+helppona helpo
+helsinkikeskeinen helsinkikesk
+helteen hel
+helvetissä helvet
+hemmotteli hemmotel
+hengellisyys hengellisyy
+hengenvaarallisesti hengenvaarallis
+hengittämään hengitam
+hengitystään hengityst
+henkeväksi henkev
+henkilöautolle henkiloaut
+henkilöitymä henkiloitym
+henkilökohtaisista henkilokohtais
+henkilökuvaa henkilokuv
+henkilön henkil
+henkilöstölehdessä henkilostoleks
+henkilöstöryhmiä henkilostoryhm
+henkilötyövuoden henkilotyovu
+henkireikänä henkireik
+henkisyyden henkisyy
+henkiyhtiön henkiyht
+henrikki henrik
+heppoiseksi hepois
+hereille her
+herkimmin herkimm
+herkkujen herku
+herkkää herk
+herkuttelevat herkutelev
+hermlin herml
+hermostoa hermosto
+hermostuttavan hermostutav
+heroiini hero
+herrana herr
+herroilta herro
+herttaista herta
+hervantaan hervant
+heräilee heraile
+herättelyä herately
+herättänee heratan
+herätysliikkeisiin heratysliikeis
+heseltine heselt
+hetkeksikin hetk
+hetkillään hetkill
+hevoselta hevos
+hevoskyydillä hevoskyyd
+hexi hex
+hidasteli hidastel
+hiekalle hiek
+hiekkasäkein hiekasak
+hienoisesta hienois
+hienonnettuna hienonnet
+hienostuneesta hienostun
+hienovaraisia hienovarais
+hieronnasta hieronn
+hietalan hietal
+hihaspesialisti hihaspesial
+hiihdettiin hiihdet
+hiihtoja hiihto
+hiihtokisoissa hiihtokis
+hiihtomajalta hiihtomaj
+hiihtotyyli hiihtotyyl
+hiihtämistä hiihtam
+hiilihydraatit hiilihydraat
+hiiltä hiil
+hiipuneen hiipu
+hiitolassa hiitol
+hikoilevat hikoilev
+hiljaiselo hiljaisel
+hiljaisten hiljais
+hiljentymällä hiljentym
+hillinneet hillinne
+hillitysti hillity
+hilpeämpi hilpeamp
+himmetä himm
+himosvuori himosvuor
+hindemithin hindem
+hinnankorotukset hinnankorotuks
+hinnateivät hinnateiv
+hinnoitteluun hinnoitel
+hintakehityksessä hintakehityks
+hintaneuvottelujen hintaneuvotel
+hintatasoltaan hintatasolt
+hintayhteistyöstä hintayhteisty
+hiomisessa hiomis
+hipit hipi
+hira hir
+hiroshima hiroshim
+hirsirakentamisen hirsirakentam
+hirttäytyneenä hirtaytyn
+hirveyden hirvey
+hirviniemi hirviniem
+hirvosen hirvo
+historiaksi histor
+historiankirjoihin historiankirj
+historiikkeihin historiik
+hitaan hit
+hitchin hitc
+hitsautua hitsautu
+hiukkaskiihdyttimen hiukaskiihdytim
+hiusten hius
+hjallis hjall
+hodgsonin hodgson
+hohtonsa hohton
+hoidettiin hoidet
+hoidot hoido
+hoitajalakkoon hoitajalak
+hoitamattomien hoitamatom
+hoitavia hoitav
+hoitoja hoito
+hoitokustannuksia hoitokustannuks
+hoitona hoito
+hoitotieteen hoitot
+hoituvan hoituv
+hokkaidon hokaid
+hole hol
+hollannin hollann
+hollolaan hollol
+holmes holme
+holtittoman holtitom
+homeongelman homeongelm
+hommansa homman
+homoseksuaalisuutta homoseksuaalisu
+hongkongista hongkong
+honkilahti honkilaht
+hopealle hope
+hopeisesta hopeis
+horisontaalisesti horisontaalis
+horjuttivat horjutiv
+hormonit hormon
+horppu horpu
+hossi hoss
+hotellihuoneiden hotellihuon
+hotellivieraita hotelliviera
+houkuteltua houkutelt
+houkuttelevuutta houkutelevu
+housuissaan housuiss
+hovinen hov
+hubertus hubertu
+huhtamäki huhtamak
+huhuilta huhu
+huijari huijar
+huikaisevan huikaisev
+huilaamaan huilaam
+huimalta huim
+huipensi huipens
+huippuhetkistä huipuhetk
+huippukausi huipukaus
+huippukunto huipukunt
+huippumuoti huipumuot
+huippupoliitikkojen huipupoliitik
+huipputekijät huiputekij
+huippuvirkamiesten huipuvirkamies
+huipussaan huipuss
+huittislaista huitisla
+hukattuaan hukatu
+hukkumisen hukum
+huldan huld
+hullujen hullu
+hulluudesta hulluud
+humalahakuisuus humalahakuisu
+humanistisia humanistis
+humisevat humisev
+humpuukiksi humpuuk
+huohotti huohot
+huokaista huoka
+huolehtii huoleht
+huolellisen huolell
+huolestumaan huolestum
+huolestuttavia huolestutav
+huolii huol
+huoliteltua huolitelt
+huoltajista huoltaj
+huoltoasemalla huoltoasem
+huoltomies huoltom
+huoltoyhtiölle huoltoyht
+huomasin huoma
+huomattavimpia huomatavimp
+huomautuksen huomautu
+huomioitava huomioitav
+huomisaamuna huomisaam
+huoneestaan huoneest
+huoneistopalon huoneistopal
+huonetilaan huonetil
+huonoiten huono
+huonolle huono
+huononemisesta huononemis
+huonossa huono
+huostaan huost
+hupaisalta hupais
+hurahtaneet hurahtane
+hurjastelijoita hurjastelij
+hurleyn hurl
+hurmos hurmo
+hurskainen hursk
+husseinin hussein
+hutupakolaiset hutupakolais
+huuhdella huuks
+huuliaan huul
+huumausaineen huumausa
+huumeitten huum
+huumelasti huumel
+huumerikosta huumerik
+huumorintajuinen huumorintaj
+huusi huus
+huutijärven huutijarv
+huutokauppakoron huutokaupakor
+huvilalleen huvilall
+huvitilaisuus huvitilaisu
+hyasintin hyasin
+hyhkyyn hyhky
+hylkeistä hylk
+hylkäämisen hylkaam
+hyllyltä hylly
+hylättyjen hylaty
+hymyilemättä hymyilem
+hymyssäsuin hymyssas
+hypermedia hypermed
+hyppyihin hypy
+hyppyyni hypyy
+hyppäämme hypaamm
+hypänneen hypan
+hyräilee hyraile
+hyttiselle hytis
+hyvilläni hyv
+hyvinvointijärjestelmän hyvinvointijarjestelm
+hyvitetään hyvitet
+hyväkin hyvak
+hyväksymiselle hyvaksymis
+hyväksyntä hyvaksyn
+hyväksyttävästi hyvaksytav
+hyväkuntoinen hyvakunt
+hyvännäköistä hyvannak
+hyväntuulinen hyvantuul
+hyvästijättö hyvastijat
+hyvönen hyvon
+hyytynyt hyytyny
+hyödyllisiä hyodyllis
+hyödyntämiselle hyodyntamis
+hyödyttääkseen hyodytaak
+hyökkäyksillään hyokayksill
+hyökkäysvalmisteluista hyokaysvalmistel
+hyökkääviä hyokaav
+hyönteiset hyonteis
+hyötykäyttöön hyotykayt
+hÄmeen hÄm
+häijysti haijy
+häilyvän hailyv
+häiriköimään hairikoim
+häiritsevästä hairitsev
+häiriötilanteessa hairiotilant
+häkellyttäviä hakellytav
+häkkisestä hakis
+hälveni halv
+hälyttäviä halytav
+hälytyslaitteet halytyslaite
+hämeenkadulla hameenkad
+hämeenlinnaan hameenlinn
+hämeentie hameent
+hämmentävät hammentav
+hämmästyneen hammasty
+hämr hamr
+hämäläisiä hamalais
+hämäräperäiset hamaraperais
+hänelläkään hanellak
+hänkään hank
+hänschin hansc
+häpeä hap
+härkki hark
+härnäämään harnaam
+hätiköityä hatikoity
+hätä hat
+hätäkokouksia hatakokouks
+hätätilanteissa hatatilant
+hävi hav
+hävittiin havit
+hävittämässä havitam
+häviämiseen haviam
+häväisty havaisty
+häämöttäessä haamota
+hääräävät haaraav
+högner hogner
+hölmönä holmo
+höpötys hopoty
+höylätä hoyl
+höyryveturit hoyryvetur
+ibert iber
+idealistisen idealist
+identiteettiongelmia identiteetiongelm
+ideointia ideoint
+ideologista ideolog
+idylliä idyll
+igorin igor
+ihailijoista ihailijo
+ihalaiselle ihalais
+ihannetilanteessa ihannetilant
+ihanteena ihante
+ihastelun ihastel
+ihka ihk
+ihmeenä ihme
+ihmetelleet ihmetelle
+ihmettelimme ihmetelimm
+ihmisaivojen ihmisaiv
+ihmishahmot ihmishahm
+ihmiskasvot ihmiskasv
+ihmislajin ihmisla
+ihmisoikeusaktivistien ihmisoikeusaktivist
+ihmisoikeusrikkomuksiin ihmisoikeusrikomuks
+ihmisrodun ihmisrod
+ihmisten ihmis
+ihonsa ihon
+iijoki iijok
+iistä iis
+ikaalislaisen ikaalisla
+ikimuistettava ikimuistetav
+ikivanhan ikivan
+ikkunapuitteiden ikunapuit
+ikosen iko
+ikuisuus ikuisuu
+ikäisen ikai
+ikälisän ikal
+ikämiehen ikam
+ikärakenteen ikaraken
+ikäviltä ikav
+ikävästi ikav
+ikääntyviin ikaantyv
+ilahtunut ilahtunu
+ilkeys ilkey
+ilkon ilk
+illassaan illass
+ilmaantuessa ilmaantu
+ilmailuliitto ilmailuliit
+ilmaisevat ilmaisev
+ilmaiskusta ilmaisku
+ilmaisumuoto ilmaisumuot
+ilmakehässä ilmakeh
+ilmanlaatu ilmanlaat
+ilmanvaihtojärjestelmän ilmanvaihtojarjestelm
+ilmari ilmar
+ilmastokokouksen ilmastokoko
+ilmatilaa ilmatil
+ilmavassa ilmav
+ilmeenkään ilmeenk
+ilmeisiin ilmeis
+ilmentymään ilmentym
+ilmestyneet ilmestyne
+ilmiannosta ilmianno
+ilmiöillä ilmio
+ilmoitettaisiin ilmoitetais
+ilmoittamalla ilmoitam
+ilmoittautuminen ilmoitautum
+ilmoittelusta ilmoitel
+ilmoitustauluilla ilmoitustaul
+iloiselle ilois
+iloitse ilo
+ilomantsissa ilomants
+ilosta ilo
+ilotyttöä ilotyto
+iltakahdeksaan iltakahdeks
+iltalenkillä iltalenk
+iltapuvun iltapuv
+iltaseitsemältä iltaseitsem
+iltayleisön iltayle
+ilvestä ilv
+imajevin imajev
+imettämään imetam
+immoselle immos
+impressionismia impressionism
+imurin imur
+indeksien indeks
+indianapolis indianapol
+industriesin industr
+inflaatiolla inflaat
+influenssa influen
+informaatioyhteiskunnassa informaatioyhteiskunn
+ingen ing
+inhimillisiä inhimillis
+inkala inkal
+inkeroisten inkerois
+innoittamina innoitam
+innokkaimmin innokaimm
+innostavin innostav
+innostuneiden innostun
+innovatiivisia innovatiivis
+insinöörikoulutuksen insinoorikoulut
+installaatio installaat
+instituutioille instituut
+instrumenttien instrument
+intendentille intendent
+interbankilla interbank
+internoituja internoit
+intialaisessa intialais
+intimiteettisuoja intimiteetisu
+intoleranssia intoleranss
+inttiä intt
+inventoinnissa inventoinn
+investoinneissa investoinn
+investointimahdollisuuksia investointimahdollisuuks
+investointitulojen investointitul
+aa aa
+aalto aalto
+aario aario
+aav aav
+abdellah abdellah
+abel abel
+abo abo
+abu abu
+ach ach
+adac adac
+adlercreutz adlercreutz
+adventuresof adventuresof
+aerosmith aerosmith
+aga aga
+agopov agopov
+ahdinko ahdinko
+ahlberg ahlberg
+ahmed ahmed
+ai ai
+aihekuv aihekuv
+aikoo aikoo
+aino aino
+airisto airisto
+aja aja
+ajasto ajasto
+ajoiko ajoiko
+akan akan
+akp akp
+aku aku
+alan alan
+alastair alastair
+alber alber
+ale ale
+alen alen
+alfredo alfredo
+alikulku alikulku
+alkaako alkaako
+allah allah
+almodovar almodovar
+alphandery alphandery
+altistuu altistuu
+alvarez alvarez
+amazing amazing
+amiel amiel
+ammuu ammuu
+ampu ampu
+ana ana
+andlig andlig
+andy andy
+angkor angkor
+ankelo ankelo
+anon anon
+antaako antaako
+antidoping antidoping
+anun anun
+ape ape
+aps aps
+aquamaster aquamaster
+arash arash
+arelmek arelmek
+arioso arioso
+arkisto arkisto
+armistead armistead
+arnhem arnhem
+arrau arrau
+arthur arthur
+arvio arvio
+ase ase
+ashbrook ashbrook
+ask ask
+ass ass
+astor astor
+asunto asunto
+aten aten
+atol atol
+atv atv
+auger auger
+aulanko aulanko
+aus aus
+auto auto
+aux aux
+avek avek
+avo avo
+away away
+ayo ayo
+babbel babbel
+bachelor bachelor
+baek baek
+bailey bailey
+bako bako
+balladur balladur
+bambu bambu
+bangkok bangkok
+barbifer barbifer
+barkley barkley
+barnfamiljer barnfamiljer
+bartunov bartunov
+bashir bashir
+basler basler
+baum baum
+baywatch baywatch
+beard beard
+bebeto bebeto
+bedro bedro
+behind behind
+belfield belfield
+ben ben
+benno benno
+bergbom bergbom
+bergisel bergisel
+bernabeu bernabeu
+bertram bertram
+beuc beuc
+bi bi
+bihac bihac
+billy billy
+bird bird
+bissau bissau
+bjun bjun
+blair blair
+bley bley
+blok blok
+bloom bloom
+bnp bnp
+bochum bochum
+bogdanovich bogdanovich
+bolger bolger
+bonito bonito
+booker booker
+borg borg
+botero botero
+bournemouth bournemouth
+boxing boxing
+bps bps
+brahim brahim
+brando brando
+brax brax
+bremer bremer
+bri bri
+bro bro
+bromwich bromwich
+bruch bruch
+bruny bruny
+bubby bubby
+budweiser budweiser
+bukovec bukovec
+bundesbank bundesbank
+burkhard burkhard
+bury bury
+bwt bwt
+bär bär
+cadillac cadillac
+cal cal
+camp camp
+candy candy
+capital capital
+carey carey
+carnival carnival
+carter carter
+casino casino
+catch catch
+cbs cbs
+ce ce
+cembalo cembalo
+cesium cesium
+chailly chailly
+chang chang
+charter charter
+chen chen
+chesterfield chesterfield
+chic chic
+ching ching
+choro choro
+christopher christopher
+chungking chungking
+ciel ciel
+cism cism
+clan clan
+clasu clasu
+cleobury cleobury
+clooney clooney
+cnn cnn
+cocktail cocktail
+col col
+colombo colombo
+comery comery
+compu compu
+connery connery
+continental continental
+cooper cooper
+corn corn
+cosby cosby
+counter counter
+cousteau cousteau
+cps cps
+crawford crawford
+crespo crespo
+cronvall cronvall
+crumb crumb
+crystalp crystalp
+cultural cultural
+curtiz curtiz
+césar césar
+daddy daddy
+dahllund dahllund
+daley daley
+damer damer
+danilovic danilovic
+darcy darcy
+darryl darryl
+davey davey
+db db
+deadly deadly
+debussy debussy
+defibrator defibrator
+delar delar
+delpy delpy
+deng deng
+depold depold
+derrick derrick
+det det
+deutschland deutschland
+dia dia
+dich dich
+dieskau dieskau
+dilbèr dilbèr
+dinosaur dinosaur
+dirk dirk
+disneyworld disneyworld
+dj dj
+dna dna
+doe doe
+dohyvac dohyvac
+dolly dolly
+donath donath
+doom doom
+dortmund dortmund
+dowland dowland
+dramatic dramatic
+dresdner dresdner
+dry dry
+duck duck
+duisburg duisburg
+dunhill dunhill
+durch durch
+dx dx
+dynasty dynasty
+düsseldorf düsseldorf
+eastwood eastwood
+eblul eblul
+econ econ
+ed ed
+eden eden
+edinburg edinburg
+edo edo
+edvard edvard
+een een
+eg eg
+ehrnrooth ehrnrooth
+eiko eiko
+eipysty eipysty
+eisynny eisynny
+ekan ekan
+eklund eklund
+eksy eksy
+eleanor eleanor
+elgar elgar
+eliud eliud
+ellu ellu
+elokuu elokuu
+elu elu
+emerald emerald
+emin emin
+emokarhu emokarhu
+ena ena
+energy energy
+enger enger
+enin enin
+eno eno
+ensiaskel ensiaskel
+enver enver
+epa epa
+epun epun
+erehdy erehdy
+erich erich
+erland erland
+ero ero
+ersp ersp
+esbo esbo
+esikoislevy esikoislevy
+espm espm
+essu essu
+estoril estoril
+etelÄ etelÄ
+ettÄ ettÄ
+etyk etyk
+euratom euratom
+europol europol
+eva eva
+evi evi
+evu evu
+exel exel
+ey ey
+fabio fabio
+fagerlund fagerlund
+faithfull faithfull
+family family
+faremo faremo
+farrow farrow
+father father
+fazer fazer
+fed fed
+feel feel
+felix felix
+feodoroff feodoroff
+ferrier ferrier
+fi fi
+field field
+fil fil
+fim fim
+finn finn
+finnmaster finnmaster
+fischler fischler
+fiz fiz
+flamenco flamenco
+flemming flemming
+floor floor
+flying flying
+fokopo fokopo
+football football
+fork fork
+fortier fortier
+fr fr
+franjo franjo
+frazier frazier
+freelancer freelancer
+freud freud
+fridolf fridolf
+frionor frionor
+frontal frontal
+fst fst
+full full
+funktio funktio
+furuseth furuseth
+får får
+gabor gabor
+gainey gainey
+gallery gallery
+gandler gandler
+garabik garabik
+garfield garfield
+gary gary
+gaylord gaylord
+gea gea
+geln geln
+geoffrey geoffrey
+gerd gerd
+ges ges
+gi gi
+gigolo gigolo
+gingrich gingrich
+girard girard
+gks gks
+glendening glendening
+gloucester gloucester
+go go
+gogh gogh
+golf golf
+good good
+gould gould
+gradu gradu
+grammy grammy
+granholm granholm
+gratshov gratshov
+greenock greenock
+gremio gremio
+grimsby grimsby
+gritshuk gritshuk
+grosser grosser
+gruber gruber
+gti gti
+guitar guitar
+gunnell gunnell
+gustav gustav
+gws gws
+günter günter
+haapavu haapavu
+habib habib
+hae hae
+hagsberg hagsberg
+haider haider
+hairspray hairspray
+hakeem hakeem
+half half
+hallberg hallberg
+halo halo
+halv halv
+hamed hamed
+hammo hammo
+hanevold hanevold
+hanish hanish
+haq haq
+hardwick hardwick
+harkimo harkimo
+haroo haroo
+hartenberger hartenberger
+harvey harvey
+hassu hassu
+haug haug
+hautuu hautuu
+hawking hawking
+hbc hbc
+hdz hdz
+heard heard
+hector hector
+hefner hefner
+heijastu heijastu
+heilu heilu
+heinz heinz
+helander helander
+helibor helibor
+hellov hellov
+helsing helsing
+helveg helveg
+hen hen
+henkel henkel
+henriktuff henriktuff
+hereford hereford
+hero hero
+hervé hervé
+heuru heuru
+hhh hhh
+hidastuu hidastuu
+hifk hifk
+hiih hiih
+hikoilu hikoilu
+hillary hillary
+him him
+hinkuu hinkuu
+hip hip
+hirsch hirsch
+hitec hitec
+hjálmar hjálmar
+hlegg hlegg
+hml hml
+hodler hodler
+hohn hohn
+hoitsu hoitsu
+holiday holiday
+hollu hollu
+holthoer holthoer
+homer homer
+hongisto hongisto
+hood hood
+horacio horacio
+horowitz horowitz
+hough hough
+hpk hpk
+hrer hrer
+hsk hsk
+hts hts
+hubbard hubbard
+hugh hugh
+huhumylly huhumylly
+huk huk
+humphrey humphrey
+hunyady hunyady
+huomannu huomannu
+hurjaruuth hurjaruuth
+hut hut
+huxley huxley
+hy hy
+hyper hyper
+hyvÄ hyvÄ
+hää hää
+ibf ibf
+icl icl
+iden iden
+ien ien
+igc igc
+ihanko ihanko
+ihon ihon
+iiro iiro
+ike ike
+ilin ilin
+ilmar ilmar
+ilmiasu ilmiasu
+iltalypsy iltalypsy
+imberg imberg
+immo immo
+imsu imsu
+indigo indigo
+inez inez
+ingegerd ingegerd
+ingvar ingvar
+innsbruck innsbruck
+intercity intercity
+into into
+inä inä
+ipi ipi
diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/fr-light.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/fr-light.tsv
new file mode 100644
index 0000000000..b8295ed9d6
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/fr-light.tsv
@@ -0,0 +1,2000 @@
+abaissait abaisait
+abandonnant abandonant
+abattement abat
+ablutions ablution
+abonde abond
+abritât abritat
+abrégeaient abregeaient
+absente absent
+absurdes absurd
+abîmée abim
+accablante acablant
+accents acent
+accepterai acepterai
+accidents acident
+accompagner acompagn
+accomplis acompli
+accordait acordait
+accordée acord
+accourez acourez
+accoutumât acoutumat
+accroissait acroisait
+accueilli acueili
+accumulés acumul
+accusez acusez
+acheminé achemin
+achèterons acheteron
+acquise acquis
+acquittés acquit
+actives activ
+adeline adelin
+administrateur administr
+admirais admirai
+admise admis
+adopté adopt
+adorer ador
+adressent adresent
+adressés adres
+adversité adversit
+affairé afair
+affectations afect
+affectées afect
+affiché afich
+affirme afirm
+affligé aflig
+affranchi afranchi
+agencées agenc
+agis agi
+agite agit
+agriculteur agricult
+agrémentée agrement
+aies aie
+aiguillon aiguilon
+aimerais aimerai
+aisément aisement
+ajuster ajust
+albâtre albatr
+alinéa alinea
+allemande alemand
+alliés alie
+allumé alum
+allègre alegr
+alors alor
+altier alti
+amadouer amadou
+amassée amas
+ambulants ambulant
+amicalement amical
+amourachée amourach
+amputés amput
+amènerai amenerai
+anachorète anachoret
+ancrés ancr
+anglaises anglais
+anime anim
+annexait anexait
+annoncée anonc
+annuleront anuleront
+anonymes anonym
+antipathie antipath
+antoine antoin
+apaiser apais
+aperçoive apercoif
+apoplectique apoplect
+apparat aparat
+apparences aparenc
+appartenir aparteni
+appela apela
+appellerez apelerez
+appesantie apesant
+application aplic
+apporta aporta
+apporté aport
+apprend aprend
+apprennes apren
+approchant aprochant
+approprié aprop
+appréhension aprehension
+appuyer apuy
+aquarelle aquarel
+arborer arbor
+archevêques archevequ
+ardentes ardent
+aristocratie aristocrat
+armoire armoir
+arquées arqu
+arrachée arach
+arrangera arangera
+arriva ariva
+arriveraient ariveraient
+arrivât arivat
+arrondissait arondisait
+arrête aret
+arrêtons areton
+articles articl
+artère arter
+aspirations aspi
+assassin asasin
+assembler asembl
+assiduité asiduit
+assis assi
+assister asist
+associe asoc
+assoupie asoup
+assurances asuranc
+assurément asurement
+astronomie astronom
+atouts atout
+attachement atach
+attaqua ataqua
+atteignaient ateignaient
+attelages atelag
+attendaient atendaient
+attendrait atendrait
+attends atend
+attentive atentif
+attire atir
+attrait atrait
+attribué atribu
+auberge auberg
+audiences audienc
+augurer augur
+aurions aurion
+automate automat
+autour autou
+auxquelles auxquel
+avancé avanc
+avançaient avancaient
+aventures aventur
+avertissant averti
+avidité avidit
+aviserons aviseron
+avouerons avoueron
+aïeux aïeu
+bague bagu
+baissa baisa
+baladins baladin
+balivernes balivern
+balustrade balustrad
+bandoulière bandouli
+banquier banqui
+barbier barbi
+barons baron
+barrière barier
+bassesse bases
+batailles batail
+battante batant
+battrais batrai
+bavardage bavardag
+beauharnais beauharnai
+beefsteacks befsteack
+bergère berger
+bettina betina
+biblique bibliqu
+bigarrée bigar
+biscaïens biscaïen
+bière bier
+blanès blan
+blessures blesur
+blonde blond
+blâmables blamabl
+boire boir
+bombe bomb
+bonheur bonheu
+bons bon
+bordé bord
+bossi bosi
+bouches bouch
+bouffonnerie boufon
+bouillante bouilant
+bouleversé boulevers
+bourbons bourbon
+bourguignons bourguignon
+bousculés bouscul
+bouts bout
+branlante branlant
+braverais braverai
+bride brid
+brillaient brilaient
+brillé bril
+brisées bris
+brodé brod
+brouillard brouilard
+brouillé brouil
+brusquement brusqu
+bruyantes bruyant
+brûlante brulant
+brûlées brul
+bulletins buletin
+bustos busto
+bâiller bail
+bâtissant bati
+béhar beha
+bénéfice benefic
+bêché bech
+cabine cabin
+cachette cachet
+cadavre cadavr
+cages cage
+calais calai
+calendrier calendri
+calomnier calomni
+camarilla camarila
+canaille canail
+canne cane
+cantilène cantilen
+capitale capital
+capuchons capuchon
+carburé carbur
+caresseraient careseraient
+carrière carier
+cartes cart
+casimir casimi
+casseroles caserol
+castres castr
+caudataire caudatair
+cauteleuse cauteleu
+cella cela
+centaine centain
+centuplais centuplai
+certitude certitud
+cesse cese
+cette cete
+chalands chaland
+chambrette chambret
+chandelle chandel
+changée chang
+chants chant
+chapitre chapitr
+charges charg
+charles charl
+charmée charm
+chartreux chartreu
+chasseur chaseu
+chaude chaud
+chauffez chaufez
+chaussure chausur
+chaînons chainon
+chercher cherch
+chevalier chevali
+chiffonnait chifonait
+chinois chinoi
+choisies chois
+choqué choqu
+chronique chron
+chutes chut
+châtain chatain
+chèrement cher
+chétifs chetif
+cigare cigar
+cinquième cinqu
+circulation circul
+citer cit
+civilisés civilis
+clairvoyants clairvoyant
+clercs clerc
+clochettes clochet
+cloître cloitr
+cochère cocher
+coiffa coifa
+colis coli
+colliers coli
+colombes colomb
+colorié colo
+combattaient combataient
+combler combl
+commandaient comandaient
+commandé comand
+commencez comencez
+commenter coment
+commerciale comercial
+commis comi
+commuera comuera
+communie comun
+communément comunement
+comparer compar
+compensation compens
+complets complet
+complique compl
+compléter complet
+composée compos
+compromets compromet
+compromises compromis
+comptât comptat
+comtoise comtois
+concerné concern
+concluantes concluant
+condamnation condamn
+conditionnée condition
+confesserai confeserai
+confidente confident
+confié conf
+confortablement confortabl
+conférait conferait
+congé cong
+conjugale conjugal
+connaissent conaisent
+connu conu
+consacrer consacr
+conseiller conseil
+consente consent
+conservé conserv
+considération consid
+consister consist
+consommer consom
+conspiré conspir
+constitue constitu
+consulaires consulair
+conséquences consequenc
+contenir conteni
+contiennent contienent
+continuité continuit
+contractée contract
+contrarié contra
+contrebandiers contrebandi
+contresigner contresign
+contrôles control
+convenance convenanc
+convertie convert
+convocation convoc
+conçue concu
+copiée cop
+coquins coquin
+cornelii corneli
+correctif corectif
+corridors corido
+corrège coreg
+coteries cot
+couché couch
+couleur couleu
+couper coup
+coupées coup
+courber courb
+couronnaient couronaient
+courrier couri
+courtiers courti
+coussin cousin
+couvertures couvertur
+coûter cout
+craignons craignon
+craquement craqu
+crevé crev
+crinière crinier
+crièrent crierent
+croissait croisait
+crotte crot
+croyons croyon
+crues crue
+créole creol
+cuisine cuisin
+cuivre cuivr
+cures cure
+cymbales cymbal
+céderons cederon
+célébré celebr
+côtés côté
+dalmate dalmat
+dangereusement dangereus
+dante dant
+dedans dedan
+demander demand
+demeurer demeur
+dents dent
+desaix desai
+descoulis descouli
+dessein desein
+dessinaient desinaient
+desséché desech
+destitué destitu
+devenir deveni
+deviné devin
+diable diabl
+dicté dict
+difficultés dificult
+différents diferent
+diligence diligenc
+diplomates diplomat
+directeur direct
+dirigées dirig
+discrète discret
+disgracié disgrac
+dispendieuses dispendieu
+disposée dispos
+dissertation disert
+dissimulons disimulon
+dissolution disolution
+distinguer distingu
+distribue distribu
+diverses divers
+divisée divis
+doctrine doctrin
+doléances doleanc
+domination domin
+donnaient donaient
+donnerais donerai
+donnons donon
+dormît dormit
+douaire douair
+doublé doubl
+douloureuse douloureu
+doutée dout
+dramatiques dramat
+dressé dres
+dromes drom
+duellistes duelist
+durer dur
+débarquant debarquant
+débat debat
+débitaient debitaient
+débouchaient debouchaient
+débuter debut
+décampé decamp
+décharge decharg
+déchirait dechirait
+déchu dechu
+déciderez deciderez
+décisive decisif
+déclarez declarez
+déconcerta deconcerta
+décoration deco
+décourager decourag
+découvrir decouvri
+décrivant decrivant
+dédommageait dedomageait
+défaisait defaisait
+défend defend
+défends defend
+défiant defiant
+définitivement definitif
+dégagée degag
+déguenillée deguenil
+dégât degat
+déjouer dejou
+délayé delay
+délicieuse delicieu
+délivrer delivr
+démenaient demenaient
+démolissent demolisent
+déménager demenag
+dénonciation denonci
+dénuées denu
+dépassé depas
+dépendre dependr
+dépister depist
+déplaire deplair
+déplorable deplorabl
+déplut deplut
+dépositions depos
+dépouillé depouil
+dépêche depech
+déraisonnable deraisonabl
+dérobaient derobaient
+désagréable desagreabl
+désarmé desarm
+déserte desert
+désespérant desesperant
+déshonorant deshonorant
+désigner design
+désira desira
+désirée desir
+désolation desol
+détacha detacha
+détail detail
+détective detectif
+déterminait determinait
+détestaient detestaient
+détourna detourna
+détruisaient detruisaient
+déverse devers
+dévorer devor
+dévotes devot
+dînant dinant
+eccellenza ecelenza
+effacées efac
+effectives efectif
+effraie efra
+effrayée efray
+effréné efren
+eléphanta elephanta
+embarqués embarqu
+embaumée embaum
+embranchements embranch
+embrassé embras
+embûche embuch
+emmènes emen
+empestée empest
+emplissent emplisent
+employés employ
+empoisonner empoison
+emporter emport
+empressée empres
+empêcha empecha
+empêcheront empecheront
+encadrées encadr
+enchantés enchant
+encombrante encombrant
+encouragés encourag
+endors endo
+enfantines enfantin
+enferrer enfer
+enfonce enfonc
+enfuis enfui
+engendre engendr
+enjambée enjamb
+enlèvement enlev
+ennuie enu
+ennuyais enuyai
+ennuyés enuy
+enregistrer enregistr
+enseignements enseign
+entamée entam
+entendît entendit
+entiers enti
+entour entou
+entraîne entrain
+entrefaites entrefait
+entreprise entrepris
+entrevues entrevu
+envahir envahi
+envergure envergur
+environnaient environaient
+envisager envisag
+envoyâtes envoyat
+errante erant
+escapade escapad
+escortée escort
+esparres espar
+espèces espec
+espérons esperon
+essaierait esaierait
+essayées esay
+essuyer esuy
+estimer estim
+euphorbes euphorb
+exacte exact
+exagération exag
+exalté exalt
+exaspérait exasperait
+excepté except
+excitées excit
+excès excè
+exercer exerc
+exige exig
+existe exist
+explicable explicabl
+expose expos
+expression expresion
+expédier expedi
+extorqué extorqu
+extrême extrem
+exécration exec
+exécuteur execut
+fabrice fabric
+faciliter facilit
+faiblesses faibl
+faisceaux faisceau
+fallut falut
+fanatique fanat
+fantasque fantasqu
+farouches farouch
+fatalité fatalit
+fausse faus
+faveurs faveu
+façon facon
+femmelette femelet
+ferions ferion
+fermiers fermi
+ferrures ferur
+feuillage feuilag
+ficelé ficel
+figure figur
+filigrane filigran
+finds find
+finissent finisent
+fixés fixé
+flambé flamb
+flatteurs flat
+fleuves fleuv
+flottants flotant
+flûtes flut
+folles fou
+fonder fond
+fontaines fontain
+formaliste formalist
+formidables formidabl
+formés form
+fortifiées fortif
+forçait forcait
+fouettait fouetait
+fouilles fouil
+fourmilière fourmili
+fournissant fourni
+fourré four
+franche franch
+francis franci
+frappante frapant
+frappés frap
+freins frein
+fripons fripon
+froids froid
+frontins frontin
+frotté frot
+frénétique frenet
+fréquentées frequent
+fumer fum
+furibonde furibond
+fusiller fusil
+futures futur
+fâcheux facheu
+féconde fecond
+féodal feodal
+gagneras gagnera
+gaillard gailard
+galeuse galeu
+galériens galerien
+garanties garant
+gardée gard
+gascons gascon
+gazouillements gazouil
+genoux genou
+genève genev
+giberne gibern
+girofliers girofli
+glapissante glapisant
+glissons glison
+golfe golf
+gouailler gouail
+gouvernements gouvern
+goûterait gouterait
+graduellement graduel
+grandie grand
+gratius gratiu
+gravissaient gravisaient
+grenadier grenadi
+grillo grilo
+gris gri
+grondé grond
+grossier grosi
+grouillait grouilait
+grêles grel
+guettent guetent
+guillotinaient guilotinaient
+gustave gustav
+guérite guerit
+gâter gat
+génies gen
+généreusement genereus
+gênait genait
+habileté habilet
+habitants habitant
+habituelles habituel
+haies haie
+haltes halt
+harassés haras
+harpe harp
+haussement haus
+haïssaient haïsaient
+herbe herb
+heureuses heureu
+hissées hise
+hoche hoch
+homélie homel
+honorables honorabl
+honur honu
+horriblement horibl
+hottentots hotentot
+huitième huit
+humbles humbl
+humiliations humili
+hurrahs hurah
+hypocrisies hypocris
+hâtèrent haterent
+hérauts heraut
+hérodiades herodiad
+hérésie heres
+hésitiez hesitiez
+identique ident
+ignoble ignobl
+illimité ilimit
+illusion ilusion
+imaginais imaginai
+imiter imit
+imminence iminenc
+immortalisé imortalis
+imparfaite imparfait
+impayable impayabl
+impitoyable impitoyabl
+importe import
+impossibilité imposibilit
+impression impresion
+imprimées imprim
+improvisée improvis
+imprégnait impregnait
+imputations imput
+impérieusement imperieus
+inaltérable inalterabl
+inattaquables inataquabl
+incendie incend
+incidenter incident
+incommensurable incomensurabl
+inconnus inconu
+inconvenante inconvenant
+incrédulité incredulit
+indienne indien
+indigné indign
+indirecte indirect
+indisposition indispos
+indulgence indulgenc
+indécentes indecent
+indépendant independant
+inexorable inexorabl
+infernale infernal
+infliger inflig
+informée inform
+inférieures inferieur
+ingénieux ingenieu
+iniques iniqu
+injuste injust
+innombrables inombrabl
+inondée inond
+inquisition inquis
+inscriptions inscription
+insensés insens
+insister insist
+insouciance insoucianc
+inspirées inspir
+instantané instantan
+insuccès insuc
+insupportables insuportabl
+intelligent inteligent
+intentionné intention
+interjections interjection
+interprètes interpret
+interroge interog
+interrompit interompit
+intervalles interval
+intolérables intolerabl
+introduite introduit
+intéressante interesant
+intérieur interieu
+inutilite inutilit
+inventions invention
+invitations invit
+invraisemblance invraisemblanc
+inévitablement inevitabl
+irriguaient iriguaient
+irrité irit
+irréprochable ireprochabl
+isolement isol
+ivoire ivoir
+jaggernaut jagernaut
+jamais jamai
+japonaises japonais
+jaunets jaunet
+jetterais jeterai
+jeunes jeun
+jolies jol
+joueur joueu
+jouisse jouis
+journées journ
+jugement juge
+jurement jure
+jusque jusqu
+justifié justif
+kallenger kaleng
+laborieux laborieu
+laine lain
+laisserai laiserai
+laissée lais
+lames lame
+lange lang
+lança lanca
+large larg
+lataniers latani
+lauriers lauri
+lectrice lect
+lesdits lesdit
+leurs leur
+liaisons liaison
+librement libr
+lieutenance lieutenanc
+limpide limpid
+lisière lisier
+littéraire literair
+livrée livr
+locataire locatair
+logions logion
+lombardie lombard
+longue longu
+lorgnettes lorgnet
+loueras louera
+lourdeur lourdeu
+lucrative lucratif
+lumières lumier
+luttes lute
+lâcheté lachet
+légation legation
+légitimité legitimit
+léotard leotard
+machines machin
+magique magiqu
+maigrie maig
+maistre maistr
+majordomes majordom
+maladroite maladroit
+malgré malgr
+malice malic
+maltraité maltrait
+mandé mand
+maniable maniabl
+mannequins manequin
+manquerais manquerai
+manufacture manufactur
+marchande marchand
+marcheur marcheu
+mariage mariag
+maritimes maritim
+marquer marqu
+marronniers maroni
+marécageuse marecageu
+masqué masqu
+massillon masilon
+matieres matier
+matérielles materiel
+maugirons maugiron
+mayence mayenc
+meeting meting
+menaces menac
+meneurs meneu
+mentionner mention
+mercadante mercadant
+mesquine mesquin
+mesures mesur
+mette mete
+mettras metra
+meunier meuni
+meus meu
+mienne mien
+militaires militair
+minarets minaret
+ministères minist
+miroir miroi
+misère miser
+mobilité mobilit
+modèle model
+moeurs moeu
+molle mou
+monarchies monarch
+monférine monferin
+monsieur monsieu
+montais montai
+montres montr
+monté mont
+moqueurs moqueu
+mordantes mordant
+mortaretti mortareti
+mortifié mortif
+mouche mouch
+mouillés mouil
+mourrai mourai
+mousseline mouselin
+moyennes moyen
+multiplications multiplic
+murmures murmur
+musset muset
+mystique mystiqu
+mâture matur
+mécaniquement mecaniqu
+mécontent mecontent
+médiocre mediocr
+méditée medit
+mélange melang
+ménage menag
+mépris mepri
+mépriserai mepriserai
+méridionaux meridional
+méritoire meritoir
+méthodes method
+météorologiste meteorologist
+mûrement mûre
+naples napl
+nasillard nasilard
+naturelles naturel
+navigation navig
+nefs nef
+nettes nete
+neuvième neuv
+nierais nierai
+noblesse nobles
+noirs noir
+nommer nom
+normandie normand
+notices notic
+nourris nouri
+nouvelle nouvel
+noyée noye
+nuisibles nuisibl
+nègres negr
+négatif negatif
+négociants negociant
+obligation oblig
+obligé oblig
+observateur observ
+obstacle obstacl
+obtiendrais obtiendrai
+obéis obéi
+occasionner ocasion
+occupante ocupant
+occupèrent ocuperent
+océans ocean
+offensa ofensa
+offensé ofens
+officielle oficiel
+offrandes ofrand
+offris ofri
+ombre ombr
+ondulation ondul
+oppose opos
+opprobre oprobr
+opération opér
+oranges orang
+ordonnait ordonait
+ordres ordr
+organisation organ
+orientale oriental
+orner orn
+orties ort
+othello othelo
+oubliée oubl
+outrageusement outrageus
+ouvertes ouvert
+ouvrir ouvri
+pagode pagod
+paires pair
+palestine palestin
+pamphlets pamphlet
+pança panca
+paquebots paquebot
+paraissais paraisai
+parapluie paraplu
+parcourir parcouri
+pardonne pardon
+pardonné pardon
+parer par
+parfumée parfum
+parié par
+parles parl
+parmesans parmesan
+parrain parain
+parte part
+particulière particuli
+partons parton
+parût parut
+passagères pasag
+passepartout pasepartout
+passerons paseron
+passionnée pasion
+passées pase
+patiemment patiement
+patronnes patron
+pavillon pavilon
+paysages paysag
+peine pein
+pelisse pelis
+pendante pendant
+pensais pensai
+pensât pensat
+percer perc
+perdrais perdrai
+perles perl
+permettrai permetrai
+perpendiculairement perpendiculair
+perses pers
+personnelle person
+persuader persuad
+pertes pert
+pesante pesant
+petitesses petit
+peurs peur
+philosophiques philosoph
+physiques physiqu
+pieusement pieus
+pillaient pilaient
+pincée pinc
+pirate pirat
+pittoresque pitoresqu
+piémontais piemontai
+placé plac
+plaindre plaindr
+plaisamment plaisament
+plaise plais
+plante plant
+platement plat
+plaçant placant
+pleurèrent pleurerent
+plongerais plongerai
+plusieurs plusieu
+poignante poignant
+poings poing
+poissy poisy
+politesse polit
+pommeau pomeau
+ponctuelle ponctuel
+populations popul
+porteras portera
+ports port
+positions position
+possède posed
+postérité posterit
+poudre poudr
+pourceaux pourceau
+pourriez pouriez
+pourvoir pourvoi
+poussière pousi
+pozzo pozo
+pratiquais pratiquai
+premièrement premier
+prepotenze prepotenz
+presse pres
+pressée pres
+prieur prieu
+principale principal
+prisonniers prisoni
+privée priv
+probablement probabl
+proche proch
+procureur procureu
+prodigieuse prodigieu
+produites produit
+profilée profil
+profonds profond
+proie pro
+promenades promenad
+promets promet
+prompte prompt
+prononcées prononc
+prophéties prophet
+propositions propos
+propriétés propriet
+protections protection
+protégeait protegeait
+prouvée prouv
+provisions provision
+prudents prudent
+préalablement prealabl
+précieuses precieu
+précipiter precipit
+précurseur precurseu
+précédés preced
+prédécesseur predeceseu
+préférait preferait
+préjudicierait prejudicierait
+prémédité premedit
+préparait preparait
+préparât preparat
+présent present
+présenter present
+présentées present
+présidente president
+prétendaient pretendaient
+prétendue pretendu
+prévalant prevalant
+préviens previen
+prêcha precha
+prêta preta
+prêté pret
+publics public
+puiser puis
+puissent puisent
+punis puni
+purser purs
+pyrénées pyren
+pèlerinage pelerin
+pécule pecul
+péninsulaire peninsulair
+pénétrera penetrera
+périodique period
+péroré peror
+pétrifiée petrif
+quakeresse quaker
+quartier quarti
+quelque quelqu
+quichotte quichot
+quittais quitai
+quittes quit
+quotidiennement quotidien
+raccommoder racomod
+racontât racontat
+rafraîchissements rafraichi
+raisonna raisona
+raisonner raison
+ramassaient ramasaient
+rames rame
+rancunier rancuni
+ranimèrent ranimerent
+rappelaient rapelaient
+rappellerait rapelerait
+rapportait raportait
+rapporté raport
+rapprochèrent raprocherent
+rassasié rasas
+rassurait rasurait
+ratine ratin
+ravir ravi
+ravisseurs raviseu
+recharger recharg
+recommanda recomanda
+recommence recomenc
+recommençât recomencat
+reconnaissez reconaisez
+reconquis reconqui
+recouvrée recouvr
+recule recul
+redonner redon
+redouté redout
+refouler refoul
+refusées refus
+regardés regard
+regrettez regretez
+relancer relanc
+reliefs relief
+relis reli
+relâchées relach
+remarque remarqu
+rembourser rembours
+remettait remetait
+remiers remi
+remords remord
+remplaçaient remplacaient
+remue remu
+rencontrassent rencontrasent
+rencontrés rencontr
+renfermée renferm
+renonçait renoncait
+renseignements renseign
+rentrés rentr
+renvoyer renvoy
+reparaîtrait reparaitrait
+repassait repasait
+replaça replaca
+reposoir reposoi
+repoussez repousez
+reprise repris
+représentaient representaient
+reptiles reptil
+respecterais respecterai
+respirer respir
+ressemble resembl
+ressentit resentit
+restassent restasent
+restituée restitu
+retards retard
+retenues retenu
+retirée retir
+retournèrent retournerent
+retrouverons retrouveron
+revenue revenu
+reviennent revienent
+revolvers revolv
+reçue recu
+riants riant
+rideaux rideau
+rigueurs rigueu
+ritournelle ritournel
+roads road
+roches roch
+romaine romain
+rondement rond
+rosier rosi
+rouffles roufl
+roulement roul
+royalistes royalist
+ruines ruin
+russe ruse
+règnent regnent
+récapitulant recapitulant
+récitaient recitaient
+réclamait reclamait
+réconciliation reconcili
+rédigea redigea
+réduite reduit
+réfléchi reflechi
+réfugia refugia
+réfutés refut
+régla regla
+réglés regl
+régné regn
+réintégrés reintegr
+répandait repandait
+réparation repa
+répliqua repliqua
+répondez repondez
+répondrez repondrez
+république republ
+répétaient repetaient
+répétiteur repetit
+réserver reserv
+résigna resigna
+résiste resist
+résolution resolution
+résumé resum
+rétribution retribution
+réuniront reuniront
+réussirais reusirai
+réveille reveil
+révolter revolt
+révoquerai revoquerai
+révérencieuses reverencieu
+rêves rêve
+sablé sabl
+saches sach
+sacrifié sacrif
+sagacité sagacit
+saillantes sailant
+saints saint
+saisissez saisisez
+salles sale
+sanctifie sanctif
+sans san
+satiété satiet
+saute saut
+sauvage sauvag
+sauvés sauv
+saxons saxon
+sceaux sceau
+scieur scieu
+sculpteurs sculpt
+seconde second
+secoués secou
+secte sect
+semaine semain
+semelles semel
+sensible sensibl
+senties sent
+septentrionales septentrional
+serons seron
+serrure serur
+serve serv
+serviteurs servit
+shakos shako
+sierra siera
+siffler sifl
+signalée signal
+signifier signifi
+sillonnaient silonaient
+simplicité simplicit
+singeries sing
+sinistres sinistr
+sixième six
+smollett smolet
+soigneusement soigneus
+soissons soison
+solennels solenel
+sollicite solicit
+sombres sombr
+sommets somet
+songer song
+sonnera sonera
+sonné sone
+sors sor
+sorts sort
+soucieuse soucieu
+soufflent souflent
+souffrante soufrant
+souffrit soufrit
+soulevées soulev
+soumises soumis
+soupçon soupcon
+soupçons soupcon
+souriante souriant
+soutenir souteni
+souvenus souvenu
+spectacle spectacl
+spirales spiral
+spéculation specul
+statuaire statuair
+stigmates stigmat
+stupefie stupef
+stylé styl
+subjugue subjugu
+suborner suborn
+successifs sucesif
+succulentes suculent
+sucre sucr
+suffisaient sufisaient
+suffoqua sufoqua
+suisses suis
+suivons suivon
+suppliaient supliaient
+supplément suplement
+suppose supos
+supprime suprim
+supérieures superieur
+surexcité surexcit
+surnommèrent surnomerent
+surrey surey
+survenue survenu
+suspecter suspect
+syllabe sylab
+symétrie symet
+séance seanc
+sédition sedition
+séduits seduit
+sépara separa
+séparé separ
+sérénades serenad
+sûrs sûr
+tache tach
+tailla taila
+tais tai
+tambours tambou
+tannah tanah
+tarder tard
+tarés taré
+teinte teint
+temples templ
+tender tend
+teneur teneu
+tentures tentur
+terminée termin
+terres tere
+teulier teuli
+thugs thug
+thésée thes
+tiers tier
+timbrées timbr
+tirades tirad
+tirés tiré
+toilettes toilet
+tombeaux tombeau
+tonalités tonalit
+tonnes tone
+torsade torsad
+totalement total
+touchée touch
+tourbillon tourbilon
+tourne tourn
+tous tou
+tracer trac
+traduites traduit
+trahissant trahi
+traitèrent traiterent
+tranches tranch
+tranquillité tranquilit
+transformés transform
+transmissible transmisibl
+trapp trap
+travaille travail
+traversé travers
+traîneaux traineau
+tremblantes tremblant
+tres tre
+tributaires tributair
+triplé tripl
+trompe tromp
+tropicale tropical
+troubler troubl
+trousses trous
+trouvât trouvat
+trésor treso
+tumulte tumult
+tutti tuti
+tâchant tachant
+télégraphique telegraph
+témoigné temoign
+ulysse ulys
+unissaient unisaient
+ustensile ustensil
+utiles util
+vague vagu
+vainqueur vainqueu
+valoir valoi
+vanvitelli vanviteli
+vastes vast
+veilles veil
+venceslas vencesla
+venette venet
+ventes vent
+verger verg
+verrai verai
+verront veront
+vertement vert
+vesper vesp
+veuvage veuvag
+viande viand
+victime victim
+vieillards vieilard
+viennes vien
+vigoureuses vigoureu
+villa vila
+vingtième vingt
+violenté violent
+virtuose virtuos
+visite visit
+vitres vitr
+vivre vivr
+voilure voilur
+voisins voisin
+voleurs voleu
+voltiger voltig
+voluptés volupt
+votre votr
+voulussent voulusent
+voyageuse voyageu
+vraisemblablement vraisemblabl
+véhicule vehicul
+vénérable venerabl
+vérifié verif
+vêtement vête
+waterloo waterlo
+xxix xxi
+yakounines yakounin
+zénith zenith
+ébahissement ebahi
+ébouriffée ebourif
+écailles ecail
+écartée ecart
+échangées echang
+échappons echapon
+échelles echel
+échoueraient echoueraient
+éclaircir eclairci
+éclairée eclair
+éclatent eclatent
+écolier ecoli
+économisés economis
+écoulaient ecoulaient
+écoutaient ecoutaient
+écoutez ecoutez
+écria ecria
+écrirait ecrirait
+écriture ecritur
+écrive ecriv
+écroulaient ecroulaient
+écuyer ecuy
+égaiera egaiera
+égard egard
+égaya egaya
+égoïsme egoïsm
+élancé elanc
+électives electif
+élevé elev
+éloignaient eloignaient
+éloignât eloignat
+élysées elys
+élégante elegant
+émergeait emergeait
+émotion emotion
+énergumène energumen
+énorme enorm
+épanouissaient epanouisaient
+épargnez epargnez
+éperdu eperdu
+épicée epic
+épingles epingl
+épousa epousa
+épousseter epouset
+époux épou
+éprouvent eprouvent
+épuisèrent epuiserent
+équinoxe equinox
+établie etabl
+établissement etabli
+étais étai
+étancher etanch
+éteignirent eteignirent
+étendait etendait
+éternel eternel
+étiole etiol
+étonnaient etonaient
+étonnera etonera
+étouffé etouf
+étourdit etourdit
+étrangères etrang
+étroites etroit
+étudié etud
+évanouir evanoui
+éveillant eveilant
+évidaient evidaient
+éviter evit
+êtres être
+a a
+abondaient abondaient
+abri abri
+abstenez abstenez
+acacia acacia
+acheva acheva
+actuel actuel
+administra administra
+adopta adopta
+adsum adsum
+agit agit
+aida aida
+aie aie
+aimera aimera
+aire aire
+ajouteraient ajouteraient
+alfieri alfieri
+almaviva almaviva
+amant amant
+ameutant ameutant
+amusaient amusaient
+ange ange
+anno anno
+apaisa apaisa
+araceli araceli
+arlequin arlequin
+arsenic arsenic
+aspira aspira
+audit audit
+auquel auquel
+austral austral
+av av
+avec avec
+aviez aviez
+avouai avouai
+ayez ayez
+badaud badaud
+baisant baisant
+ban ban
+bastion bastion
+beaucoup beaucoup
+bentivoglio bentivoglio
+birmingham birmingham
+blason blason
+bombay bombay
+borgo borgo
+bougez bougez
+bourguignon bourguignon
+bravent bravent
+brigand brigand
+brochant brochant
+bubna bubna
+burdivan burdivan
+bâti bâti
+cacha cacha
+cacolet cacolet
+calculant calculant
+camp camp
+canta canta
+captivait captivait
+carnaval carnaval
+casal casal
+cathelineau cathelineau
+ceignait ceignait
+certificat certificat
+chameau chameau
+chanson chanson
+chapelet chapelet
+chargez chargez
+chef chef
+cherchant cherchant
+chez chez
+choisi choisi
+christ christ
+circula circula
+citant citant
+claret claret
+cloua cloua
+col col
+combien combien
+comparant comparant
+comportait comportait
+comprend comprend
+compta compta
+concert concert
+concordat concordat
+conduisant conduisant
+confit confit
+conjurant conjurant
+consentirai consentirai
+consolait consolait
+consul consul
+contemplant contemplant
+contenu contenu
+continuait continuait
+contraint contraint
+contredirait contredirait
+contrit contrit
+conviendrait conviendrait
+copiez copiez
+cornichon cornichon
+couchant couchant
+coup coup
+courait courait
+cousait cousait
+couvrent couvrent
+craint craint
+criait criait
+croient croient
+croisait croisait
+cruel cruel
+cunctando cunctando
+côté côté
+daignerait daignerait
+dandy dandy
+daté daté
+demanda demanda
+demandez demandez
+descend descend
+description description
+devait devait
+deviendraient deviendraient
+devinerait devinerait
+devrait devrait
+diderot diderot
+diminution diminution
+direz direz
+disait disait
+discutant discutant
+disposaient disposaient
+distinguaient distinguaient
+distribuent distribuent
+division division
+dolman dolman
+donjon donjon
+dos dos
+doué doué
+ducrest ducrest
+durait durait
+durini durini
+dîné dîné
+ecoutez ecoutez
+embarquait embarquait
+emploient emploient
+emporta emporta
+en en
+enduraient enduraient
+enfui enfui
+engagerai engagerai
+enrichi enrichi
+ensuivit ensuivit
+entendra entendra
+entrai entrai
+entresol entresol
+entrevoyait entrevoyait
+enviant enviant
+envoyez envoyez
+escortaient escortaient
+estimant estimant
+etre etre
+exact exact
+excitait excitait
+excusez excusez
+exila exila
+expliquait expliquait
+exposez exposez
+eût eût
+faction faction
+faisiez faisiez
+farthing farthing
+faubourg faubourg
+fay fay
+fer fer
+fermait fermait
+fierai fierai
+filait filait
+fin fin
+firent firent
+fixant fixant
+flot flot
+fond fond
+fontan fontan
+formait formait
+foscarini foscarini
+franc franc
+frisait frisait
+fuient fuient
+fusait fusait
+fé fé
+gagnait gagnait
+galon galon
+gant gant
+gardien gardien
+gentil gentil
+ghita ghita
+girondin girondin
+gobelet gobelet
+gouvernail gouvernail
+grandit grandit
+grimpait grimpait
+gré gré
+gâte gâte
+habitant habitant
+hameau hameau
+haubert haubert
+hein hein
+himalaya himalaya
+holà holà
+hui hui
+hurlent hurlent
+héla héla
+ignorent ignorent
+imita imita
+imperfection imperfection
+imposa imposa
+improvisait improvisait
+incident incident
+incrusta incrusta
+indiquant indiquant
+industriel industriel
+inn inn
+insinuera insinuera
+inspirant inspirant
+instruisait instruisait
+intercepterait intercepterait
+introduction introduction
+invitait invitait
+iriez iriez
+itou itou
+japon japon
+jersey jersey
+jeun jeun
+jonc jonc
+jouerai jouerai
+jourdan jourdan
+jugent jugent
+julien julien
+jurez jurez
+kama kama
+kiouni kiouni
+laid laid
+lard lard
+laurent laurent
+lek lek
+leva leva
+lichtenberg lichtenberg
+lincoln lincoln
+lisaient lisaient
+livraient livraient
+locomotion locomotion
+long long
+loue loue
+lu lu
+lut lut
+m m
+magasin magasin
+main main
+malagrida malagrida
+mandeb mandeb
+maniait maniait
+manquera manquera
+maquignon maquignon
+marchesino marchesino
+mariera mariera
+marquent marquent
+mat mat
+mean mean
+mention mention
+metz metz
+michigan michigan
+minuit minuit
+mme mme
+mon mon
+montait montait
+montraient montraient
+monument monument
+moral moral
+mort mort
+moulin moulin
+much much
+murmurait murmurait
+mêla mêla
+nagent nagent
+naturel naturel
+neigeait neigeait
+nice nice
+noce noce
+norbert norbert
+nouveau nouveau
+nuisait nuisait
+o o
+obligera obligera
+obstina obstina
+obtinrent obtinrent
+of of
+on on
+organisa organisa
+ornent ornent
+oscuro oscuro
+osé osé
+oublierait oublierait
+outrez outrez
+ouï ouï
+pagato pagato
+pal pal
+pan pan
+paquet paquet
+paravent paravent
+parcoururent parcoururent
+pari pari
+parlerai parlerai
+parsi parsi
+partez partez
+partout partout
+parviendront parviendront
+paternel paternel
+payait payait
+peau peau
+peloton peloton
+pensa pensa
+pension pension
+perdit perdit
+permit permit
+peuplent peuplent
+pied pied
+piochant piochant
+pistolet pistolet
+plafond plafond
+plaint plaint
+plaisantent plaisantent
+plateau plateau
+pleuvent pleuvent
+plongeant plongeant
+poignarda poignarda
+poliment poliment
+porta porta
+portion portion
+pounah pounah
+poursuivit poursuivit
+pouvant pouvant
+prendrait prendrait
+priait priait
+prison prison
+prodiguerait prodiguerait
+profilant profilant
+prolongeant prolongeant
+prononcera prononcera
+proscrivent proscrivent
+prouvait prouvait
+provoqua provoqua
+puisant puisant
+pur pur
+pépé pépé
+quand quand
+quem quem
+race race
+radouci radouci
+rajeuni rajeuni
+rampant rampant
+rasé rasé
+recevant recevant
+rechercheront rechercheront
+recouvrait recouvrait
+redevenait redevenait
+redoutaient redoutaient
+refusait refusait
+regard regard
+regardez regardez
+rejoignant rejoignant
+relevait relevait
+remarquaient remarquaient
+remerciant remerciant
+remontez remontez
+remuant remuant
+rendaient rendaient
+rendrez rendrez
+renoncera renoncera
+rentrerai rentrerai
+renza renza
+repensant repensant
+reprendrai reprendrai
+reprocherai reprocherai
+resembleth resembleth
+resta resta
+resterait resterait
+retardant retardant
+retentirent retentirent
+retirant retirant
+retournaient retournaient
+retrouverai retrouverai
+reviendrai reviendrai
+revivaient revivaient
+riant riant
+ripostaient ripostaient
+rival rival
+roch roch
+rome rome
+rose rose
+roula roula
+rowan rowan
+ruinez ruinez
+rêva rêva
+sachez sachez
+sain sain
+salomon salomon
+samuel samuel
+sanglotant sanglotant
+satisfaisant satisfaisant
+sauriez sauriez
+sauvant sauvant
+savent savent
+scandalisera scandalisera
+secondent secondent
+secundo secundo
+semblait semblait
+sentaient sentaient
+sept sept
+serment serment
+servent servent
+seul seul
+sien sien
+signez signez
+sire sire
+soie soie
+soldant soldant
+songera songera
+sortait sortait
+sortirez sortirez
+soulcy soulcy
+souri souri
+southampton southampton
+souviendra souviendra
+st st
+sterling sterling
+strongest strongest
+such such
+suivent suivent
+sujet sujet
+surhumain surhumain
+surprit surprit
+sus sus
+sûr sûr
+taisaient taisaient
+tanquam tanquam
+tarirent tarirent
+tenaient tenaient
+tenez tenez
+terzo terzo
+thé thé
+time time
+tirera tirera
+toisait toisait
+tombent tombent
+tordant tordant
+touchaient touchaient
+tourna tourna
+trac trac
+trahit trahit
+tranchait tranchait
+transit transit
+traversent traversent
+trembleront trembleront
+triomphait triomphait
+trompant trompant
+troublant troublant
+trouvent trouvent
+tu tu
+tuerait tuerait
+tuée tuée
+ultra ultra
+urne urne
+v v
+valenod valenod
+vantent vantent
+vaut vaut
+vendrai vendrai
+vengerai vengerai
+verna verna
+vespasien vespasien
+vicolo vicolo
+viendra viendra
+vil vil
+violentant violentant
+visita visita
+vivait vivait
+vocation vocation
+volaient volaient
+volez volez
+voudra voudra
+voulez voulez
+voyaient voyaient
+vécu vécu
+wandering wandering
+whist whist
+xii xii
+xxiv xxiv
+yokohama yokohama
+âgée âgée
+émoi émoi
+été été
diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/fr-minimal.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/fr-minimal.tsv
new file mode 100644
index 0000000000..e5061ae591
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/fr-minimal.tsv
@@ -0,0 +1,2000 @@
+abaisse abais
+abandonnés abandon
+ablutions ablution
+abonde abond
+abrité abrit
+abrégé abrég
+absolue absolu
+absurde absurd
+académie académi
+accablée accabl
+accepter accept
+acclamations acclamation
+accomplies accompli
+accordée accord
+accourus accouru
+accoutumés accoutum
+accueillie accueilli
+accumulés accumul
+accéder accéd
+achetées achet
+achèterons achèteron
+acquises acquis
+acrobatique acrobatiqu
+activité activit
+address addres
+administrateur administrateu
+admirables admirabl
+admirées admir
+adopte adopt
+adorateurs adorateu
+adresser adres
+adroites adroit
+adversité adversit
+affairés affair
+affecter affect
+affectés affect
+affidés affid
+affirmé affirm
+affluents affluent
+affronter affront
+agents agent
+agitées agit
+agréable agréabl
+agrémentés agrément
+aiguilles aiguil
+aimerais aimerai
+ajouterais ajouterai
+alarme alarm
+alcooliques alcooliqu
+aliène alièn
+alliance allianc
+alloue allou
+allure allur
+allées al
+altesse altes
+altérée altér
+amants amant
+ambassade ambassad
+ambulants ambulant
+amicale amical
+amourachée amourach
+amputés amput
+aménagé aménag
+ananas anana
+ancêtres ancêtr
+anglaises anglais
+animaux animal
+annoncer annonc
+annulé annul
+anonymes anonym
+antigénéreuses antigénéreus
+antiquaires antiquair
+antérieurs antérieu
+apaisée apais
+aperçue aperçu
+apoplexies apoplexi
+appareiller appareil
+appartenir apparteni
+appelés appel
+applicables applicabl
+apporte apport
+apposés appos
+apprise appris
+approchée approch
+apprécie appréci
+appuyais appuyai
+apôtres apôtr
+arbitre arbitr
+arceaux arceal
+architecture architectur
+argentée argent
+aristocratique aristocratiqu
+armoire armoir
+arpents arpent
+arrachée arrach
+arrangées arrang
+arriver arriv
+arrivée arriv
+arrosé arros
+arrêts arrêt
+article articl
+artisans artisan
+aspects aspect
+aspirer aspir
+assassins assassin
+assidue assidu
+assigné assign
+assisté assist
+assommer assom
+assurances assuranc
+asthme asthm
+astrologues astrologu
+athènes athèn
+atrocité atrocit
+attaque attaqu
+atteindre atteindr
+attelée attel
+attendrir attendri
+attentifs attentif
+attire attir
+attribuer attribu
+attrouper attroup
+aucune aucun
+auditeur auditeu
+augure augur
+aurais aurai
+auteur auteu
+autorise autoris
+autres autr
+auxquels auxquel
+avancés avanc
+avarice avaric
+aventureuse aventureus
+avertis averti
+avilir avili
+avisée avis
+babouches babouch
+bagarre bagar
+baignés baign
+baissés bais
+balancée balanc
+balourdise balourdis
+banderoles banderol
+banque banqu
+baptisé baptis
+barbone barbon
+barons baron
+barricadés barricad
+basses bas
+bataille batail
+battants battant
+battus battu
+bayadères bayadèr
+beauté beaut
+belgirate belgirat
+bergère bergèr
+beurre beur
+bielle biel
+bijoux bijou
+biscaïens biscaïen
+bizarre bizar
+blanchies blanchi
+blesse bles
+bleues bleu
+blushes blush
+boiserie boiseri
+bombés bomb
+bonhomie bonhomi
+bontés bont
+bordés bord
+bouche bouch
+bouclés boucl
+bouffes bouf
+bougie bougi
+boulettes boulet
+bouquer bouqu
+bourgade bourgad
+bourgogne bourgogn
+bourrées bour
+boutiques boutiqu
+brahmanes brahman
+branle branl
+braves brav
+bridés brid
+brillantes brillant
+briser bris
+brocanteur brocanteu
+broncher bronch
+brouillards brouillard
+brouillé brouil
+brusques brusqu
+bruyantes bruyant
+brûlons brûlon
+buissons buisson
+bureaux bureal
+buvons buvon
+bâtonne bâton
+bénéfice bénéfic
+bûcher bûch
+cabinets cabinet
+cacheter cachet
+cachées cach
+cadets cadet
+cailloux caillou
+calais calai
+calembour calembou
+calomnie calomni
+calotte calot
+cameriere camerier
+canapé canap
+cangos cango
+canons canon
+cantonnées canton
+capitaines capitain
+capture captur
+caractérise caractéris
+caresse cares
+caroubiers caroubi
+carrée car
+casanier casani
+cassandre cassandr
+cassées cas
+catherine catherin
+causes caus
+cautions caution
+celles cel
+centaine centain
+centre centr
+certaine certain
+cervelle cervel
+ceylandais ceylandai
+chaises chais
+chambranle chambranl
+chance chanc
+change chang
+changés chang
+chanteur chanteu
+chapeaux chapeal
+charade charad
+chargée charg
+charlemagne charlemagn
+charmer charm
+charrette charret
+chasser chas
+chasubles chasubl
+chauffer chauf
+chaume chaum
+chaussée chaus
+chelles chel
+cherche cherch
+chevalerie chevaleri
+cheyenne cheyen
+chiffrée chiffr
+chinoises chinois
+choisie choisi
+choqué choqu
+chromatique chromatiqu
+chrétiens chrétien
+châtaignier châtaigni
+chèques chèqu
+chétifs chétif
+cigares cigar
+cinquième cinquièm
+circulaire circulair
+ciseaux ciseal
+civile civil
+clairs clai
+classes clas
+clique cliqu
+clochettes clochet
+clôture clôtur
+cochère cochèr
+coiffure coiffur
+collaborateurs collaborateu
+colline collin
+colmar colma
+colonnade colonnad
+colossale colossal
+combattis combatti
+combler combl
+comiques comiqu
+commandée command
+commentaire commentair
+commerce commerc
+commettrais commettrai
+commuer commu
+communique communiqu
+compagnie compagni
+comparé compar
+compatriotes compatriot
+complaisantes complaisant
+complimenteurs complimenteu
+compliquées compliqu
+comporté comport
+composées compos
+comprise compris
+compromis compromi
+comptes compt
+compère compèr
+comédiens comédien
+concerté concert
+concitoyens concitoyen
+concours concou
+condamnés condamn
+conduite conduit
+confessions confession
+confiné confin
+confiées confi
+confortable confortabl
+confuse confus
+congrès congrè
+conjecturer conjectur
+conjurée conjur
+connaitre connaitr
+conquise conquis
+consacrées consacr
+conseillé conseil
+consentirais consentirai
+conservées conserv
+considéré considér
+consister consist
+consommateurs consommateu
+conspirer conspir
+constaté constat
+construire construir
+consulter consult
+conséquences conséquenc
+contenir conteni
+contes cont
+continuels continuel
+contourne contourn
+contradictoires contradictoir
+contrarier contrari
+contrastes contrast
+contrebasses contrebas
+contresigner contresign
+contrôle contrôl
+convaincue convaincu
+convenue convenu
+convertis converti
+convoitise convoitis
+copier copi
+coquetteries coquetteri
+corbeille corbeil
+cornes corn
+correspondance correspondanc
+corrigée corrig
+cosmopolite cosmopolit
+cotons coton
+coudes coud
+coulisses coulis
+couple coupl
+courage courag
+courber courb
+courier couri
+courons couron
+courses cours
+courtisanesque courtisanesqu
+couter cout
+couverture couvertur
+craché crach
+craintes craint
+cravache cravach
+criante criant
+crinière crinièr
+croirais croirai
+croissante croissant
+crottées crot
+croyants croyant
+cruelle cruel
+crédulité crédulit
+cuisante cuisant
+cuisses cuis
+culottes culot
+curieuses curieus
+céderons céderon
+célébrés célébr
+daigné daign
+dandys dandy
+danses dans
+debile debil
+demandais demandai
+demandées demand
+demoiselles demoisel
+dernier derni
+desaix desai
+descendue descendu
+despotique despotiqu
+dessiller dessil
+desséché desséch
+destinés destin
+devancer devanc
+deviens devien
+devoir devoi
+diables diabl
+dicter dict
+difficultueux difficultueu
+différente différent
+digère digèr
+diminuer diminu
+diplomatique diplomatiqu
+directoire directoir
+dirigées dirig
+discontinuer discontinu
+discuter discut
+disparaître disparaîtr
+disposer dispos
+dispute disput
+dissimule dissimul
+dissipé dissip
+distillée distil
+distinguée distingu
+distribue distribu
+divers div
+divise divis
+dixième dixièm
+documents document
+domesticité domesticit
+domine domin
+dompté dompt
+donnons donnon
+dormir dormi
+douaire douair
+doubles doubl
+douleur douleu
+douteuse douteus
+dragons dragon
+dresser dres
+droite droit
+duchesse duches
+durable durabl
+débarrasser débarras
+débattue débattu
+déborder débord
+débrouiller débrouil
+décadence décadenc
+décence décenc
+déchaîner déchaîn
+déchirées déchir
+décidées décid
+déclare déclar
+décolorée décolor
+déconvenues déconvenu
+décourager décourag
+découvrir découvri
+dédains dédain
+défaite défait
+défendre défendr
+défensive défensiv
+définitive définitiv
+dégoûté dégoût
+déguiser déguis
+déjeunons déjeunon
+délaissé délais
+délicates délicat
+délier déli
+démantelé démantel
+démesurée démesur
+déménager déménag
+dénoncé dénonc
+dépassé dépas
+dépens dépen
+dépisté dépist
+déplaire déplair
+déplorables déplorabl
+dépositaire dépositair
+dépouille dépouil
+dépérir dépéri
+déraisonnable déraisonnabl
+dérober dérob
+désagréables désagréabl
+désastre désastr
+déserte désert
+désespérais désespérai
+déshonneur déshonneu
+désigner désign
+désire désir
+désoblige désoblig
+désordonnée désordon
+détacher détach
+détaillée détail
+détendus détendu
+déterrer déter
+détourné détourn
+détruits détruit
+dévorante dévorant
+dévotes dévot
+dîners dîn
+effacer effac
+effarouché effarouch
+effleurer effleur
+effrayée effray
+effréné effrén
+emballée embal
+embarqués embarqu
+embaumé embaum
+embourser embours
+embrasé embras
+embuscade embuscad
+emmènes emmèn
+empereurs empereu
+empire empir
+employâtes employât
+empoigné empoign
+empoisonnés empoison
+empreinte empreint
+emprisonné emprison
+empêches empêch
+encadrées encadr
+enchanté enchant
+enchère enchèr
+encombré encombr
+encouragé encourag
+endormir endormi
+endurées endur
+enfermais enfermai
+enfers enf
+enflées enfl
+enfumé enfum
+engeance engeanc
+enivrer enivr
+enlevée enlev
+ennius enniu
+ennuyeuse ennuyeus
+enraciner enracin
+enrichir enrichi
+enseigner enseign
+entachés entach
+entendre entendr
+enthousiasmé enthousiasm
+entière entièr
+entour entou
+entraves entrav
+entrecoupées entrecoup
+entreprendre entreprendr
+entreras entrera
+entrons entron
+envahir envahi
+envergure envergur
+environne environ
+envisager envisag
+envoyer envoy
+errante errant
+escaliers escali
+esclave esclav
+escouade escouad
+espagnolette espagnolet
+espiègle espiègl
+espères espèr
+espérée espér
+essayer essay
+essieux essieu
+estafier estafi
+estimer estim
+euphorbes euphorb
+exactitude exactitud
+exagérées exagér
+examens examen
+exaspérer exaspér
+excentricité excentricit
+excité excit
+excuser excus
+exemplaires exemplair
+exercice exercic
+exigeons exigeon
+exister exist
+explications explication
+exploits exploit
+exposées expos
+exprimer exprim
+expédiée expédi
+extorqué extorqu
+extrême extrêm
+exécrable exécrabl
+exécutoire exécutoir
+fabrice fabric
+fabuliste fabulist
+facultés facult
+faillir failli
+falloir falloi
+familles famil
+fantaisie fantaisi
+faquins faquin
+farouches farouch
+fatigue fatigu
+faublas faubla
+fauves fauv
+favorite favorit
+felice felic
+fenêtres fenêtr
+fermeture fermetur
+ferons feron
+fervaques fervaqu
+feuillets feuillet
+fidèle fidèl
+figures figur
+filles fil
+finies fini
+flamande flamand
+flancs flanc
+flatteuses flatteus
+fleuves fleuv
+flottants flottant
+foisonne foison
+fondateur fondateu
+fondée fond
+forcée forc
+formalités formalit
+formules formul
+fortes fort
+fortune fortun
+fosses fos
+fougueux fougueu
+foules foul
+fournie fourni
+fourrier fourri
+fragile fragil
+franchir franchi
+françaises français
+frappée frap
+fraîche fraîch
+frilair frilai
+fripons fripon
+froideur froideu
+fronde frond
+fruitières fruitièr
+fréquente fréquent
+fréter frét
+fumeur fumeu
+fureur fureu
+fuseaux fuseal
+futilités futilit
+fâcheuses fâcheus
+félicité félicit
+gageure gageur
+gagnés gagn
+galeuse galeus
+galvanisées galvanis
+gangrenée gangren
+garderais garderai
+garnie garni
+gaucherie gaucheri
+gendarme gendarm
+genres genr
+genève genèv
+ghazepour ghazepou
+gigantesques gigantesqu
+glaces glac
+glisser glis
+goethe goeth
+gothique gothiqu
+goutte gout
+gouverné gouvern
+gracieuses gracieus
+grandes grand
+granvelle granvel
+gratuite gratuit
+grecque grecqu
+griefs grief
+grillée gril
+grimer grim
+groseilles groseil
+grossiers grossi
+grotte grot
+guardate guardat
+gueule gueul
+guillotiné guillotin
+gustave gustav
+gymnaste gymnast
+génies géni
+généreuse généreus
+géorgiques géorgiqu
+habillé habil
+habiteras habitera
+habituée habitu
+haillons haillon
+hambourgeois hambourgeoi
+harassés haras
+harmonieux harmonieu
+hasardé hasard
+helvétie helvéti
+heureuses heureus
+hindous hindou
+historiques historiqu
+hommage hommag
+honneur honneu
+honorable honorabl
+honteuse honteus
+horreur horreu
+hostile hostil
+housards housard
+humaniste humanist
+humides humid
+humilier humili
+hurler hurl
+hydrogène hydrogèn
+hyères hyèr
+hérauts héraut
+héritier hériti
+héroïques héroïqu
+hésiter hésit
+hôtesses hôtes
+ignoble ignobl
+ignorer ignor
+illisibles illisibl
+illustrissime illustrissim
+imagine imagin
+immanquable immanquabl
+immoler immol
+immuable immuabl
+impassibilité impassibilit
+impatientée impatient
+imperturbable imperturbabl
+impolie impoli
+importunités importunit
+impossibilité impossibilit
+impraticable impraticabl
+imprimeurs imprimeu
+impromptue impromptu
+improvisés improvis
+imprégné imprégn
+impunité impunit
+impériales impérial
+inaccoutumées inaccoutum
+inanimés inanim
+inaugurer inaugur
+incendies incendi
+incidenter incident
+inclus inclu
+incompatible incompatibl
+inconsidérée inconsidér
+inconvenantes inconvenant
+incrédule incrédul
+indicibles indicibl
+indigner indign
+indique indiqu
+indiscrets indiscret
+indisposée indispos
+indubitable indubitabl
+industrieux industrieu
+indéfinissable indéfinissabl
+inepte inept
+inexprimable inexprimabl
+infanterie infanteri
+infinis infini
+influence influenc
+informés inform
+infâmes infâm
+ingratitude ingratitud
+inhabitée inhabit
+injure injur
+injustes injust
+innombrables innombrabl
+inondés inond
+inquiète inquièt
+inscriptions inscription
+insensé insens
+insignifiants insignifiant
+insociable insociabl
+insouciance insoucianc
+inspiré inspir
+installée instal
+institutions institution
+insultante insultant
+insupportables insupportabl
+intelligences intelligenc
+intenses intens
+interceptées intercept
+interlope interlop
+interprètes interprèt
+interroger interrog
+intervalle interval
+intimité intimit
+intrigue intrigu
+intrus intru
+intéresse intéres
+intérieurs intérieu
+invalides invalid
+inventions invention
+invisibles invisibl
+invraisemblable invraisemblabl
+inéprouvé inéprouv
+ironique ironiqu
+irréguliers irréguli
+irrésistibles irrésistibl
+italienne italien
+jacobine jacobin
+jalousies jalousi
+jansénistes jansénist
+jardinage jardinag
+jaunâtres jaunâtr
+jeunesse jeunes
+jonglerie jongleri
+jouiras jouira
+jouons jouon
+joyeux joyeu
+jurerais jurerai
+justesse justes
+jérémiades jérémiad
+kanhérie kanhéri
+laborieux laborieu
+laideurs laideu
+laissé lais
+lambris lambri
+landes land
+languissante languissant
+larges larg
+latines latin
+laurier lauri
+lectrice lectric
+lesquelles lesquel
+leviers levi
+libellée libel
+libéralisme libéralism
+lignes lign
+lingère lingèr
+lisses lis
+littéraire littérair
+livrées livr
+locomotives locomotiv
+lointaines lointain
+londres londr
+longévité longévit
+louables louabl
+loueuse loueus
+louvre louvr
+lugubre lugubr
+lustre lustr
+lâcher lâch
+légendes légend
+légitimité légitimit
+léthargique léthargiqu
+madeleine madelein
+magique magiqu
+maigre maigr
+maires mair
+majesté majest
+malade malad
+maladroite maladroit
+malencontreux malencontreu
+malhonnête malhonnêt
+malmener malmen
+manche manch
+manger mang
+manifesté manifest
+manoeuvres manoeuvr
+manquerais manquerai
+mantoue mantou
+manège manèg
+marchands marchand
+marchesine marchesin
+marges marg
+marins marin
+marmots marmot
+marquis marqui
+marronniers marronni
+marâtre marâtr
+masque masqu
+massacrés massacr
+mathilde mathild
+matinée matin
+maubeuge maubeug
+maussade maussad
+maçonnerie maçonneri
+meilleur meilleu
+menace menac
+mendicité mendicit
+menteuse menteus
+menuisier menuisi
+merveilles merveil
+messager messag
+mesures mesur
+mettons metton
+meubles meubl
+meurtrier meurtri
+microscopique microscopiqu
+migraine migrain
+milliers milli
+minerve minerv
+ministérielle ministériel
+miraculeuse miraculeus
+misère misèr
+mobile mobil
+modestie modesti
+modérée modér
+moines moin
+monarchies monarchi
+mondaines mondain
+monomanes monoman
+monsignor monsigno
+montagneuse montagneus
+montre montr
+monture montur
+moqueur moqueu
+moraux moral
+mormonisme mormonism
+mortels mortel
+morveux morveu
+moucher mouch
+mouillés mouil
+mourir mouri
+mousseline mousselin
+moyenne moyen
+multicolores multicolor
+muraille murail
+musculaire musculair
+mystifier mystifi
+mystérieux mystérieu
+mécanisme mécanism
+mécontente mécontent
+médiocre médiocr
+méfiance méfianc
+mélangées mélang
+ménagements ménagement
+méprisable méprisabl
+méridionale méridional
+méritoire méritoir
+métalliques métalliqu
+métier méti
+naissante naissant
+nationale national
+naturelles naturel
+navarre navar
+naïves naïv
+netteté nettet
+neveux neveu
+nigauderie nigauderi
+nocturne nocturn
+nombre nombr
+nonante nonant
+notables notabl
+nourrice nourric
+nouveautés nouveaut
+novice novic
+nuisibles nuisibl
+nécessaires nécessair
+négociants négociant
+obligations obligation
+obliger oblig
+obscurité obscurit
+observer observ
+obsédé obséd
+obéirais obéirai
+occidentales occidental
+occupons occupon
+octave octav
+oeuvre oeuvr
+offensé offens
+officielle officiel
+offrandes offrand
+oisive oisiv
+omnibus omnibu
+oppose oppos
+opprobre opprobr
+opérée opér
+orangé orang
+ordonnance ordonnanc
+ordres ordr
+orfèvrerie orfèvreri
+orgueilleux orgueilleu
+origine origin
+orteils orteil
+ouailles ouail
+oublié oubli
+outrageantes outrageant
+outrée outr
+ouvragé ouvrag
+pacifique pacifiqu
+paieras paiera
+palais palai
+palmiers palmi
+panneaux panneal
+paperassière paperassièr
+paquebots paquebot
+paragraphe paragraph
+paralysé paralys
+paraîtrons paraîtron
+pardonnables pardonnabl
+pardons pardon
+parents parent
+parfois parfoi
+parisiennes parisien
+parlerais parlerai
+parmesans parmesan
+paroles parol
+partager partag
+parterre parter
+particulière particulièr
+partisans partisan
+parviendrons parviendron
+passages passag
+passeports passeport
+passionne passion
+passive passiv
+paterne patern
+patricienne patricien
+patronnes patron
+pauwell pauwel
+paysages paysag
+peines pein
+peinés pein
+pendable pendabl
+pendules pendul
+penser pens
+pensées pens
+perché perch
+perdue perdu
+permanente permanent
+perplexités perplexit
+perses pers
+personnalité personnalit
+perspective perspectiv
+persécutions persécution
+perversité perversit
+pester pest
+peuples peupl
+phileas philea
+phosphorescentes phosphorescent
+physique physiqu
+pierres pier
+pillage pillag
+pincée pinc
+piqués piqu
+pitoyable pitoyabl
+piémontais piémontai
+placée plac
+plaindrais plaindrai
+plaintive plaintiv
+plaisanteries plaisanteri
+planche planch
+planter plant
+platanes platan
+please pleas
+pleurs pleu
+plongé plong
+plâtre plâtr
+poignards poignard
+poings poing
+poissonnerie poissonneri
+polies poli
+polygames polygam
+pommiers pommi
+poneys poney
+portative portativ
+porteur porteu
+portons porton
+positions position
+possibles possibl
+postérité postérit
+poudrées poudr
+poupées poup
+pourrions pourrion
+poursuivre poursuivr
+poussés pous
+poésie poési
+pratique pratiqu
+premiers premi
+prends prend
+presque presqu
+pressoir pressoi
+prestigieux prestigieu
+primitives primitiv
+principaux principal
+prisonnière prisonnièr
+privées priv
+probantes probant
+proche proch
+procurer procur
+procédé procéd
+prodiguer prodigu
+profanateur profanateu
+profilée profil
+profondeur profondeu
+progrès progrè
+prolonger prolong
+promeneur promeneu
+promets promet
+prompte prompt
+prononcés prononc
+propice propic
+proposer propos
+propriétaire propriétair
+prosélytisme prosélytism
+protestations protestation
+protégés protég
+provence provenc
+provinciaux provincial
+prudence prudenc
+prusse prus
+préceptes précept
+précipiter précipit
+précurseur précurseu
+prédestiné prédestin
+prédécesseur prédécesseu
+préférables préférabl
+préjugé préjug
+préoccupations préoccupation
+préparatoires préparatoir
+présage présag
+présentes présent
+préserver préserv
+présomptions présomption
+prétends prétend
+prétoire prétoir
+préviens prévien
+prêché prêch
+prôner prôn
+publics public
+puiser puis
+puisse puis
+pupille pupil
+pusillanimes pusillanim
+pâlissantes pâlissant
+pécher péch
+pélicans pélican
+pénètre pénètr
+périmètre périmètr
+pérouse pérous
+pétrole pétrol
+quakeresse quakeres
+quarante quarant
+quatrième quatrièm
+quelques quelqu
+quiconque quiconqu
+quittais quittai
+quoerens quoeren
+rabâchage rabâchag
+racine racin
+rafale rafal
+raidie raidi
+raisonne raison
+ralentir ralenti
+rambarde rambard
+ramures ramur
+rangées rang
+rapide rapid
+rappelée rappel
+rapports rapport
+rapprochées rapproch
+rassemblé rassembl
+rasséréner rassérén
+ravins ravin
+ravoir ravoi
+recevoir recevoi
+rechigné rechign
+recommandés recommand
+reconnaissance reconnaissanc
+recoucher recouch
+recouvrir recouvri
+recueillir recueilli
+redevenue redevenu
+redoublé redoubl
+refaire refair
+refouler refoul
+refusé refus
+regarder regard
+regrets regret
+rejaillir rejailli
+relative relativ
+relier reli
+relire relir
+relâché relâch
+remarquable remarquabl
+remarquée remarqu
+remercierais remercierai
+remettras remettra
+remontrance remontranc
+remplace remplac
+remplir rempli
+remèdes remèd
+rencontrâmes rencontrâm
+rendue rendu
+renfrogné renfrogn
+renouer renou
+rentre rentr
+renverse renvers
+renvoyé renvoy
+repartir reparti
+reperdre reperdr
+reposer repos
+repoussé repous
+representations representation
+reproches reproch
+représenter représent
+respectables respectabl
+respects respect
+respirer respir
+ressemblé ressembl
+ressources ressourc
+resteras restera
+retardataire retardatair
+retentir retenti
+retirerais retirerai
+retomber retomb
+retracer retrac
+retrouver retrouv
+revenir reveni
+revienne revien
+revolvers revolv
+rhubarbe rhubarb
+richissime richissim
+rigueur rigueu
+risqué risqu
+rivière rivièr
+rocher roch
+roiville roivil
+rompre rompr
+ronflements ronflement
+rouges roug
+routes rout
+rubempré rubempr
+ruinées ruin
+russie russi
+réapprovisionner réapprovision
+réciter récit
+récompense récompens
+rédacteurs rédacteu
+réduits réduit
+réfractaire réfractair
+réfutés réfut
+réglementaire réglementair
+régner régn
+régénérateur régénérateu
+réjouissances réjouissanc
+réparée répar
+répondre répondr
+république républiqu
+répéterons répéteron
+réserve réserv
+réservés réserv
+résistance résistanc
+résoudre résoudr
+rétabliras rétablira
+réussirais réussirai
+réveillés réveil
+révolues révolu
+révélé révél
+rêveries rêveri
+sabrés sabr
+sacrifices sacrific
+sacristie sacristi
+sagesse sages
+saillants saillant
+saints saint
+saisîtes saisît
+saltimbanques saltimbanqu
+sanctus sanctu
+sapins sapin
+satisfaire satisfair
+saurais saurai
+sauvages sauvag
+sauvée sauv
+saville savil
+scandale scandal
+scellé scel
+scintillants scintillant
+sculpteurs sculpteu
+secatore secator
+secours secou
+secrètes secrèt
+seigneuries seigneuri
+semble sembl
+sensations sensation
+sentence sentenc
+sentimentales sentimental
+septentrionale septentrional
+serments serment
+serrure serrur
+serviable serviabl
+serviteur serviteu
+shakspeare shakspear
+siffler siffl
+signalée signal
+significatives significativ
+silencieuse silencieus
+simagrées simagr
+sincère sincèr
+singularité singularit
+sinistres sinistr
+siècle siècl
+société sociét
+soigné soign
+soixantième soixantièm
+solides solid
+solliciter sollicit
+sombres sombr
+somptuosité somptuosit
+sonneries sonneri
+sonnés son
+sortes sort
+sortis sorti
+soucieux soucieu
+souffrais souffrai
+souffrirais souffrirai
+soulagée soulag
+soumettre soumettr
+soupir soupi
+soupçonneux soupçonneu
+sourciliers sourcili
+sourire sourir
+soutenir souteni
+souvenirs souveni
+soyeux soyeu
+spectre spectr
+splendides splendid
+squelette squelet
+statue statu
+sterne stern
+stupefie stupefi
+stupéfié stupéfi
+subjugué subjugu
+suborner suborn
+substituées substitu
+successor successo
+succéder succéd
+suffisantes suffisant
+suisse suis
+suivie suivi
+sujette sujet
+supplice supplic
+supporter support
+supposés suppos
+supérieure supérieur
+surchauffée surchauf
+surmonte surmont
+surpassé surpas
+surveillance surveillanc
+survenue survenu
+suspecte suspect
+sutpour sutpou
+symbole symbol
+symétrie symétri
+sèches sèch
+sédentaire sédentair
+séduisants séduisant
+séminariste séminarist
+séparées sépar
+sérénissime sérénissim
+tabagie tabagi
+tablier tabli
+taffetas taffeta
+taillées tail
+tambourins tambourin
+tankardere tankarder
+tapissiers tapissi
+tartines tartin
+teinte teint
+température températur
+tender tend
+tendus tendu
+tenter tent
+terminé termin
+terrassiers terrassi
+terrible terribl
+thomas thoma
+théories théori
+tienne tien
+timbrée timbr
+tirades tirad
+titres titr
+toiture toitur
+tombone tombon
+tonneaux tonneal
+tordre tordr
+torture tortur
+touchante touchant
+touchée touch
+toupie toupi
+tourmentée tourment
+tournure tournur
+toutes tout
+tracées trac
+tragiques tragiqu
+trahisse trahis
+traités trait
+tranchés tranch
+transatlantique transatlantiqu
+transformée transform
+transmettre transmettr
+transports transport
+trapues trapu
+travers trav
+traversés travers
+traître traîtr
+trembler trembl
+tressaillir tressailli
+tributaires tributair
+triomphes triomph
+tristesses tristes
+tromperais tromperai
+tropicale tropical
+trouble troubl
+troupe troup
+trouveras trouvera
+trouvées trouv
+tuerais tuerai
+turbans turban
+tyrans tyran
+télégraphiques télégraphiqu
+témoins témoin
+uniforme uniform
+urbanité urbanit
+usurpé usurp
+vacante vacant
+vaincue vaincu
+valeur valeu
+vandalisme vandalism
+variétés variét
+veiller veil
+velléités velléit
+vendredis vendredi
+venise venis
+verdure verdur
+vernaye vernay
+verrons verron
+vertes vert
+vestes vest
+vexations vexation
+vicaire vicair
+victimes victim
+vieille vieil
+viennes vien
+viharis vihari
+village villag
+vingtième vingtièm
+violenté violent
+vipère vipèr
+visibles visibl
+visons vison
+vivandières vivandièr
+vivrons vivron
+voilés voil
+volaille volail
+volontaire volontair
+voltiger voltig
+voluptueux voluptueu
+voudras voudra
+voyage voyag
+voyagé voyag
+vulgaires vulgair
+vénales vénal
+vénérées vénér
+vérité vérit
+vêtues vêtu
+xxviii xxvii
+zonders zond
+éblouissante éblouissant
+écailles écail
+écartée écart
+échangées échang
+échappée échap
+échelles échel
+échoué échou
+éclairée éclair
+éclats éclat
+économe économ
+économisés économis
+écouler écoul
+écoutes écout
+écrasées écras
+écrits écrit
+écrivante écrivant
+écurie écuri
+éduquer éduqu
+égares égar
+égorger égorg
+égypte égypt
+électeurs électeu
+élevée élev
+éloigné éloign
+élysées élys
+éléments élément
+émeute émeut
+énergie énergi
+énigmatique énigmatiqu
+éolienne éolien
+épargnée épargn
+éperdue éperdu
+épiderme épiderm
+épingles épingl
+épouse épous
+épouvantable épouvantabl
+éprise épris
+épuisé épuis
+équinoxe équinox
+éreinté éreint
+étages étag
+étangs étang
+étendue étendu
+étienne étien
+étions étion
+étonnante étonnant
+étonnées éton
+étourderies étourderi
+étrangeté étranget
+étriers étri
+étudier étudi
+évanouie évanoui
+éveillées éveil
+évidentes évident
+a a
+abbé abbé
+aboyaient aboyaient
+absorbaient absorbaient
+académicien académicien
+accident accident
+accordait accordait
+accroissaient accroissaient
+acharnant acharnant
+acquit acquit
+adjugeait adjugeait
+admît admît
+adressant adressant
+affection affection
+affront affront
+agit agit
+aidait aidait
+aigrement aigrement
+aimiez aimiez
+ajoutera ajoutera
+aliment aliment
+allât allât
+amai amai
+ami ami
+amusement amusement
+angela angela
+anno anno
+antidata antidata
+aplatit aplatit
+appartiennent appartiennent
+applaudi applaudi
+apprenait apprenait
+apprêtait apprêtait
+ardemment ardemment
+arnauld arnauld
+arrivant arrivant
+arrêtera arrêtera
+aspiciam aspiciam
+assirent assirent
+assuraient assuraient
+attachèrent attachèrent
+attendit attendit
+attirerait attirerait
+augmentaient augmentaient
+aurungabad aurungabad
+avait avait
+averti averti
+avis avis
+avril avril
+badaud badaud
+balancement balancement
+bank bank
+bastion bastion
+battu battu
+benjamin benjamin
+bienveillant bienveillant
+blessaient blessaient
+blés blés
+bonnement bonnement
+bosco bosco
+boulot boulot
+bravait bravait
+brillaient brillaient
+brodé brodé
+bruyant bruyant
+bulle bulle
+bâbord bâbord
+bénis bénis
+cacha cacha
+cage cage
+camarilla camarilla
+capitani capitani
+carlino carlino
+case case
+causa causa
+cenis cenis
+cessera cessera
+changeant changeant
+chapelet chapelet
+chassa chassa
+chef chef
+chers chers
+choisissait choisissait
+châle châle
+cimarosa cimarosa
+citation citation
+clerc clerc
+coach coach
+collé collé
+commandant commandant
+commettra commettra
+comparait comparait
+comportait comportait
+comprit comprit
+concernaient concernaient
+condamneront condamneront
+confirma confirma
+congédiant congédiant
+conseilla conseilla
+considérait considérait
+constitutionnel constitutionnel
+contenaient contenaient
+continua continua
+contrariez contrariez
+convenaient convenaient
+convulsivement convulsivement
+corea corea
+corso corso
+couds couds
+coupé coupé
+courût courût
+coûte coûte
+crescenzi crescenzi
+critiquent critiquent
+croissait croissait
+crème crème
+curés curés
+cérès cérès
+daignât daignât
+dansant dansant
+del del
+demeurait demeurait
+descendu descendu
+destituerai destituerai
+deviendrez deviendrez
+devraient devraient
+différend différend
+dire dire
+discerna discerna
+disparu disparu
+dissimulant dissimulant
+distribuez distribuez
+doge doge
+donjon donjon
+dont dont
+doubt doubt
+drapeau drapeau
+dupes dupes
+durât durât
+débit débit
+déchirant déchirant
+déclarez déclarez
+décrivaient décrivaient
+défendent défendent
+dégrisa dégrisa
+délégation délégation
+dénotait dénotait
+déplairez déplairez
+députation députation
+désertion désertion
+désoeuvrement désoeuvrement
+déterminât déterminât
+dévoraient dévoraient
+dît dît
+effet effet
+elle elle
+embrassant embrassant
+emploierait emploierait
+emportement emportement
+empêchez empêchez
+enfer enfer
+engagea engagea
+enlèvent enlèvent
+enrichi enrichi
+entendez entendez
+entrant entrant
+entretinrent entretinrent
+enverrez enverrez
+equinoctial equinoctial
+espéra espéra
+estimant estimant
+eussiez eussiez
+examina examina
+excusant excusant
+exile exile
+exposait exposait
+extravagant extravagant
+facilitait facilitait
+fait fait
+fascination fascination
+faute faute
+femme femme
+fermerait fermerait
+fiers fiers
+fili fili
+finissent finissent
+fixer fixer
+flottaient flottaient
+folio folio
+fontenoy fontenoy
+formera formera
+fouet fouet
+fox fox
+frappât frappât
+front front
+fumaient fumaient
+futura futura
+félix félix
+gagnez gagnez
+galopait galopait
+gardez gardez
+gens gens
+giovita giovita
+glissera glissera
+gouvernail gouvernail
+grandement grandement
+grianta grianta
+gros gros
+guidant guidant
+gâté gâté
+gênes gênes
+haie haie
+hasard hasard
+haïssaient haïssaient
+heureusement heureusement
+holà holà
+hugo hugo
+hutte hutte
+hésita hésita
+ignes ignes
+imagination imagination
+impatientait impatientait
+imposent imposent
+impératif impératif
+inclination inclination
+indignation indignation
+indus indus
+inhalation inhalation
+inquiétait inquiétait
+inspirent inspirent
+insulta insulta
+interrogeant interrogeant
+introduisit introduisit
+invinciblement invinciblement
+irez irez
+island island
+jacopo jacopo
+jean jean
+jetée jetée
+jolis jolis
+jouirait jouirait
+juché juché
+jules jules
+jurée jurée
+kent kent
+laine laine
+lampe lampe
+larguait larguait
+least least
+lest lest
+libre libre
+linge linge
+lits lits
+location location
+long long
+louera louera
+lugano lugano
+lyre lyre
+lélio lélio
+magistrat magistrat
+major major
+mandarin mandarin
+manié manié
+manuel manuel
+mari mari
+marquinot marquinot
+matin matin
+melzi melzi
+mené mené
+mettrai mettrai
+michigan michigan
+minuit minuit
+modification modification
+momie momie
+montez montez
+monté monté
+mormon mormon
+mouchent mouchent
+mr mr
+musicien musicien
+mènerait mènerait
+ménagera ménagera
+méry méry
+mûrir mûrir
+nasillard nasillard
+ne ne
+news news
+noces noces
+nonchalant nonchalant
+nourrissent nourrissent
+nuire nuire
+nécessitant nécessitant
+obligeamment obligeamment
+obstinait obstinait
+obéirez obéirez
+ocre ocre
+officiellement officiellement
+ombre ombre
+opposerai opposerai
+organisa organisa
+orné orné
+oseraient oseraient
+oublierez oublierez
+ouvrez ouvrez
+page page
+pale pale
+pape pape
+paraîtrai paraîtrai
+pardonnent pardonnent
+parièrent parièrent
+parlé parlé
+parti parti
+parviendraient parviendraient
+passepartout passepartout
+patinant patinant
+payera payera
+peiné peiné
+pense pense
+perdait perdait
+permettent permettent
+persécutait persécutait
+peut peut
+pile pile
+piqué piqué
+placera placera
+plairait plairait
+planterez planterez
+pleurèrent pleurèrent
+plum plum
+poisson poisson
+poney poney
+portion portion
+posé posé
+poursuivaient poursuivaient
+pouvait pouvait
+prenez prenez
+prierai prierai
+prièrent prièrent
+produisait produisait
+prolongea prolongea
+prononcerait prononcerait
+prospèrent prospèrent
+provenaient provenaient
+précipitamment précipitamment
+préjudicierait préjudicierait
+présentait présentait
+prétendez prétendez
+prêchant prêchant
+puisant puisant
+puntiglio puntiglio
+père père
+péris péris
+quando quando
+quittant quittant
+races races
+raies raies
+ramasseraient ramasseraient
+ranima ranima
+rapporterait rapporterait
+rassura rassura
+raynal raynal
+recit recit
+reconduit reconduit
+recueilli recueilli
+redoutaient redoutaient
+refusiez refusiez
+regret regret
+relativement relativement
+remarquaient remarquaient
+remettrait remettrait
+remplissaient remplissaient
+rencontreraient rencontreraient
+rendît rendît
+rentra rentra
+renvoyiez renvoyiez
+repassait repassait
+reprenant reprenant
+représenta représenta
+respiration respiration
+restait restait
+resté resté
+retiendrai retiendrai
+retournaient retournaient
+revenez revenez
+revissent revissent
+ri ri
+rimes rimes
+rives rives
+romagnan romagnan
+rose rose
+rougit rougit
+rude rude
+râpé râpé
+récitatif récitatif
+réflexion réflexion
+réglera réglera
+répandit répandit
+répondit répondit
+répétez répétez
+résultat résultat
+réunit réunit
+révérend révérend
+s s
+sagement sagement
+saki saki
+san san
+sat sat
+sautait sautait
+savaient savaient
+scier scier
+secouru secouru
+semblaient semblaient
+sentaient sentaient
+serieusement serieusement
+serve serve
+sfondrata sfondrata
+sifflement sifflement
+signé signé
+sitôt sitôt
+soignant soignant
+sols sols
+songeât songeât
+sort sort
+sotte sotte
+souffrissent souffrissent
+soupçonnaient soupçonnaient
+southey southey
+speedy speedy
+steward steward
+su su
+succédait succédait
+suffit suffit
+suivront suivront
+supposition supposition
+surprenait surprenait
+susdit susdit
+sémillant sémillant
+tabac tabac
+talma talma
+tarderait tarderait
+tellement tellement
+tenta tenta
+terzo terzo
+théâtral théâtral
+tinrent tinrent
+tirée tirée
+tombassent tombassent
+tordait tordait
+toucherez toucherez
+tous tous
+trahissant trahissant
+tranchant tranchant
+trapp trapp
+traîtreusement traîtreusement
+tric tric
+trop trop
+trouvant trouvant
+tuait tuait
+tutto tutto
+témoignait témoignait
+unies unies
+utilisaient utilisaient
+valait valait
+vas vas
+venaient venaient
+vengera vengera
+verni verni
+verticalement verticalement
+vi vi
+viendrai viendrai
+vile vile
+visa visa
+vivant vivant
+voies voies
+volet volet
+voté voté
+voulût voulût
+vue vue
+vêtue vêtue
+wharf wharf
+xv xv
+xérès xérès
+âges âges
+ébranla ébranla
+échoiront échoiront
+éclatent éclatent
+écouteront écouteront
+écrivait écrivait
+égaiera égaiera
+élança élança
+éloignerai éloignerai
+émigrera émigrera
+épargna épargna
+épousant épousant
+équarrissaient équarrissaient
+était était
+étendant étendant
+étourdissait étourdissait
+évanouirent évanouirent
+être être
diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/hu-light.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/hu-light.tsv
new file mode 100644
index 0000000000..0756602065
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/hu-light.tsv
@@ -0,0 +1,2000 @@
+abazin abaz
+abból abbol
+ablaknyílásokkal ablaknyilas
+ablakából abl
+abszurditásán abszurditas
+acélrúd acelru
+adaptert adapt
+adataira adat
+adatbányászati adatbanyaszat
+adatbázis-központú adatbazis-kozpontu
+adatbázist adatbazis
+adatfolyamnak adatfoly
+adathálózat adathaloz
+adatkommunikációját adatkommunikacioj
+adatok adat
+adatpiacoknak adatpiac
+adatszolgáltatásokból adatszolgaltatas
+adattárakra adattar
+adatvesztéseket adatvesztes
+addigi addig
+adhatók adh
+adminisztrált adminisztral
+adnák adn
+adományozom adomanyoz
+adtam adt
+adáshoz adas
+adására adas
+adócsaló adocsal
+adófizetõk adofizet
+adókon ado
+adórendõrség adorendorseg
+adósságok adossag
+adótörvényben adotorveny
+afelé afel
+aggasztónak aggaszt
+aggresszív aggressziv
+aggódtam aggodt
+agrárdiplomás agrardiplomas
+agrártárcánál agrartarc
+agybajt agybaj
+agyonlövik agyonlov
+agytornafélére agytornafel
+agárdi agard
+ajkak ajk
+ajtófélfa ajtofelf
+ajtóval ajt
+ajándékozásnál ajandekozas
+ajánlatok ajanl
+ajánlatukkal ajanlat
+ajánlották ajanlott
+akadt aka
+akadályozom akadalyoz
+akadémiák akadem
+akaratoknak akar
+akarjuk akarj
+akarta akart
+akasztom akaszt
+akciókhoz akc
+akikkel aki
+akkumulátormodul akkumulatorm
+aktatömeggel aktatomeg
+aktusához aktus
+akárhol akarhol
+akörül akor
+alakban ala
+alakjára alakj
+alakulat alakul
+alakulása alakulas
+alakzatát alakzat
+alakítottam alakitott
+alanya alany
+alapcímletekre alapciml
+alapelvének alapelv
+alapfunkciókban alapfunkc
+alapjainál alapj
+alapkezelõk alapkezel
+alaplapban alaplap
+alapokon alap
+alapozta alapozt
+alapszabály-módosításra alapszabaly-modositas
+alapszik alapsz
+alaptípusa alaptipus
+alaptõkébõl alapt
+alapuljon alapulj
+alapértelmezéstõl alapertelmezes
+alkoholistákat alkoholist
+alkotják alkotj
+alkotmánysértést alkotmanysertes
+alkotásaihoz alkotas
+alkotásról alkotas
+alkotójával alkot
+alkönyvtár alkonyvtar
+alközpontjait alkozpontj
+almappák almapp
+alpinistákat alpinist
+alsó-középosztályokat also-kozeposztaly
+alsós alsos
+altípusaik altipus
+aluliak alul
+alumíniumtrösztnél aluminiumtroszt
+alvásra alvas
+alábbiakból alabb
+alárendelve alarendel
+alázni alazn
+aláírásnál alairas
+ambiciózus ambiciozus
+amelyekbe amely
+amelyikbõl amely
+amennyire amenny
+amierikaiak amierika
+amilyennel amilyen
+amputált amputal
+andalító andalit
+angolt angol
+annyiból anny
+antibakteriális antibakterialis
+antológiájának antologi
+anyagiakat anyag
+anyagra anyag
+anyakönyvezték anyakonyvez
+anyavállalata anyavallalat
+anyukámnak anyu
+anyámat any
+apacstanyára apacstany
+apjuknak apj
+apparátustól apparatus
+apporttal apport
+apróbb aprobb
+apuci apuc
+apácák apac
+apósomat apos
+aranylábú aranylabu
+aranyszerdájával aranyszerd
+araszoló araszol
+arckifejezését arckifejezes
+arculatuk arculat
+arisztokráciák arisztokrac
+arányban arany
+arányáról arany
+asszonyok asszony
+aszok asz
+asztalkához asztal
+asztalukon asztal
+atlanti atlant
+atomtechnika atomtechn
+babonákkal babon
+baglyokat bagly
+bajlódás bajlodas
+bajorok bajor
+baktató baktat
+balesetek bales
+balkezestõl balkezes
+ballábasának ballabas
+balti balt
+bank ban
+bankkal ban
+banknév banknev
+bankszámlájára bankszaml
+barangolásunk barangolas
+barlangja barlangj
+barokk barok
+barátainkkal barat
+barátkozik baratkoz
+barátnõjéhez baratn
+barátnõméknél baratnom
+barátomhoz barat
+barátságok baratsag
+barátunknál barat
+beakadjak beakadj
+becsomagoltunk becsomagolt
+becsúsztatta becsusztat
+becsüli becsul
+becézzük becezz
+bedobóját bedoboj
+beengedtek beenged
+befejelte befejelt
+befejezése befejezes
+befektetés befektetes
+befektetésére befektetes
+befizetem befizet
+befizetési befizetes
+befogadtak befogadt
+befolyásolhat befolyasolh
+befolyásolását befolyasolas
+befordulok befordul
+begyalogoltunk begyalogolt
+begépelhetjük begepelhetj
+behajtása behajtas
+behipírozzák behipirozz
+behívott behivot
+bekapcsolják bekapcsolj
+bekapcsolódunk bekapcsolod
+bekerülését bekerules
+bekezdésnél bekezdes
+bekukkantott bekukkantot
+beköszöntõben bekoszont
+bekövetkezését bekovetkezes
+beleborultak beleborult
+beleegyezés beleegyezes
+belefestékezhetnek belefestekezhet
+belegondoltam belegondolt
+beleibe bel
+belekezdtek belekezd
+belemelegedne belemelegedn
+belenyúltam belenyult
+belerohantak belerohant
+beleszárad beleszar
+beletartozik beletartoz
+beleunnánk beleunn
+beleépített beleepitet
+belföldiekkel belfold
+belsejében bels
+beltagok beltag
+belátná belatn
+berendezésgyártó berendezesgyart
+berontottak berontott
+beruházótól beruhaz
+besorolásában besorolas
+beszedésének beszedes
+beszerzése beszerzes
+beszlopáltam beszlopalt
+beszállítójává beszallit
+beszámolóinak beszamol
+beszámításnak beszamitas
+beszédfelismerõ beszedfelismer
+beszédének beszed
+beszélgettem beszelgett
+beszélgetésük beszelgetes
+beszéljelek beszeljel
+beszélték beszel
+beszólások beszolas
+betakarja betakarj
+betartásában betartas
+betegnek beteg
+betegségét betegseg
+betelepülés betelepules
+beterítik beterit
+betolni betoln
+betársul betars
+betétet betet
+betöltetlen betoltetl
+betömhetnék betomhet
+betûcsoport betucsopor
+betûszó betusz
+bevallott bevallot
+beveszi bevesz
+bevetéseken bevetes
+bevezetések bevezetes
+bevezetõ bevezet
+bevonandó bevonand
+bevonulását bevonulas
+bevágok bevag
+bevándorlókból bevandorl
+bevásároltunk bevasarolt
+bevételforrásokat bevetelforras
+bezáratott bezaratot
+bezárásakor bezarasakor
+beálltához beallt
+beállítottam beallitott
+beállításban beallitas
+beállítófelületen beallitofelulet
+beépíthetõ beepithet
+beérkeztünk beerkezt
+beírható beirhat
+beülni beuln
+bibliográfiáját bibliografiaj
+biciklim bicikl
+bicikliznék bicikliz
+bilincselték bilincsel
+billentyûs billentyus
+biológiánk biologi
+birodalmat birodalm
+birtokoljuk birtokolj
+bizalmasságnak bizalmassag
+bizományba bizomany
+bizonyságot bizonysag
+bizonyult bizonyul
+bizonyítottság bizonyitottsag
+bizonyítása bizonyitas
+bizottságba bizottsag
+biztatni biztatn
+biztonságkockázati biztonsagkockazat
+biztonságukkal biztonsag
+biztosít biztos
+biztosítottnál biztositott
+biztosításával biztositas
+biztosítótársaságot biztositotarsasag
+blúzok bluz
+bocsátana bocsatan
+bocsátottuk bocsatott
+bográcsos bogracsos
+bokamozdulatok bokamozdul
+bokályokat bokaly
+boldogságra boldogsag
+boltban bolt
+boltról bolt
+bombariadó bombariad
+bombázásokról bombazas
+bontani bontan
+bontású bontasu
+bonyolulttá bonyolult
+borjút borju
+borostás borostas
+borpincék borpinc
+borzadállyal borzadallyal
+borából bor
+borízû borizu
+bosszú bosszu
+boszniai boszni
+botlik botl
+botrányos botranyos
+bravúrok bravur
+bringáztunk bringazt
+brókercége brokerceg
+buddhizmusról buddhizmus
+bukkantak bukkant
+bukásra bukas
+bulin bul
+bunkósbothoz bunkosbot
+burnusznak burnusz
+buszmegbe buszmeg
+buszpályaudvarra buszpalyaudvar
+butasága butasag
+buzdításokkal buzditas
+bábfilmben babfilm
+bádogdobozba badogdoboz
+bálnavadászati balnavadaszat
+bámészkodtunk bameszkodt
+bánt bant
+bántsak bants
+bányái bany
+bányászokat banyasz
+bárgyúság bargyusag
+bármelyikkel barmely
+bármire barm
+bárányt barany
+bátorítja batoritj
+bátyámat baty
+bázisul bazis
+békegalambot bekegalamb
+békéjét bekej
+bélésanyagot belesanyag
+bérbeadásához berbeadas
+bérelnie berelni
+bérgyártója bergyart
+bérletidíj-emelésrõl berletidij-emeles
+bért bert
+bíborvörösek biborvoros
+bírságot birsag
+bírálatában biralat
+bíróküldéssel birokuldes
+bízhat bizh
+bíztatási biztatas
+bódultjai bodultj
+bólintottak bolintott
+bõrnek bor
+bõvülési bovules
+bölcsek bolcs
+bömbölték bombol
+börtönrendszerek bortonrendszer
+búcsúzkodtunk bucsuzkodt
+bújnom bujn
+bútorokat butor
+búzát buz
+bûnmegelõzési bunmegelozes
+bûntárgyalás buntargyalas
+bûnözés bunozes
+bûvkörébõl buvkor
+büdzsétervekben budzseterv
+büntetendõ buntetend
+büntetést buntetes
+bürokráciája burokraci
+jajkiáltásokat jajkialtas
+javadalmazást javadalmazas
+javaslatok javasl
+javul jav
+javáért jav
+javítottam javitott
+jegyzést jegyzes
+jegyzõkönyvhöz jegyzokonyv
+jobbat jobb
+járási jaras
+játszóházzal jatszohaz
+játékból jat
+játéknál jat
+játékosokat jatekos
+játékszabályok jatekszabaly
+jázmin jazm
+jégrõl jeg
+jóformán joform
+jóindulatúak joindulatu
+jóképû jokepu
+jólétnek jolet
+jóslat josl
+jósolta josolt
+jótékonyság jotekonysag
+jóváhagyásokat jovahagyas
+jóváírási jovairas
+jóízûen joizu
+jöjjünk jojj
+jöttünk jott
+jövedelempolitikai jovedelempolitik
+jövedelmezõ jovedelmez
+jövetel jovetel
+jövõjével jov
+jövõrõl jov
+júniusra junius
+kabinja kabinj
+kabátjára kabatj
+kacskaringósat kacskaringos
+kajakszövetség kajakszovetseg
+kajütje kajutj
+kalandnak kaland
+kalapba kalap
+kalauzunkul kalauz
+kalkulációja kalkulaci
+kalózkiadásban kalozkiadas
+kamaráknál kamar
+kamaszon kamasz
+kamatfizetésre kamatfizetes
+kamatostól kamatos
+kamatterhek kamatterh
+kamerásítása kamerasitas
+kampányra kampany
+kancellária kancellari
+kannák kan
+kanyarodik kanyarod
+kapacitásból kapacitas
+kapacitású kapacitasu
+kapcsolatai kapcsolat
+kapcsolatnak kapcsolat
+kapcsolatosak kapcsolatos
+kapcsolatuk kapcsolat
+kapcsolnunk kapcsoln
+kapcsolódhatunk kapcsolodhat
+kapcsolódáshoz kapcsolodas
+kapcsolóval kapcsol
+kapható kaphat
+kapitánya kapitany
+kapja kapj
+kapniuk kapniu
+kapuban kapu
+kapujánál kapu
+kaput kapu
+kapást kapas
+karakterkódokkal karakterkod
+karattyolta karattyolt
+karbantartására karbantartas
+karibi karib
+karjába karj
+karok kar
+karral kar
+karvalyszerû karvalyszeru
+karókat kar
+kastélyba kastely
+katalizálja katalizalj
+katarzisról katarzis
+kategorizálva kategorizal
+kategóriás kategorias
+katonaiskolába katonaiskol
+katonának katon
+kattintásról kattintas
+kavarta kavart
+kazettákra kazett
+keblét kebl
+kedd-szerda kedd-szerd
+kedveltem kedvelt
+kedvencet kedvenc
+kedvesének kedves
+kedvezménynek kedvezmeny
+kedvtõl kedv
+keféli kefel
+kegyeskedjék kegyeskedj
+kegyvesztett kegyvesztet
+keletkezett keletkezet
+keletnémetek keletnem
+kellemetlenséggel kellemetlenseg
+kellékek kellek
+kelni keln
+keltheti kelthet
+kemencék kemenc
+keménységét kemenyseg
+kenyér kenyer
+kenõcs kenocs
+kerepelõ kerepel
+keresetlevélnek keresetlevel
+keresheti kereshet
+kereskedelmi kereskedelm
+kereskedõházban kereskedohaz
+keresne keresn
+kerested kerest
+keresztapám keresztap
+keresztezve keresztez
+keresztnevemmel keresztnev
+kereszténység keresztenyseg
+keresztülmenni keresztulmenn
+keresésre kereses
+keresõmotorokra keresomotor
+kereteinek keret
+keretnek keret
+keretösszeg keretosszeg
+keringõ kering
+kertvárosban kertvaros
+kerékpárjavítók kerekparjav
+kerít ker
+kerül ker
+kerülgettük kerulgett
+kerülne keruln
+kerülését kerules
+keshedt kesh
+kettesben kettes
+kettõhöz kett
+kettõvel kett
+keverték kever
+kevésnek keves
+kezdeményezésbe kezdemenyezes
+kezdeni kezden
+kezdetérõl kezdet
+kezdjen kezdj
+kezdõbetûk kezdobet
+kezdõoldal kezdooldal
+kezelheti kezelhet
+kezelte kezelt
+kezeléséreképes kezeleserekepes
+kezelõjük kezel
+kezességet kezesseg
+kezüket kez
+kft.-re kft.-
+kht.-vá kht.-
+kiabálás kiabalas
+kiadásai kiadas
+kiadásánál kiadas
+kiadós kiados
+kialakultak kialakult
+kialakított kialakitot
+kialudtam kialudt
+kibobozza kiboboz
+kibocsáthatóságát kibocsathatosag
+kibocsátásáig kibocsatas
+kibomló kiboml
+kibékíteni kibekiten
+kibõvíti kibovit
+kicsavarni kicsavarn
+kicserélésében kicsereles
+kicsit kics
+kicsúfolták kicsufolt
+kiderül kider
+kidolgoznia kidolgozni
+kidolgozásával kidolgozas
+kiegyenesítette kiegyenesitet
+kiegészítette kiegeszitet
+kiegészítésével kiegeszites
+kiejthetõk kiejthet
+kielégítési kielegites
+kiemelkedik kiemelked
+kiemelték kiemel
+kijátszani kijatszan
+kijövõ kijov
+kikapcsolódhatunk kikapcsolodhat
+kikerestethet kikeresteth
+kikerülök kikerul
+kikopott kikopot
+kiképzési kikepzes
+kikísérem kikiser
+kikötést kikotes
+kikötött kikotot
+kiküldésével kikuldes
+kilencet kilenc
+kilengések kilenges
+kilométerekre kilometer
+kilyukadunk kilyukad
+kilátástalan kilatastal
+kilépne kilepn
+kilétüket kilet
+kilöttyintett kilottyintet
+kimegyünk kimegyu
+kimenjünk kimenj
+kimenõm kimen
+kimerültségében kimerultseg
+kimondotta kimondot
+kimutatható kimutathat
+kimûvelõdnek kimuvel
+kinevezhetõ kinevezhet
+kintrõl kint
+kinyithatom kinyithat
+kinyomtatás kinyomtatas
+kinyúló kinyul
+kiolthatjuk kiolthatj
+kiosztására kiosztas
+kipihenhetném kipihenhetn
+kipróbálhatják kiprobalhatj
+kipróbálásának kiprobalas
+kirabolnak kirabol
+kirakatpolitika kirakatpolit
+kirendelt kirendel
+kiruccanást kiruccanas
+királynál kiraly
+kirándul kirand
+kirándulással kirandulas
+kirúgatá kirugat
+kisasszonyt kisasszony
+kiscsirkéket kiscsirk
+kisebbségeknek kisebbseg
+kisfiával kisfi
+kisgyereknek kisgyer
+kishíjján kishijj
+kiskereskedelem kiskereskedel
+kiskoromra kiskor
+kisliszoltam kisliszolt
+kismiska kismis
+kispárnámat kisparn
+kisugárzású kisugarzasu
+kisvállalkozásoké kisvallalkozas
+kiszabását kiszabas
+kiszolgálatlanul kiszolgalatlan
+kiszolgáltatta kiszolgaltat
+kiszolgálócsaládja kiszolgalocsaladj
+kiszolgálóját kiszolgaloj
+kiszolgálóplatform kiszolgaloplatform
+kiszorulnak kiszorul
+kiszállása kiszallas
+kiszámításának kiszamitas
+kiszûrjék kiszurj
+kisütött kisutot
+kitaláltuk kitalalt
+kitartás kitartas
+kitelepítési kitelepites
+kiterjessze kiterjessz
+kiterjesztésére kiterjesztes
+kitette kitet
+kitálalta kitalalt
+kitételek kitetel
+kitöltögetni kitoltogetn
+kitörésének kitores
+kitûnõnek kitun
+kitüntetést kituntetes
+kivenni kivenn
+kivettünk kivett
+kivitelezhetõnek kivitelezhet
+kivitték kivit
+kivont kivon
+kivágtuk kivagt
+kiválasztás kivalasztas
+kiválogatni kivalogatn
+kiváltója kivalt
+kivárjuk kivarj
+kivégzõosztag kivegzoosztag
+kivétellel kivetel
+kizuhant kizuhan
+kizárása kizaras
+kizárólagossága kizarolagossag
+kiállítandó kiallitand
+kiállításnak kiallitas
+kiállítói kiallit
+kiáltották kialtott
+kiáltással kialtas
+kiépíteni kiepiten
+kiépítésétõl kiepites
+kiírt kiir
+kiújult kiujul
+kiüt kiut
+klasszisok klasszis
+klinikán klin
+klubnál klub
+klíringelszámolás kliringelszamolas
+koccanás koccanas
+kockázataiban kockazat
+kockázatviselés kockazatviseles
+kocogásomból kocogas
+kocsikból kocs
+kocsit kocs
+kocsonyás kocsonyas
+kolbászt kolbasz
+kollektivizálás kollektivizalas
+kollégáik kolleg
+kolostorból kolostor
+kombinált kombinal
+komikusan komikus
+kommunikációkezelésére kommunikaciokezeles
+kommunisták kommunist
+komolyságot komolysag
+kompenzációra kompenzaci
+komplexé komplex
+komponisták komponist
+komputer-tomográfos komputer-tomografos
+koncentrál koncentral
+koncepcióját koncepcioj
+koncertjeiken koncertj
+kondim kond
+konferenciákon konferenc
+konfigurálható konfiguralhat
+konfliktusokkal konfliktus
+konjunkturálisnak konjunkturalis
+konkurencián konkurenci
+konstrukciókkal konstrukc
+konszernjognál konszernjog
+kontextusban kontextus
+kontrollingterületeket kontrollingterul
+konténerrel kontener
+konvertálnia konvertalni
+konyháink konyh
+konzisztensek konzisztens
+konzulja konzulj
+koordinálásával koordinalas
+kopogós kopogos
+kopott kopot
+korabeli korabel
+koreográfiával koreografi
+korlátjaként korlatj
+korlátolttá korlatolt
+korlátozza korlatoz
+korlátozásának korlatozas
+kormányai kormany
+kormányfõt kormanyf
+kormánymozdulatot kormanymozdulat
+kormányozottak kormanyozott
+kormányszervnek kormanyszerv
+kormányzatilag kormanyzatilag
+kormányétól kormany
+korombeli korombel
+koronáján koron
+korrekciójára korrekci
+korrumpálásával korrumpalas
+korszakából korsz
+korszerûtlennek korszerutlen
+korunkban kor
+koránkelés korankeles
+kosut kosu
+kosárlabda kosarlabd
+kovácsolni kovacsoln
+kristálytiszta kristalytiszt
+kritériumainak kriterium
+krumplinak krumpl
+kubizmusból kubizmus
+kukoricából kukoric
+kulcslyuknál kulcslyu
+kulcsával kulcs
+kultusztárca kultusztarc
+kultúránk kultur
+kupicáját kupicaj
+kurjantotta kurjantot
+kurzusokig kurzus
+kutatnak kutat
+kutatási kutatas
+kutatói kutat
+kutyagumibotja kutyagumibotj
+kutyái kuty
+kutyául kuty
+kvízjátékokban kvizjatek
+kymriül kymr
+kábelinfrastruktúrája kabelinfrastruktur
+kábulatban kabulat
+kádban kad
+káoszból kaosz
+káprázó kapraz
+károknál kar
+kártyákkal karty
+kártyázásnál kartyazas
+kárára kar
+kávébárok kavebar
+kávékínálat kavekinal
+kéjjel kej
+kékült kekul
+kémkedõ kemked
+kényelmesebbé kenyelmeseb
+kényeskedett kenyeskedet
+kényszermunkatáborba kenyszermunkatabor
+kényszerít kenyszer
+kényszerû kenyszeru
+képbõl kep
+képernyõ keperny
+képeslapban kepeslap
+képességekhez kepesseg
+képesítés kepesites
+képezték kepez
+képinformációk kepinformac
+képminõséget kepminoseg
+képpontba keppont
+képtelefonként keptelefon
+képviseleteivel kepviselet
+képviselje kepviselj
+képviselõ-testület kepviselo-testul
+képviselõjének kepvisel
+képzelet kepzel
+képzeltek kepzel
+képzettség kepzettseg
+képzõ kepz
+képállományt kepallomany
+kérdezek kerdez
+kérdezné kerdezn
+kérdém kerd
+kérdéseket kerdes
+kérdésre kerdes
+kérdõjelezte kerdojelezt
+kérelmek kerelm
+kérelmüket kerelm
+kérje kerj
+kérte kert
+kéréseknek keres
+késedelem kesedel
+késlekedés keslekedes
+késsük kess
+készleteinek keszlet
+készpénzt keszpenz
+készáruraktár keszaruraktar
+készítettünk keszitett
+készítési keszites
+készületlenül keszuletlen
+készültségben keszultseg
+készüléket keszul
+készülõdhetünk keszulodhet
+késõ kes
+kétcsatornás ketcsatornas
+kétfedeles ketfedeles
+kétirányú ketiranyu
+kétoldalasan ketoldalas
+kétszáz ketszaz
+kétsége ketseg
+kétévenkénti ketevenkent
+kézbõl kez
+kézigránátokat kezigran
+kézilabdaedzõ kezilabdaedz
+kéziratát kezirat
+kézzel kez
+kígyózó kigyoz
+kínja kinj
+kínozza kinoz
+kínálatot kinalat
+kínálna kinaln
+kíséretemmel kiseret
+kísérletekre kiserl
+kísértem kisert
+kísértette kisertet
+kísérõkkel kiser
+kívánatosak kivanatos
+kívánja kivanj
+kívánságra kivansag
+kívülállók kivulall
+kódexet kodex
+kódoldóval kodold
+kókuszszõnyegre kokuszszonyeg
+kórházaknak korhaz
+kóros koros
+kõ ko
+kõmûvesmunkákat komuvesmunk
+kõvédermedten kovedermedt
+ködöt kod
+kölcsönadásban kolcsonadas
+kölcsönöz kolcsonoz
+költemények koltemeny
+költségeik koltseg
+költséghatékonnyá koltseghatekonny
+költségszámítás koltsegszamitas
+költségvetésébe koltsegvetes
+költsük kolts
+költöm kolt
+kölykei kolyk
+könnyebbé konnyeb
+könnyelmûséget konnyelmuseg
+könnyûszerrel konnyuszer
+könyvekbõl konyv
+könyvelõként konyvel
+könyvkiadásban konyvkiadas
+könyvtára konyvt
+könyvtárbejegyzésében konyvtarbejegyzes
+könyvtárnév konyvtarnev
+könyvtárához konyvtar
+könyvvizsgálókat konyvvizsgal
+könyékig kony
+könyörgött konyorgot
+köpenyszerûség kopenyszeruseg
+körbenézek korbenez
+körbõl kor
+körképhez korkep
+környezetekbe kornyez
+környezetrehabilitációs kornyezetrehabilitacios
+környezetéhez kornyezet
+környéke korny
+körvonala korvonal
+körzetet korzet
+körét kor
+körönként koron
+körük kor
+körülményeidhez korulmeny
+körülményektõl korulmeny
+körültekintés korultekintes
+körülírhatók korulirh
+köszi kosz
+köszönhetõen koszonheto
+köszönésemre koszones
+kötelességbõl kotelesseg
+kötelességének kotelesseg
+kötelezettségeinknek kotelezettseg
+kötelezettségszegés kotelezettsegszeges
+kötelezettségünkké kotelezettseg
+kötelezõvé kotelez
+kötetek kot
+kötettel kotet
+kötniük kotniu
+kötvényekre kotveny
+kötvénytulajdonosok kotvenytulajdonos
+kötést kotes
+kötötte kotot
+kötözködnek kotoz
+követelem kovetel
+követelményeket kovetelmeny
+követelményének kovetelmeny
+követeléseire koveteles
+követelésükre koveteles
+követkesztében kovetkeszt
+következményeitõl kovetkezmeny
+következtettek kovetkeztet
+következõhöz kovetkez
+követségen kovetseg
+követõre kovet
+közalkalmazotti kozalkalmazott
+közbeékelt kozbeekel
+közelebbit kozelebb
+közeleg kozeleg
+közelébe kozel
+közelítõ kozelit
+közfeladat kozfel
+közgyûlésein kozgyules
+közzé koz
+latolgatta latolgat
+leadjuk leadj
+lebegnék lebeg
+lebontásának lebontas
+lebukott lebukot
+lecsapni lecsapn
+lecsússzak lecsussz
+ledöfött ledofot
+leereszkedtünk leereszkedt
+lefedettségén lefedettseg
+lefekvés lefekves
+lefoglaljunk lefoglalj
+lefolytatásától lefolytatas
+lefáradtan lefaradt
+legaktuálisabb legaktualisabb
+legbelsejét legbelsej
+legcsúnyább legcsunyabb
+legelméletibb legelmeletibb
+legendának legend
+legfontosabbak legfontosabb
+legfölül legfol
+leghíresebb leghiresebb
+legjobbak legjobb
+legkisebbekrõl legkisebb
+legkönnyelmûbb legkonnyelmubb
+leglényegesebb leglenyegesebb
+legnagyobbika legnagyobb
+legostobább legostobabb
+legrövidebben legrovideb
+legszomorúbb legszomorubb
+legtisztességesebb legtisztessegesebb
+legtökéletesebb legtokeletesebb
+legváltozatosabb legvaltozatosabb
+legyártott legyartot
+legyûrhesse legyurhes
+legényeket legeny
+legördülõ legordul
+leheletét lehelet
+lehetett lehetet
+lehetõségben lehetoseg
+lehetõségekre lehetoseg
+lehetõségét lehetoseg
+lehunyta lehunyt
+lehülyézi lehulyez
+lejegyzésére lejegyzes
+lejárata lejarat
+lejártára lejart
+lejöjjön lejojj
+lekiáltott lekialtot
+lekéstem lekest
+leküzdésében lekuzdes
+leleplezéseit leleplezes
+lelkeket lelk
+lelkiereje lelkier
+lelkiismeretét lelkiismeret
+lelkére lel
+lelohad leloh
+lelógott lelogot
+lemaradunk lemarad
+lemez-alrendszereiben lemez-alrendszer
+lemezekké lemez
+lemezkezelési lemezkezeles
+lemezterület-veszteségekrõl lemezterulet-veszteseg
+lemezénél lemez
+lemondunk lemond
+lemásolt lemasol
+lendített lenditet
+lengette lenget
+lennél len
+lenyírta lenyirt
+leosont leoson
+lepedõn lep
+leplezze leplez
+lepõdve lep
+lerakódott lerakodot
+leromlottakat leromlott
+lerövidítette leroviditet
+leszakadt lesz
+leszerelõ leszerel
+leszállt leszall
+leszállításakor leszallitasakor
+leszámítva leszamit
+leszúrni leszurn
+lesújthat lesujth
+letakarva letakar
+letartóztatásról letartoztatas
+leteltével letelt
+letiltása letiltas
+letépte letept
+letölteni letolten
+letöltésre letoltes
+letörölheti letorolhet
+levegõjébe leveg
+leveleiket level
+levelezek levelez
+levelét level
+lexikonja lexikonj
+lezárni lezarn
+leáldozni lealdozn
+leányiskolában leanyiskol
+leányvállalatra leanyvallalat
+leépítették leepitet
+leértékelési leertekeles
+leírnom leirn
+leírással leiras
+leülhettünk leulhett
+leütöttem leutott
+liberális liberalis
+licencértékesítõ licencertekesit
+ligában lig
+likvidálás likvidalas
+link lin
+listáit list
+literekkel liter
+lobbyerõt lobbyer
+locsolkodásból locsolkodas
+logikájából logik
+lojalitása lojalitas
+lombjait lombj
+loptak lopt
+lottóláz lottolaz
+lovagolni lovagoln
+lovaspálya lovaspaly
+lustább lustabb
+luxusnõ luxusn
+lyukat lyu
+lábak lab
+lábbeli-kiskereskedelmi labbeli-kiskereskedelm
+lábtörlõnkre labtorl
+lábával lab
+lágy lagy
+lámpás lampas
+láncolat lancol
+láncú lancu
+lányba lany
+lányokon lany
+lármán larm
+láthassak lathass
+láthattad lathatt
+látképen latkep
+látnának latn
+látogatottsága latogatottsag
+látogatásuk latogatas
+látogatónknak latogat
+látszaniuk latszaniu
+láttatni lattatn
+látványosság latvanyossag
+látóhatár latohatar
+lázadt laz
+lázában laz
+légibemutató legibemutat
+légitámadásokat legitamadas
+légkörbõl legkor
+légtér legter
+légügyi legugy
+lélegzetünk lelegzet
+lélekállapot lelekallap
+lényegtelen lenyegtel
+lényrõl leny
+lépcsõjén lepcsoj
+léphetett lephetet
+lépnek lep
+lépték lep
+lépéselõnyben lepeselony
+lépõnek lep
+létesítményekben letesitmeny
+létesült letesul
+létezésében letezes
+lévõnek lev
+líra lir
+lógatja logatj
+lószõrékszer-készítés loszorekszer-keszites
+lõni lon
+lökdösõdött lokdosodot
+lövedékek lovedek
+lúdtalpas ludtalpas
+madarakat madar
+maffiához maffi
+magaelõtt magaelot
+magasabbnak magasabb
+magasságnak magassag
+magatartást magatartas
+magfizikai magfizik
+magnóztunk magnozt
+magukénak magu
+magyar-történelem magyar-tortenel
+magyarságtudatomat magyarsagtudat
+magyarázatuk magyarazat
+magyarázott magyarazot
+magállapított magallapitot
+magángyûjtemény magangyujtemeny
+magánház maganhaz
+magánmásolás maganmasolas
+magánszemélyeket maganszemely
+magántõke magant
+magánzárkával maganzar
+magánügye maganugy
+majdhogynem majdhogyn
+majálisra majalis
+malaca malac
+mamutokéval mamut
+mamáéknak mam
+manillagyökér manillagyoker
+mappaablakban mappaabl
+mappára mapp
+maradi marad
+maradtam maradt
+maradó marad
+marhaságok marhasag
+marketingig marketing
+markomat mar
+marxista-leninista marxista-leninist
+masszírozni masszirozn
+matekot mat
+matricákat matric
+matyószobánkban matyoszob
+maximáló maximal
+mechanizmusaik mechanizmus
+mederbe meder
+megabájtig megabajt
+megadni megadn
+megadásra megadas
+megakadályoz megakadalyoz
+megakasztott megakasztot
+megalakuló megalakul
+megalapozottá megalapozot
+megalkotandó megalkotand
+megalázkodik megalazkod
+megbarátkozik megbaratkoz
+megbecsülöm megbecsul
+megbeszélve megbeszel
+megbirkózni megbirkozn
+megbocsátók megbocs
+megbotlottam megbotlott
+megbánni megbann
+megbénulnak megbenul
+megbízhatatlanságig megbizhatatlansag
+megbízhatóságára megbizhatosag
+megbízása megbizas
+megbûvölve megbuvol
+megerõsíti megerosit
+megetettem megetett
+megfeledkeztek megfeledkez
+megfelelõbb megfelelobb
+megfenyegetik megfenyeget
+megfigyelt megfigyel
+megfigyelõmissziójának megfigyelomisszi
+megfizette megfizet
+megfogalmazza megfogalmaz
+megfogják megfogj
+megfontolásból megfontolas
+megformázva megformaz
+megfutamodás megfutamodas
+megfõzte megfozt
+meggazdagodást meggazdagodas
+meggondolásra meggondolas
+meggyógyul meggyogy
+meggyõzõdjön meggyozodj
+meggyúlni meggyuln
+meghajtotta meghajtot
+meghajtóprogramot meghajtoprogr
+meghallgassam meghallgass
+meghallgatását meghallgatas
+meghaltam meghalt
+meghatalmazotti meghatalmazott
+meghatott meghatot
+meghatároznia meghatarozni
+meghatározásaként meghatarozas
+megható meghat
+meghirdettek meghirdet
+meghonosodott meghonosodot
+meghozatalában meghozatal
+meghálálni meghalaln
+meghívva meghiv
+meghódítani meghoditan
+meghúzni meghuzn
+megijedtünk megijedt
+megjegyzésére megjegyzes
+megjelentetni megjelentetn
+megjelenésébõl megjelenes
+megjelenítse megjelenits
+megjelenítõkártyája megjelenitokarty
+megjelölést megjeloles
+megjátszani megjatszan
+megkaphatja megkaphatj
+megkaptuk megkapt
+megkereshetünk megkereshet
+megkeresõk megkeres
+megkezdenie megkezdeni
+megkezdõdhetett megkezdodhetet
+megkurtításával megkurtitas
+megkérdõjelezhetetlen megkerdojelezhetetl
+megkértük megkert
+megkísérelt megkiserel
+megkönnyebbített megkonnyebbitet
+megköszöntem megkoszont
+megkötésétõl megkotes
+megközelítette megkozelitet
+megküldéssel megkuldes
+megkülönböztetést megkulonboztetes
+meglennének meglenn
+meglepetésük meglepetes
+meglesni meglesn
+meglátogasson meglatogass
+megláttam meglatt
+megmagyarázhatatlan megmagyarazhatatl
+megmaradás megmaradas
+megmenthetõ megmenthet
+megmondhassa megmondhas
+megmászott megmaszot
+megmérkõzöm megmerkoz
+megnevezhetetlen megnevezhetetl
+megnyerjék megnyerj
+megnyilvánulásokat megnyilvanulas
+megnyitottuk megnyitott
+megnyitóval megnyit
+megnyugtatott megnyugtatot
+megnézhesse megnezhes
+megnézze megnez
+megnövekedtek megnoveked
+megokolással megokolas
+megoldása megoldas
+megoldásokat megoldas
+megoldásába megoldas
+megoszlanak megoszl
+megosztjuk megosztj
+megosztásnak megosztas
+megpecsételõdik megpecsetelod
+megpillantva megpillant
+megpróbálná megprobaln
+megpucolt megpucol
+megragadott megragadot
+megreggeliztek megreggeliz
+megrendelései megrendeles
+megrendelõk megrendel
+megrendíti megrendit
+megriadva megri
+megrágják megragj
+megrögzõdnie megrogzodni
+megsebezték megsebez
+megsemmisítésre megsemmisites
+megsokallhatták megsokallhatt
+megszabadította megszabaditot
+megszakítottság megszakitottsag
+megszegné megszegn
+megszemélyesítheti megszemelyesithet
+megszerezhetetlen megszerezhetetl
+megszerveztük megszervezt
+megszerzésére megszerzes
+megszokni megszokn
+megszorítások megszoritas
+megszámolni megszamoln
+megszólal megszolal
+megszólítására megszolitas
+megszûntnek megszunt
+megszûnésérõl megszunes
+megszületését megszuletes
+megszüntetésekre megszuntetes
+megsértették megsertet
+megsûrûsödtek megsurusod
+megtagadták megtagadt
+megtakarításoknak megtakaritas
+megtalálnia megtalalni
+megtanulhatom megtanulhat
+megtanulása megtanulas
+megtapasztaltuk megtapasztalt
+megtartottam megtartott
+megtehetne megtehetn
+megtelepülésükön megtelepules
+megtudom megtud
+megtámadási megtamadas
+megtépázhatják megtepazhatj
+megtételének megtetel
+megtöltik megtolt
+megtörténjék megtortenj
+megugrott megugrot
+megvakarta megvakart
+megvalósulásához megvalosulas
+megvalósítva megvalosit
+megvenni megvenn
+megvetettünk megvetett
+megvilágosodik megvilagosod
+megvizsgálhatja megvizsgalhatj
+megvonja megvonj
+megválasztottnak megvalasztott
+megvált megval
+megváltoztathatatlannak megvaltoztathatatlan
+megváltoztatásakor megvaltoztatasakor
+megváltásáról megvaltas
+megvásárlásának megvasarlas
+megvédelmezni megvedelmezn
+megyehatárokon megyehatar
+megzavart megzavar
+megállapodás megallapodas
+megállapodásunk megallapodas
+megállapított megallapitot
+megállapítások megallapitas
+megálljam megallj
+megállítod megallit
+megárt megar
+megélhetésem megelhetes
+megépítésében megepites
+megérett megeret
+megérkezett megerkezet
+megérném megern
+megértjük megertj
+mezõny mezony
+micsodák micsod
+mihozzánk mihozz
+mikrohitel-állományt mikrohitel-allomany
+miközben mikoz
+milliárdnyi milliardny
+milliós millios
+mindanynyian mindanynyi
+mindegyiknek mindegy
+mindened minden
+mindenfélét mindenfel
+mindenkinél minden
+mindennek minden
+mindezeket mindez
+mindkettõben mindkett
+mindnyájunknak mindnyaj
+miniesszében miniessz
+minimálisra minimalis
+miniszterelnöknek minisztereln
+minisztériumból miniszteriu
+mintakódokkal mintakod
+mintát mint
+minõségfelmérési minosegfelmeres
+minõségük minoseg
+minõsítést minosites
+minõsülõ minosul
+misztikuma misztikum
+mivoltában mivolt
+mobil-elõfizetõ mobil-elofizet
+mobilitás mobilitas
+mobilszolgáltatásokra mobilszolgaltatas
+mobiltelefonban mobiltelefon
+moccanás moccanas
+motortárcsát motortarcs
+mozaikszerû mozaikszeru
+mozdulatokkal mozdul
+mozdíthatatlanul mozdithatatlan
+mozgatva mozgat
+mozgásképes mozgaskepes
+mozgó mozg
+moziból moz
+mozogjanak mozogj
+mulaszthatom mulaszthat
+mulatni mulatn
+multifunkciós multifunkcios
+multinacionálisok multinacionalis
+munkacsoport-tagság munkacsoport-tagsag
+munkaerõhöz munkaer
+munkahelyedre munkahely
+munkahelyén munkahely
+munkaigényes munkaigenyes
+munkakörére munkakor
+munkamódszere munkamodsz
+munkaruhákat munkaruh
+munkatársaimmal munkatars
+munkaviszonyban munkaviszony
+munkavállalóitól munkavallal
+munkaállomásáról munkaallomas
+munkájukról munk
+munkálatok munkal
+munkáltatónál munkaltat
+munkásaitól munkas
+munkázni munkazn
+mutathatnék mutathat
+mutatom mutat
+mutatóját mutatoj
+mutáción mutaci
+muzulmán muzulm
+mágy magy
+májusára majus
+mániákusan maniakus
+márkanevet markanev
+mármint marmin
+más mas
+másikban mas
+másképp maskepp
+másodikat masod
+másodperce masodperc
+másodunokatestvéremet masodunokatestver
+másolatai masolat
+másolatát masolat
+másolásban masolas
+másolópapíros masolopapiros
+mászik masz
+mászóka masz
+mécs mecs
+médiakonszern mediakonszer
+médiaóriás mediaorias
+mégis megis
+méltatlankodva meltatlan
+méltójan melt
+mélyebbrõl melyebb
+mélyrepülés melyrepules
+mélységû melysegu
+mércét merc
+méreteinek meret
+méretétõl meret
+mérgezõ mergez
+mérkõzéssel merkozes
+mérlegelés merlegeles
+mérni mern
+mérsékelten mersekelt
+mértékegységgel mertekegyseg
+mértékérõl mert
+mérésem meres
+méterrel meter
+módja modj
+módjával modj
+módosulások modosulas
+módosították modositott
+módosításokra modositas
+módozata modozat
+módszeremmel modszer
+módszerével modszer
+mögé mog
+múlna muln
+múltjáról multj
+múló mul
+múzeumokba muzeum
+mûcsalit mucsal
+mûfaji-elméleti mufaji-elmelet
+mûfelhasználásra mufelhasznalas
+mûholdak muhold
+mûkiválasztás mukivalasztas
+mûködtem mukodt
+mûködtetésének mukodtetes
+mûködésnek mukodes
+mûködésükrõl mukodes
+mûpéldány mupeldany
+mûsoraiba musor
+mûsorfajta musorfajt
+mûsorokra musor
+mûsorszámok musorszam
+mûsorára musor
+mûszó musz
+mûtárgyaukciókat mutargyaukc
+mûved muv
+mûveknél muv
+mûveletekrõl muvel
+mûveltebbek muveltebb
+mûvelõdöm muvelod
+mûvészbejáró muveszbejar
+mûvészettörténetet muveszettortenet
+mûvük muv
+nadrágom nadrag
+nagyszerûen nagyszeru
+nagyszüleimnél nagyszul
+nagyságrendje nagysagrendj
+nagytöbbsége nagytobbseg
+nagyvállalkozásoknak nagyvallalkozas
+nagyállomáson nagyallomas
+nanoszekundumokban nanoszekundum
+napilapban napilap
+napja napj
+napján napj
+naplója napl
+napokról nap
+napunk nap
+nedveibõl nedv
+negyedakkora negyedakk
+negyedébe negyed
+negyedóráig negyedor
+negyvenre negyven
+növelését noveles
+növénytermesztés novenytermesztes
+objektumsémák objektumsem
+offenzíváját offenzivaj
+okokat oko
+penész penesz
+perceket perc
+abbahagy abbahagy
+abc abc
+abortusz abortusz
+abrosszal abrosszal
+abrosz abrosz
+abszolutizmus abszolutizmus
+acetilszalicilsav acetilszalicilsav
+acsony acsony
+adag adag
+adakoz adakoz
+adat adat
+adatbevitel adatbevitel
+adatlemez adatlemez
+adatsor adatsor
+add add
+addressing addressing
+adsz adsz
+aecxml aecxml
+agenda-setting agenda-setting
+agy agy
+agyagember agyagember
+ahhoz ahhoz
+ahol ahol
+ajjas ajjas
+akar akar
+akarj akarj
+akat akat
+akin akin
+akit akit
+akkormikor akkormikor
+akusztikus akusztikus
+al al
+alacsonyabb alacsonyabb
+alantas alantas
+alany alany
+alapanyag alapanyag
+alaplap alaplap
+alaposabb alaposabb
+alapoz alapoz
+alkohol alkohol
+alkony alkony
+alkoss alkoss
+almanar almanar
+alperes alperes
+already already
+aludj aludj
+ama ama
+ambivalens ambivalens
+amej amej
+amely amely
+ami ami
+amig amig
+amikoris amikoris
+amit amit
+amur amur
+an an
+angol angol
+angy angy
+angyal angyal
+anonymous anonymous
+antiszemitizmus antiszemitizmus
+antiszemitizmus-ellenes antiszemitizmus-ellenes
+anyagias anyagias
+anyagos anyagos
+anyanyelv anyanyelv
+anyu anyu
+apu apu
+ara ara
+arab arab
+arany arany
+aranykincs aranykincs
+aranyokker aranyokker
+aranyosabb aranyosabb
+arat arat
+arkangyal arkangyal
+ars ars
+artisztikus artisztikus
+asszonnyal asszonnyal
+asszony asszony
+aszimmetrikus aszimmetrikus
+asztal asztal
+asztalosmester asztalosmester
+asztrofizikus asztrofizikus
+bab bab
+baj baj
+bajmentesebb bajmentesebb
+bajt bajt
+bajusz bajusz
+bajuszos bajuszos
+bal-jobb bal-jobb
+balkezes balkezes
+balos balos
+balzsamos balzsamos
+banking banking
+bankpiac bankpiac
+bankrendszer bankrendszer
+baritonszerep baritonszerep
+baromfiudvar baromfiudvar
+basszus basszus
+becses becses
+behoz behoz
+bekapcsol bekapcsol
+bekezd bekezd
+belefoglal belefoglal
+beles beles
+beletesz beletesz
+beljebb beljebb
+bestseller bestseller
+beteges beteges
+betesz betesz
+beugorhass beugorhass
+bezzeg bezzeg
+bicajos bicajos
+biciklis biciklis
+biosz biosz
+birtokol birtokol
+bizarr bizarr
+bizonnyal bizonnyal
+bizonyos bizonyos
+bizonyosabb bizonyosabb
+biztos biztos
+blues blues
+bob bob
+bogaras bogaras
+bokor bokor
+boksz boksz
+bokszol bokszol
+boldogabb boldogabb
+bolondos bolondos
+bolondozz bolondozz
+bolt bolt
+bont bont
+bonyolultabb bonyolultabb
+boros boros
+borpiac borpiac
+bort bort
+borverseny borverseny
+borzas borzas
+bot bot
+box box
+bozsikos bozsikos
+bridzs bridzs
+bridzzsel bridzzsel
+brit-holland brit-holland
+budget-ol budget-ol
+busz busz
+byte-os byte-os
+jaj jaj
+jobb jobb
+kabalisztikus kabalisztikus
+kajak-kenu kajak-kenu
+kakadu kakadu
+kaland kaland
+kalandfilm kalandfilm
+kalandos kalandos
+kalauz kalauz
+kamasz kamasz
+kamatteher kamatteher
+kanalas kanalas
+kant kant
+kaotikus kaotikus
+kapar kapar
+kapcsol kapcsol
+kapcsolatos kapcsolatos
+kapitalizmus kapitalizmus
+kapsz kapsz
+kapu kapu
+kar kar
+karakteres karakteres
+karakterisztikus karakterisztikus
+kardhely kardhely
+karinges karinges
+karmester karmester
+karol karol
+karrier karrier
+kartell kartell
+kasszarendszer kasszarendszer
+kategorikus kategorikus
+katolikus katolikus
+kavarog kavarog
+kaviccsal kaviccsal
+kazah kazah
+kedv kedv
+kedvenc kedvenc
+kefir kefir
+kegyetlenebb kegyetlenebb
+keksszel keksszel
+kel kel
+kell kell
+kellemesebb kellemesebb
+kelsz kelsz
+kenetteljes kenetteljes
+kerekes kerekes
+keres keres
+kereskedelmi-marketing kereskedelmi-marketing
+keresztes keresztes
+keretes keretes
+kert kert
+keserves keserves
+keskenyebb keskenyebb
+keszd keszd
+kettes kettes
+kevereg kevereg
+keversz keversz
+kezd kezd
+kezdetekor kezdetekor
+kezdetlegesebb kezdetlegesebb
+kezdhetsz kezdhetsz
+kft. kft.
+kg kg
+kg-mal kg-mal
+kg-s kg-s
+ki ki
+kicsiny kicsiny
+kidob kidob
+kihez kihez
+kikapcsol kikapcsol
+kikuyu kikuyu
+kilencedes kilencedes
+kilences kilences
+kilencezer kilencezer
+kilencpontos kilencpontos
+kilencvenkilenc kilencvenkilenc
+kilencvennapos kilencvennapos
+kilobites kilobites
+kilogrammos kilogrammos
+kilohertzes kilohertzes
+kimaradsz kimaradsz
+kimenetel kimenetel
+kin kin
+kincs kincs
+kint kint
+kis kis
+kisasztal kisasztal
+kisbusszal kisbusszal
+kiscsoportos kiscsoportos
+kisebb-nagyobb kisebb-nagyobb
+kisember kisember
+kisgyerekes kisgyerekes
+kishal kishal
+kisjogos kisjogos
+kisseb kisseb
+kit kit
+kiutal kiutal
+kivel kivel
+kivitel kivitel
+kizavar kizavar
+kkt. kkt.
+klasszikus klasszikus
+klasszis klasszis
+klimatikus klimatikus
+klinikailag klinikailag
+klubtag klubtag
+km-es km-es
+km-t km-t
+kocos kocos
+kocsisor kocsisor
+koffer koffer
+koherensebb koherensebb
+koleszos koleszos
+kolosszus kolosszus
+kolostor kolostor
+komikus komikus
+kommunizmus kommunizmus
+komoly komoly
+komolytalanabb komolytalanabb
+komorabb komorabb
+komp komp
+kompatibilis kompatibilis
+komponens komponens
+kompromisszumos kompromisszumos
+komputer komputer
+kondor kondor
+konfliktus konfliktus
+konformis konformis
+kongresszus kongresszus
+konkurens konkurens
+konszenzus konszenzus
+konszernjog konszernjog
+kontrasztos kontrasztos
+konty konty
+kontyos kontyos
+konzerv konzerv
+konzisztens konzisztens
+konzol konzol
+konzulens konzulens
+kopaszabb kopaszabb
+kopp kopp
+koproducer koproducer
+kormos kormos
+kort kort
+korty korty
+kosz kosz
+kotnyeles kotnyeles
+kozmetikus kozmetikus
+kredenc kredenc
+kritikus kritikus
+krumplis krumplis
+kubikos kubikos
+kudarc kudarc
+kulcs kulcs
+kultikus kultikus
+kupameccs kupameccs
+kurd kurd
+kurzus kurzus
+kutyasereg kutyasereg
+kutyus kutyus
+lator lator
+lazac lazac
+lebeg lebeg
+lebuj lebuj
+lecsap lecsap
+lefagy lefagy
+lefogy lefogy
+legalacsonyabb legalacsonyabb
+legalantasabb legalantasabb
+legaranyosabb legaranyosabb
+legbonyolultabb legbonyolultabb
+legdivatosabb legdivatosabb
+legelemibb legelemibb
+legelterjedtebb legelterjedtebb
+legelvakultabb legelvakultabb
+legfeljebb legfeljebb
+legfinomabb legfinomabb
+legforgalmasabb legforgalmasabb
+legfrissebb legfrissebb
+leggyakoribb leggyakoribb
+leghamarabb leghamarabb
+leghatalmasabb leghatalmasabb
+leghosszabb leghosszabb
+legintimebb legintimebb
+legizgalmasabb legizgalmasabb
+legjellegzetesebb legjellegzetesebb
+legjobbkor legjobbkor
+legkaotikusabb legkaotikusabb
+legkedveltebb legkedveltebb
+legkellemesebb legkellemesebb
+legkeskenyebb legkeskenyebb
+legkevesebb legkevesebb
+legkiforrottabb legkiforrottabb
+legkomolyabb legkomolyabb
+legkorrektebb legkorrektebb
+legkorruptabb legkorruptabb
+leglepusztultabb leglepusztultabb
+legmeredekebb legmeredekebb
+legmesszebb legmesszebb
+legmozgalmasabb legmozgalmasabb
+legnedvesebb legnedvesebb
+legnehezebb legnehezebb
+legnevezetesebb legnevezetesebb
+legokosabb legokosabb
+legpiszkosabb legpiszkosabb
+legrangosabb legrangosabb
+legrosszabb legrosszabb
+legsablonosabb legsablonosabb
+legsikeresebb legsikeresebb
+legstabilabb legstabilabb
+legszebb legszebb
+legszennyezettebb legszennyezettebb
+legszimpatikusabb legszimpatikusabb
+legtartalmasabb legtartalmasabb
+legtipikusabb legtipikusabb
+legvadabb legvadabb
+lehetsz lehetsz
+lejjebb lejjebb
+lektor lektor
+lelkiismeretes lelkiismeretes
+lemez lemez
+lemezdoboz lemezdoboz
+lemezes lemezes
+lemond lemond
+lengyel lengyel
+leninizmus leninizmus
+lent lent
+les les
+lesz lesz
+leszel leszel
+letesz letesz
+leveles leveles
+levelez levelez
+lila-arany lila-arany
+liter liter
+literes literes
+log log
+logikus logikus
+lombard lombard
+lompos lompos
+lopsz lopsz
+lovagol lovagol
+lovas lovas
+luo luo
+luxus luxus
+luxusmodell luxusmodell
+lyukszalag lyukszalag
+madaras madaras
+maffiaellenes maffiaellenes
+mag mag
+magabiztosabb magabiztosabb
+magasabb magasabb
+magasztos magasztos
+magis magis
+magyar-lengyel magyar-lengyel
+magyar-orosz magyar-orosz
+magyaros magyaros
+mai mai
+mait mait
+maj maj
+major major
+makacs makacs
+malac malac
+maradj maradj
+marhakonzerv marhakonzerv
+marketinges marketinges
+marketingpiac marketingpiac
+marsall marsall
+mart mart
+matekos matekos
+matematikus-fizikus matematikus-fizikus
+matt matt
+max max
+mechanikailag mechanikailag
+mechanizmus mechanizmus
+meder meder
+medvemenhely medvemenhely
+megabites megabites
+megahertzes megahertzes
+megaherztes megaherztes
+megapixeles megapixeles
+megfelel megfelel
+megfogalmaz megfogalmaz
+megfontoltabb megfontoltabb
+meghal meghal
+megjutalmaz megjutalmaz
+megkapaszkodsz megkapaszkodsz
+meglesz meglesz
+megmondd megmondd
+megszeresd megszeresd
+megszerez megszerez
+megtedd megtedd
+mi mi
+micro-switch micro-switch
+mihamarabb mihamarabb
+mik mik
+mikor mikor
+mikrobuszos mikrobuszos
+milliomos milliomos
+milliszekundumos milliszekundumos
+min min
+mind mind
+mindannyiszor mindannyiszor
+mindegy mindegy
+mindenhol mindenhol
+mindennap mindennap
+mindennapibb mindennapibb
+mindez mindez
+miniszter miniszter
+mint mint
+mintegy mintegy
+mio mio
+mirelitpiac mirelitpiac
+misztikus misztikus
+mivel mivel
+mixer mixer
+mo mo
+mobil mobil
+mobilinternetes mobilinternetes
+mobilrendszer mobilrendszer
+mobiltelefonos mobiltelefonos
+mocskos mocskos
+mozdulatsor mozdulatsor
+mozdulj mozdulj
+mozifilm mozifilm
+mozipremier mozipremier
+mozog mozog
+multikulturalizmus multikulturalizmus
+multiplex multiplex
+munkacsoportos munkacsoportos
+munkadarab munkadarab
+munkahellyel munkahellyel
+munkanap munkanap
+munkarend munkarend
+music-center music-center
+must must
+na na
+nacionalizmus nacionalizmus
+nap nap
+napilap napilap
+napiparancs napiparancs
+napos napos
+ne ne
+nedv nedv
+negyvenes negyvenes
+negyvennapos negyvennapos
+nehezebb nehezebb
+ok ok
+okhoz okhoz
+okon okon
+okot okot
+perces perces
+perec perec
diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/it-light.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/it-light.tsv
new file mode 100644
index 0000000000..5a2d635d94
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/it-light.tsv
@@ -0,0 +1,2000 @@
+abakoumova abakoumov
+abbandonata abbandonat
+abbassato abbassat
+abbenché abbenc
+abbonato abbonat
+abbracciamenti abbracciament
+abbuffata abbuffat
+abitatori abitator
+aborto abort
+accadesse accadess
+accarezzando accarezzand
+acccordi acccord
+accennate accennat
+accertarmi accertarm
+accettano accettan
+acchetare acchetar
+acclamazioni acclamazion
+accomiatò accomiat
+accomoderò accomoder
+accompagnerete accompagneret
+accordarlo accordarl
+accorgo accorg
+accosta accost
+accozzarsi accozzars
+accurata accurat
+acetoselle acetosell
+acquietarle acquietarl
+acquistarne acquistarn
+adattata adattat
+addetti addett
+addossando addossand
+adeguerà adeguer
+adesca adesc
+adoperato adoperat
+adottabili adottabil
+adulti adult
+affacciare affacciar
+affannava affannav
+affatto affatt
+afferrano afferran
+affezioni affezion
+affidate affidat
+affittato affittat
+affogare affogar
+affrettare affrettar
+affumicate affumicat
+agevolato agevolat
+aggiunga aggiung
+aggiuntovi aggiuntov
+aggregazione aggregazion
+agguerrita agguerrit
+agiutto agiutt
+agricoltura agricoltur
+aiutarmi aiutarm
+aizzatori aizzator
+alberghi alberg
+alemanni alemann
+algeria alger
+aliquota aliquot
+allarme allarm
+allegrezza allegrezz
+allentò allent
+allievi alliev
+allontanare allontanar
+allunga allung
+alpinimo alpinim
+alternanza alternanz
+altresì altres
+alzargli alzargl
+amareggiati amareggiat
+ambedue ambedu
+ambrosia ambros
+amiche amic
+ammalavano ammalavan
+ammessa ammess
+ammira ammir
+ammontare ammontar
+amodeo amode
+amplissimi amplissim
+anatemi anatem
+andarlo andarl
+andatura andatur
+andreatta andreatt
+angela angel
+angosciose angoscios
+animarvi animarv
+annebbiare annebbiar
+annoiato annoiat
+annunciando annunciand
+annunziato annunziat
+ansioso ansios
+anticamere anticamer
+antidemocratico antidemocratic
+antonelli antonell
+aparecido aparecid
+appaltato appaltat
+apparente apparent
+appartamenti appartament
+appassionato appassionat
+appiccicati appiccicat
+applicativi applicativ
+appoggio appogg
+apprendisti apprendist
+approfittarne approfittarn
+approvata approvat
+appuntellato appuntellat
+apriva apriv
+archeologica archeologic
+arcobaleno arcobalen
+arendo arend
+argomentato argomentat
+armadio armad
+armonizzare armonizzar
+arrenato arrenat
+arricchimento arricchiment
+arrivai arriva
+arriverebbe arriverebb
+arrossì arross
+artica artic
+artigiano artigian
+asciutta asciutt
+ascolti ascolt
+aspettarvi aspettarv
+aspetti aspett
+assalitori assalitor
+assediavano assediavan
+assembela assembel
+assessori assessor
+assicurati assicurat
+assista assist
+associata associat
+assoluto assolut
+assuma assum
+astenesse asteness
+astuti astut
+atrocità atrocit
+attaccato attaccat
+attenderla attenderl
+attente attent
+attesa attes
+attiguo attigu
+attirate attirat
+attori attor
+attraverserà attraverser
+attribuita attribuit
+attuarlo attuarl
+auguro augur
+auricolare auricolar
+australiano australian
+autodissoluzione autodissoluzion
+autonoma autonom
+autorevolezza autorevolezz
+autostrade autostrad
+avanzata avanzat
+aventi avent
+avevano avevan
+avutolo avutol
+avvenimento avveniment
+avvenute avvenut
+avvertendo avvertend
+avvezzi avvezz
+avvicina avvicin
+avvicinò avvicin
+avvistati avvistat
+aziendale aziendal
+azzurra azzurr
+baciata baciat
+baggiana baggian
+baldanza baldanz
+balletto ballett
+bambine bambin
+banchina banchin
+baracca baracc
+barbarie barbar
+barese bares
+baruffe baruff
+bastandogli bastandogl
+bastogi bastog
+battendolo battendol
+battista battist
+beccare beccar
+belligerante belligerant
+benedetti benedett
+benefici benefic
+benissimo benissim
+berlenghi berleng
+berretto berrett
+bestie best
+bianca bianc
+bianconero bianconer
+biella biell
+bilaterali bilateral
+biondo biond
+bisacce bisacc
+bisognasse bisognass
+bitume bitum
+bloccata bloccat
+bocciato bocciat
+bolognese bolognes
+bonariamente bonariament
+borbottare borbottar
+borrini borrin
+bosniaci bosniac
+bracchi bracc
+bramosi bramos
+braverie braver
+brevissimi brevissim
+brignano brignan
+broccato broccat
+bruciavano bruciavan
+bubbole bubbol
+buglione buglion
+burrasca burrasc
+buttarglielo buttargliel
+cabine cabin
+cacciatore cacciator
+caduta cadut
+cagnesco cagnesc
+calciasse calciass
+caldarola caldarol
+calorosa caloros
+cambiamento cambiament
+cambisti cambist
+camminano camminan
+campanello campanell
+campienza campienz
+cancellazione cancellazion
+cangiò cang
+cantarotti cantarott
+canzanella canzanell
+capannuccia capannucc
+capisce capisc
+capitata capitat
+capocomici capocomic
+cappellini cappellin
+carabinieri carabinier
+carbonica carbonic
+cardini cardin
+caricola caricol
+carnascialesche carnascialesc
+carriera carrier
+cartelli cartell
+casasco casasc
+caselli casell
+caspio casp
+castellari castellar
+catalogare catalogar
+catilina catilin
+cattura cattur
+cautelare cautelar
+cavallina cavallin
+caverebbe caverebb
+cecità cecit
+celebrazioni celebrazion
+cenciose cencios
+centinaio centina
+centri centr
+cercarlo cercarl
+cercherò cercher
+cernobbio cernobb
+cervello cervell
+cessazione cessazion
+chiacchiere chiacchier
+chiamatemi chiamatem
+chiari chiar
+chiavenna chiavenn
+chiederà chieder
+chiesta chiest
+chinare chinar
+chissà chiss
+chiusi chius
+ciarlerebbe ciarlerebb
+ciglio cigl
+cinicamente cinicament
+cioffarelli cioffarell
+circondati circondat
+circuito circuit
+cittadinanza cittadinanz
+civitavecchia civitavecch
+classificato classificat
+cliniche clinic
+codesta codest
+coglierne cogliern
+colabrodo colabrod
+collana collan
+collegi colleg
+collocamento collocament
+colluttazioni colluttazion
+colorito colorit
+colsero colser
+comandamenti comandament
+comandò comand
+combinata combinat
+comincia cominc
+comitato comitat
+commentatori commentator
+commettere commetter
+commissariato commissariat
+comodi comod
+comparisce comparisc
+compatibilmente compatibilment
+competente competent
+compiacimento compiaciment
+compiuti compiut
+completarla completarl
+componesse componess
+composta compost
+compravano compravan
+compreso compres
+comunemente comunement
+comunisti comunist
+concedo conced
+concepite concepit
+concessionario concessionar
+concitarsi concitars
+conclusesi concluses
+concorrendo concorrend
+concretizzerà concretizzer
+condita condit
+condizioni condizion
+conduceva conducev
+conduttore conduttor
+confermando confermand
+confessarla confessarl
+conficcata conficcat
+confina confin
+confondendo confondend
+confortava confortav
+confusi confus
+congetturarlo congetturarl
+congratularsi congratulars
+coninori coninor
+conoscenza conoscenz
+conosciute conosciut
+consacrazione consacrazion
+consegnato consegnat
+consentiranno consentirann
+conservati conservat
+considerarsi considerars
+consigliato consigliat
+consolante consolant
+consonanti consonant
+consulenza consulenz
+consumati consumat
+contaggioso contaggios
+contate contat
+contemplazioni contemplazion
+contenitori contenitor
+contenuti contenut
+contestazione contestazion
+continuando continuand
+continuiamo continuiam
+contraddicesse contraddicess
+contrafforti contraffort
+contrassegni contrassegn
+contratto contratt
+contrista contrist
+controllerano controlleran
+conturbato conturbat
+convenire convenir
+conversato conversat
+convinta convint
+convocazione convocazion
+coordinamento coordinament
+coperturà copertur
+corato corat
+coreografie coreograf
+corporazione corporazion
+corresponsione corresponsion
+corrierè corrier
+corrusco corrusc
+cortesia cortes
+cosiddetti cosiddett
+costanzo costanz
+costiere costier
+costitutivi costitutiv
+costringerli costringerl
+costumato costumat
+creanza creanz
+credenti credent
+credevo credev
+creino crein
+cresceva crescev
+crimini crimin
+critica critic
+crociate crociat
+cronisti cronist
+cucina cucin
+culturalmente culturalment
+curavano curavan
+cynthia cynth
+danieli daniel
+daranno darann
+datrice datric
+debitoria debitor
+decentrata decentrat
+decina decin
+decollati decollat
+dedicate dedicat
+defilata defilat
+definito definit
+deiezione deiezion
+delicata delicat
+dellla delll
+democratica democratic
+denigratoria denigrator
+deontologicamente deontologicament
+deposito deposit
+deriso deris
+descritto descritt
+desiderarla desiderarl
+desiderò desider
+destare destar
+destre destr
+determinare determinar
+dettando dettand
+diaboliche diabolic
+dibatte dibatt
+dicendolo dicendol
+dichiarato dichiarat
+diecimila diecimil
+difensiva difensiv
+differenzia differenz
+diffidenza diffidenz
+digrignando digrignand
+dilettava dilettav
+dimensione dimension
+dimenticherebbe dimenticherebb
+diminuite diminuit
+dimostrato dimostrat
+diocesi dioces
+dipinge diping
+dipresso dipress
+direttive direttiv
+dirigista dirigist
+dirottamente dirottament
+disanimato disanimat
+disavventura disavventur
+discorrendo discorrend
+discriminato discriminat
+disegnare disegnar
+disgraziato disgraziat
+disinteressato disinteressat
+disordinava disordinav
+dispensati dispensat
+dispetti dispett
+disponendoli disponendol
+disposero disposer
+dispute disput
+dissimulare dissimular
+distanza distanz
+distintivi distintiv
+distrettuale distrettual
+distrigarsi distrigars
+disubbidire disubbidir
+divenendogli divenendogl
+diventeranno diventerann
+diversione diversion
+diviato diviat
+divisioni division
+dobbiamo dobbiam
+dolesse doless
+domandarono domandaron
+domenica domenic
+domingo doming
+doppiamente doppiament
+dotata dotat
+doveroso doveros
+dovrebbe dovrebb
+drappello drappell
+dubiti dubit
+duplice duplic
+dwayne dwayn
+eccessivi eccessiv
+ecclesiastici ecclesiastic
+economista economist
+editore editor
+educatrici educatric
+effusione effusion
+elaborate elaborat
+elemosine elemosin
+elettrica elettric
+elicottero elicotter
+emanazioni emanazion
+emersi emers
+emorragia emorrag
+energetici energetic
+entraci entrac
+entrature entratur
+epicentro epicentr
+equiparare equiparar
+ereditare ereditar
+erogati erogat
+esacerbata esacerbat
+esamina esamin
+esasperato esasperat
+escimi escim
+esclusa esclus
+esecutivo esecutiv
+esenzione esenzion
+esibiti esibit
+esisterà esister
+esortarla esortarl
+esperire esperir
+esploratori esplorator
+espongono espongon
+esposizione esposizion
+esprimersi esprimers
+essenza essenz
+estemporanee estemporane
+esterna estern
+estirparlo estirparl
+estremismo estremism
+etruschi etrusc
+europeò europe
+evidenti evident
+exercicio exercic
+faccenda faccend
+facendole facendol
+facilissima facilissim
+fallato fallat
+famigliarizzarsi famigliarizzars
+fanciulli fanciull
+fantozzi fantozz
+farina farin
+farsene farsen
+fasulli fasull
+fattaccio fattacc
+favole favol
+fazioni fazion
+fedeli fedel
+federico federic
+fendendo fendend
+feritore feritor
+fermate fermat
+ferocemente ferocement
+ferroviario ferroviar
+fiaccate fiaccat
+fiaschetto fiaschett
+fidata fidat
+figlie figl
+figurato figurat
+filatura filatur
+finaliste finalist
+finanziarla finanziarl
+finiamola finiamol
+finita finit
+fiorellini fiorellin
+firmeranno firmerann
+fisiche fisic
+fissore fissor
+flessori flessor
+foggia fogg
+fondamenti fondament
+fondicri fondicr
+foreste forest
+formarla formarl
+formidabile formidabil
+fornisce fornisc
+fortuna fortun
+forzute forzut
+fragassi fragass
+francesca francesc
+frangente frangent
+fratellanza fratellanz
+frazionamento frazionament
+frenata frenat
+fresche fresc
+frontale frontal
+frulloni frullon
+fuggendo fuggend
+funerale funeral
+fuoriclasse fuoriclass
+furiosi furios
+gabelliere gabellier
+galanterie galanter
+galleggiare galleggiar
+garage garag
+garbuglio garbugl
+gaspare gaspar
+gaviglio gavigl
+generale general
+geniali genial
+gentiluomini gentiluomin
+gerolamo gerolam
+gestuale gestual
+ghiaia ghia
+giallo giall
+gianni giann
+giglio gigl
+giocherà giocher
+giorgio giorg
+giornata giornat
+gioverebbero gioverebber
+girati girat
+giudica giudic
+giudizioaria giudizioar
+giungla giungl
+giuria giur
+giustificarlo giustificarl
+gliene glien
+godersela godersel
+gomiti gomit
+gorgoglia gorgogl
+governatorato governatorat
+gradito gradit
+grandeggiava grandeggiav
+grassetto grassett
+gravoso gravos
+greppia grepp
+grigiore grigior
+grossi gross
+guadalupa guadalup
+guardandosi guardandos
+guardato guardat
+guarire guarir
+guastate guastat
+guerricciole guerricciol
+guidava guidav
+haapakosti haapakost
+helsinki helsink
+iberdrola iberdrol
+ideologia ideolog
+ierardi ierard
+ignoti ignot
+illesi illes
+illustrato illustrat
+imbarcazioni imbarcazion
+imbrattati imbrattat
+imitare imitar
+immaginato immaginat
+immediate immediat
+immobiliare immobiliar
+impadronirsene impadronirsen
+impastocchiarvi impastocchiarv
+impedirle impedirl
+impegnasse impegnass
+impensati impensat
+impertinenze impertinenz
+impicciano impiccian
+impiegata impiegat
+implorando implorand
+importa import
+impositiva impositiv
+impostori impostor
+impresa impres
+improduttive improduttiv
+impunemente impunement
+inamidate inamidat
+inaugurati inaugurat
+incamminavano incamminavan
+incaricandosi incaricandos
+incendiarie incendiar
+incetta incett
+inciamparci inciamparc
+inclinano inclinan
+incolta incolt
+incomodo incomod
+incontra incontr
+incontravamo incontravam
+incoraggito incoraggit
+incrociare incrociar
+incutere incuter
+indefinibile indefinibil
+indette indett
+indicative indicativ
+indifferenti indifferent
+indipendentisti indipendentist
+indiscrezione indiscrezion
+individualmente individualment
+indonesia indones
+indubitabilmente indubitabilment
+industriale industrial
+inefficienza inefficienz
+inesperto inespert
+infanzia infanz
+infermiere infermier
+infezione infezion
+inflazionistica inflazionistic
+infomazione infomazion
+informati informat
+infossati infossat
+ingannata ingannat
+ingegnoso ingegnos
+ingiuria ingiur
+ingolfato ingolfat
+ingrosso ingross
+iniziano inizian
+innamorata innamorat
+innovativo innovativ
+inorridito inorridit
+inquieto inquiet
+insalvatichito insalvatichit
+insegnargli insegnargl
+inseguita inseguit
+inserita inserit
+insinuazioni insinuazion
+insoliti insolit
+inspiegabili inspiegabil
+insulino insulin
+intasavano intasavan
+intelletto intellett
+intenderà intender
+intensificano intensifican
+intercedeva intercedev
+interessati interessat
+interlocuzione interlocuzion
+interni intern
+interprete interpret
+interrogatòri interrogator
+interssi interss
+intervistando intervistand
+intimazione intimazion
+intorbidarla intorbidarl
+intrapreso intrapres
+intrise intris
+introduzione introduzion
+invalicabile invalicabil
+inveire inveir
+inverta invert
+investitura investitur
+invidiandole invidiandol
+invitarla invitarl
+involandosi involandos
+ipertrofia ipertrof
+irlanda irland
+irrespirabili irrespirabil
+irritualità irritualit
+ischerzo ischerz
+isfogarsi isfogars
+isolata isolat
+ispirandosi ispirandos
+istantanea istantane
+istinti istint
+istradamento istradament
+istudiarvi istudiarv
+iugoslavia iugoslav
+kamikazè kamikaz
+kowanko kowank
+lacrimando lacrimand
+lamana laman
+lampada lampad
+lancio lanc
+larache larac
+lasciala lascial
+lasciarmi lasciarm
+lasciatolo lasciatol
+latifondi latifond
+lavandai lavanda
+lavorato lavorat
+lealmente lealment
+legatevi legatev
+leggero legger
+legislatura legislatur
+lentezza lentezz
+letterario letterar
+levanta levant
+levatevelo levatevel
+liberaldemocratico liberaldemocratic
+liberato liberat
+libertinaggio libertinagg
+lietamente lietament
+limitative limitativ
+liquefatto liquefatt
+listino listin
+locale local
+lodovico lodovic
+lombardini lombardin
+lorenzini lorenzin
+luccicanti luccicant
+luglio lugl
+lunghettamente lunghettament
+lustre lustr
+maceratese macerates
+maestranze maestranz
+maggie magg
+magistrale magistral
+maharashtra maharashtr
+malasorte malasort
+malebolge malebolg
+maliardi maliard
+malizioso malizios
+malvagi malvag
+mancano mancan
+mancheranno mancherann
+mandarla mandarl
+manderà mander
+mangiando mangiand
+maniera manier
+manifestazione manifestazion
+manoscritto manoscritt
+mantenga manteng
+maradona maradon
+marcatori marcator
+marciose marcios
+marianna mariann
+maritate maritat
+marsica marsic
+marvasi marvas
+masitto masitt
+massimalismo massimalism
+materassina materassin
+matrimoniali matrimonial
+matura matur
+mazzeo mazze
+medesmo medesm
+mediocremente mediocrement
+megabytè megabyt
+menadito menadit
+menomamente menomament
+menzogne menzogn
+meridionali meridional
+merlotti merlott
+mescolati mescolat
+messosi messos
+metamorfosi metamorfos
+mettendovi mettendov
+mettersi metters
+mezzogiorno mezzogiorn
+migliaia miglia
+milanisti milanist
+millennio millenn
+minaciati minaciat
+miniserie miniser
+minutamente minutament
+mirallegri mirallegr
+misera miser
+missionarie missionar
+misurarlo misurarl
+mobilificio mobilific
+moderatismo moderatism
+modificate modificat
+molestie molest
+moltitudine moltitudin
+monatti monatt
+monetario monetar
+monorchio monorch
+montarono montaron
+moralista moralist
+morisse moriss
+mortificato mortificat
+mostrata mostrat
+motivi motiv
+movermi moverm
+mucchietto mucchiett
+municipale municipal
+muriccioli muricciol
+musure musur
+mutilate mutilat
+napoli napol
+nascondendo nascondend
+nascoste nascost
+naufraga naufrag
+navigazione navigazion
+neanche neanc
+negarla negarl
+negoziare negoziar
+neofita neofit
+nettamente nettament
+niguarda niguard
+nocerina nocerin
+nominata nominat
+norberto norbert
+nostra nostr
+notato notat
+notturno notturn
+nozioni nozion
+numerose numeros
+nuvoloso nuvolos
+obbligatoria obbligator
+oblivione oblivion
+occidente occident
+occulto occult
+occupazionali occupazional
+odierni odiern
+offerta offert
+offrivano offrivan
+olidata olidat
+oltrepassare oltrepassar
+omicide omicid
+onerose oneros
+operaio opera
+operazioni operazion
+opportuna opportun
+oppresso oppress
+orchestra orchestr
+ordinati ordinat
+organico organic
+organizzavano organizzavan
+originale original
+ormeggiati ormeggiat
+orticello orticell
+oscure oscur
+ospizio ospiz
+osservatore osservator
+ostentata ostentat
+ostini ostin
+ottengono ottengon
+ottiva ottiv
+oziosamente oziosament
+paderno padern
+pagani pagan
+paggio pagg
+paladina paladin
+palestinesi palestines
+palmisani palmisan
+pandolfo pandolf
+paonazzo paonazz
+paragonerebbe paragonerebb
+paravento paravent
+parentela parentel
+parini parin
+parlarono parlaron
+parlto parlt
+parrucca parrucc
+partenza partenz
+partirà partir
+parziale parzial
+passano passan
+passatempo passatemp
+passerebbe passerebb
+pastine pastin
+patetica patetic
+patrimoni patrimon
+pazienza pazienz
+pecuniarie pecuniar
+pelata pelat
+pendente pendent
+penisola penisol
+pensaci pensac
+pensavano pensavan
+pensione pension
+peraboni perabon
+perdendo perdend
+perdonata perdonat
+perfette perfett
+pericolosi pericolos
+periti perit
+permessi permess
+peronista peronist
+perseguimento perseguiment
+personali personal
+perticaro perticar
+pervenuti pervenut
+pescate pescat
+pestaggio pestagg
+pettegole pettegol
+piacendogli piacendogl
+pianeti pianet
+piantandosi piantandos
+piazza piazz
+picchiarsi picchiars
+piduisti piduist
+pierferdinando pierferdinand
+pigiare pigiar
+pillole pillol
+pioppo piopp
+pitocco pitocc
+plausibile plausibil
+pochissimo pochissim
+poiché poic
+polimeri polimer
+poliziotto poliziott
+polziia polzi
+pontone ponton
+porcheria porcher
+portandosi portandos
+portateglieli portategliel
+porterò porter
+posarci posarc
+posizini posizin
+possibilie possibil
+posticipo posticip
+poteri poter
+poteva potev
+potuti potut
+povero pover
+praticare praticar
+precede preced
+precipita precipit
+precisare precisar
+predecessore predecessor
+prediletto predilett
+preferito preferit
+pregatelo pregatel
+pregiudiziali pregiudizial
+premere premer
+premurosamente premurosament
+prenderla prenderl
+prendevano prendevan
+preoccupatissimo preoccupatissim
+preparazione preparazion
+prescritte prescritt
+presentasse presentass
+presentiamo presentiam
+presidenziale presidenzial
+prestano prestan
+presumibilmente presumibilment
+pretendo pretend
+prevaleva prevalev
+prevedono prevedon
+previsti previst
+primaria primar
+principalmente principalment
+prioncipali prioncipal
+privatizzazioni privatizzazion
+problemi problem
+procelloso procellos
+procurarsi procurars
+prodigo prodig
+produttività produttivit
+proferita proferit
+professori professor
+profondità profondit
+programmato programmat
+proibite proibit
+promesse promess
+prometto promett
+pronostici pronostic
+pronunziare pronunziar
+propini propin
+proporrà proporr
+proposti propost
+prorogato prorogat
+proseguì prosegu
+prossimi prossim
+protestantè protestant
+protti prott
+provengono provengon
+provincie provinc
+provvederla provvederl
+prudenziale prudenzial
+pubblicazione pubblicazion
+pudore pudor
+pulite pulit
+puntare puntar
+puntualizzato puntualizzat
+purissimi purissim
+quadrifoglio quadrifogl
+qualitate qualitat
+quantitativo quantitativ
+quassù quassu
+quello quell
+questura questur
+qundici qundic
+rabbiosi rabbios
+raccattarle raccattarl
+raccomandandosi raccomandandos
+raccomodava raccomodav
+raccontatemelo raccontatemel
+rachenko rachenk
+radezza radezz
+radiotelevisivo radiotelevisiv
+raffigurata raffigurat
+ragazzate ragazzat
+raggiungerlo raggiungerl
+ragguagliata ragguagliat
+raidue raidu
+rallentare rallentar
+rammarico rammaric
+rannicchiato rannicchiat
+rapita rapit
+rappresentanza rappresentanz
+rasentando rasentand
+rassicurando rassicurand
+rattenuta rattenut
+ravviarla ravviarl
+reagiscono reagiscon
+realmente realment
+recati recat
+reciprocamente reciprocament
+recriminazioni recriminazion
+reddito reddit
+regalata regalat
+regine regin
+registrato registrat
+regolarità regolarit
+reinterpretato reinterpretat
+relegatione relegation
+rendendo rendend
+rendeva rendev
+replica replic
+reputazione reputazion
+resistergli resistergl
+respirata respirat
+restanti restant
+resticciolo resticciol
+retagna retagn
+rettifica rettific
+riabbassandoli riabbassandol
+riallineamento riallineament
+riappropriarsi riappropriars
+riavvicinamento riavvicinament
+ribatterle ribatterl
+ributtanti ributtant
+ricapitalizzazione ricapitalizzazion
+riccio ricc
+riceve ricev
+ricevute ricevut
+richiamerebbe richiamerebb
+richiesto richiest
+ricominciato ricominciat
+ricomposto ricompost
+riconoscerne riconoscern
+riconvocare riconvocar
+ricordata ricordat
+ricorreggere ricorregger
+ricoverare ricoverar
+ricupero ricuper
+ridersi riders
+ridiscuta ridiscut
+ridurlo ridurl
+riempitane riempitan
+riequilibrio riequilibr
+rifatti rifatt
+riferito riferit
+rifiutò rifiut
+riformatore riformator
+rigagnoli rigagnol
+rigore rigor
+riguarderà riguarder
+rilasciato rilasciat
+rilisciarsi rilisciars
+rimanevano rimanevan
+rimasuglio rimasugl
+rimembranze rimembranz
+rimettendo rimettend
+rimondi rimond
+rimpiazzato rimpiazzat
+rinascimento rinasciment
+rincorare rincorar
+rinfusa rinfus
+ringraziava ringraziav
+rinnovo rinnov
+rinunziato rinunziat
+riofferti rioffert
+riparlava riparlav
+ripensarne ripensarn
+ripetono ripeton
+ripigliava ripigliav
+riportati riportat
+riprende riprend
+ripresi ripres
+ripulse ripuls
+risanare risanar
+rischi risc
+riscontri riscontr
+risentite risentit
+risicare risicar
+risolversi risolvers
+rispamio rispam
+rispettare rispettar
+rispingerne rispingern
+rispondete rispondet
+ristorante ristorant
+ristrinsero ristrinser
+risvegliando risvegliand
+ritenendo ritenend
+ritirandosi ritirandos
+ritmicamente ritmicament
+ritrarne ritrarn
+ritroverà ritrover
+riunite riunit
+riuscito riuscit
+rivedremo rivedrem
+rivendicazioni rivendicazion
+rivestita rivestit
+rivolgere rivolger
+rivoltava rivoltav
+rizzate rizzat
+rodersi roders
+romanisti romanist
+roncato roncat
+rosica rosic
+rotazione rotazion
+rovescio rovesc
+rubarselo rubarsel
+ruggero rugger
+rurali rural
+sabatini sabatin
+sacrificarsi sacrificars
+sagrestano sagrestan
+salernitani salernitan
+salomone salomon
+saltuaria saltuar
+salvadanaio salvadana
+salvatico salvatic
+sanandola sanandol
+sanguigni sanguign
+santavaleria santavaler
+sapere saper
+sapienza sapienz
+saputo saput
+sarriò sarr
+satriano satrian
+sbagliare sbagliar
+sbandata sbandat
+sbiadito sbiadit
+sboccato sboccat
+sbucati sbucat
+scaffale scaffal
+scalfaro scalfar
+scambiati scambiat
+scandolo scandol
+scappa scapp
+scappellotto scappellott
+scarlatta scarlatt
+scarso scars
+scattato scattat
+sceglieranno sceglierann
+scelsero scelser
+scendesse scendess
+scheggiato scheggiat
+scherza scherz
+schiarimento schiariment
+schietta schiett
+schizzi schizz
+scialmente scialment
+scimmiè scimm
+sciolte sciolt
+scoccava scoccav
+scollo scoll
+scompagnato scompagnat
+scomposti scompost
+sconfiggeremo sconfiggerem
+sconquasso sconquass
+scoperte scopert
+scoprire scoprir
+scorrendola scorrendol
+scortata scortat
+scottava scottav
+scrivano scrivan
+scrutinio scrutin
+scusate scusat
+seattle seattl
+secessionista secessionist
+secondo second
+sedili sedil
+seggiole seggiol
+segnatamente segnatament
+segreterià segreter
+seguirne seguirn
+seicento seicent
+sembrasse sembrass
+semifinali semifinal
+semplicità semplicit
+sensini sensin
+sentinella sentinell
+sentita sentit
+separati separat
+sequestrati sequestrat
+serenità serenit
+serrata serrat
+servirgli servirgl
+servivano servivan
+settantina settantin
+severamente severament
+sferra sferr
+sfociare sfociar
+sforacchiate sforacchiat
+sfrattato sfrattat
+sfuggite sfuggit
+sgherri sgherr
+sgraffiatura sgraffiatur
+sheila sheil
+siciliano sicilian
+sigillava sigillav
+significavano significavan
+silenzio silenz
+simili simil
+sincerità sincerit
+singola singol
+sinora sinor
+sistemazione sistemazion
+slanciò slanc
+smantellato smantellat
+smentiva smentiv
+smorto smort
+soastenuto soastenut
+soccorsa soccors
+sodaglia sodagl
+sofferenza sofferenz
+soffogargli soffogargl
+sogefi sogef
+soggiunse soggiuns
+soldati soldat
+solita solit
+sollecitazioni sollecitazion
+sollevò sollev
+somiglianza somiglianz
+sommissione sommission
+sonoramente sonorament
+sopportiamo sopportiam
+sopraggiunse sopraggiuns
+sopravvivenza sopravvivenz
+sorgente sorgent
+sorreggendo sorreggend
+sorvegliava sorvegliav
+sospettate sospettat
+sostantivo sostantiv
+sostengano sostengan
+sostituisca sostituisc
+sottile sottil
+sottomettere sottometter
+sottosuolo sottosuol
+sottufficiali sottufficial
+sovrapporre sovrapporr
+spacciavano spacciavan
+spalancati spalancat
+sparato sparat
+spariti sparit
+spasimo spasim
+spaventosa spaventos
+speciali special
+specificavano specificavan
+speditamente speditament
+spenderebbe spenderebb
+speranza speranz
+spesso spess
+spezzato spezzat
+spiattellargli spiattellargl
+spicciola spicciol
+spiegava spiegav
+spingendole spingendol
+spintonato spintonat
+splendida splendid
+spoldi spold
+sporgere sporger
+spossati spossat
+spremerne spremern
+sprovveduta sprovvedut
+squadrandolo squadrandol
+squilibrio squilibr
+stabilirà stabilir
+staccarsi staccars
+stagionale stagional
+stampate stampat
+stanga stang
+starai stara
+statistiche statistic
+stazza stazz
+stendevano stendevan
+sterminare sterminar
+stiamo stiam
+stinchi stinc
+stizzetta stizzett
+storcendo storcend
+storpiato storpiat
+strade strad
+stranezza stranezz
+strappato strappat
+strascinavano strascinavan
+stravolta stravolt
+strepitoso strepitos
+stringa string
+stromento stroment
+strumento strument
+studierò studier
+stupro stupr
+subita subit
+succederà succeder
+succhiato succhiat
+suddivisa suddivis
+suggerirlo suggerirl
+summentovate summentovat
+superbi superb
+superstite superstit
+supplisca supplisc
+supposizioni supposizion
+suscitati suscitat
+susurrìo susurr
+svegliarsi svegliars
+sventa svent
+svignò svign
+svizzere svizzer
+svolgessero svolgesser
+tabella tabell
+taceva tacev
+tagliata tagliat
+taluni talun
+tantino tantin
+tardivamente tardivament
+tattica tattic
+tecniche tecnic
+telecomandata telecomandat
+telegrafico telegrafic
+televisive televisiv
+temibile temibil
+tempestava tempestav
+tenace tenac
+tenebrosi tenebros
+tenerne tenern
+tentacoli tentacol
+tentennò tentenn
+teppista teppist
+terminato terminat
+terremoto terremot
+terrorismò terrorism
+tesseramento tesserament
+testimoniato testimoniat
+tifosi tifos
+tipologie tipolog
+tirapiedi tirapied
+tiriamo tiriam
+titubazione titubazion
+toccategli toccategl
+togliergli togliergl
+tonante tonant
+torinese torines
+tornandovi tornandov
+tornerai tornera
+torrisi torris
+tossire tossir
+traccia tracc
+tradizionalmente tradizionalment
+trafitto trafitt
+tragittarmi tragittarm
+trambusto trambust
+tranquilli tranquill
+trapiantato trapiantat
+trascorreva trascorrev
+trasferimento trasferiment
+trasformato trasformat
+trasmetterla trasmetterl
+trasportarsi trasportars
+trattarli trattarl
+trattenerlo trattenerl
+travagli travagl
+travisati travisat
+tremito tremit
+trentina trentin
+tribunalè tribunal
+trimestre trimestr
+tripoli tripol
+trombetti trombett
+troppe tropp
+trovarcela trovarcel
+trovato trovat
+trufferia truffer
+tumultuosa tumultuos
+turismo turism
+ubbidirla ubbidirl
+uccidere uccider
+uffici uffic
+uguagliano uguaglian
+umanamente umanament
+umorismo umorism
+ungili ungil
+unitari unitar
+unzioni unzion
+urlatori urlator
+uscendo uscend
+uscivano uscivan
+utilizzate utilizzat
+vagabondo vagabond
+valdostano valdostan
+valichi valic
+valoti valot
+valute valut
+vantaggio vantagg
+varesotto varesott
+vasari vasar
+vedendo vedend
+vedersene vedersen
+vedrebbe vedrebb
+vegliavo vegliav
+velletri velletr
+vendette vendett
+venefici venefic
+veneziani venezian
+venite venit
+ventina ventin
+verace verac
+vergognosi vergognos
+verita verit
+versaccio versacc
+vertice vertic
+vestimento vestiment
+viaggetto viaggett
+viareggio viaregg
+vicepresidente vicepresident
+viezzoli viezzol
+vilipendio vilipend
+villorba villorb
+vincoli vincol
+viottole viottol
+visibile visibil
+visitava visitav
+vittima vittim
+vivente vivent
+vocali vocal
+volare volar
+volessi voless
+volontariamente volontariament
+voltava voltav
+vorremmo vorremm
+votavano votavan
+zacchera zaccher
+zappando zappand
+zironelli zironell
+a a
+abbott abbott
+abiti abiti
+acciò acciò
+acnur acnur
+adam adam
+adoperar adoperar
+aereo aereo
+agci agci
+agos agos
+aia aia
+akbar akbar
+aldo aldo
+aliis aliis
+allo allo
+altar altar
+alumix alumix
+amaro amaro
+americas americas
+ampi ampi
+anche anche
+andres andres
+anime anime
+anp anp
+antti antti
+apre apre
+aran aran
+aree aree
+arrestar arrestar
+arvor arvor
+aspo aspo
+assottigliar assottigliar
+atou atou
+attribuir attribuir
+authority authority
+avene avene
+avo avo
+avvia avvia
+b b
+badò badò
+baldi baldi
+balìa balìa
+bank bank
+barnabas barnabas
+bastar bastar
+bazza bazza
+beffe beffe
+bello bello
+berberovic berberovic
+betis betis
+bic bic
+bill bill
+bisbigliar bisbigliar
+blue blue
+bobbi bobbi
+bolle bolle
+borbottar borbottar
+bossi bossi
+br br
+breda breda
+brina brina
+brulicar brulicar
+bucci bucci
+bugno bugno
+burgo burgo
+buttan buttan
+cadeo cadeo
+cairo cairo
+calma calma
+cameramen cameramen
+cane cane
+cao cao
+cappa cappa
+care care
+carpon carpon
+cascò cascò
+cause cause
+ccb ccb
+cede cede
+cena cena
+cerca cerca
+certà certà
+cha cha
+chi chi
+chinò chinò
+ci ci
+ciga ciga
+cinti cinti
+cisl cisl
+clarin clarin
+club club
+coevi coevi
+colli colli
+colti colti
+comillas comillas
+comparir comparir
+conakry conakry
+condur condur
+consegnar consegnar
+contemplar contemplar
+cooman cooman
+corde corde
+correr correr
+cos cos
+così così
+cp cp
+credit credit
+cristobal cristobal
+cruijff cruijff
+ctznon ctznon
+cuorè cuorè
+curvi curvi
+dadi dadi
+dame dame
+dar dar
+darò darò
+dayal dayal
+decadis decadis
+dela dela
+delta delta
+depardieu depardieu
+desta desta
+devils devils
+diane diane
+diede diede
+dille dille
+dir dir
+dirvi dirvi
+distinguer distinguer
+divengon divengon
+dl dl
+dolci dolci
+dongwu dongwu
+dornbusch dornbusch
+dov dov
+dragon dragon
+duce duce
+dure dure
+eam eam
+echeverry echeverry
+edit edit
+ehi ehi
+elena elena
+emc emc
+enfant enfant
+entrischen entrischen
+equo equo
+eriksson eriksson
+esaminator esaminator
+esite esite
+esso esso
+etici etici
+evani evani
+extremis extremis
+facevam facevam
+falda falda
+fan fan
+fare fare
+farà farà
+fatte fatte
+fdg fdg
+fenit fenit
+ferrer ferrer
+feudo feudo
+ficcò ficcò
+fieri fieri
+fim fim
+finrex finrex
+fiori fiori
+fissi fissi
+flavi flavi
+foday foday
+fonda fonda
+ford ford
+fornì fornì
+fossa fossa
+francois francois
+frederic frederic
+frugò frugò
+fughe fughe
+furbo furbo
+gabon gabon
+galles galles
+garda garda
+gay gay
+gelsi gelsi
+genio genio
+geporeinvest geporeinvest
+gesticredit gesticredit
+gg gg
+gillian gillian
+giosafat giosafat
+giuda giuda
+globefish globefish
+goffa goffa
+gonfiar gonfiar
+gradi gradi
+grato grato
+grido grido
+gt gt
+guerrin guerrin
+gustò gustò
+haiti haiti
+hannah hannah
+hearts hearts
+heroe heroe
+hoc hoc
+horst horst
+hugo hugo
+ibf ibf
+ielo ielo
+ii ii
+imieast imieast
+impiegar impiegar
+inclinar inclinar
+indur indur
+ingolstadt ingolstadt
+interb interb
+intra intra
+iourt iourt
+irnà irnà
+islam islam
+istro istro
+italy italy
+iv iv
+jacob jacob
+jean jean
+jill jill
+jon jon
+julia julia
+kalashikov kalashikov
+kennedy kennedy
+kioko kioko
+kolyvanov kolyvanov
+kruz kruz
+ladro ladro
+lamet lamet
+lapidum lapidum
+lascin lascin
+lavorar lavorar
+lede lede
+legò legò
+lenti lenti
+letta letta
+levy levy
+libro libro
+lif lif
+link link
+liste liste
+ln ln
+lomi lomi
+losa losa
+luca luca
+lumbard lumbard
+lutti lutti
+mac mac
+mag mag
+mail mail
+maltrattavan maltrattavan
+manches manches
+mani mani
+marangon marangon
+marie marie
+marshall marshall
+massachusetts massachusetts
+maya maya
+med med
+melander melander
+mense mense
+mercè mercè
+messi messi
+metti metti
+mib mib
+migo migo
+mille mille
+mio mio
+misurar misurar
+mn mn
+moia moia
+monathlich monathlich
+monte monte
+morgan morgan
+morì morì
+mota mota
+movon movon
+mulo mulo
+muro muro
+mute mute
+na na
+nania nania
+nassau nassau
+nazional nazional
+negritos negritos
+neomin neomin
+netzraim netzraim
+nick nick
+nippo nippo
+noel noel
+nonna nonna
+notavan notavan
+npa npa
+nulla nulla
+nè nè
+observer observer
+odi odi
+ogni ogni
+oliva oliva
+omnitel omnitel
+onta onta
+ora ora
+orien orien
+orè orè
+osta osta
+outcold outcold
+paci paci
+paghe paghe
+palio palio
+pance pance
+par par
+parlan parlan
+parse parse
+partners partners
+passim passim
+paul paul
+pdg pdg
+pelo pelo
+pensier pensier
+perder perder
+perso perso
+pesci pesci
+petro petro
+phillips phillips
+piano piano
+piedi piedi
+piglian piglian
+piove piove
+pizzo pizzo
+poche poche
+poli poli
+popolazion popolazion
+portaron portaron
+posso posso
+poti poti
+pr pr
+pregar pregar
+prese prese
+preti preti
+primo primo
+proda proda
+promotor promotor
+prudentium prudentium
+pugni pugni
+puoco puoco
+pz pz
+qualificar qualificar
+quidem quidem
+raadstroem raadstroem
+raddirizzar raddirizzar
+raffigurar raffigurar
+rami rami
+rara rara
+rating rating
+re re
+record record
+regno regno
+rendevan rendevan
+replicar replicar
+resto resto
+rg rg
+ricever ricever
+ridar ridar
+rifiutar rifiutar
+riman riman
+riparar riparar
+riso riso
+rito rito
+riz riz
+robertson robertson
+rodriquez rodriquez
+roma roma
+roque roque
+rosy rosy
+rowland rowland
+rubli rubli
+ruolettes ruolettes
+ruzzo ruzzo
+sace sace
+sailor sailor
+sale sale
+saltò saltò
+san san
+sansa sansa
+saprà saprà
+sassi sassi
+sboccan sboccan
+scappar scappar
+schaefer schaefer
+sci sci
+scorrer scorrer
+scuse scuse
+sed sed
+seguo seguo
+senegal senegal
+sento sento
+serbe serbe
+serre serre
+sesto sesto
+sfera sfera
+shah shah
+shimon shimon
+siamo siamo
+sifir sifir
+simi simi
+sirac sirac
+situa situa
+slegò slegò
+snia snia
+soffrir soffrir
+soldo soldo
+sondel sondel
+sorger sorger
+sospender sospender
+sozzo sozzo
+sparsim sparsim
+spegner spegner
+spiegel spiegel
+sporting sporting
+st st
+stare stare
+ste ste
+stia stia
+stoltenberg stoltenberg
+stuart stuart
+subordinar subordinar
+sulla sulla
+suole suole
+surplus surplus
+sydney sydney
+tacer tacer
+tanfi tanfi
+tarda tarda
+tassi tassi
+te te
+telethon telethon
+tender tender
+tepeyac tepeyac
+terzi terzi
+tettò tettò
+ticket ticket
+tinta tinta
+tishvin tishvin
+toccò toccò
+tomba tomba
+top top
+toro toro
+total total
+tragittar tragittar
+tre tre
+tribù tribù
+trovar trovar
+tuffo tuffo
+turpe turpe
+tzeltal tzeltal
+udir udir
+uh uh
+umida umida
+unica unica
+univa univa
+uova uova
+urss urss
+uscio uscio
+utilì utilì
+valdes valdes
+vanga vanga
+vasca vasca
+vece vece
+velar velar
+vengon vengon
+verdi verdi
+verum verum
+vettovagliar vettovagliar
+vide vide
+vigilantes vigilantes
+vincer vincer
+visco visco
+vitto vitto
+voci voci
+volgo volgo
+volto volto
+vu vu
+ward ward
+wenders wenders
+willy willy
+wspr wspr
+xmm xmm
+yakov yakov
+zag zag
+zelo zelo
+zimmermann zimmermann
+zone zone
diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/no-light-bokmaal.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/no-light-bokmaal.tsv
new file mode 100644
index 0000000000..edecf59744
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/no-light-bokmaal.tsv
@@ -0,0 +1,112 @@
+bedre bedr
+bibliotekaren bibliotekar
+bibliotekarene bibliotekar
+bibliotekarenes bibliotekar
+bibliotekarens bibliotekar
+bibliotekarer bibliotekar
+bilen bil
+bilene bil
+bilenes bil
+bilens bil
+biler bil
+billige billig
+billigere billig
+billigst billig
+datter datt
+døtre døtr
+døtrene døtr
+fattigdom fattig
+fattigdommen fattigdomm
+fattigdommens fattigdomm
+flagga flagg
+flaggene flagg
+flaggenes flagg
+flaggets flagg
+forelske forelsk
+forelskelse forelsk
+forelskelsen forelsk
+forelsket forelsk
+forlegen forleg
+forlegenhet forlegen
+forlegenheten forlegen
+forlegenhetens forlegen
+friskere frisk
+friskest frisk
+føle føl
+følte føl
+godhet god
+godheten god
+hemmelighet hemmelig
+hemmeligheten hemmelig
+hemmelighetens hemmelig
+hemmeligheter hemmelig
+hemmelighets hemmelig
+husene hus
+husenes hus
+huset hus
+husets hus
+kaken kak
+kakene kak
+kakenes kak
+kaker kak
+kammene kamm
+kammer kamm
+kamrene kamr
+kjærlighet kjærlig
+kjærligheten kjærlig
+kjærligheter kjærlig
+kristen krist
+kristendom kristen
+kristendommen kristendomm
+kristendommens kristendomm
+kuene kuen
+kyrne kyrn
+politienes politi
+politiet politi
+politiets politi
+sekretæren sekretær
+sekretærene sekretær
+sykere syk
+sykest syk
+titlene titl
+titler titl
+tvetydighet tvetydig
+tvetydigheten tvetydig
+tvetydighetens tvetydig
+tvetydigheter tvetydig
+vaflene vafl
+vafler vafl
+veska vesk
+veskas vesk
+veske vesk
+vesken vesk
+veskene vesk
+virkelighet virkelig
+virkeligheten virkelig
+virkelighetens virkelig
+123 123
+Jens Jens
+abc abc
+best best
+bibliotekar bibliotekar
+bil bil
+billig billig
+fattig fattig
+flagg flagg
+frisk frisk
+følt følt
+god god
+hemmelig hemmelig
+hus hus
+kam kam
+kjærlig kjærlig
+ku ku
+kuer kuer
+kyr kyr
+politi politi
+sekretær sekretær
+syk syk
+tittel tittel
+tvetydig tvetydig
+vaffel vaffel
+virkelig virkelig
diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/no-light-nynorsk.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/no-light-nynorsk.tsv
new file mode 100644
index 0000000000..ec1290860b
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/no-light-nynorsk.tsv
@@ -0,0 +1,92 @@
+alderdom alder
+alderdommen alderdomm
+alderdommens alderdomm
+billegare billeg
+billegast billeg
+brørne brørn
+dotter dott
+dyra dyr
+dyras dyr
+dyret dyr
+døtrene døtr
+døtrer døtr
+eldre eldr
+farlegare farleg
+farlegast farleg
+gutane gut
+gutanes gut
+gutar gut
+guten gut
+gutens gut
+hemmelegheit hemmeleg
+hemmelegheita hemmeleg
+hemmelegheiter hemmeleg
+heva hev
+heve hev
+hevelse hev
+hevelsen hev
+hjelpe hjelp
+hjelpsemd hjelp
+innhalda innhald
+innhaldet innhald
+kjola kjol
+kjolas kjol
+kjole kjol
+kjolene kjol
+kjoler kjol
+kjærleik kjær
+kjærleikar kjær
+kjærleiken kjær
+kjærleikens kjær
+klørne klørn
+mødrene mødr
+mødrer mødr
+prospekta prospekt
+prospektas prospekt
+prospektet prospekt
+smalare smal
+smalast smal
+sunge sung
+syngje syngj
+søknadane søknad
+søknadanes søknad
+søknadar søknad
+søknaden søknad
+søknadens søknad
+sønene søn
+søner søn
+tryggleik trygg
+tryggleikar trygg
+tryggleiken trygg
+tryggleikens trygg
+vanskelegheit vanskeleg
+vanskelegheita vanskeleg
+vanskelegheiter vanskeleg
+vedunder vedund
+verke verk
+verksemd verk
+ærlegdom ærleg
+ærlegdommen ærlegdomm
+ærlegdommens ærlegdomm
+123 123
+Jens Jens
+abc abc
+billeg billeg
+brør brør
+dyr dyr
+eldst eldst
+farleg farleg
+gammal gammal
+gut gut
+hemmeleg hemmeleg
+innhald innhald
+klo klo
+mor mor
+prospekt prospekt
+smal smal
+song song
+syng syng
+søknad søknad
+trygg trygg
+vanskeleg vanskeleg
+ærleg ærleg
diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/no-minimal-bokmaal.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/no-minimal-bokmaal.tsv
new file mode 100644
index 0000000000..c369b2daef
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/no-minimal-bokmaal.tsv
@@ -0,0 +1,78 @@
+bedre bedr
+bibliotekaren bibliotekar
+bibliotekarene bibliotekar
+bibliotekarenes bibliotekar
+bibliotekarens bibliotekar
+bibliotekarer bibliotekar
+bilen bil
+bilene bil
+bilenes bil
+bilens bil
+biler bil
+billige billig
+billigere billiger
+datter datt
+døtre døtr
+døtrene døtr
+flagga flagg
+flaggene flagg
+flaggenes flagg
+flaggets flagg
+forelskelse forelskels
+føle føl
+følte følt
+godhet godh
+hemmelighet hemmeligh
+hemmeligheten hemmelighet
+husene hus
+husenes hus
+huset hus
+husets hus
+kaken kak
+kakene kak
+kakenes kak
+kaker kak
+kammene kamm
+kammer kamm
+kamrene kamr
+kjærlighet kjærligh
+kjærligheten kjærlighet
+kuene kuen
+kyrne kyrn
+politienes politi
+politiet politi
+politiets politi
+sekretæren sekretær
+sekretærene sekretær
+titlene titl
+titler titl
+vaflene vafl
+vafler vafl
+veska vesk
+veskas vesk
+veske vesk
+vesken vesk
+veskene vesk
+123 123
+Jens Jens
+abc abc
+best best
+bibliotekar bibliotekar
+bil bil
+billig billig
+billigst billigst
+flagg flagg
+følt følt
+god god
+hemmelig hemmelig
+hus hus
+kam kam
+kjærlig kjærlig
+kristendom kristendom
+ku ku
+kuer kuer
+kyr kyr
+politi politi
+sekretær sekretær
+tittel tittel
+vaffel vaffel
diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/no-minimal-nynorsk.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/no-minimal-nynorsk.tsv
new file mode 100644
index 0000000000..5ffd1f883c
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/no-minimal-nynorsk.tsv
@@ -0,0 +1,59 @@
+brørne brørn
+dotter dott
+dyra dyr
+dyras dyr
+dyret dyr
+døtrene døtr
+døtrer døtr
+eldre eldr
+farlegare farlegar
+gutane gut
+gutanes gut
+gutar gut
+guten gut
+gutens gut
+innhalda innhald
+innhaldet innhald
+jenta jent
+jentas jent
+jente jent
+jentene jent
+jenter jent
+klørne klørn
+mødrene mødr
+mødrer mødr
+prospekta prospekt
+prospektas prospekt
+prospektet prospekt
+sanninga sanning
+større størr
+sunge sung
+syngje syngj
+søknadane søknad
+søknadanes søknad
+søknadar søknad
+søknaden søknad
+søknadens søknad
+sønene søn
+søner søn
+vedunder vedund
+123 123
+Jens Jens
+abc abc
+brør brør
+dyr dyr
+eldst eldst
+farleg farleg
+farlegast farlegast
+gammal gammal
+gut gut
+innhald innhald
+klo klo
+mor mor
+prospekt prospekt
+sanning sanning
+song song
+stor stor
+størst størst
+syng syng
+søknad søknad
diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/pt-light.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/pt-light.tsv
new file mode 100644
index 0000000000..15b9f7676a
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/pt-light.tsv
@@ -0,0 +1,2000 @@
+aacho aach
+abandonados abandonad
+abatedouro abatedour
+abecafé abecafe
+abolição abolica
+aborrecidos aborrecid
+abraçada abracad
+abrisse abriss
+abstenção abstenca
+abusando abusand
+acabava acabav
+acampamos acampam
+aceitação aceitaca
+acentuadas acentuad
+acessível acessivel
+aché ache
+acolhê acolhe
+acompanhados acompanhad
+aconselhada aconselhad
+aconteçam acontecam
+acostumada acostumad
+acrescentado acrescentad
+acumulação acumulaca
+adams adam
+adepto adept
+adesivos adesiv
+adicionasse adicionass
+administrativamente administrativ
+admissão admissa
+adora ador
+adotasse adotass
+adriane adrian
+adversárias adversari
+adúlteras adulter
+aeroviário aeroviari
+afazeres afazer
+afetivo afetiv
+afirmativa afirmativ
+aforismo aforism
+agarras agarr
+agitado agitad
+agrade agrad
+agregado agregad
+agricultura agricultur
+aguentamos aguentam
+aids aid
+ajudando ajudand
+alagoana alagoan
+alaíde alaid
+alcançá alcanca
+alcoólico alcoolic
+alegra alegr
+alencastro alencastr
+alfabetizado alfabetizad
+algarismos algarism
+aliados aliad
+alimentação alimentaca
+almeida almeid
+alojados alojad
+alpinistas alpinist
+alternava alternav
+altíssimos altissim
+alumínio alumini
+alçapão alcapa
+amanda amand
+amargos amarg
+amazonas amaza
+ambientação ambientaca
+ameaçado ameacad
+amena amen
+amiguinho amiguinh
+amorosa amoros
+ampliando ampliand
+américas americ
+analisando analisand
+anatômico anatomic
+andará andara
+anemia anemi
+angelo angel
+anhanduí anhandui
+aniquile aniquil
+anseia ansei
+antecedentes antecedent
+antepassados antepassad
+antidrogas antidrog
+antipessoais antipessoal
+antropologia antropologi
+anulado anulad
+anátemas anatem
+apagando apagand
+aparece aparec
+aparentes aparent
+apela apel
+apertado apertad
+aplicadas aplicad
+apoiados apoiad
+apoplético apopletic
+apoteose apoteos
+aprenda aprend
+apresentado apresentad
+apressada apressad
+apropriadas apropriad
+aproveitaria aproveitari
+apurado apurad
+aquartelamento aquartelament
+aquático aquatic
+araras arar
+ardidas ardid
+argila argil
+arisco arisc
+armamentista armamentist
+armênios armeni
+arquiinimigos arquiinimig
+arquivos arquiv
+arranque arranqu
+arrebatadas arrebatad
+arregaçadas arregacad
+arrependimento arrependiment
+arrojada arrojad
+arrumo arrum
+artificiais artificial
+artísticas artistic
+asiática asiatic
+assaltados assaltad
+assediado assediad
+assentos assent
+assinalado assinalad
+assistida assistid
+associo associ
+assumisse assumiss
+assédio assedi
+astros astr
+ataques ataqu
+atendimentos atendiment
+aterrissado aterrissad
+atira atir
+ativista ativist
+atormentada atormentad
+atrasada atrasad
+atração atraca
+atributos atribut
+atualidade atualidad
+atípico atipic
+auditorias auditori
+aumentará aumentara
+austríaco austriac
+automaticamente automatic
+autopeças autopec
+autorizações autorizaca
+autônoma autonom
+avalista avalist
+avanços avanc
+avenue avenu
+avisando avisand
+ayres ayr
+açucar acucar
+babaquice babaquic
+badalações badalaca
+bahts baht
+baixaria baixari
+balanço balanc
+balizamento balizament
+bananeiras bananeir
+bandas band
+banha banh
+baptista baptist
+barbariza barbariz
+bardo bard
+barranco barranc
+barroso barros
+basquete basquet
+batatas batat
+batismo batism
+baía baia
+bebeto bebet
+beira beir
+beliscão belisca
+beneficiamento beneficiament
+bens bem
+bermudão bermuda
+beterraba beterrab
+bicha bich
+bijuterias bijuteri
+bimestre bimestr
+biotecnologia biotecnologi
+bistrô bistro
+blague blagu
+bloqueio bloquei
+bobinho bobinh
+bolachas bolach
+bolso bols
+bombinha bombinh
+bonequinhas bonequinh
+books book
+borra borr
+botijão botija
+boêmio boemi
+brando brand
+brasiliense brasiliens
+brega breg
+briguenta briguent
+brincos brinc
+britânico britanic
+brotado brotad
+bruscamente brusc
+buchadas buchad
+buléu buleu
+buriatas buriat
+buruma burum
+buuááááá buuaaaaa
+bênção benca
+caatinga caating
+caberia caberi
+cabritinhas cabritinh
+cacique caciqu
+cadeira cadeir
+cafezais cafezal
+caixa caix
+calango calang
+caldeirão caldeira
+calmantes calmant
+calçada calcad
+camarena camaren
+camelô camelo
+caminhão caminha
+campanhas campanh
+camponeses campones
+canalha canalh
+candice candic
+cangaceiro cangaceir
+cansativo cansativ
+cantonês cantone
+capacidade capacidad
+capitanias capitani
+caprichosos caprichos
+capão capa
+carapuça carapuc
+carcará carcara
+cardíaca cardiac
+cargos carg
+carinhosamente carinhos
+carnegie carnegi
+carpinteiro carpinteir
+carreteiro carreteir
+cartazes cartaz
+cartéis cartel
+carências carenci
+casamentos casament
+caseira caseir
+cassino cassin
+casto cast
+catastrófico catastrofic
+catorze catorz
+causadas causad
+cavaleiro cavaleir
+cavidades cavidad
+caído caid
+cegos cego
+celulites celulit
+centenas centen
+centros centr
+cercanias cercani
+certeiramente certeir
+cervejaria cervejari
+cesário cesari
+chamando chamand
+chance chanc
+charles charl
+chaveco chavec
+chefões chefa
+chegue chegu
+cherokee cheroke
+chinelo chinel
+choca choc
+chorando chorand
+churo chur
+chácara chacar
+cidadania cidadani
+cieps ciep
+cinco cinc
+cinqüenta cinquent
+cinzeiros cinzeir
+circulatório circulatori
+cirúrgicas cirurgic
+ciumento ciument
+clandestinos clandestin
+classe class
+claudio claudi
+climatério climateri
+clovis clovil
+clímax climax
+cobertas cobert
+cobranças cobranc
+codinomes codinom
+coincidia coincidi
+colares colar
+coleguinhas coleguinh
+colhe colh
+colisão colisa
+colocação colocaca
+coloque coloqu
+colágeno colagen
+comandantes comandant
+combativa combativ
+combustão combusta
+comemorações comemoraca
+comercialmente comercial
+começado comecad
+começá comeca
+comodidade comodidad
+compara compar
+compartilhada compartilhad
+compensasse compensass
+competições competica
+completando completand
+complicada complicad
+comportado comportad
+compradoras comprador
+compreensivo compreensiv
+compromete compromet
+comprovação comprovaca
+computável computavel
+comunitárias comunitari
+concedidos concedid
+concessionária concessionari
+concordado concordad
+concretista concretist
+condenados condenad
+conduta condut
+confeccionadas confeccionad
+confessa confess
+confinado confinad
+confiscado confiscad
+confortá conforta
+confusos confus
+congrega congreg
+conhecidas conhecid
+conjunto conjunt
+consagradas consagrad
+conseguindo conseguind
+conseqüente consequent
+conservados conservad
+considero consider
+consolidasse consolidass
+constatado constatad
+constrangedora constrangedor
+construída construid
+consultas consult
+consumido consumid
+contabilizados contabilizad
+contardo contard
+contendo contend
+conteúdo conteud
+continuaria continuari
+contornara contornar
+contraditório contraditori
+contrariamente contrari
+contrataria contratari
+contribuições contribuica
+controverso controvers
+contábeis contabel
+convencionais convencional
+conversas convers
+convicto convict
+convite convit
+convocara convocar
+coordenada coordenad
+copiá copia
+corda cord
+corinthiana corinthian
+corporativo corporativ
+correição correica
+correta corret
+corrigido corrigid
+cortada cortad
+cortiços cortic
+cosmódromo cosmodrom
+costumo costum
+cotejadas cotejad
+covello covell
+cptzão cptza
+credenciado credenciad
+cremilda cremild
+cresça cresc
+criará criara
+criminalistas criminalist
+cristiano cristian
+crivada crivad
+crucificado crucificad
+cruéis cruel
+cubanos cuban
+cuidadoso cuidados
+culpado culpad
+culturalmente cultural
+cumpulsório cumpulsori
+curiosamente curios
+cursos curs
+custas cust
+cyrus cyru
+cândido candid
+césio cesi
+código codig
+cômodos comod
+dagueneide dagueneid
+daniella daniell
+dançante dancant
+daquele daquel
+datasus datasu
+debilitado debilitad
+decentemente decent
+decidirá decidira
+declarado declarad
+decorativo decorativ
+dedicado dedicad
+defenderte defendert
+deficiências deficienci
+defronta defront
+deixa deix
+dejenane dejenan
+deliberadamente deliberad
+delitos delit
+demissionários demissionari
+demográfica demografic
+demoro demor
+denominado denominad
+dentro dentr
+departamentalização departamentalizaca
+depiladas depilad
+depressa depress
+derivada derivad
+derrota derrot
+desabamento desabament
+desafio desafi
+desaparece desaparec
+desastrado desastrad
+desbravamento desbravament
+descarrega descarreg
+descentralizado descentralizad
+descobrirmos descobrirm
+desconfortáveis desconfortavel
+descontos descont
+descrita descrit
+descumprimento descumpriment
+desembarcará desembarcara
+desencadeado desencadead
+desenhos desenh
+desenvolvimentista desenvolvimentist
+desesperançados desesperancad
+desfiladeiros desfiladeir
+desgraças desgrac
+desigualdades desigualdad
+desistiria desistiri
+desloca desloc
+desmatamento desmatament
+desnecessárias desnecessari
+desonestidade desonestidad
+despachava despachav
+despencando despencand
+desperto despert
+despretensioso despretensios
+dessa dess
+deste dest
+destituição destituica
+destruído destruid
+desviada desviad
+detalhe detalh
+detentora detentor
+determinações determinaca
+detrimento detriment
+devaste devast
+devolução devoluca
+dezenove dezenov
+diagnosticando diagnosticand
+diarista diarist
+dieta diet
+dificilmente dificil
+difícil dificil
+dilacerado dilacerad
+dinamismo dinamism
+diogo diog
+direita direit
+diretrizes diretriz
+dirão dira
+discretas discret
+discute discut
+disfarçado disfarcad
+disparo dispar
+disponíveis disponivel
+dispôs dispo
+dissonância dissonanci
+distorcendo distorcend
+distribuídos distribuid
+divaldo divald
+divertia diverti
+dividimos dividim
+divulga divulg
+diálogo dialog
+dobradas dobrad
+doentes doent
+dolorosas doloros
+domingos doming
+dondoca dondoc
+dormitório dormitori
+doutores doutor
+dramático dramatic
+drogas drog
+duplicando duplicand
+durinho durinh
+débito debit
+déspotas despot
+dúvida duvid
+ecologistas ecologist
+ecos eco
+edite edit
+educada educad
+efetivo efetiv
+egoístas egoist
+elastina elastin
+eleitorado eleitorad
+eletricista eletricist
+eletrônico eletronic
+eliminaria eliminari
+elogia elogi
+elétrico eletric
+embaixadas embaixad
+embarcações embarcaca
+emboca emboc
+embrulhada embrulhad
+emigrantes emigrant
+emitidos emitid
+empenha empenh
+empoeirado empoeirad
+empregada empregad
+empresariais empresarial
+empurradas empurrad
+emílio emili
+encaminhado encaminhad
+encara encar
+encarnava encarnav
+encerradas encerrad
+enciclopéias enciclopei
+encontrado encontrad
+encostados encostad
+endereços enderec
+endossado endossad
+enfatiza enfatiz
+enfia enfi
+enfrentará enfrentara
+engarrafa engarraf
+engenhocas engenhoc
+engraxate engraxat
+enlace enlac
+enriquecido enriquecid
+ensinamentos ensinament
+entendesse entendess
+enterros enterr
+entrado entrad
+entregando entregand
+entrincheirados entrincheirad
+enumera enumer
+enviesados enviesad
+enxergando enxergand
+epifania epifani
+equinócio equinoci
+equivocada equivocad
+eris eri
+erradicação erradicaca
+eróticas erotic
+esboçou esbocou
+escalão escala
+escassos escass
+escoamento escoament
+escolhidos escolhid
+escondido escondid
+escreventes escrevent
+escritórios escritori
+escuridão escurida
+esfarrapados esfarrapad
+esgotada esgotad
+esmerilhada esmerilhad
+espalhafatosa espalhafatos
+espantosa espantos
+especialistas especialist
+espectro espectr
+esperada esperad
+espermogramas espermogram
+espetáculo espetacul
+esplêndida esplendid
+esposa espos
+espíritas espirit
+esquecidas esquecid
+esquetes esquet
+essenciais essencial
+estabilizadas estabilizad
+estaduais estadual
+estampava estampav
+estatura estatur
+estelionatários estelionatari
+esteróide esteroid
+estilistas estilist
+estimulando estimuland
+estocadas estocad
+estrados estrad
+estratagemas estratagem
+estrelado estrelad
+estripulias estripuli
+estréiam estreiam
+estupenda estupend
+estée este
+esvaziado esvaziad
+etiquetas etiquet
+eurico euric
+evangelização evangelizaca
+evidência evidenci
+evoluísse evoluiss
+exaltação exaltaca
+exaurido exaurid
+excepcionalmente excepcional
+excitação excitaca
+excrescência excrescenci
+exemplares exemplar
+exibe exib
+exigida exigid
+existe exist
+expande expand
+experiente experient
+experts expert
+explodido explodid
+explícito explicit
+exposto expost
+expulsando expulsand
+exteriores exterior
+extraordinariamente extraordinari
+extravasamento extravasament
+exuberantes exuberant
+fabrica fabric
+facadas facad
+facção facca
+faixas faix
+falcatruas falcatru
+falsificadas falsificad
+familiares familiar
+fantasias fantasi
+fardas fard
+farmácia farmaci
+faríamos fariam
+fatiadas fatiad
+favela favel
+fazemos fazem
+fearnside fearnsid
+fecundas fecund
+feitiçaria feiticari
+felinos felin
+fendas fend
+fermentação fermentaca
+ferroviário ferroviari
+festinhas festinh
+fibrinogênio fibrinogeni
+fichas fich
+figura figur
+filarmônicas filarmonic
+filiação filiaca
+filtro filtr
+finalmente final
+finança financ
+fique fiqu
+fiscalização fiscalizaca
+fitas fita
+fiéis fiel
+flavio flavi
+florença florenc
+fluminense fluminens
+focados focad
+folclórico folcloric
+fonoaudiologia fonoaudiologi
+forca forc
+formalidade formalidad
+formigas formig
+fornecedores fornecedor
+forte fort
+forçar forcar
+fotográficos fotografic
+fraco frac
+francesa frances
+franja franj
+frases fras
+freguesas fregues
+frequenta frequent
+freqüentadores frequentador
+fresco fresc
+fricção fricca
+fruição fruica
+frívolo frivol
+fumando fumand
+funcionárias funcionari
+fundação fundaca
+furadas furad
+futuramente futur
+fácil facil
+físicos fisic
+gabeira gabeir
+galho galh
+gambino gambin
+ganhas ganh
+garantidas garantid
+garimpando garimpand
+garrafas garraf
+gastadora gastador
+gastronômico gastronomic
+gaúcha gauch
+generalizada generalizad
+geniais genial
+gentileza gentilez
+geográfica geografic
+gerais geral
+gerusa gerus
+gianfrancesco gianfrancesc
+ginecológica ginecologic
+giulia giuli
+globeleza globelez
+goiabada goiabad
+gompas gomp
+gordura gordur
+gostava gostav
+governado governad
+grades grad
+gramados gramad
+grandões granda
+gratuitos gratuit
+gravações gravaca
+grega greg
+griffes griff
+grossa gross
+grunge grung
+guadalupe guadalup
+guardas guard
+guerrilha guerrilh
+guide guid
+gullo gull
+gérson gerson
+habilidade habilidad
+habituando habituand
+hatanaka hatanak
+hectare hectar
+helvécio helveci
+herculano herculan
+hernandes hernand
+hidratantes hidratant
+higienópolis higienopolil
+hipertensão hipertensa
+histerectomia histerectomi
+histórico historic
+hollywoodiano hollywoodian
+homeopático homeopatic
+honesta honest
+hordas hord
+horário horari
+hotéis hotel
+humildade humildad
+hystera hyster
+iansã iansa
+ideais ideal
+identificação identificaca
+idolatria idolatri
+ignorado ignorad
+ilegais ilegal
+iluminada iluminad
+ilusões ilusa
+imaginário imaginari
+imensas imens
+imitadores imitador
+impactos impact
+impedisse impediss
+impeçam impecam
+implicações implicaca
+importado importad
+impossibilidade impossibilidad
+impressa impress
+imprimindo imprimind
+impulsos impuls
+inabaláveis inabalavel
+inalcançáveis inalcancavel
+incendiada incendiad
+incerto incert
+incisões incisa
+incluído incluid
+incompreensão incompreensa
+incontida incontid
+incorporá incorpora
+incursão incursa
+indagações indagaca
+independente independent
+indicada indicad
+indigestão indigesta
+indiscutível indiscutivel
+indomável indomavel
+indígenas indigen
+inesperadamente inesperad
+infantaria infantari
+infelizes infeliz
+infinitas infinit
+influenciados influenciad
+informalmente informal
+informática informatic
+ingestão ingesta
+inibidores inibidor
+iniciação iniciaca
+injetado injetad
+inoportunos inoportun
+insana insan
+inserido inserid
+insolúvel insoluvel
+instala instal
+instinto instint
+instrução instruca
+insuperável insuperavel
+integrais integral
+inteligence inteligenc
+intenso intens
+interessada interessad
+interioranas interioran
+interminável interminavel
+interno intern
+interrogando interrogand
+intervenções intervenca
+intoxicação intoxicaca
+introspectivo introspectiv
+invadindo invadind
+inventário inventari
+investiga investig
+investimos investim
+inácio inaci
+inúmeros inumer
+irene iren
+irredutíveis irredutivel
+irreverente irreverent
+irritava irritav
+isenção isenca
+israelita israelit
+itens item
+jabás jaba
+jaguatirica jaguatiric
+janice janic
+jaraguá jaragua
+jazigo jazig
+jerusalém jerusalem
+jofre jofr
+johnnie johnni
+jornalismo jornalism
+joyce joyc
+julgada julgad
+julienne julienn
+junkie junki
+jurava jurav
+justifica justific
+juventude juventud
+júnior junior
+katiana katian
+kosmos kosm
+laboratório laboratori
+lados lado
+lambuzadas lambuzad
+lance lanc
+lançam lancam
+laranjeiras laranjeir
+laszlo laszl
+lauderdale lauderdal
+lavoura lavour
+legalidade legalidad
+legitimidade legitimidad
+leiloeiro leiloeir
+lembradas lembrad
+lenha lenh
+lentos lent
+leste lest
+levando levand
+levará levara
+lhes lhe
+liberalismo liberalism
+liberá libera
+liderado liderad
+ligação ligaca
+limitações limitaca
+linda lind
+lins lim
+listados listad
+litúrgico liturgic
+lixando lixand
+localizados localizad
+logotipos logotip
+londrina londrin
+lorde lord
+louco louc
+louzada louzad
+lucidio lucidi
+lugarejos lugarej
+lustro lustr
+luxuosos luxuos
+lésbicas lesbic
+líricos liric
+macacão macaca
+machos mach
+macunaíma macunaim
+madura madur
+magazines magazin
+magnus magnu
+magrinhas magrinh
+majestosa majestos
+malcriação malcriaca
+malha malh
+maltratadas maltratad
+mambembes mambemb
+manchetes manchet
+mandá manda
+manhãs manha
+manipulados manipulad
+manterá mantera
+mantê mante
+maquiavelismo maquiavelism
+maratona marata
+marcantes marcant
+marciana marcian
+maria mari
+marinha marinh
+marluce marluc
+martelo martel
+maré mare
+masmorra masmorr
+mastiga mastig
+mateo mate
+matriarca matriarc
+matá mata
+maçante macant
+mecanizado mecanizad
+medicamento medicament
+mediterrâneo mediterrane
+megaevento megaevent
+meigo meig
+melhoria melhori
+melão mela
+mendonça mendonc
+mensageiros mensageir
+mentindo mentind
+mercadorias mercadori
+mereço merec
+mescla mescl
+mestiço mestic
+meteorologia meteorologi
+metralhadora metralhador
+mexericando mexericand
+microfilme microfilm
+migratório migratori
+milhões milha
+milão mila
+minaretes minaret
+miniaturas miniatur
+minnesotta minnesott
+minúscula minuscul
+mirrado mirrad
+missão missa
+misturava misturav
+mobilidade mobilidad
+models model
+modesta modest
+modos modo
+moldura moldur
+moluscos molusc
+monde mond
+monopólio monopoli
+montados montad
+montava montav
+monótono monoton
+morarmos morarm
+moribundo moribund
+mortas mort
+mosteiro mosteir
+motins motim
+motors motor
+movimentação movimentaca
+mudança mudanc
+mulatinho mulatinh
+multimídia multimidi
+municípios municipi
+musculação musculaca
+mutretas mutret
+mágoa mago
+máximo maxim
+médiuns medium
+mínimos minim
+múltiplas multipl
+nacionais nacional
+nalina nalin
+napoleão napolea
+narra narr
+natalino natalin
+nature natur
+navegação navegaca
+necessaire necessair
+necrófilos necrofil
+negação negaca
+negona negon
+neiva neiv
+nervosas nervos
+netinho netinh
+neuroses neuros
+nicarágua nicaragu
+nipônica niponic
+nobres nobr
+nomeados nomead
+nordestinos nordestin
+nossos noss
+noturno noturn
+novatos novat
+noção noca
+numerário numerari
+náutica nautic
+nódulo nodul
+obesas obes
+obrigadas obrigad
+observaríamos observariam
+obstetrícia obstetrici
+obtive obtiv
+ocidentalizado ocidentalizad
+ocorridos ocorrid
+ocupante ocupant
+oeste oest
+oferenda oferend
+ohana ohan
+olhasse olhass
+oluô oluo
+oncologistas oncologist
+opera oper
+operária operari
+oposições oposica
+oratórios oratori
+organiza organiz
+orgulho orgulh
+orientação orientaca
+orlando orland
+ortopedistas ortopedist
+oscila oscil
+ostras ostr
+outdoors outdoor
+ouvindo ouvind
+oxalá oxala
+pacifismo pacifism
+padre padr
+pagamentos pagament
+painéis painel
+palacetes palacet
+palestrando palestrand
+palpites palpit
+pandolpho pandolph
+paparicada paparicad
+parabolazinha parabolazinh
+parafusos parafus
+paramaribo paramarib
+parasitologia parasitologi
+parcelava parcelav
+paredes pared
+parlamento parlament
+participado participad
+partidos partid
+parágrafo paragraf
+passageiro passageir
+passaríamos passariam
+passiva passiv
+pastores pastor
+paternidade paternidad
+patrocinadas patrocinad
+paula paul
+pausa paus
+pechincha pechinch
+pedalinhos pedalinh
+pedra pedr
+pefelistas pefelist
+peito peit
+peles pel
+pendentes pendent
+penrose penros
+pensilvânia pensilvani
+pepito pepit
+perca perc
+percorrendo percorrend
+perderá perdera
+perecíveis perecivel
+perfeição perfeica
+perguntava perguntav
+perigosos perigos
+permanecia permaneci
+permitida permitid
+pernoite pernoit
+perseguição perseguica
+perspectiva perspectiv
+perto pert
+perícias perici
+pesava pesav
+pessanha pessanh
+petrobras petrobr
+philippe philipp
+picadinha picadinh
+picuinha picuinh
+pilhas pilh
+pinheiros pinheir
+piorando piorand
+piração piraca
+pistola pistol
+pizzarias pizzari
+planejava planejav
+plantava plantav
+platéias platei
+plugados plugad
+pobres pobr
+poderá podera
+pois poi
+politicamente politic
+polícia polici
+pondera ponder
+pontua pontu
+populista populist
+porquê porque
+porteiros porteir
+portáteis portatel
+positivamente positiv
+possibilidade possibilidad
+posteriormente posterior
+potências potenci
+pousada pousad
+poída poid
+prata prat
+pratos prat
+precede preced
+precipícios precipici
+precisão precisa
+precário precari
+predominantemente predominant
+preferencialmente preferencial
+prega preg
+prejuízo prejuiz
+premonitório premonitori
+preocupados preocupad
+preparava preparav
+presente present
+presidente president
+pressioná pressiona
+prestigiosa prestigios
+pretendo pretend
+preventivos preventiv
+preza prez
+primitiva primitiv
+priore prior
+prisões prisa
+privilegia privilegi
+problemáticas problematic
+processo process
+procuramos procuram
+produtividade produtividad
+produzo produz
+profeta profet
+profundidades profundidad
+progredido progredid
+projetados projetad
+prolonga prolong
+promissória promissori
+promíscuo promiscu
+propaganda propagand
+proporciona proporcia
+propriedade propriedad
+prorroga prorrog
+prostituição prostituica
+protegidos protegid
+protuberâncias protuberanci
+providenciada providenciad
+provocaria provocari
+proíbo proib
+prêt pret
+próteses protes
+psicológico psicologic
+psiquiatria psiquiatri
+publicidade publicidad
+pulmão pulma
+punidos punid
+puxada puxad
+pároco paroc
+péssimo pessim
+pólvora polvor
+quadrilha quadrilh
+qualificações qualificaca
+quarteirão quarteira
+quebramos quebram
+queimaduras queimadur
+quente quent
+questionada questionad
+quilométricos quilometric
+quintino quintin
+quão quao
+rachas rach
+radicados radicad
+ragas raga
+rampa ramp
+rappers rapper
+raríssimas rarissim
+rastreando rastreand
+raças raca
+reajo reaj
+realização realizaca
+rebanho rebanh
+rebote rebot
+recebia recebi
+receitado receitad
+receptivo receptiv
+recheio rechei
+recolhendo recolhend
+recomendações recomendaca
+reconhecimento reconheciment
+recorrendo recorrend
+recrutando recrutand
+recusas recus
+redigia redigi
+reduzindo reduzind
+reerguida reerguid
+referente referent
+refletindo refletind
+reforço reforc
+refúgios refugi
+registradas registrad
+regrada regrad
+regularmente regular
+reinvestimento reinvestiment
+relacionada relacionad
+relatando relatand
+relaxados relaxad
+religiosidade religiosidad
+remanejamentos remanejament
+remunerados remunerad
+rendeira rendeir
+renome renom
+renúncia renunci
+repertório repertori
+repletos replet
+representada representad
+reprima reprim
+repudiado repudiad
+requisitadas requisitad
+resfriado resfriad
+resigna resign
+resolveria resolveri
+respeitado respeitad
+respirava respirav
+responsável responsavel
+ressentimento ressentiment
+restaurantes restaurant
+resultante resultant
+reteve retev
+retomada retomad
+retrata retrat
+reumática reumatic
+reveladora revelador
+reversão reversa
+revistinhas revistinh
+revolução revoluca
+ribeirão ribeira
+rigorosamente rigoros
+riquenha riquenh
+ritmo ritm
+robortella robortell
+rodado rodad
+rodoviário rodoviari
+rollins rollim
+romero romer
+ronca ronc
+rosalinda rosalind
+roteiro roteir
+roubo roub
+ruelas ruel
+russificação russificaca
+régis regil
+rítmica ritmic
+sabermos saberm
+sacados sacad
+sacrifício sacrifici
+sagração sagraca
+salada salad
+salgueiro salgueir
+saltando saltand
+salvos salv
+sampaio sampai
+sangradas sangrad
+sanitárias sanitari
+santuários santuari
+saquinho saquinh
+sastre sastr
+satélite satelit
+sayão saya
+scania scani
+secadores secador
+secundária secundari
+sedutora sedutor
+seguidora seguidor
+seguramente segur
+seitas seit
+seleções seleca
+semeia semei
+seminarista seminarist
+senhora senhor
+sensibilizarmos sensibilizarm
+sentença sentenc
+separada separad
+sepultado sepultad
+seqüestro sequestr
+seriamente seri
+sertanejo sertanej
+servirá servira
+seus seu
+seção seca
+sibéria siberi
+significado significad
+silhueta silhuet
+silêncio silenci
+simpatizantes simpatizant
+simulações simulaca
+sinceridade sinceridad
+singelo singel
+sintomas sintom
+sistemático sistematic
+skatistas skatist
+sobre sobr
+sobrevive sobreviv
+sociais social
+sociólogo sociolog
+sofrendo sofrend
+sogro sogr
+solicitava solicitav
+solteiro solteir
+somente so
+sonolência sonolenci
+sorima sorim
+sorteando sorteand
+sousa sous
+sportszone sportszon
+studio studi
+subia subi
+submetidas submetid
+subsidia subsidi
+substituída substituid
+subvenções subvenca
+sucessivas sucessiv
+sudoeste sudoest
+sugerido sugerid
+sujeira sujeir
+sumiços sumic
+superchique superchiqu
+superintendências superintendenci
+supersônicos supersonic
+supra supr
+surdos surd
+surpreendendo surpreendend
+surrupiando surrupiand
+suspeitos suspeit
+sustentasse sustentass
+suzano suzan
+sátiras satir
+sílvia silvi
+sócia soci
+tabaco tabac
+tachados tachad
+talento talent
+tambus tambu
+tanta tant
+tarauacá tarauaca
+tarja tarj
+taxistas taxist
+tecnicamente tecnic
+teipe teip
+telefonema telefonem
+telescópios telescopi
+telão tela
+temperado temperad
+tempo temp
+tendência tendenci
+tensos tens
+tente tent
+terapia terapi
+tereza terez
+termos term
+terrestres terrestr
+terço terc
+testados testad
+tetraplégica tetraplegic
+thalita thalit
+tibete tibet
+tinja tinj
+tiradentes tiradent
+tirá tira
+tocaia tocai
+tolerada tolerad
+tomaria tomari
+tomilho tomilh
+topava topav
+torna torn
+tornozelo tornozel
+torturados torturad
+totalizando totalizand
+trabalhado trabalhad
+tradicionais tradicional
+traga trag
+traje traj
+tranco tranc
+tranqüilo tranquil
+transeunte transeunt
+transformaria transformari
+translúcido translucid
+transparece transparec
+transtorno transtorn
+tratadas tratad
+trauma traum
+trazendo trazend
+traí trai
+treinamentos treinament
+trepidante trepidant
+trilhões trilha
+tripulação tripulaca
+triênios trieni
+trombada trombad
+tropicais tropical
+trupe trup
+tróica troic
+tumultuado tumultuad
+turca turc
+turquia turqui
+técnica tecnic
+têxtil textil
+tópicos topic
+ubirajara ubirajar
+ultrapassado ultrapassad
+unesco unesc
+uniforme uniform
+unânime unanim
+urina urin
+uruguaiana uruguaian
+usos uso
+utilizado utilizad
+vacinada vacinad
+vaidosas vaidos
+valera valer
+valle vall
+vamos vamo
+varela varel
+variedade variedad
+vasculhando vasculhand
+vazia vazi
+vegetativa vegetativ
+velhice velhic
+venais venal
+vendendo vendend
+venerada venerad
+ventures ventur
+verde verd
+verificação verificaca
+versos vers
+vestia vesti
+veterano veteran
+viadutos viadut
+vibração vibraca
+videodiscos videodisc
+vietcongues vietcongu
+vilanova vilanov
+vinagre vinagr
+vingando vingand
+viola viol
+viracopos viracop
+viroses viros
+visita visit
+vistas vist
+vitaminas vitamin
+vivas viva
+vivos vivo
+viúvas viuv
+volante volant
+voltava voltav
+voracidade voracidad
+vozeirão vozeira
+vultosos vultos
+véus veu
+vítor vitor
+webphone webphon
+workaholics workaholic
+xeretada xeretad
+zacharias zachari
+zerados zerad
+zíper ziper
+álibi alibi
+áridas arid
+âncora ancor
+épocas epoc
+íamos iamo
+índios indi
+óbolo obol
+órfãos orfa
+úlcera ulcer
+a a
+abateu abateu
+abouch abouch
+abrir abrir
+acabavam acabavam
+aceitou aceitou
+achar achar
+acne acne
+aconteceu aconteceu
+acrescentar acrescentar
+adensar adensar
+adivinhar adivinhar
+adorei adorei
+afanar afanar
+aflorou aflorou
+agilizar agilizar
+agredir agredir
+ailton ailton
+alargar alargar
+alex alex
+alka alka
+alto alto
+amador amador
+american american
+anafranil anafranil
+anderson anderson
+animam animam
+antecederam antecederam
+anulou anulou
+apanham apanham
+apec apec
+apoderaram apoderaram
+apostar apostar
+apresentador apresentador
+aprovassem aprovassem
+ar ar
+argumentou argumentou
+aronson aronson
+arrecadaram arrecadaram
+arrumou arrumou
+ashg ashg
+assestaram assestaram
+assumam assumam
+atear atear
+atirei atirei
+atrasar atrasar
+atua atua
+aumentarem aumentarem
+auxiliar auxiliar
+aviador aviador
+azedam azedam
+bada bada
+baldaracci baldaracci
+baniu baniu
+basbaum basbaum
+batucar batucar
+bebe bebe
+bekierman bekierman
+beneficiou beneficiou
+bertoli bertoli
+bia bia
+bisbilhotar bisbilhotar
+bloquear bloquear
+bode bode
+bombear bombear
+botei botei
+br br
+brevetagem brevetagem
+bronx bronx
+bu bu
+butantan butantan
+cabrini cabrini
+cakoff cakoff
+caminham caminham
+canhonear canhonear
+capo capo
+carimbavam carimbavam
+carrossel carrossel
+casseb casseb
+causou causou
+cede cede
+celson celson
+cesar cesar
+chamei chamei
+checar checar
+chelotti chelotti
+chocou chocou
+chupei chupei
+cima cima
+citar citar
+claudeir claudeir
+clô clô
+coca coca
+colaboraram colaboraram
+colo colo
+comandou comandou
+comemoraram comemoraram
+cometi cometi
+compartilhar compartilhar
+compor compor
+comprometeu comprometeu
+conaf conaf
+concordar concordar
+confeccionar confeccionar
+conformar conformar
+conjugal conjugal
+conseguiriam conseguiriam
+consomem consomem
+consulting consulting
+contaram contaram
+contornar contornar
+controlar controlar
+convidou convidou
+copiem copiem
+coro coro
+corrigi corrigi
+cousteau cousteau
+cremar cremar
+criem criem
+crosby crosby
+cuidam cuidam
+cumpri cumpri
+curtem curtem
+cz cz
+dalton dalton
+dataprev dataprev
+de de
+decifrar decifrar
+decretaram decretaram
+defendeu defendeu
+deitar deitar
+delicatessen delicatessen
+demonstraram demonstraram
+dependem dependem
+derrotou derrotou
+desaprovar desaprovar
+descertificaram descertificaram
+desconversar desconversar
+desembolsaram desembolsaram
+desenvolver desenvolver
+desfilaram desfilaram
+deslanchar deslanchar
+desmembram desmembram
+despencou despencou
+destacassem destacassem
+desviou desviou
+detour detour
+devolveram devolveram
+diet diet
+dilton dilton
+dirigir dirigir
+discutir discutir
+disputaram disputaram
+diva diva
+divulgaram divulgaram
+doa doa
+dominam dominam
+dormiam dormiam
+downtown downtown
+du du
+dure dure
+east east
+editorial editorial
+ego ego
+elda elda
+eliachar eliachar
+elogiaram elogiaram
+embalou embalou
+embratur embratur
+emocionou emocionou
+empregou empregou
+encaminhou encaminhou
+enchem enchem
+encostar encostar
+enfrentar enfrentar
+engordarem engordarem
+enriquecer enriquecer
+entender entender
+entregar entregar
+envelheceram envelheceram
+epcot epcot
+eron eron
+escalou escalou
+escolher escolher
+escritor escritor
+espanhol espanhol
+espiral espiral
+esquentou esquentou
+estacionar estacionar
+estenderam estenderam
+estivessem estivessem
+estreou estreou
+eternizam eternizam
+evocam evocam
+excel excel
+exigiam exigiam
+expandir expandir
+explodiu explodiu
+extintor extintor
+faap faap
+fale fale
+fama fama
+fase fase
+fax fax
+feldmann feldmann
+ferver ferver
+ficar ficar
+filiou filiou
+financiou financiou
+fiscalizou fiscalizou
+fizessem fizessem
+flower flower
+fok fok
+forjar forjar
+fortalecem fortalecem
+frankfurt frankfurt
+frequentam frequentam
+frossard frossard
+fumam fumam
+fundamental fundamental
+fuzil fuzil
+galo galo
+ganhou ganhou
+gastam gastam
+gelo gelo
+gerald gerald
+gg gg
+giraldez giraldez
+gluck gluck
+goldoni goldoni
+gotti gotti
+grahan grahan
+grisi grisi
+guga guga
+guzik guzik
+hamburger hamburger
+hart hart
+hector hector
+herchcovitch herchcovitch
+hijo hijo
+hoffman hoffman
+honram honram
+hotel hotel
+hue hue
+hwa hwa
+ica ica
+ignoram ignoram
+iludem iludem
+imitar imitar
+implementem implementem
+imsdd imsdd
+inclinou inclinou
+incorporou incorporou
+induz induz
+influenciam influenciam
+inglesi inglesi
+insconstitucional insconstitucional
+instalam instalam
+integrated integrated
+interministerial interministerial
+introduzir introduzir
+investigador investigador
+ir ir
+irã irã
+itapemirim itapemirim
+jabor jabor
+jato jato
+jet jet
+jogo jogo
+jova jova
+julgar julgar
+juracy juracy
+kandir kandir
+kepler kepler
+kissner kissner
+kraft kraft
+lacrimal lacrimal
+lamentou lamentou
+lari lari
+lavou lavou
+legalizam legalizam
+lemir lemir
+lettieri lettieri
+levem levem
+liberation liberation
+ligaram ligaram
+lin lin
+listou listou
+localizou localizou
+look look
+louvavam louvavam
+lugar lugar
+lux lux
+macbrazel macbrazel
+magri magri
+mala mala
+mamou mamou
+manhattan manhattan
+manuel manuel
+marchar marchar
+marlon marlon
+massaini massaini
+mato mato
+mazindol mazindol
+mecanizar mecanizar
+melhor melhor
+mendel mendel
+mercantil mercantil
+merlot merlot
+mexer mexer
+mico mico
+milken milken
+mira mira
+ml ml
+moderini moderini
+mongol mongol
+mora mora
+morri morri
+moto moto
+mpla mpla
+mulatti mulatti
+muscular muscular
+na na
+namoraram namoraram
+nasceram nasceram
+navigator navigator
+negou negou
+netmeeting netmeeting
+nicioli nicioli
+nixon nixon
+norodom norodom
+novalogic novalogic
+nutrem nutrem
+obrigaram obrigaram
+ocimar ocimar
+odeiam odeiam
+oi oi
+olhou olhou
+onze onze
+optei optei
+organizou organizou
+ortec ortec
+otonni otonni
+ovni ovni
+paga paga
+paix paix
+parabenizou parabenizou
+parei parei
+participei participei
+passat passat
+pato pato
+pc pc
+pedi pedi
+pele pele
+pentecostal pentecostal
+perdedor perdedor
+perguntaram perguntaram
+perrier perrier
+perturbavam perturbavam
+petroni petroni
+pier pier
+piorou piorou
+plantou plantou
+podiam podiam
+pop pop
+pose pose
+pousam pousam
+praticaram praticaram
+preencheu preencheu
+prender prender
+prescreveu prescreveu
+prestaram prestaram
+privatizar privatizar
+procurou procurou
+projetar projetar
+propagam propagam
+protestar protestar
+provocar provocar
+publicaram publicaram
+pule pule
+puxou puxou
+qual qual
+queen queen
+questionou questionou
+rabinovici rabinovici
+rala rala
+ranieri ranieri
+ratton ratton
+reafirmar reafirmar
+reativar reativar
+receitaram receitaram
+recomendam recomendam
+recorrer recorrer
+redator redator
+reduziu reduziu
+refletiu refletiu
+registral registral
+reitor reitor
+rem rem
+renew renew
+repensar repensar
+reprimem reprimem
+resgatou resgatou
+respeitam respeitam
+ressurgem ressurgem
+resvalam resvalam
+retornar retornar
+revender revender
+reviver reviver
+rica rica
+riso riso
+robru robru
+rola rola
+romy romy
+rosenblatt rosenblatt
+rua rua
+rumaram rumaram
+saber saber
+sacudir sacudir
+saio saio
+saltei saltei
+sant sant
+sauvignon sauvignon
+scheper scheper
+se se
+seduziram seduziram
+selar selar
+semeou semeou
+sentar sentar
+sequenciar sequenciar
+servirem servirem
+shattered shattered
+sido sido
+simancol simancol
+sindical sindical
+sizer sizer
+soam soam
+sobrevivi sobrevivi
+sol sol
+somar somar
+sou sou
+spiti spiti
+stanley stanley
+stonewall stonewall
+subiu subiu
+suco suco
+suja suja
+superestimular superestimular
+surfar surfar
+surviving surviving
+suzuki suzuki
+tabwin tabwin
+tambaqui tambaqui
+tchururuchu tchururuchu
+telegraph telegraph
+temor temor
+teriam teriam
+teto teto
+tim tim
+tiro tiro
+toda toda
+tombaram tombaram
+torcedor torcedor
+total total
+tradutor tradutor
+tramar tramar
+transferir transferir
+trariam trariam
+trazer trazer
+triathlon triathlon
+tropical tropical
+tumor tumor
+tô tô
+ultralar ultralar
+unificou unificou
+urandir urandir
+usp usp
+vagabal vagabal
+valentim valentim
+vanderbilt vanderbilt
+vasculharam vasculharam
+vela vela
+vendi vendi
+vespri vespri
+viabilizar viabilizar
+vicky vicky
+vim vim
+virgem virgem
+vital vital
+voa voa
+voltou voltou
+véu véu
+walt walt
+wellington wellington
+wilker wilker
+woodstock woodstock
+xiao xiao
+yale yale
+zander zander
+zhiling zhiling
diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/ru-light.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/ru-light.tsv
new file mode 100644
index 0000000000..5e2ff20c0c
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/ru-light.tsv
@@ -0,0 +1,2000 @@
+абиссинию абиссин
+авторитеты авторитет
+адский адск
+актером актер
+александровне александровн
+аллее алле
+амбиций амбиц
+ангельски ангельск
+андрея андр
+анфилада анфилад
+аптеке аптек
+аристократическим аристократическ
+ароматном ароматн
+архитектору архитектор
+аудитории аудитор
+баба баб
+багряным багрян
+балкона балкон
+баночку баночк
+барская барск
+барышень барышен
+батюшкова батюшков
+бегах бег
+беднейшие беднейш
+бедственное бедствен
+безвыходная безвыходн
+бездомней бездомн
+беззвездной беззвездн
+безнадежней безнадежн
+безобразнее безобразне
+безошибочно безошибочн
+безумца безумц
+беленьким беленьк
+белому бел
+берегов берег
+беседах бесед
+бесконечных бесконечн
+беспокоилась беспокоилас
+беспокою беспок
+беспощадной беспощадн
+бессилия бессил
+бессмыслицей бессмыслиц
+бесстыдным бесстыдн
+бесчестье бесчест
+библиотеке библиотек
+биль бил
+бишь биш
+благодарная благодарн
+благоприобретенные благоприобретен
+благородных благородн
+благотворители благотворител
+блаженствую блаженств
+блеклыми блекл
+ближайшем ближайш
+блины блин
+блюде блюд
+богатые богат
+бодрой бодр
+божьей бож
+боковой боков
+болезнях болезн
+болтовни болтовн
+большего больш
+бормотали бормотал
+борются борютс
+боязнь боязн
+бранюсь бранюс
+бреда бред
+бритва бритв
+бросалась бросалас
+брошенное брошен
+брюхе брюх
+будничной будничн
+будьте будьт
+букеты букет
+бумажке бумажк
+бурша бурш
+буянила буянил
+былая был
+бытия быт
+вагоном вагон
+валериановых валерианов
+ванили ванил
+варшаве варшав
+ватерлоо ватерло
+ввели ввел
+вдалеке вдалек
+вдохновеньем вдохновен
+ведрами ведр
+везувии везув
+великанами великан
+великолепние великолепн
+величие велич
+венца венц
+верится веритс
+вернутся вернутс
+версты верст
+верхлевского верхлевск
+веры вер
+веселья весел
+ветках ветк
+вечернего вечерн
+веше веш
+взаимность взаимност
+взвизгнула взвизгнул
+взглядывая взглядыв
+вздрагивающей вздрагивающ
+взмахом взмах
+взыскании взыскан
+вида вид
+виденных виден
+видного видн
+визитный визитн
+вино вин
+винюсь винюс
+вихрем вихр
+вкралась вкралас
+владычествовать владычествоват
+влечению влечен
+влюбленность влюбленност
+внезапною внезапн
+внимай внима
+внутренний внутрен
+вогнать вогнат
+воду вод
+возбудимы возбудим
+возвратного возвратн
+возвышая возвыш
+возить возит
+возмущающих возмущающ
+возобновились возобновилис
+возьмете возьмет
+войницкого войницк
+волненье волнен
+волнуясь волнуяс
+воль вол
+воображение воображен
+вопиющим вопиющ
+вопросы вопрос
+воротами ворот
+ворочало ворочал
+восклицанием восклицан
+воспаленного воспален
+воспользоваться воспользоватьс
+восстановляя восстановл
+вострым востр
+вошедшая вошедш
+вперяясь вперяяс
+впредь впред
+вражеских вражеск
+временам времен
+врывалось врывалос
+вселенской вселенск
+вскакивала вскакивал
+вскрикнуть вскрикнут
+вспоминается вспоминаетс
+вспухшею вспухш
+встанешь встанеш
+встретила встретил
+встречах встреч
+вступить вступит
+втащила втащил
+вуали вуал
+вчерашней вчерашн
+выбирать выбират
+выведи вывед
+выгадать выгадат
+выгодно выгодн
+выдающеюся выдающеюс
+выдумывала выдумывал
+вызванные вызван
+выказана выказан
+вылериановые вылерианов
+вымытые вымыт
+вынули вынул
+выписки выписк
+выпукло выпукл
+выработать выработат
+выраженьице выраженьиц
+вырваться вырватьс
+вырываются вырываютс
+высказываясь высказываяс
+высоки высок
+высохла высохл
+выступили выступил
+вытерла вытерл
+выхлопотать выхлопотат
+выхожу выхож
+вышла вышл
+вяло вял
+гадкую гадк
+галереи галере
+гармонировало гармонировал
+генералишку генералишк
+герасимычу герасимыч
+гибельный гибельн
+главнейшая главнейш
+гладьте гладьт
+глиссе глисс
+глубочайшее глубочайше
+глупостям глупост
+глуши глуш
+гневно гневн
+гнусном гнусн
+говоря говор
+годовым годов
+головные головн
+голосом голос
+голых гол
+горами гор
+гордятся гордятс
+горизонте горизонт
+городе город
+горошина горошин
+горючий горюч
+горячо горяч
+господствовавшей господствовавш
+гостиную гостин
+готовились готовилис
+гравюры гравюр
+границей границ
+греза грез
+грешить грешит
+гробницей гробниц
+грозных грозн
+громкими громк
+грубейшим грубейш
+грудь груд
+грущу грущ
+грязных грязн
+губительнее губительне
+гулять гулят
+густые густ
+давила давил
+далась далас
+дальнейшему дальнейш
+данную дан
+дачи дач
+дверь двер
+движеньем движен
+двойные двойн
+дворце дворц
+двухмачтовый двухмачтов
+девичьего девич
+девчонку девчонк
+действий действ
+декларируя деклариру
+деления делен
+дельному дельн
+деньги деньг
+деревенское деревенск
+деревянными деревян
+дерзостей дерзост
+десятое десят
+детстве детств
+диване диван
+дико дик
+дичь дич
+дмитрием дмитр
+добираясь добираяс
+добродетелям добродетел
+добрыни добрын
+доверии довер
+довольны довольн
+договариваешь договариваеш
+дожа дож
+дожидаясь дожидаяс
+доказательство доказательств
+докучливого докучлив
+доле дол
+домам дом
+домохозяйка домохозяйк
+доносы донос
+допросишься допросишьс
+дорогая дорог
+дорожному дорожн
+доску доск
+достанешь достанеш
+достоинстве достоинств
+дотолкалась дотолкалас
+дочитывать дочитыват
+драгунские драгунск
+драть драт
+дремотой дремот
+дрожащая дрожащ
+дружба дружб
+дружном дружн
+дряхлую дряхл
+думу дум
+дураки дурак
+дурында дурынд
+душевном душевн
+душою душ
+дырявый дыряв
+дюссотов дюссот
+египетского египетск
+единственною единствен
+ежеминутных ежеминутн
+еловая елов
+естественному естествен
+жадный жадн
+жалкий жалк
+жалуетесь жалуетес
+жгла жгл
+желаешь желаеш
+железною железн
+желудком желудк
+женитьба женитьб
+женскую женск
+жеста жест
+жечь жеч
+животного животн
+жиденькие жиденьк
+жилету жилет
+жиру жир
+жуков жук
+забалканский забалканск
+забияки забияк
+заботились заботилис
+забрать забрат
+забывшие забывш
+завадских завадск
+завернулась завернулас
+завещанию завещан
+завлекли завлекл
+завтрашний завтрашн
+загвоздка загвоздк
+заговаривай заговарива
+загорелую загорел
+задавали задавал
+задела задел
+задремавший задремавш
+задумчивости задумчивост
+задыхаешься задыхаешьс
+зажженных зажжен
+заиграли заиграл
+займешь займеш
+закатился закатилс
+закладчиков закладчик
+законно закон
+законы закон
+закружите закружит
+закупорилось закупорилос
+залепетала залепетал
+заложена заложен
+замасленные замаслен
+заметила заметил
+замечается замечаетс
+замешался замешалс
+замолчали замолчал
+замучить замучит
+занести занест
+заносчивы заносчив
+заочно заочн
+запекшимися запекшимис
+запирается запираетс
+записывая записыв
+заплеванному заплеван
+запомните запомнит
+запрыгали запрыгал
+запыленному запылен
+заразительная заразительн
+зари зар
+заряжанье заряжан
+засияли засиял
+засмотрится засмотритс
+заставой застав
+застрелитесь застрелитес
+засухи засух
+затеешь затееш
+заткни заткн
+затрудняется затрудняетс
+заученный заучен
+захлопнула захлопнул
+зацепиться зацепитьс
+заштопать заштопат
+звать зват
+звериную зверин
+звуку звук
+здорова здоров
+здравствуйте здравствуйт
+зеленые зелен
+земского земск
+зимних зимн
+злобные злобн
+злорадно злорадн
+знавали знавал
+знакомы знаком
+знамя знам
+значительном значительн
+зовешь зовеш
+золотою золот
+зрелище зрелищ
+зурна зурн
+иванычу иваныч
+играючи играюч
+идеально идеальн
+идущие идущ
+избегайте избегайт
+избыть избыт
+известности известност
+извинюсь извинюс
+изворотов изворот
+издательство издательств
+изливали изливал
+измалетства измалетств
+измокшее измокше
+изнемогала изнемогал
+изобретений изобретен
+изумительный изумительн
+изюминки изюминк
+ильинские ильинск
+имейте имейт
+имеющих имеющ
+иностранного иностран
+интеллигенции интеллигенц
+интересуется интересуетс
+иронически ироническ
+исключения исключен
+искривившеюся искривившеюс
+искусственной искусствен
+исподлобья исподлоб
+исполнять исполнят
+испугали испугал
+испытала испытал
+исступления исступлен
+истинном истин
+истощилась истощилас
+исчезало исчезал
+ихние ихн
+каблучки каблучк
+каждому кажд
+казенная казен
+како как
+калеными кален
+камне камн
+канве канв
+капиталу капитал
+капризу каприз
+кареты карет
+картинка картинк
+касавшемуся касавшемус
+катерина катерин
+кацавейка кацавейк
+кашляя кашл
+квартировать квартироват
+кинжалы кинжал
+киркою кирк
+кишели кишел
+классах класс
+кликами клик
+клопы клоп
+клянусь клянус
+книжной книжн
+кобыленка кобыленк
+ковыли ковыл
+козыри козыр
+колеблющемся колеблющемс
+колечках колечк
+колокольцы колокольц
+колумба колумб
+команда команд
+коммуну коммун
+кому ком
+константинополь константинопол
+конфузился конфузилс
+кончаются кончаютс
+коня кон
+корделия кордел
+корка корк
+корове коров
+корпусом корпус
+коснувшись коснувшис
+костюму костюм
+котором котор
+кохом кох
+крайности крайност
+красивые красив
+краснеющим краснеющ
+красой крас
+кредитными кредитн
+крепостных крепостн
+крестом крест
+крике крик
+кровавого кровав
+крокета крокет
+кругам круг
+кружева кружев
+крупой круп
+крылова крылов
+крюку крюк
+кузнецов кузнец
+кума кум
+купленными куплен
+куропатки куропатк
+куском куск
+кухни кухн
+кушать кушат
+лавочные лавочн
+лакеев лаке
+лапах лап
+ласковы ласков
+лебезятниковым лебезятников
+легкомысленно легкомыслен
+лежавшие лежавш
+лезгинку лезгинк
+ленивые ленив
+леса лес
+лета лет
+лето лет
+либералы либерал
+ликованье ликован
+липли липл
+листу лист
+лихорадки лихорадк
+личного личн
+лишние лишн
+логично логичн
+ложка ложк
+ломберный ломберн
+лорнеткой лорнетк
+лошадей лошад
+лужу луж
+лунной лун
+лучшему лучш
+льзя льз
+любезных любезн
+любовалась любовалас
+любопытных любопытн
+людских людск
+магазины магазин
+мазурки мазурк
+маленькие маленьк
+малодушие малодуш
+мальчишески мальчишеск
+маме мам
+манкировать манкироват
+марсово марсов
+масса масс
+матвеевной матвеевн
+материи матер
+мачехе мачех
+мгле мгл
+медали медал
+медленный медлен
+меланхолической меланхолическ
+мелочною мелочн
+мена мен
+мерещилось мерещилос
+мертвеца мертвец
+мессины мессин
+металлической металлическ
+меховою мехов
+мечтательность мечтательност
+мешающую мешающ
+мигом миг
+миленький миленьк
+милостивее милостиве
+министра министр
+минутой минут
+мировое миров
+михайловна михайловн
+младший младш
+многообещавшее многообещавше
+мнози мноз
+могущество могуществ
+мозоль мозол
+молитва молитв
+молодого молод
+молоть молот
+молчите молчит
+монетчиков монетчик
+морковь морков
+морщила морщил
+мосте мост
+мошенников мошенник
+мститель мстител
+мужественности мужественност
+мужчиной мужчин
+мундиров мундир
+муть мут
+мучила мучил
+мучится мучитс
+мыслей мысл
+мышления мышлен
+мясо мяс
+набитая набит
+набрасывалась набрасывалас
+навернулись навернулис
+наврала наврал
+нагнула нагнул
+надвинулись надвинулис
+надежный надежн
+надзором надзор
+надорванный надорван
+надутого надут
+назидания назидан
+назойливость назойливост
+наивный наивн
+наймите наймит
+наклеены наклеен
+накормить накормит
+наливала наливал
+намеками намек
+нанесенной нанесен
+напечатали напечатал
+напитку напитк
+наполнилась наполнилас
+напомнить напомнит
+напрашиваются напрашиваютс
+напускные напускн
+народной народн
+нарушалось нарушалос
+наседка наседк
+насколько наскольк
+насмеемся насмеемс
+наставлениях наставлен
+настойчивости настойчивост
+настроении настроен
+наташе наташ
+натуры натур
+нафталином нафталин
+находите находит
+начались началис
+начинавшаяся начинавшаяс
+начисто начист
+нашло нашл
+неблагодарность неблагодарност
+небось небос
+нева нев
+невеликодушно невеликодушн
+невзрачный невзрачн
+неводу невод
+невольного невольн
+невыносимый невыносим
+негодным негодн
+недавняя недавн
+недоверчиво недоверчив
+недостало недостал
+недоумение недоумен
+неженского неженск
+незабвенной незабвен
+незаслуженным незаслужен
+незнакомого незнаком
+неизбежное неизбежн
+неизменный неизмен
+неистощимых неистощим
+некоторый некотор
+нелепей нелеп
+немедленного немедлен
+немногие немног
+немцами немц
+ненавистною ненавистн
+ненужного ненужн
+необходимость необходимост
+необыкновенным необыкновен
+неожиданными неожидан
+неосторожнее неосторожне
+неотразимою неотразим
+неподвижнее неподвижне
+непоколебимыми непоколебим
+непосредственное непосредствен
+непременно непремен
+неприметно неприметн
+неприятность неприятност
+непроходимая непроходим
+неразрываемую неразрываем
+нерешительности нерешительност
+несешь несеш
+неслось неслос
+несогласимых несогласим
+несправедливые несправедлив
+несчастлива несчастлив
+нетактично нетактичн
+неуверенном неуверен
+неудобстве неудобств
+неуменьем неумен
+неустойки неустойк
+нечаянный нечаян
+неясная неясн
+низать низат
+никаким никак
+николаевна николаевн
+нисколько нискольк
+ничтожнейшем ничтожнейш
+нищету нищет
+новодевичий новодевич
+ного ног
+норма норм
+носиться носитьс
+ночевавший ночевавш
+ноябре ноябр
+нравственным нравствен
+нужны нужн
+нянечка нянечк
+обвивали обвивал
+обглоданной обглодан
+обедне обедн
+обернулось обернулос
+обещай обеща
+обиделась обиделас
+обижаться обижатьс
+облагодетельствованных облагодетельствован
+обленился обленилс
+обличий облич
+обломовской обломовск
+обманываете обманывает
+обнаружена обнаружен
+обноски обноск
+обожги обожг
+обойдя обойд
+оборвать оборват
+обрадовалась обрадовалас
+образованные образован
+обратясь обратяс
+обращу обращ
+обрушила обрушил
+обстановкой обстановк
+обтерпелась обтерпелас
+обходятся обходятс
+обществу обществ
+объявляя объявл
+объясняясь объясняяс
+обыкновенную обыкновен
+обязанность обязанност
+овощами овощ
+оглядевшись оглядевшис
+огне огн
+огороде огород
+огражу ограж
+одевается одеваетс
+одеревенелыми одеревенел
+одиннадцати одиннадцат
+одного одн
+одобрить одобрит
+одышка одышк
+ожидание ожидан
+озера озер
+озябшие озябш
+окаянный окаян
+околотку околотк
+окошке окошк
+окружающему окружающ
+олени олен
+омрачение омрачен
+опасаясь опасаяс
+операцию операц
+оплевать оплеват
+оправдана оправдан
+оправляться оправлятьс
+опрокинутого опрокинут
+опустелой опустел
+опыта опыт
+ораторствуешь ораторствуеш
+орлиным орлин
+освежило освежил
+оселся оселс
+оскорбительнее оскорбительне
+ослепила ослепил
+осмелились осмелилис
+оснований основан
+особенности особенност
+оставайтесь оставайтес
+оставь остав
+останавливая останавлив
+останусь останус
+осторожный осторожн
+остроумия остроум
+осчастливили осчастливил
+отважный отважн
+отвести отвест
+отвлекала отвлекал
+отворили отворил
+отвратить отвратит
+отдавала отдавал
+отдано отдан
+отдельное отдельн
+отдыхом отдых
+отирать отират
+откапывать откапыват
+откровеннейшим откровеннейш
+открыли открыл
+откупиться откупитьс
+отличную отличн
+отменные отмен
+относительны относительн
+отодвигая отодвиг
+отошла отошл
+отправитесь отправитес
+отпрыске отпрыск
+отравлять отравлят
+отрезвляющее отрезвляюще
+отрочестве отрочеств
+отставные отставн
+отступятся отступятс
+оттолкнешь оттолкнеш
+отцветшими отцветш
+отчаянной отчаян
+отчищенных отчищен
+отыскивая отыскив
+охапку охапк
+охоты охот
+очаровательнее очаровательне
+очнетесь очнетес
+ошибаться ошибатьс
+ощущаете ощущает
+падать падат
+палата палат
+пальце пальц
+пансиона пансион
+папиросочница папиросочниц
+парижа париж
+партии парт
+пасхе пасх
+пациентов пациент
+певший певш
+пелериной пелерин
+пенять пенят
+первоначальный первоначальн
+перебирай перебира
+перевернется перевернетс
+переворачивая переворачив
+передали передал
+переедем переед
+переименованы переименован
+перекрещу перекрещ
+переменился переменилс
+переносила переносил
+переполнено переполнен
+пересветов пересвет
+переставало переставал
+перетасовка перетасовк
+перешла перешл
+перстней перстн
+песка песк
+песчаную песчан
+петров петр
+петя пет
+печатных печатн
+пидерита пидерит
+писала писал
+пискариной пискарин
+питаясь питаяс
+пищику пищик
+пламя плам
+платке платк
+плачущее плачуще
+плесканье плескан
+плите плит
+плохонький плохоньк
+плюнуть плюнут
+победоносцев победоносц
+побледнев побледн
+побрился побрилс
+повара повар
+поверенный поверен
+поверхность поверхност
+повесьте повесьт
+повихнулся повихнулс
+повсюду повсюд
+повязку повязк
+поглумился поглумилс
+погоде погод
+погрозила погрозил
+подавала подавал
+подали подал
+подбежали подбежал
+подвернись подвернис
+подводя подвод
+поддамся поддамс
+подержанная подержан
+подкипятило подкипятил
+подлецу подлец
+подмышкой подмышк
+поднявшись поднявшис
+подобрался подобралс
+подозрению подозрен
+подошли подошл
+подпрыгивать подпрыгиват
+подруга подруг
+подслушивайте подслушивайт
+подтвердить подтвердит
+подушке подушк
+подчиненных подчинен
+подьячих подьяч
+пожалев пожал
+пожелали пожелал
+пожить пожит
+позволительная позволительн
+поздравлять поздравлят
+позорное позорн
+поймана пойман
+показания показан
+покачала покачал
+поклонилась поклонилас
+покоившейся покоившейс
+покойный покойн
+покорной покорн
+покрасневший покрасневш
+покрытый покрыт
+пола пол
+полезла полезл
+полетишь полетиш
+полинялым полинял
+полке полк
+полнотой полнот
+половому полов
+положительной положительн
+полосы полос
+полубессмысленная полубессмыслен
+полупьяных полупьян
+полученные получен
+польза польз
+полюбите полюбит
+помедля помедл
+поместившись поместившис
+помещалась помещалас
+поминутно поминутн
+помогла помогл
+помощники помощник
+понаведаться понаведатьс
+понизилась понизилас
+понравится понравитс
+понятное понятн
+попалась попалас
+поползновения поползновен
+попрекнула попрекнул
+попытать попытат
+поразили поразил
+порожнее порожне
+портмоне портмон
+поручено поручен
+порывалось порывалос
+порядочное порядочн
+поселюсь поселюс
+посидим посид
+последнему последн
+послеобеденный послеобеден
+послушных послушн
+посмотрим посмотр
+поспешно поспешн
+поставцами поставц
+постилая постил
+постояннее постоянне
+постукиванье постукиван
+постыдится постыдитс
+потаенною потаен
+потерявшийся потерявшийс
+потока поток
+потребностях потребност
+потупившись потупившис
+поужинать поужинат
+похвать похват
+похожая похож
+похоти похот
+почему поч
+почитали почитал
+почтительнейшие почтительнейш
+пошатнется пошатнетс
+пошлости пошлост
+поэтическая поэтическ
+появляться появлятьс
+правее праве
+православный православн
+празднолюбцами празднолюбц
+прахом прах
+превратится превратитс
+преданности преданност
+предвидится предвидитс
+предложения предложен
+предостережений предостережен
+предположительно предположительн
+предсказывая предсказыв
+представляя представл
+предчувствием предчувств
+прежнему прежн
+презрительнее презрительне
+прекрасного прекрасн
+прельститься прельститьс
+препятствие препятств
+прескладной прескладн
+преступнике преступник
+преувеличивающий преувеличивающ
+прибавляются прибавляютс
+приблизительно приблизительн
+привело привел
+приволье привол
+привяжусь привяжус
+приглашения приглашен
+пригодное пригодн
+придававшая придававш
+придерживая придержив
+приезда приезд
+приемы прием
+призванную призван
+признаниям признан
+приидите приидит
+приказывать приказыват
+прикрывается прикрываетс
+прилеплялся прилеплялс
+приложена приложен
+примерять примерят
+примирительных примирительн
+принарядиться принарядитьс
+принимаете принимает
+принуждена принужден
+приобретала приобретал
+припала припал
+припоминая припомин
+природу природ
+прислуги прислуг
+присочиним присочин
+пристрастно пристрастн
+присылаемые присылаем
+притворства притворств
+приходившая приходивш
+прицепиться прицепитьс
+причитается причитаетс
+прищурился прищурилс
+приятною приятн
+пробираться пробиратьс
+пробуждающейся пробуждающейс
+проверить проверит
+провожавшего провожавш
+прогналь прогнал
+прогрессисты прогрессист
+продала продал
+продолжала продолжал
+продукты продукт
+прожили прожил
+проиграно проигран
+произнесла произнесл
+пройденное пройден
+проклятием проклят
+пролежала пролежал
+промаху промах
+пронеслось пронеслос
+проницательным проницательн
+пропащий пропащ
+прорвалось прорвалос
+просвещению просвещен
+просить просит
+проснувшиеся проснувшиес
+простерши простерш
+простодушно простодушн
+простояла простоял
+простых прост
+протащила протащил
+противны противн
+протолкуешь протолкуеш
+протянутыми протянут
+проходившего проходивш
+процентами процент
+прочла прочл
+прошло прошл
+прощание прощан
+проявлялось проявлялос
+прыгнуть прыгнут
+пряно прян
+психологию психолог
+публичное публичн
+пугливые пуглив
+пунктов пункт
+пустило пустил
+пустынного пустын
+путаться путатьс
+пухлое пухл
+пшеница пшениц
+пыльный пыльн
+пьете пьет
+пьяный пьян
+пятить пятит
+пятый пят
+работой работ
+равнодушию равнодуш
+радовались радовалис
+раза раз
+разбить разбит
+разбудила разбудил
+развернутые развернут
+развитость развитост
+развязать развязат
+разглядывавший разглядывавш
+разгороженную разгорожен
+раздаются раздаютс
+раздетые раздет
+раздражившись раздражившис
+раздумывая раздумыв
+разливных разливн
+разлучиться разлучитьс
+размере размер
+разного разн
+разный разн
+разорвала разорвал
+разошлась разошлас
+разрозненных разрознен
+разряда разряд
+разумихина разумихин
+разъяснить разъяснит
+рамкой рамк
+рапортом рапорт
+раскольников раскольник
+распался распалс
+расплатиться расплатитьс
+распорядись распорядис
+распространение распространен
+распять распят
+рассеянный рассеян
+рассказывала рассказывал
+расспрашивайте расспрашивайт
+расстилались расстилалис
+рассудительна рассудительн
+рассыпается рассыпаетс
+растолкала растолкал
+расфранченную расфранчен
+расчетам расчет
+рацею рац
+ребенком ребенк
+революции революц
+редька редьк
+резко резк
+рекомендуя рекоменду
+репутации репутац
+речка речк
+решенном решен
+решительном решительн
+рискнула рискнул
+робка робк
+рогов рог
+родитель родител
+родственнике родственник
+рождали рождал
+розные розн
+роли рол
+роптать роптат
+россиянину россиянин
+рубашечный рубашечн
+рублях рубл
+руке рук
+румяными румян
+рутине рутин
+ручьями руч
+рыжики рыжик
+рюшем рюш
+савраской савраск
+садящееся садящеес
+салфетке салфетк
+самолюбивая самолюбив
+самоубийство самоубийств
+сапогов сапог
+сафьянные сафьян
+сбиваются сбиваютс
+сбредить сбредит
+сварили сварил
+свежим свеж
+свернулись свернулис
+светится светитс
+светозарный светозарн
+свидание свидан
+свидригайлове свидригайлов
+свобода свобод
+своевременным своевремен
+свяжем свяж
+святому свят
+сговаривались сговаривалис
+сдано сдан
+сделанное сделан
+сдобные сдобн
+седого сед
+секунду секунд
+семейном семейн
+семи сем
+сеней сен
+сергевна сергевн
+сердиться сердитьс
+серебряных серебрян
+серьгами серьг
+сестру сестр
+сжевать сжеват
+сидело сидел
+силился силилс
+символами символ
+синенькие синеньк
+сиплыми сипл
+ситцевом ситцев
+скажешь скажеш
+сказочный сказочн
+скамеечку скамеечк
+скважину скважин
+скитайся скитайс
+склоненный склонен
+сковорода сковород
+скомканное скомкан
+скорбями скорб
+скотный скотн
+скрипучие скрипуч
+скрывая скрыв
+скудны скудн
+скучнее скучне
+слабостию слабост
+сладить сладит
+слева слев
+следствия следств
+слепо слеп
+слипаются слипаютс
+слога слог
+сложных сложн
+служба служб
+случаев случа
+случившееся случившеес
+слушателя слушател
+слышатся слышатс
+смеете смеет
+сменились сменилис
+смертном смертн
+смешения смешен
+смеялись смеялис
+смолкали смолкал
+смотреть смотрет
+смутить смутит
+смущенно смущен
+смятенная смятен
+снежному снежн
+снисходительна снисходительн
+сношений сношен
+соберусь соберус
+соблазнительною соблазнительн
+собранию собран
+событиях событ
+совершенных совершен
+советом совет
+согбенный согбен
+соглашусь соглашус
+соединенную соединен
+создавать создават
+сознавать сознават
+созревало созревал
+сокровенных сокровен
+солидно солидн
+соломинку соломинк
+сомнительного сомнительн
+сонными сон
+сообщено сообщен
+сопричастные сопричастн
+сорвать сорват
+соседству соседств
+сосредоточенным сосредоточен
+состарился состарилс
+состязались состязалис
+софье соф
+социальные социальн
+сочувственно сочувствен
+спаленных спален
+спасибо спасиб
+спеть спет
+спирта спирт
+сподручница сподручниц
+споре спор
+способных способн
+справишься справишьс
+спруты спрут
+спустились спустилис
+сравниться сравнитьс
+среднюю средн
+ссиня ссин
+ставить ставит
+сталкивала сталкивал
+становимся становимс
+стараниями старан
+старинный старин
+старухина старухин
+старческому старческ
+статского статск
+стеклу стекл
+степени степен
+стеснены стеснен
+стихия стих
+столбов столб
+столовый столов
+сторожа сторож
+стоявшую стоявш
+страданьице страданьиц
+странности странност
+страстный страстн
+страшном страшн
+стремиться стремитьс
+строгостию строгост
+строчку строчк
+студенистой студенист
+стукнуло стукнул
+ступкой ступк
+стыдливая стыдлив
+субъектом субъект
+судорогами судорог
+суетилась суетилас
+сукна сукн
+сумела сумел
+супа суп
+суровость суровост
+сухих сух
+существовать существоват
+схватывается схватываетс
+сходя сход
+счастливо счастлив
+считаете считает
+съезжать съезжат
+сыном сын
+сытые сыт
+табачного табачн
+тайне тайн
+таково таков
+таланты талант
+танцуя танцу
+таскаться таскатьс
+тверди тверд
+твоими тво
+текущею текущ
+телу тел
+темной темн
+теоретиком теоретик
+теплился теплилс
+терзало терзал
+теряла терял
+теста тест
+технологию технолог
+тифа тиф
+ткани ткан
+тоже тож
+толкусь толкус
+толстой толст
+томитесь томитес
+томящихся томящихс
+тонула тонул
+топчу топч
+торжественные торжествен
+тортом торт
+тоскуя тоску
+тощими тощ
+трактирной трактирн
+требование требован
+тревожила тревожил
+трезвый трезв
+трепещущего трепещущ
+третьем трет
+тригориным тригорин
+трое тро
+тропинки тропинк
+трубкой трубк
+трудные трудн
+труслива труслив
+тузенбаха тузенбах
+туманом туман
+тусклой тускл
+тщеславия тщеслав
+тюменев тюмен
+тягу тяг
+тяжких тяжк
+убежала убежал
+уберу убер
+убирая убир
+убранной убран
+уважение уважен
+увенчались увенчалис
+уверяя увер
+увитое увит
+увражами увраж
+угасшим угасш
+уговорить уговорит
+угощения угощен
+угрюмых угрюм
+ударившего ударивш
+удержали удержал
+удивительное удивительн
+удивлять удивлят
+удовлетворительный удовлетворительн
+уедем уед
+уезжай уезжа
+ужасного ужасн
+ужину ужин
+узнай узна
+укажу укаж
+укладывать укладыват
+украсишь украсиш
+улетайте улетайт
+уличную уличн
+улыбаюсь улыбаюс
+умалялось умалялос
+умертвила умертвил
+умная умн
+умолкала умолкал
+умственно умствен
+университетские университетск
+уничтоженный уничтожен
+упади упад
+уплатою уплат
+упорное упорн
+управляющему управляющ
+упрочились упрочилис
+уродливое уродлив
+усаживаются усаживаютс
+усиливается усиливаетс
+условии услов
+усмехнувшись усмехнувшис
+успеешь успееш
+успокоился успокоилс
+уставились уставилис
+установилась установилас
+устремлена устремлен
+устрою устр
+утекло утекл
+утихала утихал
+утомлялись утомлялис
+утративший утративш
+ухватиться ухватитьс
+уцелевшие уцелевш
+учение учен
+учитель учител
+ущербной ущербн
+факте факт
+фамилия фамил
+фартуке фартук
+федосья федос
+физиологически физиологическ
+философская философск
+флейта флейт
+фонарном фонарн
+формулярных формулярн
+францевне францевн
+фуражечку фуражечк
+ханжу ханж
+харьковские харьковск
+хвать хват
+хитро хитр
+хладных хладн
+хлопотливые хлопотлив
+хныкать хныкат
+хозе хоз
+хозяйстве хозяйств
+холоднее холодне
+хоре хор
+хорошую хорош
+хочешь хочеш
+хриплым хрипл
+хрычовки хрычовк
+хулу хул
+цвела цвел
+цветущие цветущ
+целомудренные целомудрен
+цени цен
+церемонии церемон
+циркуляция циркуляц
+чаишко чаишк
+часовая часов
+чахотка чахотк
+чебарову чебаров
+человеческой человеческ
+чепчике чепчик
+черни черн
+черным черн
+чертою черт
+честных честн
+четырехэтажного четырехэтажн
+чинный чин
+число числ
+чистою чист
+читу чит
+чрезвычайном чрезвычайн
+чувствительном чувствительн
+чудаки чудак
+чудовища чудовищ
+чужое чуж
+чухонки чухонк
+шайка шайк
+шара шар
+шаталось шаталос
+шевельнувшись шевельнувшис
+шельму шельм
+шестнадцати шестнадцат
+ширину ширин
+шитьем шит
+шлешь шлеш
+шоссейный шоссейн
+штопать штопат
+шулером шулер
+шутками шутк
+щеголять щеголят
+щемящей щемящ
+эгоизма эгоизм
+экономических экономическ
+эмблема эмблем
+эрара эрар
+этака этак
+юбка юбк
+юношеством юношеств
+яблокам яблок
+явлюсь явлюс
+ядовитым ядовит
+яйца яйц
+ярки ярк
+ясли ясл
+а а
+адрес адрес
+алексеевич алексеевич
+анализировал анализировал
+аня аня
+архитектор архитектор
+баб баб
+барабан барабан
+бег бег
+безбородкин безбородкин
+белильню белильню
+беспокоит беспокоит
+бильярд бильярд
+благословляет благословляет
+блин блин
+богач богач
+болит болит
+борт борт
+братец братец
+бродят бродят
+брызнул брызнул
+будят будят
+бутошник бутошник
+бюст бюст
+варят варят
+вдовиц вдовиц
+великонек великонек
+верностью верностью
+вестник вестник
+взбегал взбегал
+взглядывал взглядывал
+вздрогнув вздрогнув
+взошел взошел
+видывал видывал
+вихор вихор
+властелин властелин
+внемлют внемлют
+вовлечен вовлечен
+возведен возведен
+возненавидел возненавидел
+вой вой
+волшебств волшебств
+воробушек воробушек
+воскреснет воскреснет
+восток восток
+вплетаю вплетаю
+врем врем
+вскинул вскинул
+вспоминал вспоминал
+вспыхнул вспыхнул
+встречал встречал
+всяк всяк
+выберут выберут
+выводил выводил
+выдает выдает
+выдумок выдумок
+вызовет вызовет
+вылез вылез
+выносит выносит
+выплеснет выплеснет
+выразил выразил
+выскочит выскочит
+выстрел выстрел
+вытерпел вытерпел
+вычертил вычертил
+гаврилыч гаврилыч
+гасил гасил
+гибелью гибелью
+глобус глобус
+глянув глянув
+годен годен
+горазд горазд
+горю горю
+грабит грабит
+гремел гремел
+грот грот
+гряд гряд
+гунял гунял
+дарят дарят
+двор двор
+девушек девушек
+делывал делывал
+дернет дернет
+диск диск
+добежав добежав
+доверял доверял
+дождичек дождичек
+докладывает докладывает
+долю долю
+допустил допустил
+доставляет доставляет
+дотягивает дотягивает
+дракон дракон
+дружб дружб
+дуню дуню
+дым дым
+еде еде
+еле еле
+ею ею
+ждем ждем
+желчен желчен
+живописью живописью
+жук жук
+заблагорассудит заблагорассудит
+забывает забывает
+завистлив завистлив
+завяз завяз
+загниют загниют
+загулял загулял
+задок задок
+зажаждал зажаждал
+заиграл заиграл
+закипел закипел
+закричат закричат
+зал зал
+замедляет замедляет
+замечен замечен
+замучил замучил
+западник западник
+записываю записываю
+запретив запретив
+зараз зараз
+засвидетельствовал засвидетельствовал
+заставит заставит
+застучал застучал
+затворят затворят
+затряс затряс
+захотел захотел
+зашумят зашумят
+звонок звонок
+зевнет зевнет
+злобствуют злобствуют
+знаменит знаменит
+зрит зрит
+играю играю
+избавил избавил
+извлек извлек
+изложил изложил
+изнемогаю изнемогаю
+изъясняю изъясняю
+импровизирует импровизирует
+иным иным
+исповедовал исповедовал
+испугал испугал
+истребил истребил
+ищем ищем
+казачок казачок
+кампанил кампанил
+каприз каприз
+картофелю картофелю
+качеств качеств
+кидал кидал
+клад клад
+клок клок
+князю князю
+колдун колдун
+колю колю
+консилиум консилиум
+коню коню
+коробит коробит
+коттедж коттедж
+красильщик красильщик
+крест крест
+кровлю кровлю
+крючок крючок
+куплен куплен
+кутит кутит
+лавочник лавочник
+ласкает ласкает
+лебезил лебезил
+лекарств лекарств
+лет лет
+ликует ликует
+ло ло
+ломаю ломаю
+лукавил лукавил
+любит любит
+магазин магазин
+манжет манжет
+матвеевич матвеевич
+медлил медлил
+мельниц мельниц
+метелью метелью
+мещан мещан
+миндалю миндалю
+михайлович михайлович
+мое мое
+молод молод
+морю морю
+мстят мстят
+мучает мучает
+мышью мышью
+наблюдал наблюдал
+навин навин
+наград наград
+надет надет
+надуют надуют
+найдет найдет
+наклонил наклонил
+наладит наладит
+намекают намекают
+наобум наобум
+написал написал
+напоминает напоминает
+напрягаю напрягаю
+наскучил наскучил
+настойчивостью настойчивостью
+наук наук
+начертал начертал
+небосклон небосклон
+недоброжелателен недоброжелателен
+неизвестен неизвестен
+необходимостью необходимостью
+несловоохотлив несловоохотлив
+неурядиц неурядиц
+нитью нитью
+нормален нормален
+ну ну
+обвешивают обвешивают
+обдумывал обдумывал
+обессилил обессилил
+облегчал облегчал
+обманчив обманчив
+обнес обнес
+обозвал обозвал
+образован образован
+обронил обронил
+обсыплет обсыплет
+объявляет объявляет
+овал овал
+огонек огонек
+один один
+ожидовел ожидовел
+окатил окатил
+окончен окончен
+ому ому
+оплакиваю оплакиваю
+опровергает опровергает
+ораторствовал ораторствовал
+освещает освещает
+оскорбляет оскорбляет
+оспаривает оспаривает
+осторожен осторожен
+отбросив отбросив
+отводил отводил
+отгонит отгонит
+отдыхает отдыхает
+откровенничал откровенничал
+отложил отложил
+отнял отнял
+отошел отошел
+отпрыск отпрыск
+отрывал отрывал
+отступает отступает
+отхлебнул отхлебнул
+офицер офицер
+очаг очаг
+ощутил ощутил
+пай пай
+пар пар
+пахнет пахнет
+пел пел
+перевернул перевернул
+передает передает
+переехал переехал
+переливает переливает
+перепел перепел
+пересмотрю пересмотрю
+пересчитают пересчитают
+период период
+печален печален
+писателю писателю
+плавает плавает
+плевал плевал
+плутоват плутоват
+побегут побегут
+побранят побранят
+повернул повернул
+поводил поводил
+погас погас
+погнал погнал
+погуляет погуляет
+подбираю подбираю
+подгулял подгулял
+поджигал поджигал
+подмывает подмывает
+пододвинул пододвинул
+подох подох
+подрал подрал
+подставит подставит
+подумаю подумаю
+подымает подымает
+пожарищ пожарищ
+позволил позволил
+позовут позовут
+покажут покажут
+поклал поклал
+покрывает покрывает
+полетит полетит
+полоснет полоснет
+полюбил полюбил
+помешают помешают
+поможет поможет
+поник поник
+пообедаю пообедаю
+поправил поправил
+поражен поражен
+портьер портьер
+посекут посекут
+послушал послушал
+поспорил поспорил
+построек построек
+посылают посылают
+потомок потомок
+потух потух
+похоронен похоронен
+почивают почивают
+пошел пошел
+правовед правовед
+предвидел предвидел
+предписываю предписываю
+представят представят
+презираю презираю
+прерываю прерываю
+прибавлял прибавлял
+прибывает прибывает
+приводят приводят
+приглашал приглашал
+придаток придаток
+приехав приехав
+приискал приискал
+приласкав приласкав
+примеряет примеряет
+принимал принимал
+приобретают приобретают
+припоминал припоминал
+присмотрит присмотрит
+присядет присядет
+причесывает причесывает
+пробил пробил
+проводит проводит
+прогонят прогонят
+продолжают продолжают
+прожил прожил
+произносит произносит
+прокричал прокричал
+промелькнет промелькнет
+пронизан пронизан
+пропал пропал
+проревел проревел
+проскользнет проскользнет
+простит простит
+просят просят
+протянул протянул
+прочитав прочитав
+прыг прыг
+псу псу
+пускают пускают
+пыл пыл
+пьянствует пьянствует
+работаю работаю
+разбойник разбойник
+развратен развратен
+раздавлен раздавлен
+раздражителен раздражителен
+разломал разломал
+разобрал разобрал
+разубран разубран
+ранил ранил
+распахнут распахнут
+рассвирепел рассвирепел
+расслышал расслышал
+рассудив рассудив
+растет растет
+рачителен рачителен
+ревновал ревновал
+рельс рельс
+рис рис
+род род
+рой рой
+рт рт
+рудник рудник
+рю рю
+сам сам
+сбит сбит
+свежестью свежестью
+светает светает
+свободен свободен
+сгнил сгнил
+сделает сделает
+седеют седеют
+семенит семенит
+сердит сердит
+сигнал сигнал
+сияет сияет
+скачет скачет
+скользнет скользнет
+скрипел скрипел
+скупал скупал
+следит следит
+сломал сломал
+слыл слыл
+смертью смертью
+смоет смоет
+смутен смутен
+снег снег
+снял снял
+собьет собьет
+согбен согбен
+сознает сознает
+сом сом
+сообщил сообщил
+сосед сосед
+сосчитав сосчитав
+сошьет сошьет
+список список
+спорю спорю
+спросил спросил
+спятил спятил
+ставлю ставлю
+статью статью
+стираю стираю
+стон стон
+странник странник
+струсив струсив
+стучат стучат
+сует сует
+суп суп
+схватывают схватывают
+считал считал
+сыграет сыграет
+сядет сядет
+талант талант
+тащит тащит
+текут текут
+терпелив терпелив
+тиатр тиатр
+толк толк
+тонкостью тонкостью
+торгует торгует
+тот тот
+трахтир трахтир
+треск треск
+тронет тронет
+тряпок тряпок
+тут тут
+тянет тянет
+убивец убивец
+уважают уважают
+увидав увидав
+угадывает угадывает
+угощал угощал
+удобств удобств
+ужасен ужасен
+узрят узрят
+украшают украшают
+ума ума
+умничает умничает
+унес унес
+упадет упадет
+употребит употребит
+ураган ураган
+усидел усидел
+успевает успевает
+устанут устанут
+уступил уступил
+утомит утомит
+ухватил ухватил
+учат учат
+уют уют
+фарфор фарфор
+философ философ
+фортепьян фортепьян
+фыркает фыркает
+хвалят хвалят
+хитрят хитрят
+хлынет хлынет
+холмик холмик
+храм храм
+худощав худощав
+целует целует
+цыпленок цыпленок
+чахнут чахнут
+черед черед
+честит честит
+читает читает
+чувств чувств
+чьи чьи
+шарил шарил
+шелестит шелестит
+шипит шипит
+шло шло
+штабс штабс
+шут шут
+щекотал щекотал
+эгоист эгоист
+эпикуреец эпикуреец
+эту эту
+юных юных
+яме яме
diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/sv-light.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/sv-light.tsv
new file mode 100644
index 0000000000..4358931773
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/sv-light.tsv
@@ -0,0 +1,2000 @@
+aaele aael
+adele adel
+adler adl
+afbrutna afbrutn
+affärsmin affärsmi
+afhållen afhåll
+aflägsnare aflägsn
+afseende afseend
+aftaget aftag
+aftonpipan aftonpipa
+agaren agar
+akta akt
+aktuella aktuell
+alldeles alldel
+allmän allmä
+alltjämt alltjäm
+allvarsamme allvarsamm
+altarens alt
+amlan amla
+anblicken anblick
+andedräkten andedräkt
+andtäppan andtäppa
+anförvanters anförvant
+angelägnare angelägn
+anhållan anhålla
+anlagen anlag
+anmäler anmäl
+annika annik
+anpassningsförmåga anpassningsförmåg
+ansigtet ansigt
+anskrämliga anskrämlig
+ansträngda ansträngd
+antaga antag
+antenner antenn
+antydde antydd
+apgossen apgoss
+arbetade arbetad
+arbetsfordon arbetsfordo
+arit ari
+armhågarna armhågarn
+arrendatorns arrendator
+artighet artig
+arvlös arvlö
+astronomiska astronomisk
+attiofjerde attiofjerd
+avancerat avancer
+avböjde avböjd
+avgrundsanden avgrundsand
+aviga avig
+avlånga avlång
+avsigkomna avsigkomn
+avskyvärde avskyvärd
+avståndet avstånd
+avundsjuka avundsjuk
+axeln axel
+backen back
+badstuga badstug
+bakelsehungriga bakelsehungrig
+balanserande balanser
+banan bana
+barkbat barkb
+barnasinnet barnasinn
+barnhemmet barnhemm
+barnskaran barnskara
+baroner baron
+battys batty
+bebåda bebåd
+bedragna bedragn
+bedrövelsen bedrövels
+befaldes befald
+befattar befatt
+befrielse befri
+begagnat begagn
+begraver begrav
+begripligt begriplig
+begära begär
+behaga behag
+behandlades behandlad
+behändigt behändig
+behölle behöll
+bekantskaperna bekantskap
+bekräftar bekräft
+bekymra bekymr
+beledsagade beledsagad
+belägna belägn
+bemägtigade bemägtigad
+bemöta bemöt
+bennes benn
+beqvämlighet beqvämlig
+bergens berg
+beror ber
+berättas berätt
+berömmer berömm
+besegrade besegrad
+beskedlighet beskedlig
+beskyddares beskydd
+beslutsamma beslutsamm
+beställa beställ
+bestänkta bestänkt
+besvärades besvärad
+besynnerlighet besynnerlig
+betagit betagi
+betjanar betjan
+betror betr
+betvivlade betvivlad
+betytt betyt
+beundrande beundr
+bevars bev
+bevisas bevis
+bibelens bibel
+bifaller bifall
+bilarna bilarn
+biljettluckan biljettlucka
+binglade binglad
+bita bit
+bittersta bitterst
+bjudningar bjudning
+björks björk
+blanda bland
+blekhet blek
+blida blid
+blint blin
+blodets blod
+blombuketter blombukett
+blommorna blomm
+blomsterängar blomsteräng
+blossade blossad
+blundade blundad
+blygsamt blygsam
+blänka blänk
+blårandiga blårandig
+blödde blödd
+bodbitrade bodbitrad
+bohuslänningen bohuslänning
+bokstaven bokstav
+bomullskläder bomullskläd
+bondeståndet bondestånd
+bonjourliknande bonjourlikn
+bordun bordu
+borsta borst
+bortfört bortför
+bortresta bortrest
+borttappade borttappad
+botpredikanten botpredikant
+brann bran
+bredare bred
+bricka brick
+bristen brist
+broderns broder
+brostedt brosted
+brudgummen brudgumm
+brukbar brukb
+brunrosigt brunrosig
+brustit brusti
+brynt bryn
+brända bränd
+brännvinets brännvin
+bråelser brå
+brödutdelningen brödutdelning
+bröstfickans bröstficka
+bugar bug
+bullrande bullr
+bundttröja bundttröj
+buteljer butelj
+byggande bygg
+byrån byrå
+bädden bädd
+bärande bär
+bävar bäv
+bålstor bålst
+böja böj
+böncstunder böncstund
+bördan börda
+böttiger böttig
+ceremoniplikter ceremoniplikt
+cheviotstyget cheviotstyg
+cigarrerna cigarr
+ckade ckad
+croit croi
+dagars dag
+dagligen daglig
+dalstedt dalsted
+dammskyarna dammskyarn
+darfor darf
+decembermörker decembermörk
+delades delad
+deltagande deltag
+denne denn
+derjemte derjem
+dessouernas dessou
+digitalis digitali
+dikterat dikter
+direktören direktör
+distansen distans
+djerfva djerfv
+djurgården djurgård
+dlodet dlod
+doge dog
+dolts dol
+domprostgården domprostgård
+dotter dott
+dragit dragi
+dreglande dregl
+drifva drifv
+driver driv
+droskorna drosk
+druvans druva
+drängar dräng
+drömma drömm
+dubbellorgnett dubbellorgnet
+dukades dukad
+dundrade dundrad
+dunst duns
+dvaldes dvald
+dyningarna dyningarn
+dyrköpta dyrköpt
+dämpande dämp
+därinifrån därinifrå
+dågot dågo
+dårat dår
+döddagar döddag
+dödsskrämda dödsskrämd
+dömer döm
+dövades dövad
+efterfrågade efterfrågad
+efterlängtar efterlängt
+eftersinnande eftersinn
+efterträdare efterträd
+egenkärleken egenkärlek
+eggar egg
+eine ein
+elakhet elak
+eldrött eldröt
+elementarkraft elementarkraf
+ellen ell
+emellan emella
+endräkt endräk
+englarne engl
+enorma enorm
+enskilta enskilt
+envis envi
+erbarmligt erbarmlig
+erfarna erfarn
+eriksgata eriksgat
+erkännande erkänn
+ersätta ersätt
+estraden estrad
+evangeliums evangelium
+exekutiva exekutiv
+extraordinarien extraordinari
+faderliga faderlig
+fahlen fahl
+falluckan fallucka
+familjer familj
+famntagets famntag
+fantome fantom
+farhågan farhåga
+farten fart
+fassor fass
+fastnade fastnad
+fattbar fattb
+fctt fct
+felade felad
+fenelon fenelo
+festligt festlig
+ficker fick
+figurliga figurlig
+filosofiska filosofisk
+fingerspetsarna fingerspetsarn
+finnande finn
+firar fir
+fiskat fisk
+fjerde fjerd
+fjälligt fjällig
+flacka flack
+flamman flamma
+flicka flick
+flickors flick
+flinkt flink
+floras flor
+flugit flugi
+flykt flyk
+flyttade flyttad
+fläkte fläk
+flåsande flås
+fnittrande fnittr
+fogde fogd
+folksamlingar folksamling
+fordon fordo
+formande form
+formuläret formulär
+forsmädat forsmäd
+fortkomst fortkoms
+fosfat fosf
+fostrat fostr
+fotterna fott
+framat fram
+framföra framför
+framlefva framlefv
+framsatta framsatt
+framstupa framstup
+framtiden framtid
+framviskat framvisk
+fransyska fransysk
+fredlösa fredlös
+frestelsens frestels
+fridfulla fridfull
+friheten fri
+fristunder fristund
+frontespisen frontespis
+frukostera frukoster
+frukterna frukt
+fruntimret fruntimr
+fryser frys
+frälsningssoldater frälsningssoldat
+fränder fränd
+frågas fråg
+frånträda frånträd
+fröjds fröjd
+fuktade fuktad
+fullbordat fullbord
+fullvuxen fullvux
+fungerande funger
+furstes furs
+fyllas fyll
+fyratusen fyratus
+fälda fäld
+fängslande fängsl
+färgen färg
+fästade fästad
+fåelarnas fåelarn
+fåglarnas fåglarn
+fånglinan fånglina
+födde född
+följaktligen följaktlig
+fölle föll
+fönsterplats fönsterpl
+föraktande förakt
+förarglige förarglig
+förbehallsamhet förbehallsam
+förbiilande förbiil
+förbjudna förbjudn
+förbrända förbränd
+fördelande fördel
+fördröja fördröj
+förebråelse förebrå
+förehades förehad
+föremålen föremål
+föreskrift föreskrif
+förestält förestäl
+företrädare företräd
+författaren författ
+förfogar förfog
+förfärligaste förfärlig
+förföriskt förförisk
+förgyllda förgylld
+förgården förgård
+förhärdadt förhärdad
+förirrat förirr
+förklädde förklädd
+förkunnade förkunnad
+förlidna förlidn
+förlossningsbordet förlossningsbord
+förlust förlus
+förlåtelse förlåt
+förmaningar förmaning
+förmodar förmod
+förmåner förmån
+förnedrande förnedr
+förnya förny
+förnöjde förnöjd
+förordnat förordn
+förryckta förryckt
+försakar försak
+försedda försedd
+försjunkna försjunkn
+förskräckt förskräck
+försmådde försmådd
+förspilla förspill
+förstklassigt förstklassig
+förstugkvisten förstugkvist
+förståelse förstå
+försumlighet försumlig
+försvarade försvarad
+försäkran försäkra
+förtaga förtag
+förtjust förtjus
+förtretat förtret
+förtroliga förtrolig
+förtrytelsen förtrytels
+förtvifladt förtviflad
+förtärs förtär
+förvandla förvandl
+förverkligas förverklig
+förvreds förvred
+förvärvade förvärvad
+föräldralöst föräldralös
+förärat förär
+fötterna fött
+gagns gag
+gallhöna gallhön
+gamles gaml
+gapar gap
+gardsplanen gardsplan
+gasrampen gasramp
+gatukorset gatukors
+gemensamt gemensam
+genmälte genmäl
+genomskinligt genomskinlig
+gent gen
+gest ges
+gevärskolfven gevärskolfv
+giftermålsspekulation giftermålsspekulatio
+giljan gilja
+gisslande gissl
+givmilda givmild
+gladaste glad
+glasdörren glasdörr
+glatta glatt
+glittra glittr
+glädje glädj
+glänsande gläns
+glödheta glödhet
+gnida gnid
+gnomen gnom
+goddagspilt goddagspil
+godsinthet godsint
+gorna gorn
+gottgöra gottgör
+grammatikan grammatika
+grannens grann
+granskade granskad
+gravlika gravlik
+grepe grep
+grevligt grevlig
+gripa grip
+gropar grop
+grufliga gruflig
+grundpelare grundpel
+gryningen gryning
+grämelsens grämels
+gräsbevuxen gräsbevux
+gräver gräv
+gråsten gråst
+grönskan grönska
+gubevars gubev
+gudomliga gudomlig
+guldklot guldklo
+gullros gullro
+gungade gungad
+gycklarlynne gycklarlynn
+gynsamt gynsam
+gängliga gänglig
+gästers gäst
+gångarnas gångarn
+gårdsflygeln gårdsflygel
+gåvan gåva
+gömslen gömsl
+hackor hack
+hafvets hafv
+halfbrustna halfbrustn
+halka halk
+halsade halsad
+halvar halv
+halvmörkret halvmörkr
+halvöppna halvöppn
+handeln handel
+handkammaren handkamm
+handskar handsk
+hansestäderna hansestäd
+harmsen harms
+hastigheten hastig
+hattskrålla hattskråll
+hcnne hcnn
+hederskänsla hederskänsl
+hektiska hektisk
+helgon helgo
+helsan helsa
+hembära hembär
+hemle heml
+hemmansdöttrar hemmansdöttr
+hemskhet hemsk
+henmes henm
+herodes herod
+herres herr
+herrskapets herrskap
+hetast het
+hettade hettad
+himmelska himmelsk
+hisnande hisn
+hitta hitt
+hjartan hjarta
+hjertans hjerta
+hjulspårens hjulspår
+hjälpte hjälp
+hjärtat hjärt
+hjärtlöst hjärtlös
+hobktare hobkt
+honungshusen honungshus
+hopkrupen hopkrup
+hoppningsfullt hoppningsfull
+horniga hornig
+hotelse hot
+hudens hud
+hugos hugo
+humant human
+humrar humr
+hungrat hungr
+huruledes huruled
+husfrus husfru
+hushållssaker hushållssak
+husmodern husmoder
+huven huv
+huvudsaken huvudsak
+hvarföre hvarför
+hvilkas hvilk
+hyddor hydd
+hypokonder hypokond
+hysteriskt hysterisk
+häggen hägg
+hällre hällr
+hälsovinst hälsovins
+händelsen händels
+hängdes hängd
+häntydande häntyd
+härbärgerar härbärger
+härledde härledd
+härrörde härrörd
+häst häs
+håde håd
+hållet håll
+hårdna hårdn
+höfligt höflig
+högen hög
+högmods högmod
+högsträva högsträv
+högvälborne högvälborn
+hökarekandidaten hökarekandidat
+höra hör
+hört hör
+höstpoet höstpo
+hövliga hövlig
+ickeömt ickeöm
+idiotiskt idiotisk
+ifrån ifrå
+ihopkrupen ihopkrup
+ijuder ijud
+ijust ijus
+illfundiga illfundig
+ilyttade ilyttad
+inackorderingen inackordering
+inbilska inbilsk
+inbränt inbrän
+inemot inemo
+inflyttande inflytt
+ingalunda ingalund
+ingjuta ingjut
+inhämtade inhämtad
+inkomst inkoms
+inläggningar inläggning
+innebära innebär
+innesluter inneslut
+inredt inred
+insekterna insekt
+inskrivet inskriv
+inspektion inspektio
+instrumentens instrument
+insvepta insvept
+intensivt intensiv
+intrasslade intrasslad
+intrycket intryck
+inträtt inträt
+invärtes invär
+irrfärder irrfärd
+islossningen islossning
+itans ita
+iyckokänsla iyckokänsl
+iyktan iykta
+iystna iystn
+jagas jag
+jaktlöjtnantens jaktlöjtnant
+jazzvindens jazzvind
+jemt jem
+johans joha
+jordfästningen jordfästning
+judehistorier judehistori
+julgranen julgran
+juniors juni
+jäfva jäfv
+jämn jäm
+järnvägs järnväg
+kabelända kabeländ
+kaffebrickan kaffebricka
+kains kai
+kakor kak
+kallade kallad
+kallsvettades kallsvettad
+kammarfönster kammarfönst
+kamrat kamr
+kandidaten kandidat
+kantade kantad
+kappor kapp
+karakteristiken karakteristik
+karlbergsallen karlbergsall
+karta kart
+kastande kast
+katedern kateder
+kattunsgardiner kattunsgardin
+kela kel
+kindbenet kindben
+kiselstenar kiselsten
+klackar klack
+klanningsficka klanningsfick
+klarnade klarnad
+klassrummet klassrumm
+klibbar klibb
+klippor klipp
+klockarfar klockarf
+klokhet klok
+klungan klunga
+kläder kläd
+klädståndsluften klädståndsluft
+klänningstyget klänningstyg
+knacka knack
+knapphandlaren knapphandl
+knastrande knastr
+knopparna knopparn
+knutet knut
+knäckt knäck
+knöt knö
+kokettera koketter
+kolossale kolossal
+komma komm
+komministraturen komministratur
+komrnit komrni
+konkurrensen konkurrens
+konstaterar konstater
+konstruerade konstruerad
+kontor kont
+konversation konversatio
+korgar korg
+korrekta korrekt
+korslagda korslagd
+kortligen kortlig
+kostnaden kostnad
+kraftfulla kraftfull
+kramar kram
+kreditorernas kreditor
+krigstillståndet krigstillstånd
+kristen krist
+kritade kritad
+kromatiska kromatisk
+kroppsliga kroppslig
+krumma krumm
+kryddan krydda
+kräfde kräfd
+kråka kråk
+krökningen krökning
+kuddarna kuddarn
+kullbåtarna kullbåtarn
+kunder kund
+kupiga kupig
+kurtisen kurtis
+kustbevakarens kustbevak
+kvadrat kvadr
+kvarnhjulshatten kvarnhjulshatt
+kvava kvav
+kvinnlighet kvinnlig
+kvinnorösten kvinnoröst
+kväden kväd
+kväva kväv
+kymmer kymm
+kyrkogårdsmuren kyrkogårdsmur
+kyrktrappan kyrktrappa
+käckt käck
+källklar källkl
+känhända känhänd
+känsliga känslig
+kärastes kär
+kärleksförkiaringarna kärleksförkiaringarn
+kärra kärr
+kökemästarn kökemästar
+köparinnan köparinna
+körjade körjad
+lade lad
+lagen lag
+lagstiftare lagstift
+lampetterna lampett
+lands land
+langsamt langsam
+lantstället lantställ
+lasset lass
+lattare latt
+leddes ledd
+ledsna ledsn
+lefvat lefv
+leken lek
+lektionsdagarna lektionsdagarn
+lena len
+leva lev
+levnadsförhållanden levnadsförhålland
+lida lid
+lieder lied
+lifstiden lifstid
+ligheten lig
+liket lik
+liknöjdhet liknöjd
+liljespön liljespö
+lindfelt lindfel
+linets lin
+linongsklänningen linongsklänning
+listiga listig
+liudfeldt liudfeld
+livlös livlö
+livstycken livstyck
+ljufvast ljufv
+ljusblått ljusblåt
+ljusnande ljusn
+ljuvt ljuv
+lockelser lock
+logen log
+lorgnetterande lorgnetter
+lovade lovad
+lucie luci
+luggslitna luggslitn
+lukten lukt
+lungor lung
+lurendrejerierna lurendrejeri
+lustturen lusttur
+lyckans lycka
+lyckoropen lyckorop
+lydigt lydig
+lyktor lykt
+lyser lys
+lytton lytto
+läger läg
+lägsta lägst
+lämnar lämn
+länge läng
+läppar läpp
+lärarinna lärarinn
+lärkor lärk
+läsas läs
+lättade lättad
+lättsinnigheter lättsinnighet
+lågorna låg
+långor lång
+långväggen långvägg
+låtsades låtsad
+lögnhals lögnhal
+lökskivor lökskiv
+löper löp
+lösrycka lösryck
+lövverket lövverk
+madras madr
+magnifika magnifik
+majsen majs
+makter makt
+maläten malät
+maner man
+mansperson mansperso
+mariga marig
+marmorvit marmorvi
+maskinerna maskin
+matbit matbi
+matkorgar matkorg
+matsmältningsprocessen matsmältningsprocess
+medaljongen medaljong
+medelålder medelåld
+medgives medgiv
+medlidsamt medlidsam
+medvetslös medvetslö
+mellersta mellerst
+menera mener
+menniskohjertat menniskohjert
+mentsbestridanden mentsbestridand
+metrefvar metrefv
+midja midj
+milda mild
+milstolpe milstolp
+minnes minn
+minuterna minut
+missioncn missionc
+misslynthet misslynt
+misstrogen misstrog
+missöden missöd
+mjella mjell
+mjölken mjölk
+moderat moder
+modesta modest
+mognade mognad
+monarda monard
+mordiska mordisk
+morgonens morgon
+morka mork
+mosters most
+motsats mots
+motsägelser motsäg
+mottogs mottog
+mumlar muml
+munterhet munter
+murklor murkl
+muskelspelet muskelspel
+mycke myck
+myndighet myndig
+mysterer myster
+mälmiskornas mälmisk
+människornas människ
+märka märk
+märkvärdiga märkvärdig
+mätas mät
+målareexpositionen målareexposition
+månar mån
+mångtydigt mångtydig
+mårten mårt
+möblerade möblerad
+möjligheter möjlighet
+mördares mörd
+mörknar mörkn
+mötena möten
+nade nad
+nagot nago
+namnsdagar namnsdag
+narrade narrad
+nations natio
+nattmössan nattmössa
+nattvardsbaciller nattvardsbacill
+naturligtvis naturligtvi
+nedborrade nedborrad
+nedlade nedlad
+nedsjunkit nedsjunki
+nedtryckta nedtryckt
+nekade nekad
+nervsjuka nervsjuk
+nigande nig
+nitet nit
+nnelankoliskt nnelankolisk
+nonsens nons
+norrbacka norrback
+notatien notati
+nuförtiden nuförtid
+nyfallen nyfall
+nyhetens nyhet
+nyomvända nyomvänd
+nyttan nytta
+näckens näck
+nära när
+närmare närm
+näsborrar näsborr
+näsvis näsvi
+näve näv
+någonstans någonsta
+nödgades nödgad
+nödvärn nödvär
+oafbrutet oafbrut
+oavundade oavundad
+obekanta obekant
+oberört oberör
+obetydligaste obetydlig
+oblyghet oblyg
+odjuret odjur
+oegentligen oegentlig
+offentligheten offentlig
+ofullständigt ofullständig
+oförklarligt oförklarlig
+oförsonade oförsonad
+ogift ogif
+ogörligt ogörlig
+ohörbart ohörbar
+oktober oktob
+olidligaste olidlig
+olovliga olovlig
+olycksaningar olycksaning
+omaket omak
+omelett omelet
+omgivet omgiv
+omklädt omkläd
+omnämndes omnämnd
+omsorgsfullt omsorgsfull
+omtalas omtal
+omvärvas omvärv
+onda ond
+onödigtvis onödigtvi
+oppen opp
+order ord
+ordspråket ordspråk
+organiserade organiserad
+orimligt orimlig
+ormligt ormlig
+oron oro
+orättvist orättvis
+oskulds oskuld
+osunda osund
+otanes otan
+otrogen otrog
+otyget otyg
+oundvikliga oundviklig
+ovala oval
+overseende overseend
+oväderspiskade oväderspiskad
+oäkta oäkt
+packet pack
+palade palad
+pannkakor pannkak
+papper papp
+paraplyet paraply
+parkernas park
+parvis parvi
+pastoratets pastorat
+patienter patient
+pctra pctr
+pendyler pendyl
+penningen penning
+peppar pepp
+personifierade personifierad
+petits peti
+pigans piga
+piller pill
+pinats pin
+pipor pip
+pittoreskt pittoresk
+planer plan
+planterat planter
+pliktat plikt
+plugga plugg
+plågat plåg
+plåtskärmar plåtskärm
+poetiska poetisk
+polisen polis
+porlade porlad
+portioner portion
+posterade posterad
+praktfullt praktfull
+prcdikan prcdika
+predikstolen predikstol
+presse press
+prins pri
+privatbanker privatbank
+professorns professor
+promenader promenad
+prosan prosa
+provade provad
+prydas pryd
+präktigaste präktig
+prästgårdsbyggnaden prästgårdsbyggnad
+pröfvade pröfvad
+psykiska psykisk
+pulla pull
+punkterna punkt
+purpurröda purpurröd
+pyjamas pyjam
+pärlande pärl
+pådragna pådragn
+påkostande påkost
+pånytt pånyt
+påstods påstod
+påvar påv
+qvarstanna qvarstann
+qvällen qväll
+radens rad
+raket rak
+ramshult ramshul
+rappet rapp
+raske rask
+ratt rat
+redbarhet redbar
+redobogen redobog
+refuge refug
+registratorn registrator
+regniga regnig
+religion religio
+rena ren
+reparerat reparer
+rese res
+resonemanget resonemang
+restaurangbordet restaurangbord
+retade retad
+reversen revers
+ridit ridi
+rikeman rikema
+riktas rikt
+ringar ring
+rinnande rinn
+rivit rivi
+rockärmarna rockärmarn
+rodnat rodn
+rollerna roll
+ropar rop
+rosengnista rosengnist
+rotfästa rotfäst
+rubbningen rubbning
+rullade rullad
+rundade rundad
+rusets rus
+rutorna rut
+rycktes ryck
+ryktet rykt
+rysa rys
+räcka räck
+rädens räd
+rännan ränna
+rättas rätt
+rättigheter rättighet
+råckor råck
+rådlös rådlö
+råkas råk
+rödbrusige rödbrusig
+röjer röj
+röknarna röknarn
+rönte rön
+röret rör
+rötter rött
+saga sag
+sagspanen sagspan
+saknat sakn
+saligheten salig
+saltet salt
+samlalet samlal
+sammanfattningen sammanfattning
+sammanpressades sammanpressad
+sammanträtt sammanträt
+samtalets samtal
+samvetslösa samvetslös
+sann san
+sanslöshet sanslös
+satte sat
+schaggsoffan schaggsoffa
+scheeles scheel
+sedlar sedl
+seger seg
+segrar segr
+sekunds sekund
+sensationsutlovande sensationsutlov
+servetterna servett
+shakespeares shakespe
+sidentyget sidentyg
+siiverklart siiverklar
+silhuett silhuet
+silkessnodder silkessnodd
+silverpapper silverpapp
+simon simo
+sinnesbeskaffenhet sinnesbeskaffen
+sinstorakappa sinstorakapp
+sittande sitt
+sjuda sjud
+sjuklingen sjukling
+sjungit sjungi
+själarne själ
+självdyrkan självdyrka
+sjålva sjålv
+sjöhistorierna sjöhistori
+sjöstranden sjöstrand
+skadligare skadlig
+skakas skak
+skamliga skamlig
+skapat skap
+skarpsinnighet skarpsinnig
+skavanker skavank
+skepnaden skepnad
+skeppsgossens skeppsgoss
+skickelse skick
+skildcs skildc
+skilsmässa skilsmäss
+skinliga skinlig
+skivorna skiv
+skjutsbonde skjutsbond
+skogens skog
+skolbarn skolbar
+skolpojke skolpojk
+skorpor skorp
+skramla skraml
+skrattet skratt
+skriftligen skriftlig
+skriva skriv
+skrockande skrock
+skrynklade skrynklad
+skrämmer skrämm
+skuffande skuff
+skuggorna skugg
+skulie skuli
+skurna skurn
+skyarna skyarn
+skyldes skyld
+skymfen skymf
+skymten skymt
+skäckiga skäckig
+skälver skälv
+skämtsamt skämtsam
+skärande skär
+skärmens skärm
+skåla skål
+skönheten skön
+sköt skö
+sladdrar sladdr
+slammer slamm
+slavinna slavinn
+slingrade slingrad
+slita slit
+slogos slogo
+slugare slug
+slungat slung
+slutet slut
+slynan slyna
+släktens släkt
+slängt släng
+slätade slätad
+slöjor slöj
+smakar smak
+smeka smek
+smickrande smickr
+smuggelgodset smuggelgods
+smutsade smutsad
+smyger smyg
+smältande smält
+småbarnskläder småbarnskläd
+småleende småleend
+småskrattade småskrattad
+smörgåsbiten smörgåsbit
+snaraste snar
+snickare snick
+snubbla snubbl
+snusade snusad
+snygga snygg
+snäsige snäsig
+snön snö
+societeten societet
+sockersöta sockersöt
+sofies sofi
+soldatens soldat
+solskenet solsken
+sommaraftnarna sommaraftnarn
+sommarnattsmörkret sommarnattsmörkr
+somras somr
+sorgdräkt sorgdräk
+sorgsenhet sorgsen
+sotenäs sotenä
+spanande span
+sparlakan sparlaka
+specialitet specialit
+speja spej
+spelade spelad
+spenaten spenat
+spickeskinkan spickeskinka
+spinner spinn
+spiseln spisel
+sport spor
+spridda spridd
+spriten sprit
+spränga spräng
+språklåda språklåd
+spändes spänd
+spåren spår
+spörjande spörj
+staden stad
+stadsfullmäktige stadsfullmäktig
+stammade stammad
+stannys stanny
+stationer station
+stearinen stearin
+stelbent stelben
+stenen sten
+stickstrumpan stickstrumpa
+stillade stillad
+stinkande stink
+stjärnans stjärna
+stockholmsflickornas stockholmsflick
+stoftskyarna stoftskyarn
+stoltserande stoltser
+storbåtens storbåt
+stormat storm
+storväxt storväx
+stralande stral
+strecken streck
+strimma strimm
+strumporna strump
+strypsjuka strypsjuk
+stränder stränd
+strävande sträv
+strån strå
+strövade strövad
+studsade studsad
+stumma stumm
+stupande stup
+stygge stygg
+styrkte styrk
+styvmodern styvmoder
+städningen städning
+stämma stämm
+stängda stängd
+ståndaktiga ståndaktig
+ståtligt ståtlig
+stönande stön
+störtskurar störtskur
+subtila subtil
+suga sug
+sunt sun
+surrande surr
+svagaste svag
+svalkade svalkad
+svalt sval
+svarar svar
+svartklädda svartklädd
+sveddes svedd
+svettas svett
+svimmat svimm
+svunna svunn
+svält sväl
+svärligt svärlig
+svävande sväv
+svårt svår
+symbolen symbol
+synda synd
+synliga synlig
+syra syr
+syskonskara syskonskar
+sysslolöst sysslolös
+sädesfält sädesfäl
+säkrast säkr
+sällheten säll
+sällskapsnöje sällskapsnöj
+sämre sämr
+sängkammare sängkamm
+sänkes sänk
+sättas sätt
+således såled
+sångfågeln sångfågel
+söckendagar söckendag
+sömlinghågna sömlinghågn
+söndagar söndag
+sönderrivna sönderrivn
+sörmlandsgodset sörmlandsgods
+tackar tack
+tade tad
+tageldynor tageldyn
+takränna takränn
+talas tal
+talorgan talorga
+tankarne tank
+tants tan
+tarfyllda tarfylld
+tavernens tavern
+teaterscenerna teaterscen
+teddybjörn teddybjör
+telefonerade telefonerad
+tennsoldaten tennsoldat
+terriern terrier
+therese theres
+tidernas tid
+tidpunkt tidpunk
+tiggt tigg
+tillbedjan tillbedja
+tilldraga tilldrag
+tillfredsställdes tillfredsställd
+tillgifvenhet tillgifven
+tillhörde tillhörd
+tillkännagiva tillkännagiv
+tillräckligt tillräcklig
+tillsluter tillslut
+tillståndet tillstånd
+tilltänkta tilltänkt
+tillärnar tillärn
+timglaset timglas
+tinan tina
+tiobedjande tiobedj
+tistelön tistelö
+tjenar tjen
+tjenstfolket tjenstfolk
+tjuguåren tjuguår
+tjänande tjän
+tjänsteman tjänstema
+tnmma tnmm
+toffeln toffel
+tolkade tolkad
+toner ton
+torens tor
+tornet torn
+tovsjunga tovsjung
+traktar trakt
+tran tra
+trapprummets trapprumm
+tratten tratt
+trettiofemte trettiofem
+trevligt trevlig
+trippande tripp
+trofast trof
+trolla troll
+tronade tronad
+trottoarerna trottoar
+trumpeten trumpet
+tryggaste trygg
+trädgårdens trädgård
+träffade träffad
+trälåda trälåd
+trätobroder trätobrod
+trånade trånad
+tröst trös
+tröttade tröttad
+tuggande tugg
+tullförvalterskans tullförvalterska
+tulpaner tulpan
+tungt tung
+turistsmaken turistsmak
+tvagen tvag
+tvillingsyster tvillingsyst
+tvivelaktigt tvivelaktig
+tvärsöver tvärsöv
+tvättstugan tvättstuga
+tyckt tyck
+tyger tyg
+tyska tysk
+tystnat tystn
+täljande tälj
+tänkande tänk
+täppa täpp
+tävlan tävla
+tålte tål
+tårta tårt
+tören tör
+ugnen ugn
+umdrande umdr
+undangömda undangömd
+undergivna undergivn
+underklass underklas
+underlöjtnanten underlöjtnant
+understrukna understrukn
+undervisa undervis
+undsluppit undsluppi
+ungdomliga ungdomlig
+ungdomsyran ungdomsyra
+ungkarlslivets ungkarlsliv
+unkna unkn
+uppbyggliga uppbygglig
+uppehållande uppehåll
+uppfattat uppfatt
+uppfostrat uppfostr
+uppfyllda uppfylld
+uppfördes uppförd
+upphandlingar upphandling
+upphöjda upphöjd
+uppkommen uppkomm
+upplevelser upplev
+upplyste upplys
+upplösta upplöst
+uppmärksamheten uppmärksam
+uppoffringar uppoffring
+upprivna upprivn
+upprörda upprörd
+uppskjuta uppskjut
+uppslukar uppsluk
+uppståndelse uppstånd
+upptaga upptag
+uppträde uppträd
+upptåckt upptåck
+uppväxt uppväx
+urmakaren urmak
+ursprungligcn ursprungligc
+usla usl
+utblottade utblottad
+utbyte utby
+utestänga utestäng
+utföras utför
+utgjutelser utgjut
+uthärdat uthärd
+utlåna utlån
+utmärkte utmärk
+utplånas utplån
+uträknade uträknad
+utseendet utseend
+utskämmas utskämm
+utspunnen utspunn
+utstyrt utstyr
+uttaga uttag
+uttrycket uttryck
+uttömda uttömd
+utvisar utvis
+utövade utövad
+vadade vadad
+vagat vag
+vagnen vagn
+vakllen vakll
+vaktarinnan vaktarinna
+valhänt valhän
+vana van
+vandringsmannen vandringsmann
+vanor van
+vantarne vant
+varann varan
+varde vard
+varer var
+varma varm
+varsnat varsn
+vasken vask
+vattentäta vattentät
+vaxgult vaxgul
+veden ved
+vegetation vegetatio
+venstra venstr
+verkhgen verkhg
+verkställare verkställ
+vestra vestr
+vetgirighet vetgirig
+vidare vid
+vidrigt vidrig
+viftande vift
+vikit viki
+vildarne vild
+vilka vilk
+villfarelser villfar
+vimla viml
+vindskammare vindskamm
+vingarnas vingarn
+vinklar vinkl
+vinterkusen vinterkus
+vintrigt vintrig
+virvlade virvlad
+vises vis
+viskas visk
+visshet viss
+visstumpar visstump
+vitklädda vitklädd
+vjta vjt
+vret vre
+vudare vud
+väckarklockan väckarklocka
+väderkorn väderkor
+vägarna vägarn
+vägran vägra
+väldiga väldig
+välkommen välkomm
+välmenade välmenad
+välståndet välstånd
+välvilligt välvillig
+väninnas väninn
+vänners vänn
+väntade väntad
+värdelös värdelö
+värdinnans värdinna
+världenes världen
+värmde värmd
+värvar värv
+väste väs
+vävsalen vävsal
+växlingar växling
+vågskalen vågskal
+våningen våning
+vårdarinna vårdarinn
+vårfloder vårflod
+vördnadsfulle vördnadsfull
+wienervalsen wienervals
+ylle yll
+yppa ypp
+yrvakna yrvakn
+yttrandet yttrand
+ädelt ädel
+äggklyftorna äggklyft
+äldsta äldst
+älskliga älsklig
+ältar ält
+ämne ämn
+ändlösa ändlös
+ängens äng
+änkor änk
+ärbart ärbar
+ärmarne ärm
+ätbart ätbar
+ådagalade ådagalad
+åhörde åhörd
+ålande åland
+ångade ångad
+ångor ång
+årligt årlig
+åskådandets åskådand
+åtbörder åtbörd
+återgivit återgivi
+återkomst återkoms
+återsvar återsv
+återvändande återvänd
+åtnjutande åtnjut
+åtta ått
+ödmjuka ödmjuk
+öfvadt öfvad
+öfverge öfverg
+öfverlyckliga öfverlycklig
+öfversta öfverst
+öfvertänkte öfvertänk
+ögonblickligen ögonblicklig
+ögonmyster ögonmyst
+ökniga öknig
+ömmaste ömm
+önskningars önskning
+öppningen öppning
+östan östa
+överblivna överblivn
+överensstämmelse överensstämm
+övergivit övergivi
+överlyckliga överlycklig
+övermålat övermål
+översittarmin översittarmi
+översvämmades översvämmad
+övervikt övervik
+a a
+adelc adelc
+af af
+afsky afsky
+aga aga
+aktning aktning
+allesam allesam
+alltomkring alltomkring
+amour amour
+andel andel
+angel angel
+anledning anledning
+ans ans
+ansträngd ansträngd
+antal antal
+applåd applåd
+arbetsrum arbetsrum
+aro aro
+associerad associerad
+auditorium auditorium
+avgjord avgjord
+avskild avskild
+avtog avtog
+b b
+bakhåll bakhåll
+barhuvad barhuvad
+barnslig barnslig
+bcrg bcrg
+bedrövad bedrövad
+begavad begavad
+begåvad begåvad
+behärskad behärskad
+bekostnad bekostnad
+benno benno
+bero bero
+besinningstid besinningstid
+beskäftig beskäftig
+bestämd bestämd
+besök besök
+betydlig betydlig
+bevittnad bevittnad
+bifall bifall
+birck birck
+björk björk
+blef blef
+bliv bliv
+blomstermångleri blomstermångleri
+blus blus
+blås blås
+bolag bolag
+bondesjäl bondesjäl
+borgerlig borgerlig
+bot bot
+bref bref
+bronserad bronserad
+brunnsbal brunnsbal
+bränd bränd
+bt bt
+burk burk
+bysättning bysättning
+båd båd
+böld böld
+canto canto
+chevelyr chevelyr
+citronsyrad citronsyrad
+dag dag
+dalkarl dalkarl
+dar dar
+de de
+dens dens
+dervid dervid
+digl digl
+djup djup
+dogg dogg
+dov dov
+dreg dreg
+drottning drottning
+du du
+durk durk
+däck däck
+därmed därmed
+dö dö
+döfstum döfstum
+ed ed
+egendom egendom
+ehrencreutz ehrencreutz
+el el
+emellertid emellertid
+england england
+enär enär
+erkänd erkänd
+et et
+exotisk exotisk
+familj familj
+farstutrapp farstutrapp
+fattig fattig
+feg feg
+fen fen
+figur figur
+fiol fiol
+fjäril fjäril
+flik flik
+flyktlg flyktlg
+fnys fnys
+follo follo
+fortforo fortforo
+fotspår fotspår
+framgick framgick
+framstod framstod
+fredrik fredrik
+frikostig frikostig
+frsknarr frsknarr
+främling främling
+frös frös
+fun fun
+fyrkantig fyrkantig
+fällklaff fällklaff
+få få
+fårbog fårbog
+fönsterkarm fönsterkarm
+förbisåg förbisåg
+förbättring förbättring
+förebud förebud
+föreslå föreslå
+författarskap författarskap
+förgyllning förgyllning
+förkastelsedom förkastelsedom
+förlofning förlofning
+förmening förmening
+förnummo förnummo
+förrädisk förrädisk
+försjönk försjönk
+försoning försoning
+förställning förställning
+förtid förtid
+förtörnad förtörnad
+förvrängd förvrängd
+förödmjukad förödmjukad
+gallko gallko
+garibaldi garibaldi
+gemytlig gemytlig
+genomgå genomgå
+gevär gevär
+gipsbild gipsbild
+glam glam
+glöm glöm
+gol gol
+gral gral
+grogg grogg
+grupp grupp
+gråblandad gråblandad
+gudfruktig gudfruktig
+guldlöv guldlöv
+gummiring gummiring
+gynnad gynnad
+går går
+h h
+halfgod halfgod
+halvfärdig halvfärdig
+handfull handfull
+hardning hardning
+hau hau
+hej hej
+hembygd hembygd
+hemstad hemstad
+herranom herranom
+hi hi
+hjel hjel
+hjärtenerv hjärtenerv
+hlygrel hlygrel
+hononl hononl
+hotellbeställning hotellbeställning
+hugad hugad
+hungrig hungrig
+hushåll hushåll
+hustrublick hustrublick
+hvalf hvalf
+hvem hvem
+hypetek hypetek
+häl häl
+häntydning häntydning
+härlig härlig
+hål hål
+höftbred höftbred
+höj höj
+hörsel hörsel
+ickc ickc
+iföljd iföljd
+ihålig ihålig
+ijuvlig ijuvlig
+impulsiv impulsiv
+infunno infunno
+ini ini
+inom inom
+insnärjd insnärjd
+insögo insögo
+inuti inuti
+irr irr
+iv iv
+iös iös
+januari januari
+job job
+jr jr
+jungfrukropp jungfrukropp
+jämngrå jämngrå
+kafebord kafebord
+kameral kameral
+kanskc kanskc
+kar kar
+karriär karriär
+kavajkostym kavajkostym
+kiv kiv
+klar klar
+klingand klingand
+klunk klunk
+klämtslag klämtslag
+knep knep
+kol kol
+kommod kommod
+konstgrepp konstgrepp
+kopparröd kopparröd
+kortspel kortspel
+kraftig kraftig
+kring kring
+kroppslig kroppslig
+kräftartad kräftartad
+kundc kundc
+kval kval
+kvav kvav
+kvällspromenad kvällspromenad
+källarsal källarsal
+käri käri
+kärleksvind kärleksvind
+körsbär körsbär
+lagerheim lagerheim
+landsväg landsväg
+lat lat
+ledtråd ledtråd
+les les
+liderlig liderlig
+likaväl likaväl
+lin lin
+liv liv
+ljung ljung
+ll ll
+logik logik
+loz loz
+lurad lurad
+lyckodröm lyckodröm
+lä lä
+längc längc
+läs läs
+lån lån
+lök lök
+lövverk lövverk
+man man
+markel markel
+material material
+medelklassfru medelklassfru
+medtog medtog
+menad menad
+middag middag
+mild mild
+missfall missfall
+misstag misstag
+mjältsjuk mjältsjuk
+modell modell
+morb morb
+motstå motstå
+mullig mullig
+muskel muskel
+mäktig mäktig
+märk märk
+mån mån
+måstc måstc
+mörkröd mörkröd
+napoleonsbild napoleonsbild
+natthämtning natthämtning
+nazir nazir
+nedgår nedgår
+nedtystad nedtystad
+nervvärk nervvärk
+nish nish
+nogräknad nogräknad
+novemberdag novemberdag
+nykterhetskalv nykterhetskalv
+nämnvärd nämnvärd
+någonting någonting
+nöjsam nöjsam
+oberörd oberörd
+obrottslig obrottslig
+odmjuk odmjuk
+ofarlig ofarlig
+oga oga
+okultiverad okultiverad
+olustig olustig
+omgjordad omgjordad
+ommöblerad ommöblerad
+omärklig omärklig
+oombedd oombedd
+ordentlig ordentlig
+orgelo orgelo
+orrspel orrspel
+osedd osedd
+otackad otackad
+otyglad otyglad
+oval oval
+ovärderlig ovärderlig
+packning packning
+pappersomslag pappersomslag
+pass pass
+pendel pendel
+personlig personlig
+pik pik
+pjäs pjäs
+plysch plysch
+pojkaktig pojkaktig
+portör portör
+presentabel presentabel
+profil profil
+prästgård prästgård
+puckelrygg puckelrygg
+pys pys
+påmind påmind
+quo quo
+qväll qväll
+rand rand
+rastestund rastestund
+reel reel
+rehabiliterad rehabiliterad
+resemåltid resemåltid
+reumatism reumatism
+riktad riktad
+rna rna
+rokoko rokoko
+ros ros
+rqd rqd
+rund rund
+rv rv
+rynkig rynkig
+räkning räkning
+råds råds
+rödbrusig rödbrusig
+rörstrand rörstrand
+saknad saknad
+samlad samlad
+sammantorkad sammantorkad
+san san
+sasom sasom
+schweiz schweiz
+sekterisk sekterisk
+sex sex
+sick sick
+sidoväg sidoväg
+silvergaffel silvergaffel
+sinnesstämning sinnesstämning
+sjelfständig sjelfständig
+sjukhem sjukhem
+själ själ
+sjömanskostym sjömanskostym
+skaji skaji
+skarpsinnig skarpsinnig
+skilnad skilnad
+skolmamsell skolmamsell
+skrevo skrevo
+skruv skruv
+skuggad skuggad
+skurk skurk
+skymning skymning
+skärseld skärseld
+sköterskam sköterskam
+slarvig slarvig
+slokad slokad
+slyng slyng
+slår slår
+smalog smalog
+smutsig smutsig
+småningom småningom
+snarr snarr
+snärjd snärjd
+sofflock sofflock
+sommarblå sommarblå
+sorg sorg
+spaning spaning
+spegel spegel
+spis spis
+sprungo sprungo
+spärrad spärrad
+stadig stadig
+stank stank
+stego stego
+stick stick
+stjärnhimmel stjärnhimmel
+storartad storartad
+strand strand
+strä strä
+strövtåg strövtåg
+stympad stympad
+ställning ställning
+stål stål
+störtsjö störtsjö
+svaghetstillstånd svaghetstillstånd
+svartkritsförstoring svartkritsförstoring
+svepning svepning
+svärfär svärfär
+syforening syforening
+syndig syndig
+sysslo sysslo
+sälskytteri sälskytteri
+såg såg
+sög sög
+sörjd sörjd
+tadel tadel
+tan tan
+tecknad tecknad
+tens tens
+tidig tidig
+till till
+tillgjord tillgjord
+tillrop tillrop
+tilltogo tilltogo
+tior tior
+tjugo tjugo
+tjänstfolk tjänstfolk
+tok tok
+tord tord
+tous tous
+trask trask
+tretumsspik tretumsspik
+trolofning trolofning
+tryckning tryckning
+tråd tråd
+ttm ttm
+turkisk turkisk
+tvär tvär
+tyg tyg
+tänk tänk
+tårtask tårtask
+ugn ugn
+underhöllo underhöllo
+undersätsig undersätsig
+undvek undvek
+ungkarlssäng ungkarlssäng
+uppfostrad uppfostrad
+upphöjd upphöjd
+uppmaning uppmaning
+upprör upprör
+uppstofferad uppstofferad
+urer urer
+ut ut
+utdöd utdöd
+utför utför
+utlopp utlopp
+uträkning uträkning
+uttal uttal
+vadmalsöverdrag vadmalsöverdrag
+vallmoklanning vallmoklanning
+vanlig vanlig
+vardagsrum vardagsrum
+varom varom
+vas vas
+vederläggning vederläggning
+verbum verbum
+vet vet
+vidrig vidrig
+vildand vildand
+vindil vindil
+violoncell violoncell
+visso visso
+voix voix
+vredo vredo
+väg väg
+välfägnad välfägnad
+vältalig vältalig
+värd värd
+vävd vävd
+våning våning
+våt våt
+wilhelm wilhelm
+xx xx
+y y
+yt yt
+ädelmod ädelmod
+älghuvud älghuvud
+ämbetsverk ämbetsverk
+änkenåd änkenåd
+ärkebiskop ärkebiskop
+äu äu
+åkt åkt
+årlig årlig
+återbud återbud
+återkomsteu återkomsteu
+åtlydd åtlydd
+öfverdrag öfverdrag
+öfversteg öfversteg
+öka öka
+öns öns
+örvitlig örvitlig
+överflödig överflödig
+övermod övermod
diff --git a/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/sv-minimal.tsv b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/sv-minimal.tsv
new file mode 100644
index 0000000000..4efc24855d
--- /dev/null
+++ b/opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/stemmer/light/sv-minimal.tsv
@@ -0,0 +1,2000 @@
+aaele aael
+adeles adel
+adler adl
+afbryta afbryt
+affärsmässiga affärsmässig
+afhöra afhör
+afmagrade afmagrad
+afsides afsid
+aftnarne aftn
+aftons afto
+agde agd
+aktade aktad
+albuske albusk
+alleerna alle
+allmänna allmänn
+alltsedan alltseda
+alskade alskad
+altartavlor altartavl
+anade anad
+andans anda
+andre andr
+anförtrodde anförtrodd
+angelägenheterna angelägenhet
+angående angåend
+anklagelser anklagels
+anlände anländ
+annars ann
+anordnande anordnand
+anses ans
+ansiktsuttrycket ansiktsuttryck
+anstalten anstalt
+ansåge ansåg
+anteckningarna anteckning
+anträddes anträdd
+använts använt
+apropos apropo
+arbetsblusar arbetsblus
+arga arg
+armbåge armbåg
+arrangerar arranger
+artade artad
+arves arv
+askenbergs askenberg
+atervända atervänd
+auktioner auktion
+avbryta avbryt
+avgjöras avgjör
+avhåller avhåll
+avlägset avlägs
+avrättsplatsen avrättsplats
+avskydda avskydd
+avstigna avstign
+avundas avund
+avvikelsen avvikels
+babordsrelingen babordsreling
+baden bad
+bagateller bagatell
+bakifrån bakifrå
+balsaminer balsamin
+bane ban
+barmhärtiga barmhärtig
+barnbarnen barnbarn
+barnjungfruns barnjungfru
+barnslighet barnsligh
+barren barr
+beandran beandra
+bedarrat bedarr
+bedroge bedrog
+bedyrade bedyrad
+befaller befall
+befattningen befattning
+befrielse befriels
+begagnat begagn
+begraver begrav
+begrovs begrov
+begäran begära
+behagar behag
+behandlat behandl
+behärska behärsk
+behöva behöv
+beklaga beklag
+bekräftat bekräft
+bekymrade bekymrad
+belagda belagd
+belägna belägn
+bemedlade bemedlad
+bemödanden bemödand
+benen ben
+benådade benådad
+bergar berg
+bernards bernard
+berätta berätt
+berömda berömd
+besagde besagd
+besjungen besjung
+beskrivningar beskrivning
+besluten beslut
+bestyra bestyr
+bestänkte bestänkt
+besvärande besvärand
+besättningen besättning
+betalar betal
+betjäningen betjäning
+betryckte betryckt
+betydande betydand
+betänka betänk
+bevaka bevak
+bevekligaste bevekligast
+bevista bevist
+biblioteket bibliotek
+bifölls biföll
+bildat bild
+bilägga bilägg
+birgers birg
+bitas bit
+bjelkar bjelk
+bjärta bjärt
+björnen björn
+blandar bland
+bleknade bleknad
+blidka blidk
+blivande blivand
+blodröda blodröd
+blommade blommad
+blomster blomst
+blomstrat blomstr
+blotta blott
+blyertspenna blyertspenn
+blyn bly
+blästern bläster
+blåsor blås
+boan boa
+bodfönster bodfönst
+bokens bok
+bolat bol
+bomullsschalen bomullsschal
+bondflickans bondflicka
+bonjourliknande bonjourliknand
+bordstudsaren bordstuds
+borrades borrad
+bortföres bortför
+bortresta bortrest
+bortvända bortvänd
+boulangermarschen boulangermarsch
+brasa bras
+bredskörtade bredskörtad
+bringar bring
+broar bro
+bron bro
+brottets brott
+brudskaran brudskara
+brun bru
+brusade brusad
+brygga brygg
+bräderna bräd
+bränningar bränning
+brättet brätt
+bråtet bråt
+bröllopskrans bröllopskra
+bubblande bubbland
+buketter bukett
+bulta bult
+burna burn
+butikernas butik
+byggnaden byggnad
+bytte bytt
+bägare bäg
+bären bär
+bådande bådand
+bånglade bånglad
+böcklins böckli
+böljorna bölj
+bönfalla bönfall
+börjat börj
+cedera ceder
+charmanta charmant
+chopins chopi
+citat cit
+corydalis corydali
+dagarna dag
+daggdtoppar daggdtopp
+dalar dal
+dammar damm
+dansar dans
+dasa das
+deklameras deklamer
+delen del
+demla deml
+departemanget departemang
+desamma desamm
+diagnosen diagnos
+diktare dikt
+dimmorna dimm
+diskreta diskret
+ditresan ditresa
+djupsinnigaste djupsinnigast
+djärvhet djärvh
+doftade doftad
+dolda dold
+domderade domderad
+doppade doppad
+draga drag
+draken drak
+dricka drick
+drillat drill
+drivorna driv
+drottninggatan drottninggata
+drycken dryck
+dränker dränk
+drömmars drömm
+duger dug
+dumhet dumh
+dunkla dunkl
+duvovingar duvoving
+dyker dyk
+dyrbarheter dyrbarhet
+däckslasten däckslast
+därhos därho
+därute därut
+dårande dårand
+dödas död
+dödsorsaken dödsorsak
+dömda dömd
+döttrarna döttr
+efterfråga efterfråg
+efterlämnat efterlämn
+efterrätter efterrätt
+eftertruppen eftertrupp
+egenkärleken egenkärlek
+egna egn
+eklunds eklund
+eldar eld
+eldtunga eldtung
+elfqvinnan elfqvinna
+eländiga eländig
+enda end
+engelska engelsk
+enleveras enlever
+enskilda enskild
+enveten envet
+epokgörande epokgörand
+erfares erf
+erika erik
+erkända erkänd
+erre err
+esterhazys esterhazy
+etuin etui
+excellensen excellens
+expositionen exposition
+facktidskrifter facktidskrift
+fager fag
+fallucka falluck
+familjen familj
+famnades famnad
+fantasien fantasi
+farbrors farbr
+farmaceuten farmaceut
+fasligen faslig
+fasthet fasth
+fattade fattad
+fattningsgåva fattningsgåv
+feghet fegh
+femtioåtta femtioått
+festklädda festklädd
+ficka fick
+figuren figur
+filips filip
+finge fing
+finkänsliga finkänslig
+fiolen fiol
+fiskaren fisk
+fisklägen fiskläg
+fjortonöres fjortonör
+fjärdedelen fjärdedel
+fladdra fladdr
+flammorna flamm
+flickans flicka
+flickskolan flickskola
+flintor flint
+florerar florer
+flugor flug
+flyktar flykt
+flyttbar flyttb
+flämtande flämtand
+flödande flödand
+fnöske fnösk
+fogden fogd
+folkskarorna folkskar
+fordra fordr
+formande formand
+formåga formåg
+forsmädat forsmäd
+fortsätta fortsätt
+fosterfader fosterfad
+foten fot
+frackarna frack
+frambringa frambring
+framhjulen framhjul
+framlockat framlock
+framskjuta framskjut
+framställa framställ
+framtitta framtitt
+frankens frank
+frasen fras
+fredsgatan fredsgata
+friar fri
+fridlös fridlö
+frillornas frill
+frodades frodad
+frosten frost
+fruktansvärda fruktansvärd
+fruntimmershattarna fruntimmershatt
+fryntlighet fryntligh
+frälsets fräls
+främmande främmand
+fråga fråg
+frånsköts frånsköt
+fröjdas fröjd
+fröknarnas frökn
+fulare ful
+fullkomligen fullkomlig
+funderande funderand
+furan fura
+futtiga futtig
+fylligare fyllig
+fädrens fädr
+fängelse fängels
+färdigats färdig
+färjan färja
+fästmannens fästmann
+fågels fågel
+fångarne fång
+fåren får
+födelsemysteriet födelsemysteri
+följdes följd
+fönsterglaset fönsterglas
+fönsterrutor fönsterrut
+föraktliga föraktlig
+förbannat förbann
+förbehållsamhet förbehållsamh
+förbindelsen förbindels
+förblindar förblind
+förbundna förbundn
+fördjupade fördjupad
+fördöma fördöm
+föredöme föredöm
+förekommandet förekommand
+förenas fören
+föreställande föreställand
+företagas företag
+förfalla förfall
+förfluten förflut
+förfrågningar förfrågning
+förföljes förfölj
+förglömma förglömm
+förgängliga förgänglig
+förhinder förhind
+förhållen förhåll
+förkastade förkastad
+förklädet förkläd
+förkunnare förkunn
+förlika förlik
+förlossningshemmet förlossningshemm
+förlustelse förlustels
+förlåter förlåt
+förmaningen förmaning
+förmodar förmod
+förmån förmå
+förnedrade förnedrad
+förnyades förnyad
+förnötte förnött
+förorsakat förorsak
+förrädiske förrädisk
+försakelsens försakels
+försiktiga försiktig
+förskräckes förskräck
+försmädelse försmädels
+förspelet förspel
+förstnämda förstnämd
+förstugudörren förstugudörr
+förstående förståend
+försummade försummad
+försvarare försvar
+försäkrar försäkr
+förtegat förteg
+förtjänar förtjän
+förtrodde förtrodd
+förtrolla förtroll
+förträfflige förträfflig
+förtäljde förtäljd
+förunnat förunn
+förvandlingens förvandling
+förvillelse förvillels
+förvridna förvridn
+förvånade förvånad
+föräldrars föräldr
+förödda förödd
+gabriella gabriell
+galanta galant
+gallimatias gallimati
+gamle gaml
+gapande gapand
+gardintyget gardintyg
+gaslyktan gaslykta
+gatläggningen gatläggning
+gemen gem
+generation generatio
+genompryglade genompryglad
+genomögnade genomögnad
+germanska germansk
+gesällers gesäll
+giftermålsanmälan giftermålsanmäla
+gikten gikt
+gisselslagen gisselslag
+given giv
+gladaste gladast
+glasdörren glasdörr
+glatta glatt
+glittrade glittrad
+glädje glädj
+glänsa gläns
+glödheta glödhet
+gnissla gnissl
+gnomen gnom
+gode god
+godsägarn godsägar
+gossarna goss
+gotthards gotthard
+grammatikan grammatika
+grannaste grannast
+granrisat granris
+gravarna grav
+grenarna gren
+grevinna grevinn
+grinade grinad
+grodde grodd
+grubbla grubbl
+grundats grund
+grymheten grymhet
+grälade grälad
+gränsade gränsad
+gräsmattorna gräsmatt
+gråkappeexcellensen gråkappeexcellens
+gröna grön
+gubbe gubb
+gudfruktiga gudfruktig
+guldets guld
+gullros gullro
+gunga gung
+gycklare gyckl
+gynnare gynn
+gäma gäm
+gäster gäst
+gånga gång
+gårdagen gårdag
+gåta gåt
+gömde gömd
+hacka hack
+hafsvattnet hafsvattn
+hakade hakad
+halfslumrade halfslumrad
+halleluja halleluj
+haltade haltad
+halvgamle halvgaml
+halvvaken halvvak
+hamngatan hamngata
+handens hand
+handlar handl
+handtaget handtag
+hantverksklassen hantverksklass
+harpspelerska harpspelersk
+hatande hatand
+havannamagasinet havannamagasin
+hdde hdd
+hederspaschan hederspascha
+helades helad
+helgongriften helgongrift
+helsan helsa
+hemdygder hemdygd
+hemlige hemlig
+hemmes hemm
+hemsöktes hemsökt
+hennings henning
+herrar herr
+herrgardsekipage herrgardsekipag
+herrskaps herrskap
+hetens het
+himlabryn himlabry
+himmelske himmelsk
+historie histori
+hittar hitt
+hjelpen hjelp
+hjertat hjert
+hjälpande hjälpand
+hjälten hjält
+hjärtegryn hjärtegry
+hjärtsjukdomar hjärtsjukdom
+holme holm
+hopen hop
+hoppade hoppad
+hopsydda hopsydd
+hosten host
+hovmästaren hovmäst
+hufvudpersonerna hufvudperson
+hulde huld
+hummer humm
+hundrade hundrad
+hurrade hurrad
+husets hus
+hushållerskas hushållersk
+husknutarna husknut
+hustrumin hustrumi
+huvuddukarna huvudduk
+huvudstaden huvudstad
+hvarken hvark
+hviskade hviskad
+hyllor hyll
+hyrer hyr
+hädangångnas hädangångn
+hälarna häl
+hälsan hälsa
+hämnar hämn
+händelserna händels
+hängifvenhet hängifvenh
+hänvisa hänvis
+härdningen härdning
+härligheten härlighet
+härskat härsk
+hästryggen hästrygg
+hålen hål
+hångrinande hångrinand
+hårslingorna hårsling
+högar hög
+högljuddare högljudd
+högskotan högskota
+högtidstimmen högtidstimm
+hökar hök
+hönan höna
+hörnet hörn
+höstmoln höstmol
+hövdingen hövding
+ickan icka
+idiots idiot
+ifte ift
+ihärdiga ihärdig
+ijumma ijumm
+ikämlas ikäml
+illusionsfria illusionsfri
+imponerat imponer
+inbetalta inbetalt
+inbjudna inbjudn
+individer individ
+influensa influens
+införa inför
+ingenstädes ingenstäd
+inhemta inhemt
+inkilat inkil
+inledningen inledning
+inne inn
+innerlighet innerligh
+inpräglade inpräglad
+insekter insekt
+inskrivningsboken inskrivningsbok
+inspektor inspekt
+inställda inställd
+insåge insåg
+intima intim
+intressera intresser
+inträffa inträff
+inverkade inverkad
+inöva inöv
+isade isad
+isstycke isstyck
+ivriga ivrig
+iyftas iyft
+iyser iys
+jacobs jacob
+jaktbössa jaktböss
+japanska japansk
+jemförelsevis jemförelsevi
+jettegrytorna jettegryt
+jollrande jollrand
+josefina josefin
+judys judy
+julstöket julstök
+junkrarne junkr
+jägare jäg
+jämmern jämmer
+järnspira järnspir
+jättestor jättest
+kaffebricka kaffebrick
+kaftan kafta
+kakelugnen kakelugn
+kalkar kalk
+kallats kall
+kalvstekssås kalvsteksså
+kammarn kammar
+kamrern kamrer
+kannan kanna
+kantor kant
+kappsäckarna kappsäck
+karakteristiken karakteristik
+karlen karl
+kartan karta
+kastade kastad
+kasus kasu
+kattens katt
+kavet kav
+kickade kickad
+kinkiga kinkig
+kittla kittl
+klaga klag
+klappade klappad
+klarnade klarnad
+klassrummet klassrumm
+klibbade klibbad
+klipphålorna klipphål
+klockans klocka
+kloka klok
+klubben klubb
+klädde klädd
+klädseln klädsel
+klänga kläng
+klådde klådd
+knakade knakad
+knarrande knarrand
+knippe knipp
+knubbiga knubbig
+knyte knyt
+knäppande knäppand
+kokat kok
+kolonnerna kolonn
+kommande kommand
+komministeränkan komministeränka
+kompositören kompositör
+konkurrens konkurr
+konstaterar konstater
+konstruktioner konstruktion
+kontraster kontrast
+kopia kopi
+korgossarna korgoss
+korridoren korridor
+korsmässa korsmäss
+kortlekar kortlek
+koster kost
+krafter kraft
+kramade kramad
+kreditorernas kreditor
+krigstillståndet krigstillstånd
+kristallvas kristallv
+kristusbarnet kristusbarn
+krokna krokn
+kroppens kropp
+krukväxter krukväxt
+kryckorna kryck
+kryssat kryss
+krängde krängd
+kråsbandet kråsband
+kröningsmarschen kröningsmarsch
+kulissen kuliss
+kulorna kul
+kunna kunn
+kurma kurm
+kusin kusi
+kusttjensteman kusttjenstema
+kvalitetsvagn kvalitetsvag
+kvarsittare kvarsitt
+kvida kvid
+kvinnohuvuds kvinnohuvud
+kvisten kvist
+kvälldags kvälldag
+kvävdes kvävd
+kyrkans kyrka
+kyrkoherden kyrkoherd
+kyrkvallen kyrkvall
+kägla kägl
+källrar källr
+känna känn
+känslige känslig
+käresta kärest
+kärlekshistoria kärlekshistori
+kärren kärr
+köksbordet köksbord
+köper köp
+körjade körjad
+ladugården ladugård
+lagenliga lagenlig
+lagstiftare lagstift
+lampetterna lampett
+landgången landgång
+lange lang
+lantställe lantställ
+larsmessefärden larsmessefärd
+lattare latt
+lede led
+ledsnade ledsnad
+lefver lefv
+leken lek
+lektionsdagarna lektionsdag
+lena len
+leva lev
+levnads levnad
+licentiat licenti
+liden lid
+lifsgnistan lifsgnista
+liggande liggand
+liken lik
+liknelsen liknels
+liljevret liljevr
+linderots linderot
+lingen ling
+linongsklänningen linongsklänning
+lister list
+liua liu
+livmoderns livmoder
+ljudande ljudand
+ljusare ljus
+ljuslågan ljuslåga
+ljuvliga ljuvlig
+lockat lock
+loge log
+lorette lorett
+louise louis
+lsen lse
+luftigaste luftigast
+luktar lukt
+lunetter lunett
+lurendrejarn lurendrejar
+lustfärder lustfärd
+luven luv
+lyckligtvis lyckligtvi
+lyckönskningarna lyckönskning
+lyftes lyft
+lynne lynn
+lyste lyst
+läder läd
+läggen lägg
+läkarföreningen läkarförening
+lämnats lämn
+längesen länges
+läpparne läpp
+lärarin lärari
+lärjunge lärjung
+läsaren läs
+läten lät
+lättsinnigheter lättsinnighet
+lågor låg
+långholmen långholm
+låset lås
+låtsat låts
+löjeblandade löjeblandad
+löna lön
+löpte löpt
+lösrycka lösryck
+macson macso
+madras madr
+magnifika magnifik
+majstänger majstäng
+maktlös maktlö
+malmtorgsgatan malmtorgsgata
+mandarin mandari
+manniskorna mannisk
+maria mari
+marmor marm
+maskeras masker
+master mast
+matfebern matfeber
+matronor matron
+mattimmen mattimm
+meddelande meddeland
+medförde medförd
+medkänslan medkänsla
+medveten medvet
+mellantider mellantid
+menar men
+menniskas mennisk
+menskor mensk
+metar met
+middagstiden middagstid
+miga mig
+million millio
+minne minn
+minsta minst
+missfoster missfost
+misslyckade misslyckad
+misstanken misstank
+misstänksamhet misstänksamh
+mitten mitt
+mjölkbyttor mjölkbytt
+modehandlerskor modehandlersk
+modershjärtat modershjärt
+mogma mogm
+molnmassorna molnmass
+morbror morbr
+morgoncn morgonc
+morgonstjerna morgonstj
+mosiga mosig
+motiverat motiver
+motsträvighet motsträvigh
+mottagna mottagn
+mulna muln
+mungiporna mungip
+munvädren munvädr
+museer muse
+musslinsduken musslinsduk
+myggen mygg
+myran myra
+mäblerna mäbl
+männerna männ
+människosonen människoson
+märken märk
+mästaren mäst
+mående måend
+målet mål
+måne mån
+månljuset månljus
+måtta mått
+mödor möd
+mörbultade mörbultad
+mörkbla mörkbl
+mörkröda mörkröd
+mötet möt
+nafsar nafs
+nakenhet nakenh
+nanna nann
+narraktiga narraktig
+nations natio
+nattrocken nattrock
+nattvardskapslar nattvardskapsl
+navarra navarr
+nedborrade nedborrad
+nedkommen nedkomm
+nedskjuten nedskjut
+neger neg
+nere ner
+netas net
+nimmelse nimmels
+nittonde nittond
+nocturne nocturn
+nordösten nordöst
+nota not
+novellförfattare novellförfatt
+nyaste nyast
+nyfärgat nyfärg
+nykterhetsskrifter nykterhetsskrift
+nyskurat nyskur
+nytända nytänd
+nämna nämn
+närhet närh
+närsynta närsynt
+näspärla näspärl
+nätets nät
+nådesmulor nådesmul
+någotdera någotder
+nödvandigheten nödvandighet
+nöjen nöj
+oanständiga oanständig
+obehöriga obehörig
+oberörda oberörd
+obetydlighet obetydligh
+obändiga obändig
+odödliga odödlig
+offer off
+ofödda ofödd
+oförmåga oförmåg
+oförvägenhet oförvägenh
+ogräset ogräs
+oiruktbar oiruktb
+okända okänd
+oljelampor oljelamp
+olyckligtvis olyckligtvi
+olyska olysk
+omedelbar omedelb
+omförmäla omförmäl
+omklädseln omklädsel
+omnämnde omnämnd
+omsorger omsorg
+omsägande omsägand
+omvägar omväg
+onaturliga onaturlig
+oordnat oordn
+opåräknade opåräknad
+ordföranden ordförand
+oredan oreda
+orgelhus orgelhu
+orkanen orkan
+ormständigheter ormständighet
+orsakade orsakad
+orörliga orörlig
+osmakliga osmaklig
+osäkra osäkr
+otrogen otrog
+otäckaste otäckast
+outredda outredd
+overretade overretad
+ovädrets ovädr
+oändlighet oändligh
+packor pack
+palats pal
+pannkakor pannkak
+papper papp
+paradiset paradis
+parisiska parisisk
+parvis parvi
+pastorat pastor
+patiramfes patiramf
+pctra pctr
+pendylen pendyl
+penningbegäret penningbegär
+penseögonen penseögon
+persmässa persmäss
+pestilens pestil
+pickade pickad
+pilar pil
+pimplar pimpl
+pinliga pinlig
+pippor pipp
+pjoskas pjosk
+planet plan
+planterat planter
+plikten plikt
+pluggade pluggad
+plågas plåg
+plåtskorstenar plåtskorsten
+poetens poet
+polis poli
+populasen populas
+porter port
+postbäraren postbär
+praktartiklar praktartikl
+pratets prat
+predikningar predikning
+pressade pressad
+primadolma primadolm
+prisar pris
+profana profan
+profilen profil
+promenerande promenerand
+prostfars prostf
+provkandidat provkandid
+pryder pryd
+präster präst
+prästs präst
+prövar pröv
+publiken publik
+pullor pull
+punschbrickor punschbrick
+pustade pustad
+pyngden pyngd
+pärlan pärla
+påbörjade påbörjad
+påkommen påkomm
+påminnelse påminnels
+påskyndat påskynd
+påträffat påträff
+qvardröja qvardröj
+qväljande qväljand
+rade rad
+rakare rak
+ramna ramn
+rapitlet rapitl
+rasens ras
+rastlös rastlö
+redan reda
+redlige redlig
+reflexrörelser reflexrörels
+regeringsgatan regeringsgata
+regnat regn
+rekommenderat rekommender
+relingarna reling
+renlighet renligh
+representera representer
+reser res
+respektabla respektabl
+resulster resulst
+retelse retels
+ridan rida
+rijster rijst
+riksdaler riksdal
+rimligtvis rimligtvi
+ringen ring
+ristade ristad
+roande roand
+roddarmadamens roddarmadam
+roflysten roflyst
+romanen roman
+rorde rord
+rosenkransen rosenkrans
+rotter rott
+rubiner rubin
+rullande rulland
+rundade rundad
+ruskar rusk
+ruttenhet ruttenh
+rycktes ryckt
+rykten rykt
+rynkiga rynkig
+ryttmästare ryttmäst
+räddare rädd
+räkningar räkning
+rätade rätad
+rättesnöre rättesnör
+rättskänsla rättskänsl
+råder råd
+rågade rågad
+råttfälla råttfäll
+rödlätta rödlätt
+rökelse rökels
+rökpelaren rökpel
+röras rör
+rösten röst
+sablar sabl
+sagokungen sagokung
+sakna sakn
+saktat sakt
+salsbordet salsbord
+samhällslivet samhällsliv
+samma samm
+sammanknuten sammanknut
+sammansmälter sammansmält
+samråda samråd
+samveten samvet
+sandstranden sandstrand
+sannolikhet sannolikh
+satinturcklädningen satinturcklädning
+scgra scgr
+schasar schas
+sedermera sedermer
+seger seg
+segrar segr
+sekunderna sekund
+sensation sensatio
+servetter servett
+shlta shlt
+sidentäckta sidentäckt
+sikta sikt
+silhuetten silhuett
+silkesstrumporna silkesstrump
+silverklingande silverklingand
+simme simm
+sinnens sinn
+sinnrika sinnrik
+sitta sitt
+sjmlga sjmlg
+sjukliga sjuklig
+sjungandes sjungand
+själar själ
+självbe självb
+sjöar sjö
+sjöhistorierna sjöhistori
+sjösjuka sjösjuk
+skadeglädjen skadeglädj
+skakade skakad
+skallande skalland
+skandalhistoria skandalhistori
+skarens skar
+skattade skattad
+skenet sken
+skepps skepp
+skickades skickad
+skiftar skift
+skiljer skilj
+skina skin
+skinnmössa skinnmöss
+skjortärmarne skjortärm
+skockades skockad
+skogssluttningen skogssluttning
+skolflickan skolflicka
+skolpojkssättet skolpojkssätt
+skorporna skorp
+skramla skraml
+skrattet skratt
+skriftligen skriftlig
+skrivas skriv
+skrofliga skroflig
+skrynklade skrynklad
+skrämmas skrämm
+skuffande skuffand
+skugglika skugglik
+skuldregister skuldregist
+skuren skur
+skvaltar skvalt
+skyla skyl
+skymde skymd
+skymtade skymtad
+skytten skytt
+skälmska skälmsk
+skämtande skämtand
+skäppa skäpp
+skärgårdsfolkets skärgårdsfolk
+skådande skådand
+skökor skök
+skönjbara skönjbar
+sköterskorna skötersk
+slagfältet slagfält
+slannade slannad
+slickade slickad
+slinka slink
+slitna slitn
+slottet slott
+slumpen slump
+slutande slutand
+slutpolerade slutpolerad
+släde släd
+släktvapnet släktvapn
+släpper släpp
+slöa slö
+smackade smackad
+smattrade smattrad
+smetat smet
+smittade smittad
+smulorna smul
+smuttade smuttad
+smällande smälland
+smärtfulla smärtfull
+smågräla smågräl
+småningorn småningor
+smörbyttor smörbytt
+snabblöpare snabblöp
+snavade snavad
+snodde snodd
+snuggan snugga
+snyfta snyft
+snärja snärj
+snöat snö
+soare soar
+sockerbitarna sockerbit
+soffhörnet soffhörn
+sokte sokt
+solkiga solkig
+solstrålar solstrål
+sommarens somm
+sommarnätter sommarnätt
+sonderna sond
+sorgens sorg
+sorlande sorland
+sova sov
+spann span
+sparsamhet sparsamh
+speciella speciell
+spejade spejad
+spelande speland
+spenatkarotten spenatkarott
+spickeskinkan spickeskinka
+spinnas spinn
+spisade spisad
+sporra sporr
+sprida sprid
+spriseglet sprisegl
+spränga spräng
+språklärare språklär
+spändes spänd
+spåren spår
+spörjande spörjand
+stackrarna stackr
+stadsflickorna stadsflick
+stamfränderna stamfränd
+stannande stannand
+station statio
+stavningsukas stavningsuk
+stekos steko
+stenarne sten
+stickan sticka
+stigar stig
+stiltje stiltj
+stjerna stj
+stjärnor stjärn
+stockholmssocieteten stockholmssocietet
+stolpar stolp
+stonade stonad
+storgubbar storgubb
+stormat storm
+stra str
+stralar stral
+stretade stretad
+strimman strimma
+strupar strup
+sträckande sträckand
+strändernas stränd
+strävat sträv
+strödda strödd
+strövat ströv
+studsare studs
+stumma stumm
+stupar stup
+stygn styg
+styrman styrma
+styvmor styvm
+städningen städning
+stämde stämd
+stängda stängd
+ståndaktighet ståndaktigh
+stödde stödd
+störa stör
+stöta stöt
+sucka suck
+suga sug
+supa sup
+surrat surr
+svaghet svagh
+svalkar svalk
+svampen svamp
+svarar svar
+svartgröna svartgrön
+svedan sveda
+sveriges sverig
+svimma svimm
+sväfvade sväfvad
+sväller sväll
+svärdsliljan svärdslilja
+svävande svävand
+sybågar sybåg
+symbolen symbol
+synda synd
+synliga synlig
+syrenerna syren
+sysselsatta sysselsatt
+systerdotter systerdott
+sägen säg
+sälen säl
+sällskapandet sällskapand
+sällsyntare sällsynt
+sände sänd
+sängkammaren sängkamm
+sänkta sänkt
+sävliga sävlig
+sångare sång
+såpbubblekarlarna såpbubblekarl
+södern söder
+sömmerska sömmersk
+söndagen söndag
+sönderrivna sönderrivn
+sörjer sörj
+tackar tack
+tade tad
+tagen tag
+takränna takränn
+talas tal
+talorgan talorga
+tankarna tank
+tapetstycken tapetstyck
+tarvliga tarvlig
+tavlor tavl
+teaterstycke teaterstyck
+teddybjörn teddybjör
+telefonerade telefonerad
+tennsoldaten tennsoldat
+ternströms ternström
+tetimmen tetimm
+tidcns tidc
+tidningarnas tidning
+tigern tiger
+tillbakaskjuten tillbakaskjut
+tillbringare tillbring
+tillfredsställande tillfredsställand
+tillgifne tillgifn
+tillhöra tillhör
+tillmäten tillmät
+tillråna tillrån
+tillsnörpta tillsnörpt
+tilltagande tilltagand
+tillägger tillägg
+tillåter tillåt
+timmen timm
+tingens ting
+tisdagen tisdag
+titet tit
+tjenstaktighet tjenstaktigh
+tjugufemte tjugufemt
+tjusta tjust
+tjänliga tjänlig
+tjänstvilliga tjänstvillig
+tocken tock
+tokorna tok
+tomten tomt
+topparna topp
+torka tork
+torrhosta torrhost
+traffa traff
+trampa tramp
+tranlampas tranlamp
+traskade traskad
+treflige treflig
+treva trev
+trifdes trifd
+triumferande triumferand
+trogna trogn
+trollet troll
+tronföljare tronfölj
+trovärdigheten trovärdighet
+truten trut
+träbryggan träbrygga
+trädgårdsmäster trädgårdsmäst
+träffas träff
+trän trä
+trådarna tråd
+trångaste trångast
+tröstar tröst
+tröttflugen tröttflug
+tuktar tukt
+tullkammare tullkamm
+tulubben tulubb
+tunn tun
+turken turk
+tvagen tvag
+tvillingsyster tvillingsyst
+tvivla tvivl
+tvärsövet tvärsöv
+tvådubbla tvådubbl
+tyckte tyckt
+tyget tyg
+tyska tysk
+tystnat tystn
+täljande täljand
+tänka tänk
+tära tär
+tåga tåg
+tånkte tånkt
+tårtor tårt
+törnet törn
+ukulele ukulel
+umgicks umgick
+undanflykter undanflykt
+undergången undergång
+underkurer underkur
+underordnade underordnad
+understrykningar understrykning
+undervisat undervis
+undvika undvik
+ungdomsaren ungdoms
+ungefärligen ungefärlig
+ungkarlsståndet ungkarlsstånd
+unna unn
+uppbära uppbär
+uppenbar uppenb
+uppfiskades uppfiskad
+uppfostrats uppfostr
+uppfyllda uppfylld
+uppfördes uppförd
+upphettade upphettad
+upphöjelse upphöjels
+upplaga upplag
+uppliva uppliv
+upplägga upplägg
+uppmanande uppmanand
+uppmärksamheter uppmärksamhet
+upprepande upprepand
+upproriske upprorisk
+upprördes upprörd
+uppskriva uppskriv
+uppsluppet uppslupp
+uppsände uppsänd
+upptogs upptog
+upptäcks upptäck
+uppvägde uppvägd
+urmakarens urmak
+ursprungligcn ursprungligc
+uslingen usling
+utblottat utblott
+utbyttes utbytt
+utfarande utfarand
+utgifter utgift
+utgöra utgör
+utlofvade utlofvad
+utmärglade utmärglad
+utpeka utpek
+utropstecken utropsteck
+utsatta utsatt
+utskjutande utskjutand
+utspanat utspan
+utströmmar utströmm
+uttages uttag
+uttrycket uttryck
+utvandringarna utvandring
+utvägen utväg
+utövar utöv
+vadan vada
+vagen vag
+vagor vag
+vaket vak
+vaktarinna vaktarinn
+valet val
+vanan vana
+vandringsmannen vandringsmann
+vann van
+vanärans vanära
+varardra varardr
+vardera varder
+varie vari
+varningar varning
+vasabron vasabro
+vattenglaset vattenglas
+vattnat vattn
+veckas veck
+vederlägga vederlägg
+veknar vekn
+verka verk
+verkligheten verklighet
+verldsliga verldslig
+vete vet
+vhlgar vhlg
+vidhänga vidhäng
+vidunder vidund
+vigselringen vigselring
+vilan vila
+vilie vili
+villan villa
+villrådiga villrådig
+vinddraget vinddrag
+vindstrappan vindstrappa
+vinhandeln vinhandel
+vinnas vinn
+vintermånaderna vintermånad
+viole viol
+virvlat virvl
+viset vis
+viskat visk
+visshet vissh
+vissten visst
+vithet vith
+vjta vjt
+vreten vret
+vulgära vulgär
+väckarklockan väckarklocka
+väderkistan väderkista
+väfva väfv
+vägkanten vägkant
+välborstade välborstad
+väljande väljand
+välmanikurefade välmanikurefad
+välsigne välsign
+välvde välvd
+vänfasta vänfast
+vänner vänn
+vänta vänt
+värdefulla värdefull
+värdinna värdinn
+världarna värld
+världsordningen världsordning
+värnlösa värnlös
+väsnades väsnad
+väva väv
+växelvis växelvi
+vågade vågad
+våldsamma våldsamm
+vårars vår
+vårdmans vårdma
+vårmorgon vårmorgo
+waller wall
+wunderhorn wunderhor
+ympas ymp
+yrade yrad
+ytterkläder ytterkläd
+yttre yttr
+äfven äfv
+ägnade ägnad
+äldste äldst
+älsklige älsklig
+älvarna älv
+ämnat ämn
+änder änd
+ängars äng
+ängslas ängsl
+ärade ärad
+ärliga ärlig
+ärvda ärvd
+äventyrslysten äventyrslyst
+åhörarinnan åhörarinna
+åkrarna åkr
+åldrats åldr
+ångern ånger
+århundrade århundrad
+åskan åska
+åsynen åsyn
+återförsätta återförsätt
+återkommande återkommand
+återståen återstå
+återvägen återväg
+åtlöje åtlöj
+åttiofjerde åttiofjerd
+ödmjukat ödmjuk
+öfverdrifvet öfverdrifv
+öfverhängande öfverhängand
+öfvermorgon öfvermorgo
+öfvertalat öfvertal
+öfverändakastar öfverändakast
+ögonbrynens ögonbryn
+ögonsten ögonst
+öltunnor öltunn
+ömsinta ömsint
+öppnade öppnad
+örnungen örnung
+östersjön östersjö
+överens över
+överfölls överföll
+överhöljda överhöljd
+överläppen överläpp
+överräknade överräknad
+översvalla översvall
+övertygelsen övertygels
+a a
+adertonskilling adertonskilling
+afdukadt afdukadt
+afslag afslag
+age age
+aktör aktör
+allo allo
+allvarsam allvarsam
+an an
+andfatt andfatt
+angenäm angenäm
+anlänt anlänt
+ansett ansett
+anständigt anständigt
+antisemitism antisemitism
+arangerad arangerad
+arkad arkad
+arvid arvid
+attrapp attrapp
+avfladd avfladd
+avsatt avsatt
+avstå avstå
+azur azur
+bakvändt bakvändt
+barmhertig barmhertig
+barrskog barrskog
+bebodd bebodd
+befattning befattning
+begrepp begrepp
+behaglig behaglig
+behörig behörig
+belefvad belefvad
+beredskap beredskap
+berömlig berömlig
+beskref beskref
+bess bess
+bestå bestå
+betalning betalning
+betydligt betydligt
+bevisad bevisad
+bifall bifall
+bisak bisak
+bjödo bjödo
+blekt blekt
+blixtlikt blixtlikt
+blomsterdoft blomsterdoft
+bly bly
+blåst blåst
+bokvett bokvett
+bonjour bonjour
+bortgång bortgång
+bottenfock bottenfock
+bref bref
+bror bror
+brunrosigt brunrosigt
+bräckt bräckt
+bröstvärk bröstvärk
+bunt bunt
+byrå byrå
+båd båd
+bönesuck bönesuck
+cftcr cftcr
+cigarrettetui cigarrettetui
+cyankalium cyankalium
+dalfolk dalfolk
+dari dari
+del del
+derför derför
+devient devient
+diskant diskant
+djärvt djärvt
+domnad domnad
+dragning dragning
+drog drog
+dråplig dråplig
+duktigt duktigt
+dygd dygd
+där där
+därutur därutur
+dödsbädd dödsbädd
+dörr dörr
+eftersom eftersom
+egennyttig egennyttig
+eka eka
+eldröd eldröd
+emottog emottog
+enig enig
+entonigt entonigt
+erkänd erkänd
+etc etc
+expedierad expedierad
+famil famil
+farstudör farstudör
+fattadc fattadc
+feer feer
+fermtio fermtio
+filosof filosof
+fisktorkning fisktorkning
+flak flak
+flod flod
+fläck fläck
+fodral fodral
+foredrog foredrog
+fortgått fortgått
+fotsteg fotsteg
+framgå framgå
+framstå framstå
+fredlig fredlig
+frileux frileux
+frot frot
+fryntligt fryntligt
+fröding fröding
+fullkomlig fullkomlig
+fy fy
+fysionomi fysionomi
+färsk färsk
+fångst fångst
+föll föll
+förbi förbi
+förbund förbund
+fördubblad fördubblad
+förenad förenad
+företog företog
+förföllo förföllo
+förhoppningsfull förhoppningsfull
+förledd förledd
+förlåtlig förlåtlig
+förnedring förnedring
+förolämpning förolämpning
+försedd försedd
+förskräcklig förskräcklig
+förspildt förspildt
+förställning förställning
+försökt försökt
+förtrollning förtrollning
+förvanad förvanad
+förvånad förvånad
+gafs gafs
+gapskratt gapskratt
+gemensamt gemensamt
+genomgår genomgår
+get get
+gingo gingo
+glad glad
+glugg glugg
+gnott gnott
+gossc gossc
+grav grav
+grubbel grubbel
+grynvälling grynvälling
+gråtit gråtit
+gudomlig gudomlig
+guldur guldur
+guttaperkaboll guttaperkaboll
+gärdesgard gärdesgard
+gök gök
+haft haft
+halt halt
+han han
+harang harang
+hat hat
+hej hej
+hembygd hembygd
+hemsk hemsk
+hergell hergell
+hetsit hetsit
+hittadc hittadc
+hjälpt hjälpt
+hlixtlik hlixtlik
+honoll honoll
+hot hot
+hufvudvärk hufvudvärk
+hun hun
+husfru husfru
+hustrublick hustrublick
+hvarest hvarest
+hvit hvit
+hysteriskt hysteriskt
+händcr händcr
+häradsväg häradsväg
+härt härt
+hån hån
+högblå högblå
+högtidsstämt högtidsstämt
+hört hört
+ick ick
+ifrigt ifrigt
+ihågkom ihågkom
+ijuvligt ijuvligt
+impertinent impertinent
+indelning indelning
+ingt ingt
+inlät inlät
+inredd inredd
+installerad installerad
+insögo insögo
+inträdt inträdt
+irr irr
+ivrig ivrig
+iörlåt iörlåt
+jargong jargong
+joho joho
+judy judy
+jämmerlig jämmerlig
+ka ka
+kam kam
+kantig kantig
+karl karl
+katt katt
+kistlock kistlock
+klarögd klarögd
+klokast klokast
+klädnad klädnad
+knall knall
+knuff knuff
+kollrig kollrig
+kompani kompani
+konstgrepp konstgrepp
+konvulsivisk konvulsivisk
+kortlek kortlek
+kraftigt kraftigt
+kringränd kringränd
+krossad krossad
+kräftskal kräftskal
+kundc kundc
+kvalfullt kvalfullt
+kvill kvill
+kvällsvard kvällsvard
+känbart känbart
+käri käri
+kärt kärt
+kört kört
+lakej lakej
+lantluft lantluft
+led led
+lejd lejd
+levdl levdl
+lifs lifs
+liknöjd liknöjd
+lindrig lindrig
+livct livct
+ljudlöst ljudlöst
+ljusmelodi ljusmelodi
+llöll llöll
+lossning lossning
+lugnad lugnad
+lusttåg lusttåg
+lysning lysning
+lämplig lämplig
+läroverk läroverk
+låg låg
+låst låst
+lördagskväll lördagskväll
+maj maj
+mantel mantel
+mas mas
+mcn mcn
+medgörlig medgörlig
+mellanlägg mellanlägg
+mes mes
+midsommarnatt midsommarnatt
+minnc minnc
+misslynt misslynt
+mittpå mittpå
+mnn mnn
+monsieur monsieur
+motgift motgift
+mr mr
+musikalisk musikalisk
+mystiskt mystiskt
+märgfull märgfull
+måltid måltid
+mår mår
+mörkgrå mörkgrå
+namnlöst namnlöst
+nattglim nattglim
+ncs ncs
+nedlör nedlör
+nedvänt nedvänt
+net net
+njutningsfullt njutningsfullt
+nordvest nordvest
+nummerplåt nummerplåt
+nystfot nystfot
+näring näring
+nås nås
+o o
+obemärkt obemärkt
+obetänksamt obetänksamt
+ock ock
+oeh oeh
+ofrid ofrid
+oförsynt oförsynt
+ohygglig ohygglig
+okuvlig okuvlig
+olyckligt olyckligt
+omgjort omgjort
+ommöblerad ommöblerad
+omärkligt omärkligt
+onödig onödig
+ordensband ordensband
+orgverk orgverk
+ort ort
+oskicklig oskicklig
+otacksam otacksam
+otur otur
+outgrundligt outgrundligt
+ovaraktig ovaraktig
+oxar oxar
+pahlr pahlr
+parkett parkett
+patent patent
+penseldrag penseldrag
+pi pi
+pistol pistol
+plotsligt plotsligt
+pois pois
+portugisisk portugisisk
+premiäraktör premiäraktör
+profil profil
+präntad präntad
+puckelrygg puckelrygg
+päls päls
+påpasslig påpasslig
+qval qval
+rackartyg rackartyg
+rangordning rangordning
+redbart redbart
+regerad regerad
+rentav rentav
+rest rest
+riggad riggad
+ringt ringt
+rod rod
+rop rop
+rov rov
+rundt rundt
+ryckig ryckig
+räckhåll räckhåll
+rättvist rättvist
+rår rår
+rön rön
+sadant sadant
+salcional salcional
+sammanföll sammanföll
+samråd samråd
+sanningsjakt sanningsjakt
+sax sax
+sedel sedel
+senap senap
+sextio sextio
+sidennattrock sidennattrock
+silhuett silhuett
+sinnesförvirring sinnesförvirring
+sjal sjal
+sjukdomsfall sjukdomsfall
+själ själ
+sjögrönt sjögrönt
+skakad skakad
+skavit skavit
+skilling skilling
+skol skol
+skrevo skrevo
+skrubb skrubb
+skuggliv skuggliv
+skutt skutt
+skyr skyr
+skärt skärt
+skött skött
+slaveri slaveri
+slottskanslibetjänt slottskanslibetjänt
+slyng slyng
+slätrakad slätrakad
+smal smal
+smultit smultit
+småland småland
+snarast snarast
+snyft snyft
+snöt snöt
+soligt soligt
+sons sons
+spad spad
+speg speg
+spinnrock spinnrock
+sprit sprit
+spydigt spydigt
+stack stack
+standigt standigt
+stek stek
+stif stif
+stockholmsbo stockholmsbo
+storskärmad storskärmad
+stridig stridig
+strängt strängt
+stulit stulit
+styng styng
+stämd stämd
+stånd stånd
+stötvir stötvir
+sutto sutto
+svartklädd svartklädd
+svikt svikt
+svärd svärd
+syfilidologi syfilidologi
+syndigt syndigt
+sysselsatt sysselsatt
+sällsam sällsam
+särskild särskild
+sårtid sårtid
+sönderplockad sönderplockad
+tackladt tackladt
+taligt taligt
+tappert tappert
+telefontrad telefontrad
+ti ti
+tiil tiil
+tillfredsställd tillfredsställd
+tillit tillit
+tillslutit tillslutit
+tillvaro tillvaro
+tior tior
+tjugo tjugo
+tjänstfolk tjänstfolk
+tokigt tokigt
+torg torg
+trakt trakt
+trefalt trefalt
+triumf triumf
+trotsigt trotsigt
+träbänk träbänk
+trångt trångt
+tukt tukt
+tuvig tuvig
+tvärt tvärt
+tygel tygel
+tänksamt tänksamt
+tår tår
+uff uff
+underhållit underhållit
+undersätsig undersätsig
+undvarit undvarit
+ungmö ungmö
+uppfattning uppfattning
+upphetsad upphetsad
+upplysning upplysning
+upprigtig upprigtig
+uppslog uppslog
+uppsåt uppsåt
+uppå uppå
+uråldrig uråldrig
+utdelning utdelning
+utfärdad utfärdad
+utgöt utgöt
+utomordentlig utomordentlig
+utslag utslag
+uttryck uttryck
+vad vad
+valdt valdt
+vanhederligt vanhederligt
+varandr varandr
+vark vark
+varseblivit varseblivit
+vd vd
+vems vems
+vers vers
+vidgår vidgår
+viii viii
+villrådig villrådig
+vinterkväll vinterkväll
+viskning viskning
+vivo vivo
+vredo vredo
+vädur vädur
+väldigt väldigt
+välvand välvand
+väntjenst väntjenst
+värv värv
+våldsam våldsam
+våt våt
+wuhlbom wuhlbom
+xxviii xxviii
+yr yr
+äckel äckel
+älskad älskad
+ändamål ändamål
+är är
+ärvt ärvt
+åh åh
+ångslup ångslup
+åstadkommit åstadkommit
+återhållsam återhållsam
+åtföljd åtföljd
+öda öda
+öfvergåfvo öfvergåfvo
+ögmlell ögmlell
+öm öm
+öppnad öppnad
+övat övat
+övergår övergår
+översh översh
diff --git a/opennlp-distr/src/main/readme/LICENSE b/opennlp-distr/src/main/readme/LICENSE
index 6c72d966ba..1efa144d0a 100644
--- a/opennlp-distr/src/main/readme/LICENSE
+++ b/opennlp-distr/src/main/readme/LICENSE
@@ -265,6 +265,39 @@ distributed under the BSD license:
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+The following license applies to the UniNE light and minimal stemmer
+algorithms in opennlp-core/opennlp-runtime, package
+opennlp.tools.stemmer.light. They are adapted from Apache Lucene, which
+based them on code by Jacques Savoy
+(http://members.unine.ch/jacques.savoy/clef/index.html), distributed
+under the BSD license:
+
+ Copyright (c) 2005, Jacques Savoy
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer. Redistributions in binary
+ form must reproduce the above copyright notice, this list of conditions and
+ the following disclaimer in the documentation and/or other materials
+ provided with the distribution. Neither the name of the author nor the names
+ of its contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+
The CDDL 1.1 license applies to jersey and some of its dependencies:
COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL)Version 1.1
diff --git a/opennlp-eval-tests/src/test/java/opennlp/tools/eval/MultiThreadedStemmerEval.java b/opennlp-eval-tests/src/test/java/opennlp/tools/eval/MultiThreadedStemmerEval.java
new file mode 100644
index 0000000000..aaac3c4c2b
--- /dev/null
+++ b/opennlp-eval-tests/src/test/java/opennlp/tools/eval/MultiThreadedStemmerEval.java
@@ -0,0 +1,175 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package opennlp.tools.eval;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Random;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
+
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+import opennlp.tools.commons.ThreadSafe;
+import opennlp.tools.stemmer.PorterStemmerFactory;
+import opennlp.tools.stemmer.SharingStemmer;
+import opennlp.tools.stemmer.Stemmer;
+import opennlp.tools.stemmer.snowball.SnowballStemmer;
+import opennlp.tools.stemmer.snowball.SnowballStemmer.ALGORITHM;
+import opennlp.tools.util.normalizer.Dimension;
+import opennlp.tools.util.normalizer.NormalizationProfiles;
+import opennlp.tools.util.normalizer.Term;
+import opennlp.tools.util.normalizer.TermAnalyzer;
+
+/**
+ * Tests that the thread-safe stemmer implementations really are thread-safe by hammering shared
+ * instances from many threads and comparing every result against a single-threaded reference.
+ *
+ * @see ThreadSafe
+ * @see MultiThreadedToolsEval
+ */
+public class MultiThreadedStemmerEval extends AbstractEvalTest {
+
+ private static final int NUM_THREADS = 8;
+ private static final int RUNS_PER_THREAD = 500;
+
+ /**
+ * Words across scripts and languages, including apostrophes, diacritics, Greek, Cyrillic and
+ * Arabic. Stemming is deterministic for any input, so every algorithm is run over the whole
+ * list; a mismatch signals cross-thread corruption of the stemmer's internal buffers.
+ */
+ private static final List WORDS = List.of(
+ "running", "accompanying", "malediction", "softeners", "declining",
+ "importantíssimes", "besar", "accidentalment",
+ "abbattimento", "aborrecimentos", "importantísimas",
+ "esiintymispaikasta", "aabenbaringen", "skrøbeligheder", "aftonringningen",
+ "buchbindergesellen", "mitverursacht", "prévoyant", "examinateurs",
+ "ab'yle", "kaçmamaktadır", "sarayı'nı",
+ "abbahagynám", "konstrukciójából", "vliegtuigtransport",
+ "absurdităţilor", "saracilor", "peledakan", "bhfeidhm",
+ "επιστροφή", "στρατιωτών", "красивая", "яблоками",
+ "استفتياكما", "استنتاجاتهما");
+
+ @Test
+ public void runSharedSnowballStemmersMultiThreaded() throws Exception {
+ for (ALGORITHM algorithm : ALGORITHM.values()) {
+ List expected = referenceStems(new SnowballStemmer(algorithm));
+ hammer(new SnowballStemmer(algorithm), expected, "Snowball " + algorithm);
+ }
+ }
+
+ @Test
+ public void runSharedPorterStemmerMultiThreaded() throws Exception {
+ SharingStemmer shared = new SharingStemmer(new PorterStemmerFactory());
+ List expected = referenceStems(new PorterStemmerFactory().newStemmer());
+ hammer(shared, expected, "SharingStemmer(Porter)");
+ }
+
+ @Test
+ public void runMatchingAnalyzersMultiThreaded() throws Exception {
+ for (String language : NormalizationProfiles.supportedLanguages()) {
+ TermAnalyzer analyzer =
+ NormalizationProfiles.forLanguage(language).orElseThrow().matchingAnalyzer();
+
+ List expected = new ArrayList<>(WORDS.size());
+ for (String word : WORDS) {
+ expected.add(stemDimension(analyzer, word));
+ }
+
+ runInThreads(threadIndex -> {
+ List order = shuffledIndexes(threadIndex);
+ for (int run = 0; run < RUNS_PER_THREAD / 10; run++) {
+ for (int i : order) {
+ Assertions.assertEquals(expected.get(i), stemDimension(analyzer, WORDS.get(i)),
+ () -> "matchingAnalyzer(" + language + ") corrupted under concurrency");
+ }
+ }
+ });
+ }
+ }
+
+ private static String stemDimension(TermAnalyzer analyzer, String word) {
+ List terms = analyzer.analyze(word);
+ if (terms.isEmpty()) {
+ return "";
+ }
+ StringBuilder sb = new StringBuilder();
+ for (Term term : terms) {
+ sb.append(term.at(Dimension.STEM)).append(' ');
+ }
+ return sb.toString();
+ }
+
+ private static List referenceStems(Stemmer reference) {
+ List expected = new ArrayList<>(WORDS.size());
+ for (String word : WORDS) {
+ expected.add(reference.stem(word).toString());
+ }
+ return expected;
+ }
+
+ private static void hammer(Stemmer shared, List expected, String label) throws Exception {
+ runInThreads(threadIndex -> {
+ List order = shuffledIndexes(threadIndex);
+ for (int run = 0; run < RUNS_PER_THREAD; run++) {
+ for (int i : order) {
+ Assertions.assertEquals(expected.get(i), shared.stem(WORDS.get(i)).toString(),
+ () -> label + " corrupted under concurrency for input '" + WORDS.get(i) + "'");
+ }
+ }
+ });
+ }
+
+ /**
+ * Each thread visits the word list in its own order so that different threads are (almost)
+ * always inside different words at the same time, maximizing the chance of exposing shared
+ * mutable state.
+ */
+ private static List shuffledIndexes(int seed) {
+ List order = new ArrayList<>(WORDS.size());
+ for (int i = 0; i < WORDS.size(); i++) {
+ order.add(i);
+ }
+ Collections.shuffle(order, new Random(seed));
+ return order;
+ }
+
+ private interface ThreadBody {
+ void run(int threadIndex) throws Exception;
+ }
+
+ private static void runInThreads(ThreadBody body) throws Exception {
+ try (ExecutorService pool = Executors.newFixedThreadPool(NUM_THREADS)) {
+ List> tasks = new ArrayList<>(NUM_THREADS);
+ for (int t = 0; t < NUM_THREADS; t++) {
+ final int threadIndex = t;
+ tasks.add(pool.submit(() -> {
+ body.run(threadIndex);
+ return null;
+ }));
+ }
+ for (Future> task : tasks) {
+ task.get(120, TimeUnit.SECONDS);
+ }
+ }
+ }
+}
diff --git a/rat-excludes b/rat-excludes
index 5a5d86b90c..c359333ed3 100644
--- a/rat-excludes
+++ b/rat-excludes
@@ -70,3 +70,6 @@ src/main/resources/opennlp/tools/tokenize/uax29/WordBreakProperty.txt
src/main/resources/opennlp/tools/tokenize/uax29/ExtendedPictographic.txt
src/main/resources/opennlp/tools/util/normalizer/confusables.txt
src/test/resources/opennlp/tools/tokenize/uax29/WordBreakTest.txt
+
+
+src/test/resources/opennlp/tools/stemmer/light/*.tsv