std::pair VoiceForSAPI::GetVoiceHexValue()

in installvoices/VoiceForSapi.cpp [92:216]


std::pair<int, std::wstring> VoiceForSAPI::GetVoiceHexValue(LanguageCode code) {
	std::wstring langText;
	int langHex;
	
	switch (code)
	{
	case LanguageCode::cy_GB:
		langHex = 0x0452;
		langText = L"452";
		break;
	case LanguageCode::da_DK:
		langHex = 0x0406;
		langText = L"406";
		break;
	case LanguageCode::de_DE:
		langHex = 0x0C07;
		langText = L"C07";
		break;
	case LanguageCode::en_AU:
		langHex = 0x0C09;
		langText = L"C09";
		break;
	case LanguageCode::en_GB:
		langHex = 0x0809;
		langText = L"809";
		break;
	case LanguageCode::en_GB_WLS: // no exact match
		langHex = 0x0809;
		langText = L"809";
		break;
	case LanguageCode::en_IN:
		langHex = 0x4009;
		langText = L"4009";
		break;
	case LanguageCode::en_US:
		langHex = 0x0409;
		langText = L"409";
		break;
	case LanguageCode::es_ES:
		langHex = 0x2C0A;
		langText = L"2C0A";
		break;
	case LanguageCode::es_US:
		langHex = 0x540A;
		langText = L"540A";
		break;
	case LanguageCode::fr_CA:
		langHex = 0x0C0C;
		langText = L"C0C";
		break;
	case LanguageCode::fr_FR:
		langHex = 0x040C;
		langText = L"40C";
		break;
	case LanguageCode::is_IS:
		langHex = 0x0404;
		langText = L"409";
		break;
	case LanguageCode::it_IT:
		langHex = 0x0410;
		langText = L"410";
		break;
	case LanguageCode::ja_JP:
		langHex = 0x0411;
		langText = L"411";
		break;
	case LanguageCode::nb_NO:
		langHex = 0x0414;
		langText = L"414";
		break;
	case LanguageCode::nl_NL:
		langHex = 0x0813;
		langText = L"813";
		break;
	case LanguageCode::pl_PL:
		langHex = 0x0415;
		langText = L"415";
		break;
	case LanguageCode::pt_BR:
		langHex = 0x0416;
		langText = L"416";
		break;
	case LanguageCode::pt_PT:
		langHex = 0x0816;
		langText = L"816";
		break;
	case LanguageCode::ro_RO:
		langHex = 0x0418;
		langText = L"418";
		break;
	case LanguageCode::ru_RU:
		langHex = 0x0419;
		langText = L"419";
		break;
	case LanguageCode::sv_SE:
		langHex = 0x081D;
		langText = L"81D";
		break;
	case LanguageCode::tr_TR:
		langHex = 0x041F;
		langText = L"41F";
		break;
	case LanguageCode::arb:
		langHex = 0x3001;
		langText = L"3001";
		break;
	case LanguageCode::cmn_CN:
		langHex = 0x804;
		langText = L"804";
		break;
	case LanguageCode::es_MX:
		langHex = 0x080A;
		langText = L"080A";
		break;
	case LanguageCode::ko_KR:
		langHex = 0x0412;
		langText = L"0412";
		break;
	default:
		std::cout << "No Language value matched,returning English" << "\n";
		langHex = 0x0409;
		langText = L"409";
	}
	return std::make_pair(langHex, langText);
}