Make digraph lookups case insensitive

Example: Be able to gesture dictionary words that start with an upper-case
German umlaut (e.g., Übermensch).

Bug: 8493920
Change-Id: I3253bcd236d34c0af60116e5b41e359f2715bf97
main
Tom Ouyang 2013-04-15 18:25:50 -07:00 committed by Ken Wakasa
parent e01e22e1ea
commit 3970352ea9
1 changed files with 3 additions and 1 deletions

View File

@ -14,6 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
#include "char_utils.h"
#include "binary_format.h" #include "binary_format.h"
#include "defines.h" #include "defines.h"
#include "digraph_utils.h" #include "digraph_utils.h"
@ -120,10 +121,11 @@ const DigraphUtils::DigraphType DigraphUtils::USED_DIGRAPH_TYPES[] =
/* static */ const DigraphUtils::digraph_t *DigraphUtils::getDigraphForDigraphTypeAndCodePoint( /* static */ const DigraphUtils::digraph_t *DigraphUtils::getDigraphForDigraphTypeAndCodePoint(
const DigraphUtils::DigraphType digraphType, const int compositeGlyphCodePoint) { const DigraphUtils::DigraphType digraphType, const int compositeGlyphCodePoint) {
const DigraphUtils::digraph_t *digraphs = 0; const DigraphUtils::digraph_t *digraphs = 0;
const int compositeGlyphLowerCodePoint = toLowerCase(compositeGlyphCodePoint);
const int digraphsSize = const int digraphsSize =
DigraphUtils::getAllDigraphsForDictionaryAndReturnSize(digraphType, &digraphs); DigraphUtils::getAllDigraphsForDictionaryAndReturnSize(digraphType, &digraphs);
for (int i = 0; i < digraphsSize; i++) { for (int i = 0; i < digraphsSize; i++) {
if (digraphs[i].compositeGlyph == compositeGlyphCodePoint) { if (digraphs[i].compositeGlyph == compositeGlyphLowerCodePoint) {
return &digraphs[i]; return &digraphs[i];
} }
} }