From c41b6f0828ff0b59acb4ffc6a6aec4354bc013ff Mon Sep 17 00:00:00 2001 From: Jan Kotas Date: Tue, 27 Feb 2018 06:41:45 -0800 Subject: [PATCH] Delete left-over globalization CoreCLR tests (#16571) --- .../Common/CoreCLRTestLibrary/CalendarHelpers.cs | 91 - .../CoreCLRTestLibrary/CoreCLRTestLibrary.csproj | 3 - .../Common/CoreCLRTestLibrary/EndianessChecker.cs | 34 - tests/src/Common/CoreCLRTestLibrary/Generator.cs | 15 - .../src/Common/CoreCLRTestLibrary/GlobLocHelper.cs | 2330 -------------------- tests/src/Common/CoreCLRTestLibrary/Utilities.cs | 150 -- .../cti/system/string/StringCompare1.csproj | 40 - .../cti/system/string/StringCompare15.csproj | 40 - .../cti/system/string/StringCompare2.csproj | 40 - .../cti/system/string/stringcompare1.cs | 724 ------ .../cti/system/string/stringcompare15.cs | 408 ---- .../cti/system/string/stringcompare2.cs | 416 ---- 12 files changed, 4291 deletions(-) delete mode 100644 tests/src/Common/CoreCLRTestLibrary/CalendarHelpers.cs delete mode 100644 tests/src/Common/CoreCLRTestLibrary/EndianessChecker.cs delete mode 100644 tests/src/Common/CoreCLRTestLibrary/GlobLocHelper.cs delete mode 100644 tests/src/CoreMangLib/cti/system/string/StringCompare1.csproj delete mode 100644 tests/src/CoreMangLib/cti/system/string/StringCompare15.csproj delete mode 100644 tests/src/CoreMangLib/cti/system/string/StringCompare2.csproj delete mode 100644 tests/src/CoreMangLib/cti/system/string/stringcompare1.cs delete mode 100644 tests/src/CoreMangLib/cti/system/string/stringcompare15.cs delete mode 100644 tests/src/CoreMangLib/cti/system/string/stringcompare2.cs diff --git a/tests/src/Common/CoreCLRTestLibrary/CalendarHelpers.cs b/tests/src/Common/CoreCLRTestLibrary/CalendarHelpers.cs deleted file mode 100644 index 8475ab6..0000000 --- a/tests/src/Common/CoreCLRTestLibrary/CalendarHelpers.cs +++ /dev/null @@ -1,91 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. -// - -using System; -using System.Globalization; - -public static class CalendarGet -{ - public static Calendar GregorianCalendar(GregorianCalendarTypes Type) - { - CultureInfo ci = null; - - switch (Type) - { - case GregorianCalendarTypes.Arabic: - ci = new CultureInfo("ar-SA"); - return ci.OptionalCalendars[4]; - case GregorianCalendarTypes.Localized: - ci = new CultureInfo("ar-IQ"); - return ci.OptionalCalendars[0]; - case GregorianCalendarTypes.MiddleEastFrench: - ci = new CultureInfo("ar-IQ"); - return ci.OptionalCalendars[4]; - case GregorianCalendarTypes.TransliteratedEnglish: - ci = new CultureInfo("ar-IQ"); - return ci.OptionalCalendars[5]; - case GregorianCalendarTypes.TransliteratedFrench: - ci = new CultureInfo("ar-IQ"); - return ci.OptionalCalendars[6]; - case GregorianCalendarTypes.USEnglish: - ci = new CultureInfo("ar-IQ"); - return ci.OptionalCalendars[3]; - default: - throw new NotImplementedException(); - } - } - - public static Calendar JapaneseCalendar() - { - var ci = new CultureInfo("ja-JP"); - return ci.OptionalCalendars[1]; - } - - public static Calendar ThaiBuddhistCalendar() - { - var ci = new CultureInfo("th-TH"); - return ci.Calendar; - } - - public static Calendar KoreanCalendar() - { - var ci = new System.Globalization.CultureInfo("ko-KR"); - return ci.OptionalCalendars[1]; - } - - public static Calendar GregorianCalendar() - { - var ci = new System.Globalization.CultureInfo("en-US"); - return ci.Calendar; - } - - public static Calendar TaiwanCalendar() - { - var ci = new System.Globalization.CultureInfo("zh-TW"); - return ci.OptionalCalendars[1]; - } - - public static Calendar HebrewCalendar() - { - var ci = new System.Globalization.CultureInfo("he-IL"); - return ci.OptionalCalendars[1]; - } - - public static Calendar HijriCalendar() - { - var ci = new System.Globalization.CultureInfo("ar-SA"); - return ci.OptionalCalendars[1]; - } -} - -public enum GregorianCalendarTypes -{ - Arabic, - USEnglish, - Localized, - MiddleEastFrench, - TransliteratedEnglish, - TransliteratedFrench, -} diff --git a/tests/src/Common/CoreCLRTestLibrary/CoreCLRTestLibrary.csproj b/tests/src/Common/CoreCLRTestLibrary/CoreCLRTestLibrary.csproj index e1af919..39ce217 100644 --- a/tests/src/Common/CoreCLRTestLibrary/CoreCLRTestLibrary.csproj +++ b/tests/src/Common/CoreCLRTestLibrary/CoreCLRTestLibrary.csproj @@ -26,10 +26,7 @@ - - - diff --git a/tests/src/Common/CoreCLRTestLibrary/EndianessChecker.cs b/tests/src/Common/CoreCLRTestLibrary/EndianessChecker.cs deleted file mode 100644 index 19aa883..0000000 --- a/tests/src/Common/CoreCLRTestLibrary/EndianessChecker.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. -// - -using System.Runtime.InteropServices; - -namespace TestLibrary -{ - [StructLayout(LayoutKind.Explicit)] - public struct EndianessChecker - { - [FieldOffset(3)] - byte myByte; - [FieldOffset(0)] - int myInt; - - public static bool IsBigEndian() - { - EndianessChecker check = new EndianessChecker(); - - check.myByte = 1; - return (check.myInt == 1); - } - - public static bool IsLittleEndian() - { - EndianessChecker check = new EndianessChecker(); - - check.myByte = 1; - return (check.myInt == 16777216); - } - } -} diff --git a/tests/src/Common/CoreCLRTestLibrary/Generator.cs b/tests/src/Common/CoreCLRTestLibrary/Generator.cs index bfb1cc5..666ce5b 100644 --- a/tests/src/Common/CoreCLRTestLibrary/Generator.cs +++ b/tests/src/Common/CoreCLRTestLibrary/Generator.cs @@ -320,21 +320,6 @@ namespace TestLibrary return c; } - // if value is no-weight char, return true - public static bool NoWeightChar(int value) - { - if ((int)'a' == value) // 'a' = 97 - return false; - - String strA = "a" + Convert.ToChar(value); - String strB = "a"; - - if (0 == GlobLocHelper.OSCompare(CultureInfo.CurrentCulture, strA, 0, 2, strB, 0, 1, CompareOptions.None)) - return true; - - return false; - } - // returns a string. If "validPath" is set, only valid path characters // will be included public static string GetString(Int32 new_seed, Boolean validPath, Int32 minLength, Int32 maxLength) diff --git a/tests/src/Common/CoreCLRTestLibrary/GlobLocHelper.cs b/tests/src/Common/CoreCLRTestLibrary/GlobLocHelper.cs deleted file mode 100644 index 50883ce..0000000 --- a/tests/src/Common/CoreCLRTestLibrary/GlobLocHelper.cs +++ /dev/null @@ -1,2330 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. -// - -using System; -using System.Text; -using System.Security; -using System.Threading; -using System.Reflection; -using System.Globalization; -using System.Collections.Generic; -using System.Runtime.InteropServices; - -namespace TestLibrary -{ -#if !FEATURE_NOPINVOKES - public static class GlobLocHelper - { - #region OS Interop - - #region Windows P/Invokes - [DllImport("api-ms-win-core-string-l1-1-0.dll")] - private extern static int CompareStringW(int lcid, int flags, [MarshalAs(UnmanagedType.LPWStr)] string str1, int length1, [MarshalAs(UnmanagedType.LPWStr)]string str2, int length2); - - [DllImportAttribute("api-ms-win-core-string-l1-1-0.dll")] - public static extern int CompareStringEx([MarshalAs(UnmanagedType.LPWStr)]string lpLocaleName, int dwCmpFlags, [MarshalAs(UnmanagedType.LPWStr)]string lpString1, int cchCount1, [MarshalAs(UnmanagedType.LPWStr)] string lpString2, int cchCount2, System.IntPtr lpVersionInformation, System.IntPtr lpReserved, IntPtr lParam); - - [DllImportAttribute("api-ms-win-core-string-l1-1-0.dll")] - public static extern int CompareStringOrdinal([MarshalAs(UnmanagedType.LPWStr)]string lpString1, int cchCount1, [MarshalAs(UnmanagedType.LPWStr)] string lpString2, int cchCount2, bool bIgnoreCase); - - [DllImport("api-ms-win-core-localization-l1-2-0.dll")] - private extern static int LCMapStringW(int lcid, int flags, [MarshalAs(UnmanagedType.LPWStr)] string str1, int length1, [MarshalAs(UnmanagedType.LPWStr)] string str2, int length2); - - [DllImport("api-ms-win-core-localization-l1-2-0.dll")] - private extern static int LCMapStringEx([MarshalAs(UnmanagedType.LPWStr)]string lpLocaleName, int dwMapFlags, [MarshalAs(UnmanagedType.LPWStr)] string lpSrcStr, int cchSrc, [MarshalAs(UnmanagedType.LPWStr)] string lpDestStr, int cchDest, System.IntPtr lpVersionInformation, System.IntPtr lpReserved, IntPtr lParam); - - [DllImport("api-ms-win-core-datetime-l1-1-0.dll", CharSet = CharSet.Unicode)] - static extern int GetDateFormatW(uint locale, uint dwFlags, ref SystemTime date, string format, StringBuilder sb, int sbSize); - - [DllImport("api-ms-win-core-datetime-l1-1-0.dll", CharSet = CharSet.Unicode)] - static extern int GetTimeFormatW(uint locale, uint dwFlags, ref SystemTime time, string format, StringBuilder sb, int sbSize); - - [DllImport("api-ms-win-core-localization-l1-2-0.dll", EntryPoint = "GetLocaleInfoW", CharSet = CharSet.Unicode)] - static extern int GetLocaleInfo(uint Locale, uint LCType, - [Out] StringBuilder lpLCData, int cchData); - - public delegate bool DateTimeFormatDelegate(string infoStr); - - [DllImport("api-ms-win-core-errorhandling-l1-1-0.dll")] - static extern int GetLastError(); - #endregion - - #region Interop Structs - - internal struct CFRange - { -#if X86 - internal int x; - internal int y; -#else - internal long x; - internal long y; -#endif - -#if X86 - public CFRange(int a, int b) -#else - public CFRange(long a, long b) -#endif - { - x = a; y = b; - } - } - - [StructLayout(LayoutKind.Sequential)] - public struct SystemTime - { - [MarshalAs(UnmanagedType.U2)] - public ushort Year; - [MarshalAs(UnmanagedType.U2)] - public ushort Month; - [MarshalAs(UnmanagedType.U2)] - public ushort DayOfWeek; - [MarshalAs(UnmanagedType.U2)] - public ushort Day; - [MarshalAs(UnmanagedType.U2)] - public ushort Hour; - [MarshalAs(UnmanagedType.U2)] - public ushort Minute; - [MarshalAs(UnmanagedType.U2)] - public ushort Second; - [MarshalAs(UnmanagedType.U2)] - public ushort Millisecond; - - public SystemTime(DateTime dt) - { - Year = (ushort)dt.Year; - Month = (ushort)dt.Month; - DayOfWeek = (ushort)dt.DayOfWeek; - Day = (ushort)dt.Day; - Hour = (ushort)dt.Hour; - Minute = (ushort)dt.Minute; - Second = (ushort)dt.Second; - Millisecond = (ushort)dt.Millisecond; - } - } - #endregion - - #region Constants, Enums, and Constant-Retrieving Methods - [SecuritySafeCritical] - private static unsafe IntPtr GetCFFunction(string input) - { -#if REMOVE - string bundleName = "com.apple.CoreFoundation"; - IntPtr cfBundleName = CFStringCreateWithCharacters(IntPtr.Zero, bundleName, bundleName.Length); - IntPtr cfDataName = CFStringCreateWithCharacters(IntPtr.Zero, input, input.Length); - - IntPtr cfBundle = CFBundleGetBundleWithIdentifier(cfBundleName); - IntPtr ret = (IntPtr)(CFBundleGetFunctionPointerForName(cfBundle, cfDataName)); - - // cfBundle can't be released within this function because we don't "own it". Release it may cause memory corruption. - // http://developer.apple.com/documentation/CoreFoundation/Conceptual/CFMemoryMgmt/Concepts/Ownership.html#//apple_ref/doc/uid/20001148-SW1 - - if (cfBundleName != IntPtr.Zero) - CFRelease(cfBundleName); - - if (cfDataName != IntPtr.Zero) - CFRelease(cfDataName); - - return ret; -#else - throw new NotImplementedException(); -#endif - } - [SecuritySafeCritical] - private static unsafe IntPtr GetCFString(string input) - { -#if TEMP - string bundleName = "com.apple.CoreFoundation"; - IntPtr cfBundleName = CFStringCreateWithCharacters(IntPtr.Zero, bundleName, bundleName.Length); - IntPtr cfDataName = CFStringCreateWithCharacters(IntPtr.Zero, input, input.Length); - - IntPtr cfBundle = CFBundleGetBundleWithIdentifier(cfBundleName); -#if X86 - IntPtr ret = (IntPtr)(*(int*)(CFBundleGetDataPointerForName(cfBundle, cfDataName))); -#else - long ptr = *((long*)(CFBundleGetDataPointerForName(cfBundle, cfDataName))); - IntPtr ret = new IntPtr(ptr); -#endif //X86 - - // cfBundle can't be released within this function because we don't "own it". Release it may cause memory corruption. - // http://developer.apple.com/documentation/CoreFoundation/Conceptual/CFMemoryMgmt/Concepts/Ownership.html#//apple_ref/doc/uid/20001148-SW1 - - if (cfBundleName != IntPtr.Zero) - CFRelease(cfBundleName); - - if (cfDataName != IntPtr.Zero) - CFRelease(cfDataName); - - return ret; -#else - throw new NotImplementedException(); -#endif - } - - private const int NORM_IGNORECASE = 0x00000001; // Ignores case. - private const int NORM_IGNOREKANATYPE = 0x00010000; // Does not differentiate between Hiragana and Katakana characters. Corresponding Hiragana and Katakana will compare as equal. - private const int NORM_IGNORENONSPACE = 0x00000002; // Ignores nonspacing. This flag also removes Japanese accent characters. - private const int NORM_IGNORESYMBOLS = 0x00000004; // Ignores symbols. - private const int NORM_IGNOREWIDTH = 0x00020000; // Does not differentiate between a single-byte character and the same character as a double-byte character. - private const int NORM_LINGUISTIC_CASING = 0x08000000; // for Ordinal comparison - private const int SORT_STRINGSORT = 0x00001000; // Treats punctuation the same as symbols. - - private const int LCMAP_UPPERCASE = 0x00000200; - private const int LCMAP_LOWERCASE = 0x00000100; - private const int LCMAP_LINGUISTIC_CASING = 0x01000000; - - private const long WIN32_CF_TICKS_RATIO = 10000000; - private const long WIN32_CF_TICKS_DELTA = 63113904000; - - private static char[] allStandardFormats = - { - 'd', 'D', 'f', 'F', 'g', 'G', - 'm', 'M', 'o', 'O', 'r', 'R', - 's', 't', 'T', 'u', 'U', 'y', 'Y', - }; - - [Flags] - private enum CFStringNormalizationForm - { - kCFStringNormalizationFormD = 0, - kCFStringNormalizationFormKD = 1, - kCFStringNormalizationFormC = 2, - kCFStringNormalizationFormKC = 3 - }; - - [Flags] - private enum TimeFormatFlags - { - TIME_NOMINUTESORSECONDS = 1, - TIME_NOSECONDS = 2, - TIME_NOTIMEMARKER = 4, - TIME_FORCE24HOURFORMAT = 8, - TIME_LONGTIME = 0, - TIME_SHORTTIME = 2 - }; - - [Flags] - private enum DateFormatFlags - { - DATE_SHORTDATE = 1, - DATE_LONGDATE = 2, - DATE_YEARMONTH = 8 - }; - - private enum CFNumberFormatterStyle - { - kCFNumberFormatterNoStyle = 0, - kCFNumberFormatterDecimalStyle = 1, - kCFNumberFormatterCurrencyStyle = 2, - kCFNumberFormatterPercentStyle = 3, - kCFNumberFormatterScientificStyle = 4, - kCFNumberFormatterSpellOutStyle = 5 - } ; - - - [Flags] - private enum CFStringCompareFlags - { - kCFCompareCaseInsensitive = 1, - kCFCompareBackwards = 4, - kCFCompareAnchored = 8, - kCFCompareNonliteral = 16, - kCFCompareLocalized = 32, - kCFCompareNumerically = 64 - }; - - private enum CFDateFormatterStyle - { - kCFDateFormatterNoStyle = 0, - kCFDateFormatterShortStyle = 1, - kCFDateFormatterMediumStyle = 2, - kCFDateFormatterLongStyle = 3, - kCFDateFormatterFullStyle = 4 - }; - - private enum CFNumberType - { - kCFNumberSInt8Type = 1, - kCFNumberSInt16Type = 2, - kCFNumberSInt32Type = 3, - kCFNumberSInt64Type = 4, - kCFNumberFloat32Type = 5, - kCFNumberFloat64Type = 6, - kCFNumberCharType = 7, - kCFNumberShortType = 8, - kCFNumberIntType = 9, - kCFNumberLongType = 10, - kCFNumberLongLongType = 11, - kCFNumberFloatType = 12, - kCFNumberDoubleType = 13, - kCFNumberCFIndexType = 14, - kCFNumberMaxType = 14 - }; - - private static bool IsIntType(CFNumberType numType) - { - return (numType == CFNumberType.kCFNumberSInt8Type || - numType == CFNumberType.kCFNumberSInt16Type || - numType == CFNumberType.kCFNumberSInt32Type || - numType == CFNumberType.kCFNumberSInt64Type || - numType == CFNumberType.kCFNumberCharType || - numType == CFNumberType.kCFNumberShortType || - numType == CFNumberType.kCFNumberIntType || - numType == CFNumberType.kCFNumberLongType || - numType == CFNumberType.kCFNumberLongLongType); - } - - private enum LCType - { - LOCALE_SENGLANGUAGE = 0x00001001, /* English name of language */ - LOCALE_SABBREVLANGNAME = 0x00000003, /* abbreviated language name */ - LOCALE_SNATIVELANGNAME = 0x00000004, /* native name of language */ - - LOCALE_SENGCOUNTRY = 0x00001002, /* English name of country */ - LOCALE_SABBREVCTRYNAME = 0x00000007, /* abbreviated country name */ - LOCALE_SNATIVECTRYNAME = 0x00000008, /* native name of country */ - - LOCALE_SLIST = 0x0000000C, /* list item separator */ - LOCALE_IMEASURE = 0x0000000D, /* 0 = metric, 1 = US */ - - LOCALE_SDECIMAL = 0x0000000E, /* decimal separator */ - LOCALE_STHOUSAND = 0x0000000F, /* thousand separator */ - LOCALE_SGROUPING = 0x00000010, /* digit grouping */ - LOCALE_IDIGITS = 0x00000011, /* number of fractional digits */ - LOCALE_ILZERO = 0x00000012, /* leading zeros for decimal */ - LOCALE_INEGNUMBER = 0x00001010, /* negative number mode */ - LOCALE_SNATIVEDIGITS = 0x00000013, /* native ascii 0-9 */ - - LOCALE_SCURRENCY = 0x00000014, /* local monetary symbol */ - LOCALE_SINTLSYMBOL = 0x00000015, /* intl monetary symbol */ - LOCALE_SMONDECIMALSEP = 0x00000016, /* monetary decimal separator */ - LOCALE_SMONTHOUSANDSEP = 0x00000017, /* monetary thousand separator */ - LOCALE_SMONGROUPING = 0x00000018, /* monetary grouping */ - LOCALE_ICURRDIGITS = 0x00000019, /* # local monetary digits */ - LOCALE_IINTLCURRDIGITS = 0x0000001A, /* # intl monetary digits */ - LOCALE_ICURRENCY = 0x0000001B, /* positive currency mode */ - LOCALE_INEGCURR = 0x0000001C, /* negative currency mode */ - - LOCALE_SPERCENT = 0x00000076, // Win7orLater-Symbol used to indicate percentage, for example, "%". - LOCALE_IPOSITIVEPERCENT = 0x00000075, // Win7orLater-Positive percentage formatting pattern for the locale. - LOCALE_INEGATIVEPERCENT = 0x00000074, // Win7orLater-Negative percentage formatting pattern for the locale. - - LOCALE_SSHORTDATE = 0x0000001F, /* short date format string */ - LOCALE_SLONGDATE = 0x00000020, /* long date format string */ - LOCALE_STIMEFORMAT = 0x00001003, /* time format string */ - LOCALE_S1159 = 0x00000028, /* AM designator */ - LOCALE_S2359 = 0x00000029, /* PM designator */ - - LOCALE_ICALENDARTYPE = 0x00001009, /* type of calendar specifier */ - LOCALE_IFIRSTDAYOFWEEK = 0x0000100C, /* first day of week specifier */ - LOCALE_IFIRSTWEEKOFYEAR = 0x0000100D, /* first week of year specifier */ - - LOCALE_SDAYNAME1 = 0x0000002A, /* long name for Monday */ - LOCALE_SDAYNAME2 = 0x0000002B, /* long name for Tuesday */ - LOCALE_SDAYNAME3 = 0x0000002C, /* long name for Wednesday */ - LOCALE_SDAYNAME4 = 0x0000002D, /* long name for Thursday */ - LOCALE_SDAYNAME5 = 0x0000002E, /* long name for Friday */ - LOCALE_SDAYNAME6 = 0x0000002F, /* long name for Saturday */ - LOCALE_SDAYNAME7 = 0x00000030, /* long name for Sunday */ - LOCALE_SABBREVDAYNAME1 = 0x00000031, /* abbreviated name for Monday */ - LOCALE_SABBREVDAYNAME2 = 0x00000032, /* abbreviated name for Tuesday */ - LOCALE_SABBREVDAYNAME3 = 0x00000033, /* abbreviated name for Wednesday */ - LOCALE_SABBREVDAYNAME4 = 0x00000034, /* abbreviated name for Thursday */ - LOCALE_SABBREVDAYNAME5 = 0x00000035, /* abbreviated name for Friday */ - LOCALE_SABBREVDAYNAME6 = 0x00000036, /* abbreviated name for Saturday */ - LOCALE_SABBREVDAYNAME7 = 0x00000037, /* abbreviated name for Sunday */ - LOCALE_SMONTHNAME1 = 0x00000038, /* long name for January */ - LOCALE_SMONTHNAME2 = 0x00000039, /* long name for February */ - LOCALE_SMONTHNAME3 = 0x0000003A, /* long name for March */ - LOCALE_SMONTHNAME4 = 0x0000003B, /* long name for April */ - LOCALE_SMONTHNAME5 = 0x0000003C, /* long name for May */ - LOCALE_SMONTHNAME6 = 0x0000003D, /* long name for June */ - LOCALE_SMONTHNAME7 = 0x0000003E, /* long name for July */ - LOCALE_SMONTHNAME8 = 0x0000003F, /* long name for August */ - LOCALE_SMONTHNAME9 = 0x00000040, /* long name for September */ - LOCALE_SMONTHNAME10 = 0x00000041, /* long name for October */ - LOCALE_SMONTHNAME11 = 0x00000042, /* long name for November */ - LOCALE_SMONTHNAME12 = 0x00000043, /* long name for December */ - LOCALE_SMONTHNAME13 = 0x0000100E, /* long name for 13th month (if exists) */ - LOCALE_SABBREVMONTHNAME1 = 0x00000044, /* abbreviated name for January */ - LOCALE_SABBREVMONTHNAME2 = 0x00000045, /* abbreviated name for February */ - LOCALE_SABBREVMONTHNAME3 = 0x00000046, /* abbreviated name for March */ - LOCALE_SABBREVMONTHNAME4 = 0x00000047, /* abbreviated name for April */ - LOCALE_SABBREVMONTHNAME5 = 0x00000048, /* abbreviated name for May */ - LOCALE_SABBREVMONTHNAME6 = 0x00000049, /* abbreviated name for June */ - LOCALE_SABBREVMONTHNAME7 = 0x0000004A, /* abbreviated name for July */ - LOCALE_SABBREVMONTHNAME8 = 0x0000004B, /* abbreviated name for August */ - LOCALE_SABBREVMONTHNAME9 = 0x0000004C, /* abbreviated name for September */ - LOCALE_SABBREVMONTHNAME10 = 0x0000004D, /* abbreviated name for October */ - LOCALE_SABBREVMONTHNAME11 = 0x0000004E, /* abbreviated name for November */ - LOCALE_SABBREVMONTHNAME12 = 0x0000004F, /* abbreviated name for December */ - LOCALE_SABBREVMONTHNAME13 = 0x0000100F, /* abbreviated name for 13th month (if exists) */ - - LOCALE_SPOSITIVESIGN = 0x00000050, /* positive sign */ - LOCALE_SNEGATIVESIGN = 0x00000051, /* negative sign */ - - LOCALE_FONTSIGNATURE = 0x00000058, /* font signature */ - LOCALE_SISO639LANGNAME = 0x00000059, /* ISO abbreviated language name */ - LOCALE_SISO3166CTRYNAME = 0x0000005A, /* ISO abbreviated country name */ - - LOCALE_SENGCURRNAME = 0x00001007, /* english name of currency */ - LOCALE_SNATIVECURRNAME = 0x00001008, /* native name of currency */ - LOCALE_SYEARMONTH = 0x00001006, /* year month format string */ - LOCALE_IDIGITSUBSTITUTION = 0x00001014, /* 0 = context, 1 = none, 2 = national */ - - LOCALE_SNAME = 0x0000005C /* locale name [-