Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetLocaleDataNumericPart()

static int System.Globalization.IcuLocaleData.GetLocaleDataNumericPart ( string cultureName,
IcuLocaleDataParts part )
inlinestaticpackage

Definition at line 1746 of file IcuLocaleData.cs.

1747 {
1748 int num = SearchCultureName(cultureName);
1749 if (num < 0)
1750 {
1751 return -1;
1752 }
1753 ReadOnlySpan<byte> readOnlySpan = NameIndexToNumericData.Slice(num * 18, 18);
1754 return part switch
1755 {
1756 IcuLocaleDataParts.Lcid => readOnlySpan[2] | (readOnlySpan[1] << 8) | (readOnlySpan[0] << 16),
1757 IcuLocaleDataParts.AnsiCodePage => ((readOnlySpan[4] & 0xF0) >> 4) | ((readOnlySpan[3] & 0xFF) << 4),
1758 IcuLocaleDataParts.OemCodePage => readOnlySpan[5] | ((readOnlySpan[4] & 0xF) << 8),
1759 IcuLocaleDataParts.MacCodePage => readOnlySpan[7] | (readOnlySpan[6] << 8),
1760 IcuLocaleDataParts.EbcdicCodePage => readOnlySpan[9] | (readOnlySpan[8] << 8),
1761 IcuLocaleDataParts.GeoId => readOnlySpan[13] | (readOnlySpan[12] << 8) | (readOnlySpan[11] << 16) | (readOnlySpan[10] << 24),
1762 IcuLocaleDataParts.DigitSubstitutionOrListSeparator => ResolveDigitListSeparator(readOnlySpan[14]),
1763 IcuLocaleDataParts.SpecificLocaleIndex => ResolveIndex(((readOnlySpan[16] & 0xF0) >> 4) | ((readOnlySpan[15] & 0xFF) << 4)),
1764 IcuLocaleDataParts.ConsoleLocaleIndex => ResolveIndex(readOnlySpan[17] | ((readOnlySpan[16] & 0xF) << 8)),
1765 _ => -1,
1766 };
1767 static int ResolveDigitListSeparator(int value)
1768 {
1769 return ((value & 0xF0) << 12) | (value & 0xF);
1770 }
1771 static int ResolveIndex(int value)
1772 {
1773 if (value != 4095)
1774 {
1775 return value;
1776 }
1777 return -1;
1778 }
1779 }
static int SearchCultureName(string name)
static ReadOnlySpan< byte > NameIndexToNumericData

References System.Globalization.IcuLocaleData.NameIndexToNumericData, System.Globalization.IcuLocaleData.SearchCultureName(), and System.value.

Referenced by System.Globalization.IcuLocaleData.GetLocaleDataMappedCulture(), System.Globalization.CultureData.IcuGetDigitSubstitution(), System.Globalization.CultureData.IcuGetGeoId(), System.Globalization.CultureData.IcuGetListSeparator(), and System.Globalization.CultureData.IcuLocaleNameToLCID().