sucklessConfigs

configurations of the suckless.org software that I use
Log | Files | Refs

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 }