rowcolumn_diacritics_helpers.c (6628B)
1 #include <stdint.h> 2 3 uint16_t diacritic_to_num(uint32_t code) 4 { 5 switch (code) { 6 case 0x305: 7 return code - 0x305 + 1; 8 case 0x30d: 9 case 0x30e: 10 return code - 0x30d + 2; 11 case 0x310: 12 return code - 0x310 + 4; 13 case 0x312: 14 return code - 0x312 + 5; 15 case 0x33d: 16 case 0x33e: 17 case 0x33f: 18 return code - 0x33d + 6; 19 case 0x346: 20 return code - 0x346 + 9; 21 case 0x34a: 22 case 0x34b: 23 case 0x34c: 24 return code - 0x34a + 10; 25 case 0x350: 26 case 0x351: 27 case 0x352: 28 return code - 0x350 + 13; 29 case 0x357: 30 return code - 0x357 + 16; 31 case 0x35b: 32 return code - 0x35b + 17; 33 case 0x363: 34 case 0x364: 35 case 0x365: 36 case 0x366: 37 case 0x367: 38 case 0x368: 39 case 0x369: 40 case 0x36a: 41 case 0x36b: 42 case 0x36c: 43 case 0x36d: 44 case 0x36e: 45 case 0x36f: 46 return code - 0x363 + 18; 47 case 0x483: 48 case 0x484: 49 case 0x485: 50 case 0x486: 51 case 0x487: 52 return code - 0x483 + 31; 53 case 0x592: 54 case 0x593: 55 case 0x594: 56 case 0x595: 57 return code - 0x592 + 36; 58 case 0x597: 59 case 0x598: 60 case 0x599: 61 return code - 0x597 + 40; 62 case 0x59c: 63 case 0x59d: 64 case 0x59e: 65 case 0x59f: 66 case 0x5a0: 67 case 0x5a1: 68 return code - 0x59c + 43; 69 case 0x5a8: 70 case 0x5a9: 71 return code - 0x5a8 + 49; 72 case 0x5ab: 73 case 0x5ac: 74 return code - 0x5ab + 51; 75 case 0x5af: 76 return code - 0x5af + 53; 77 case 0x5c4: 78 return code - 0x5c4 + 54; 79 case 0x610: 80 case 0x611: 81 case 0x612: 82 case 0x613: 83 case 0x614: 84 case 0x615: 85 case 0x616: 86 case 0x617: 87 return code - 0x610 + 55; 88 case 0x657: 89 case 0x658: 90 case 0x659: 91 case 0x65a: 92 case 0x65b: 93 return code - 0x657 + 63; 94 case 0x65d: 95 case 0x65e: 96 return code - 0x65d + 68; 97 case 0x6d6: 98 case 0x6d7: 99 case 0x6d8: 100 case 0x6d9: 101 case 0x6da: 102 case 0x6db: 103 case 0x6dc: 104 return code - 0x6d6 + 70; 105 case 0x6df: 106 case 0x6e0: 107 case 0x6e1: 108 case 0x6e2: 109 return code - 0x6df + 77; 110 case 0x6e4: 111 return code - 0x6e4 + 81; 112 case 0x6e7: 113 case 0x6e8: 114 return code - 0x6e7 + 82; 115 case 0x6eb: 116 case 0x6ec: 117 return code - 0x6eb + 84; 118 case 0x730: 119 return code - 0x730 + 86; 120 case 0x732: 121 case 0x733: 122 return code - 0x732 + 87; 123 case 0x735: 124 case 0x736: 125 return code - 0x735 + 89; 126 case 0x73a: 127 return code - 0x73a + 91; 128 case 0x73d: 129 return code - 0x73d + 92; 130 case 0x73f: 131 case 0x740: 132 case 0x741: 133 return code - 0x73f + 93; 134 case 0x743: 135 return code - 0x743 + 96; 136 case 0x745: 137 return code - 0x745 + 97; 138 case 0x747: 139 return code - 0x747 + 98; 140 case 0x749: 141 case 0x74a: 142 return code - 0x749 + 99; 143 case 0x7eb: 144 case 0x7ec: 145 case 0x7ed: 146 case 0x7ee: 147 case 0x7ef: 148 case 0x7f0: 149 case 0x7f1: 150 return code - 0x7eb + 101; 151 case 0x7f3: 152 return code - 0x7f3 + 108; 153 case 0x816: 154 case 0x817: 155 case 0x818: 156 case 0x819: 157 return code - 0x816 + 109; 158 case 0x81b: 159 case 0x81c: 160 case 0x81d: 161 case 0x81e: 162 case 0x81f: 163 case 0x820: 164 case 0x821: 165 case 0x822: 166 case 0x823: 167 return code - 0x81b + 113; 168 case 0x825: 169 case 0x826: 170 case 0x827: 171 return code - 0x825 + 122; 172 case 0x829: 173 case 0x82a: 174 case 0x82b: 175 case 0x82c: 176 case 0x82d: 177 return code - 0x829 + 125; 178 case 0x951: 179 return code - 0x951 + 130; 180 case 0x953: 181 case 0x954: 182 return code - 0x953 + 131; 183 case 0xf82: 184 case 0xf83: 185 return code - 0xf82 + 133; 186 case 0xf86: 187 case 0xf87: 188 return code - 0xf86 + 135; 189 case 0x135d: 190 case 0x135e: 191 case 0x135f: 192 return code - 0x135d + 137; 193 case 0x17dd: 194 return code - 0x17dd + 140; 195 case 0x193a: 196 return code - 0x193a + 141; 197 case 0x1a17: 198 return code - 0x1a17 + 142; 199 case 0x1a75: 200 case 0x1a76: 201 case 0x1a77: 202 case 0x1a78: 203 case 0x1a79: 204 case 0x1a7a: 205 case 0x1a7b: 206 case 0x1a7c: 207 return code - 0x1a75 + 143; 208 case 0x1b6b: 209 return code - 0x1b6b + 151; 210 case 0x1b6d: 211 case 0x1b6e: 212 case 0x1b6f: 213 case 0x1b70: 214 case 0x1b71: 215 case 0x1b72: 216 case 0x1b73: 217 return code - 0x1b6d + 152; 218 case 0x1cd0: 219 case 0x1cd1: 220 case 0x1cd2: 221 return code - 0x1cd0 + 159; 222 case 0x1cda: 223 case 0x1cdb: 224 return code - 0x1cda + 162; 225 case 0x1ce0: 226 return code - 0x1ce0 + 164; 227 case 0x1dc0: 228 case 0x1dc1: 229 return code - 0x1dc0 + 165; 230 case 0x1dc3: 231 case 0x1dc4: 232 case 0x1dc5: 233 case 0x1dc6: 234 case 0x1dc7: 235 case 0x1dc8: 236 case 0x1dc9: 237 return code - 0x1dc3 + 167; 238 case 0x1dcb: 239 case 0x1dcc: 240 return code - 0x1dcb + 174; 241 case 0x1dd1: 242 case 0x1dd2: 243 case 0x1dd3: 244 case 0x1dd4: 245 case 0x1dd5: 246 case 0x1dd6: 247 case 0x1dd7: 248 case 0x1dd8: 249 case 0x1dd9: 250 case 0x1dda: 251 case 0x1ddb: 252 case 0x1ddc: 253 case 0x1ddd: 254 case 0x1dde: 255 case 0x1ddf: 256 case 0x1de0: 257 case 0x1de1: 258 case 0x1de2: 259 case 0x1de3: 260 case 0x1de4: 261 case 0x1de5: 262 case 0x1de6: 263 return code - 0x1dd1 + 176; 264 case 0x1dfe: 265 return code - 0x1dfe + 198; 266 case 0x20d0: 267 case 0x20d1: 268 return code - 0x20d0 + 199; 269 case 0x20d4: 270 case 0x20d5: 271 case 0x20d6: 272 case 0x20d7: 273 return code - 0x20d4 + 201; 274 case 0x20db: 275 case 0x20dc: 276 return code - 0x20db + 205; 277 case 0x20e1: 278 return code - 0x20e1 + 207; 279 case 0x20e7: 280 return code - 0x20e7 + 208; 281 case 0x20e9: 282 return code - 0x20e9 + 209; 283 case 0x20f0: 284 return code - 0x20f0 + 210; 285 case 0x2cef: 286 case 0x2cf0: 287 case 0x2cf1: 288 return code - 0x2cef + 211; 289 case 0x2de0: 290 case 0x2de1: 291 case 0x2de2: 292 case 0x2de3: 293 case 0x2de4: 294 case 0x2de5: 295 case 0x2de6: 296 case 0x2de7: 297 case 0x2de8: 298 case 0x2de9: 299 case 0x2dea: 300 case 0x2deb: 301 case 0x2dec: 302 case 0x2ded: 303 case 0x2dee: 304 case 0x2def: 305 case 0x2df0: 306 case 0x2df1: 307 case 0x2df2: 308 case 0x2df3: 309 case 0x2df4: 310 case 0x2df5: 311 case 0x2df6: 312 case 0x2df7: 313 case 0x2df8: 314 case 0x2df9: 315 case 0x2dfa: 316 case 0x2dfb: 317 case 0x2dfc: 318 case 0x2dfd: 319 case 0x2dfe: 320 case 0x2dff: 321 return code - 0x2de0 + 214; 322 case 0xa66f: 323 return code - 0xa66f + 246; 324 case 0xa67c: 325 case 0xa67d: 326 return code - 0xa67c + 247; 327 case 0xa6f0: 328 case 0xa6f1: 329 return code - 0xa6f0 + 249; 330 case 0xa8e0: 331 case 0xa8e1: 332 case 0xa8e2: 333 case 0xa8e3: 334 case 0xa8e4: 335 case 0xa8e5: 336 case 0xa8e6: 337 case 0xa8e7: 338 case 0xa8e8: 339 case 0xa8e9: 340 case 0xa8ea: 341 case 0xa8eb: 342 case 0xa8ec: 343 case 0xa8ed: 344 case 0xa8ee: 345 case 0xa8ef: 346 case 0xa8f0: 347 case 0xa8f1: 348 return code - 0xa8e0 + 251; 349 case 0xaab0: 350 return code - 0xaab0 + 269; 351 case 0xaab2: 352 case 0xaab3: 353 return code - 0xaab2 + 270; 354 case 0xaab7: 355 case 0xaab8: 356 return code - 0xaab7 + 272; 357 case 0xaabe: 358 case 0xaabf: 359 return code - 0xaabe + 274; 360 case 0xaac1: 361 return code - 0xaac1 + 276; 362 case 0xfe20: 363 case 0xfe21: 364 case 0xfe22: 365 case 0xfe23: 366 case 0xfe24: 367 case 0xfe25: 368 case 0xfe26: 369 return code - 0xfe20 + 277; 370 case 0x10a0f: 371 return code - 0x10a0f + 284; 372 case 0x10a38: 373 return code - 0x10a38 + 285; 374 case 0x1d185: 375 case 0x1d186: 376 case 0x1d187: 377 case 0x1d188: 378 case 0x1d189: 379 return code - 0x1d185 + 286; 380 case 0x1d1aa: 381 case 0x1d1ab: 382 case 0x1d1ac: 383 case 0x1d1ad: 384 return code - 0x1d1aa + 291; 385 case 0x1d242: 386 case 0x1d243: 387 case 0x1d244: 388 return code - 0x1d242 + 295; 389 } 390 return 0; 391 }