// Unicode data, built from the Unicode Standard 17.0.0
// Code generated by wcwidth.py, DO NOT EDIT.

#include "data-types.h"

START_ALLOW_CASE_RANGE

int diacritic_to_num(char_type code) {
	switch (code) {
		case 0x305 ... 0x306:
		return code - 0x305 + 1;
		case 0x30d ... 0x30f:
		return code - 0x30d + 2;
		case 0x310 ... 0x311:
		return code - 0x310 + 4;
		case 0x312 ... 0x313:
		return code - 0x312 + 5;
		case 0x33d ... 0x340:
		return code - 0x33d + 6;
		case 0x346 ... 0x347:
		return code - 0x346 + 9;
		case 0x34a ... 0x34d:
		return code - 0x34a + 10;
		case 0x350 ... 0x353:
		return code - 0x350 + 13;
		case 0x357 ... 0x358:
		return code - 0x357 + 16;
		case 0x35b ... 0x35c:
		return code - 0x35b + 17;
		case 0x363 ... 0x370:
		return code - 0x363 + 18;
		case 0x483 ... 0x488:
		return code - 0x483 + 31;
		case 0x592 ... 0x596:
		return code - 0x592 + 36;
		case 0x597 ... 0x59a:
		return code - 0x597 + 40;
		case 0x59c ... 0x5a2:
		return code - 0x59c + 43;
		case 0x5a8 ... 0x5aa:
		return code - 0x5a8 + 49;
		case 0x5ab ... 0x5ad:
		return code - 0x5ab + 51;
		case 0x5af ... 0x5b0:
		return code - 0x5af + 53;
		case 0x5c4 ... 0x5c5:
		return code - 0x5c4 + 54;
		case 0x610 ... 0x618:
		return code - 0x610 + 55;
		case 0x657 ... 0x65c:
		return code - 0x657 + 63;
		case 0x65d ... 0x65f:
		return code - 0x65d + 68;
		case 0x6d6 ... 0x6dd:
		return code - 0x6d6 + 70;
		case 0x6df ... 0x6e3:
		return code - 0x6df + 77;
		case 0x6e4 ... 0x6e5:
		return code - 0x6e4 + 81;
		case 0x6e7 ... 0x6e9:
		return code - 0x6e7 + 82;
		case 0x6eb ... 0x6ed:
		return code - 0x6eb + 84;
		case 0x730 ... 0x731:
		return code - 0x730 + 86;
		case 0x732 ... 0x734:
		return code - 0x732 + 87;
		case 0x735 ... 0x737:
		return code - 0x735 + 89;
		case 0x73a ... 0x73b:
		return code - 0x73a + 91;
		case 0x73d ... 0x73e:
		return code - 0x73d + 92;
		case 0x73f ... 0x742:
		return code - 0x73f + 93;
		case 0x743 ... 0x744:
		return code - 0x743 + 96;
		case 0x745 ... 0x746:
		return code - 0x745 + 97;
		case 0x747 ... 0x748:
		return code - 0x747 + 98;
		case 0x749 ... 0x74b:
		return code - 0x749 + 99;
		case 0x7eb ... 0x7f2:
		return code - 0x7eb + 101;
		case 0x7f3 ... 0x7f4:
		return code - 0x7f3 + 108;
		case 0x816 ... 0x81a:
		return code - 0x816 + 109;
		case 0x81b ... 0x824:
		return code - 0x81b + 113;
		case 0x825 ... 0x828:
		return code - 0x825 + 122;
		case 0x829 ... 0x82e:
		return code - 0x829 + 125;
		case 0x951 ... 0x952:
		return code - 0x951 + 130;
		case 0x953 ... 0x955:
		return code - 0x953 + 131;
		case 0xf82 ... 0xf84:
		return code - 0xf82 + 133;
		case 0xf86 ... 0xf88:
		return code - 0xf86 + 135;
		case 0x135d ... 0x1360:
		return code - 0x135d + 137;
		case 0x17dd ... 0x17de:
		return code - 0x17dd + 140;
		case 0x193a ... 0x193b:
		return code - 0x193a + 141;
		case 0x1a17 ... 0x1a18:
		return code - 0x1a17 + 142;
		case 0x1a75 ... 0x1a7d:
		return code - 0x1a75 + 143;
		case 0x1b6b ... 0x1b6c:
		return code - 0x1b6b + 151;
		case 0x1b6d ... 0x1b74:
		return code - 0x1b6d + 152;
		case 0x1cd0 ... 0x1cd3:
		return code - 0x1cd0 + 159;
		case 0x1cda ... 0x1cdc:
		return code - 0x1cda + 162;
		case 0x1ce0 ... 0x1ce1:
		return code - 0x1ce0 + 164;
		case 0x1dc0 ... 0x1dc2:
		return code - 0x1dc0 + 165;
		case 0x1dc3 ... 0x1dca:
		return code - 0x1dc3 + 167;
		case 0x1dcb ... 0x1dcd:
		return code - 0x1dcb + 174;
		case 0x1dd1 ... 0x1de7:
		return code - 0x1dd1 + 176;
		case 0x1dfe ... 0x1dff:
		return code - 0x1dfe + 198;
		case 0x20d0 ... 0x20d2:
		return code - 0x20d0 + 199;
		case 0x20d4 ... 0x20d8:
		return code - 0x20d4 + 201;
		case 0x20db ... 0x20dd:
		return code - 0x20db + 205;
		case 0x20e1 ... 0x20e2:
		return code - 0x20e1 + 207;
		case 0x20e7 ... 0x20e8:
		return code - 0x20e7 + 208;
		case 0x20e9 ... 0x20ea:
		return code - 0x20e9 + 209;
		case 0x20f0 ... 0x20f1:
		return code - 0x20f0 + 210;
		case 0x2cef ... 0x2cf2:
		return code - 0x2cef + 211;
		case 0x2de0 ... 0x2e00:
		return code - 0x2de0 + 214;
		case 0xa66f ... 0xa670:
		return code - 0xa66f + 246;
		case 0xa67c ... 0xa67e:
		return code - 0xa67c + 247;
		case 0xa6f0 ... 0xa6f2:
		return code - 0xa6f0 + 249;
		case 0xa8e0 ... 0xa8f2:
		return code - 0xa8e0 + 251;
		case 0xaab0 ... 0xaab1:
		return code - 0xaab0 + 269;
		case 0xaab2 ... 0xaab4:
		return code - 0xaab2 + 270;
		case 0xaab7 ... 0xaab9:
		return code - 0xaab7 + 272;
		case 0xaabe ... 0xaac0:
		return code - 0xaabe + 274;
		case 0xaac1 ... 0xaac2:
		return code - 0xaac1 + 276;
		case 0xfe20 ... 0xfe27:
		return code - 0xfe20 + 277;
		case 0x10a0f ... 0x10a10:
		return code - 0x10a0f + 284;
		case 0x10a38 ... 0x10a39:
		return code - 0x10a38 + 285;
		case 0x1d185 ... 0x1d18a:
		return code - 0x1d185 + 286;
		case 0x1d1aa ... 0x1d1ae:
		return code - 0x1d1aa + 291;
		case 0x1d242 ... 0x1d245:
		return code - 0x1d242 + 295;
	}
	return 0;
}

END_ALLOW_CASE_RANGE
