1 /* 2 * Copyright (C) 2008-2012 OMRON SOFTWARE Co., Ltd. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 /** 17 * approxPatternEnToUpper 18 */ 19 static const PREDEF_APPROX_PATTERN approxPatternEnToUpper = { 20 /* size */ 21 26, 22 /* from */ 23 ( NJ_UINT8* ) 24 "\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68" 25 "\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70" 26 "\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78" 27 "\x00\x79\x00\x7a", 28 /* to */ 29 ( NJ_UINT8* ) 30 "\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48" 31 "\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50" 32 "\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58" 33 "\x00\x59\x00\x5a" 34 }; 35 36 /** 37 * approxPatternEnToLower 38 */ 39 static const PREDEF_APPROX_PATTERN approxPatternEnToLower = { 40 /* size */ 41 26, 42 /* from */ 43 ( NJ_UINT8* ) 44 "\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48" 45 "\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50" 46 "\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58" 47 "\x00\x59\x00\x5a", 48 /* to */ 49 ( NJ_UINT8* ) 50 "\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68" 51 "\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70" 52 "\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78" 53 "\x00\x79\x00\x7a" 54 }; 55 56 /** 57 * approxPatternEnQwertyNear 58 */ 59 static const PREDEF_APPROX_PATTERN approxPatternEnQwertyNear = { 60 /* size */ 61 110, 62 /* from */ 63 ( NJ_UINT8* ) 64 "\x00\x61\x00\x61\x00\x61\x00\x61\x00\x62\x00\x62\x00\x62\x00\x62" 65 "\x00\x63\x00\x63\x00\x63\x00\x63\x00\x64\x00\x64\x00\x64\x00\x64" 66 "\x00\x64\x00\x64\x00\x65\x00\x65\x00\x65\x00\x65\x00\x66\x00\x66" 67 "\x00\x66\x00\x66\x00\x66\x00\x66\x00\x67\x00\x67\x00\x67\x00\x67" 68 "\x00\x67\x00\x67\x00\x68\x00\x68\x00\x68\x00\x68\x00\x68\x00\x68" 69 "\x00\x69\x00\x69\x00\x69\x00\x69\x00\x6a\x00\x6a\x00\x6a\x00\x6a" 70 "\x00\x6a\x00\x6a\x00\x6b\x00\x6b\x00\x6b\x00\x6b\x00\x6b\x00\x6c" 71 "\x00\x6c\x00\x6c\x00\x6d\x00\x6d\x00\x6d\x00\x6e\x00\x6e\x00\x6e" 72 "\x00\x6e\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x70\x00\x70\x00\x71" 73 "\x00\x71\x00\x72\x00\x72\x00\x72\x00\x72\x00\x73\x00\x73\x00\x73" 74 "\x00\x73\x00\x73\x00\x73\x00\x74\x00\x74\x00\x74\x00\x74\x00\x75" 75 "\x00\x75\x00\x75\x00\x75\x00\x76\x00\x76\x00\x76\x00\x76\x00\x77" 76 "\x00\x77\x00\x77\x00\x77\x00\x78\x00\x78\x00\x78\x00\x78\x00\x79" 77 "\x00\x79\x00\x79\x00\x79\x00\x7a\x00\x7a\x00\x7a", 78 /* to */ 79 ( NJ_UINT8* ) 80 "\x00\x71\x00\x77\x00\x73\x00\x7a\x00\x76\x00\x67\x00\x68\x00\x6e" 81 "\x00\x78\x00\x64\x00\x66\x00\x76\x00\x65\x00\x72\x00\x66\x00\x63" 82 "\x00\x78\x00\x73\x00\x72\x00\x64\x00\x73\x00\x77\x00\x72\x00\x74" 83 "\x00\x67\x00\x76\x00\x63\x00\x64\x00\x74\x00\x79\x00\x68\x00\x62" 84 "\x00\x76\x00\x66\x00\x79\x00\x75\x00\x6a\x00\x6e\x00\x62\x00\x67" 85 "\x00\x6f\x00\x6b\x00\x6a\x00\x75\x00\x75\x00\x69\x00\x6b\x00\x6d" 86 "\x00\x6e\x00\x68\x00\x69\x00\x6f\x00\x6c\x00\x6d\x00\x6a\x00\x6b" 87 "\x00\x6f\x00\x70\x00\x6e\x00\x6a\x00\x6b\x00\x62\x00\x68\x00\x6a" 88 "\x00\x6d\x00\x70\x00\x6c\x00\x6b\x00\x69\x00\x6c\x00\x6f\x00\x77" 89 "\x00\x61\x00\x74\x00\x66\x00\x64\x00\x65\x00\x65\x00\x64\x00\x78" 90 "\x00\x7a\x00\x61\x00\x77\x00\x79\x00\x67\x00\x66\x00\x72\x00\x69" 91 "\x00\x6a\x00\x68\x00\x79\x00\x63\x00\x66\x00\x67\x00\x62\x00\x65" 92 "\x00\x73\x00\x61\x00\x71\x00\x7a\x00\x73\x00\x64\x00\x63\x00\x75" 93 "\x00\x68\x00\x67\x00\x74\x00\x61\x00\x73\x00\x78" 94 }; 95 96 /** 97 * approxPatternEnQwertyNearUpper 98 */ 99 static const PREDEF_APPROX_PATTERN approxPatternEnQwertyNearUpper = { 100 /* size */ 101 110, 102 /* from */ 103 ( NJ_UINT8* ) 104 "\x00\x61\x00\x61\x00\x61\x00\x61\x00\x62\x00\x62\x00\x62\x00\x62" 105 "\x00\x63\x00\x63\x00\x63\x00\x63\x00\x64\x00\x64\x00\x64\x00\x64" 106 "\x00\x64\x00\x64\x00\x65\x00\x65\x00\x65\x00\x65\x00\x66\x00\x66" 107 "\x00\x66\x00\x66\x00\x66\x00\x66\x00\x67\x00\x67\x00\x67\x00\x67" 108 "\x00\x67\x00\x67\x00\x68\x00\x68\x00\x68\x00\x68\x00\x68\x00\x68" 109 "\x00\x69\x00\x69\x00\x69\x00\x69\x00\x6a\x00\x6a\x00\x6a\x00\x6a" 110 "\x00\x6a\x00\x6a\x00\x6b\x00\x6b\x00\x6b\x00\x6b\x00\x6b\x00\x6c" 111 "\x00\x6c\x00\x6c\x00\x6d\x00\x6d\x00\x6d\x00\x6e\x00\x6e\x00\x6e" 112 "\x00\x6e\x00\x6f\x00\x6f\x00\x6f\x00\x6f\x00\x70\x00\x70\x00\x71" 113 "\x00\x71\x00\x72\x00\x72\x00\x72\x00\x72\x00\x73\x00\x73\x00\x73" 114 "\x00\x73\x00\x73\x00\x73\x00\x74\x00\x74\x00\x74\x00\x74\x00\x75" 115 "\x00\x75\x00\x75\x00\x75\x00\x76\x00\x76\x00\x76\x00\x76\x00\x77" 116 "\x00\x77\x00\x77\x00\x77\x00\x78\x00\x78\x00\x78\x00\x78\x00\x79" 117 "\x00\x79\x00\x79\x00\x79\x00\x7a\x00\x7a\x00\x7a", 118 /* to */ 119 ( NJ_UINT8* ) 120 "\x00\x51\x00\x57\x00\x53\x00\x5a\x00\x56\x00\x47\x00\x48\x00\x4e" 121 "\x00\x58\x00\x44\x00\x46\x00\x56\x00\x45\x00\x52\x00\x46\x00\x43" 122 "\x00\x58\x00\x53\x00\x52\x00\x44\x00\x53\x00\x57\x00\x52\x00\x54" 123 "\x00\x47\x00\x56\x00\x43\x00\x44\x00\x54\x00\x59\x00\x48\x00\x42" 124 "\x00\x56\x00\x46\x00\x59\x00\x55\x00\x4a\x00\x4e\x00\x42\x00\x47" 125 "\x00\x4f\x00\x4b\x00\x4a\x00\x55\x00\x55\x00\x49\x00\x4b\x00\x4d" 126 "\x00\x4e\x00\x48\x00\x49\x00\x4f\x00\x4c\x00\x4d\x00\x4a\x00\x4b" 127 "\x00\x4f\x00\x50\x00\x4e\x00\x4a\x00\x4b\x00\x42\x00\x48\x00\x4a" 128 "\x00\x4d\x00\x50\x00\x4c\x00\x4b\x00\x49\x00\x4c\x00\x4f\x00\x57" 129 "\x00\x41\x00\x54\x00\x46\x00\x44\x00\x45\x00\x45\x00\x44\x00\x58" 130 "\x00\x5a\x00\x41\x00\x57\x00\x59\x00\x47\x00\x46\x00\x52\x00\x49" 131 "\x00\x4a\x00\x48\x00\x59\x00\x43\x00\x46\x00\x47\x00\x42\x00\x45" 132 "\x00\x53\x00\x41\x00\x51\x00\x5a\x00\x53\x00\x44\x00\x43\x00\x55" 133 "\x00\x48\x00\x47\x00\x54\x00\x41\x00\x53\x00\x58" 134 }; 135 136 /** 137 * approxPatternJAJP12keyNormal 138 */ 139 static const PREDEF_APPROX_PATTERN approxPatternJAJP12keyNormal = { 140 /* size */ 141 37, 142 /* from */ 143 ( NJ_UINT8* ) 144 "\x30\x42\x30\x44\x30\x46\x30\x48\x30\x4a\x30\x4b\x30\x4d\x30\x4f" 145 "\x30\x51\x30\x53\x30\x55\x30\x57\x30\x59\x30\x5b\x30\x5d\x30\x5f" 146 "\x30\x61\x30\x64\x30\x64\x30\x66\x30\x68\x30\x6f\x30\x72\x30\x75" 147 "\x30\x78\x30\x7b\x30\x6f\x30\x72\x30\x75\x30\x78\x30\x7b\x30\x84" 148 "\x30\x86\x30\x88\x30\x8f\x30\x9b\x30\x9c", 149 /* to */ 150 ( NJ_UINT8* ) 151 "\x30\x41\x30\x43\x30\x45\x30\x47\x30\x49\x30\x4c\x30\x4e\x30\x50" 152 "\x30\x52\x30\x54\x30\x56\x30\x58\x30\x5a\x30\x5c\x30\x5e\x30\x60" 153 "\x30\x62\x30\x63\x30\x65\x30\x67\x30\x69\x30\x70\x30\x73\x30\x76" 154 "\x30\x79\x30\x7c\x30\x71\x30\x74\x30\x77\x30\x7a\x30\x7d\x30\x83" 155 "\x30\x85\x30\x87\x30\x8e\x30\x9c\x30\x9b" 156 }; 157 158 /** 159 * tables 160 */ 161 static const PREDEF_APPROX_PATTERN* predefinedApproxPatterns[] = { 162 &approxPatternEnToUpper, &approxPatternEnToLower, &approxPatternEnQwertyNear, &approxPatternEnQwertyNearUpper, &approxPatternJAJP12keyNormal, NULL 163 }; 164