Skip to content
Snippets Groups Projects
Commit f1150889 authored by Amith Yamasani's avatar Amith Yamasani Committed by Jean-Baptiste Queru
Browse files

Allow for non-starting letters to be upper case in dictionary lookup.

Add lowercase optimization to user dictionary as well.
parent 4dfe7996
No related branches found
No related tags found
No related merge requests found
......@@ -147,16 +147,14 @@ Dictionary::addWord(unsigned short *word, int length, int frequency)
}
unsigned short
Dictionary::toLowerCase(unsigned short c, const int depth) {
Dictionary::toLowerCase(unsigned short c) {
if (c < sizeof(BASE_CHARS) / sizeof(BASE_CHARS[0])) {
c = BASE_CHARS[c];
}
if (depth == 0) {
if (c >='A' && c <= 'Z') {
c |= 32;
} else if (c > 127) {
c = u_tolower(c);
}
if (c >='A' && c <= 'Z') {
c |= 32;
} else if (c > 127) {
c = u_tolower(c);
}
return c;
}
......@@ -201,7 +199,7 @@ Dictionary::getWordsRec(int pos, int depth, int maxDepth, bool completion, int s
for (int i = 0; i < count; i++) {
unsigned short c = getChar(&pos);
unsigned short lowerC = toLowerCase(c, depth);
unsigned short lowerC = toLowerCase(c);
bool terminal = getTerminal(&pos);
int childrenAddress = getAddress(&pos);
int freq = 1;
......
......@@ -49,7 +49,7 @@ private:
bool sameAsTyped(unsigned short *word, int length);
bool addWord(unsigned short *word, int length, int frequency);
unsigned short toLowerCase(unsigned short c, int depth);
unsigned short toLowerCase(unsigned short c);
void getWordsRec(int pos, int depth, int maxDepth, bool completion, int frequency,
int inputIndex, int diffs);
bool isValidWordRec(int pos, unsigned short *word, int offset, int length);
......
......@@ -250,7 +250,11 @@ public class ExpandableDictionary extends Dictionary {
if (c < BASE_CHARS.length) {
c = BASE_CHARS[c];
}
c = Character.toLowerCase(c);
if (c >= 'A' && c <= 'Z') {
c = (char) (c | 32);
} else {
c = Character.toLowerCase(c);
}
return c;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment