CAL_ICALINTVALUE
An integer value indicating the calendar type of the alternate calendar.
CAL_IYEAROFFSETRANGE
One or more null-terminated strings that specify the year offsets for each of the era ranges. The last string has an extra terminating null character.
CAL_SABBREVDAYNAME1
Abbreviated native name of the first day of the week.
CAL_SABBREVDAYNAME2
Abbreviated native name of the second day of the week.
CAL_SABBREVDAYNAME3
Abbreviated native name of the third day of the week.
CAL_SABBREVDAYNAME4
Abbreviated native name of the fourth day of the week.
CAL_SABBREVDAYNAME5
Abbreviated native name of the fifth day of the week.
CAL_SABBREVDAYNAME6
Abbreviated native name of the sixth day of the week.
CAL_SABBREVDAYNAME7
Abbreviated native name of the seventh day of the week.
CAL_SABBREVMONTHNAME1
Abbreviated native name of the first month of the year.
CAL_SABBREVMONTHNAME2
Abbreviated native name of the second month of the year.
CAL_SABBREVMONTHNAME3
Abbreviated native name of the third month of the year.
CAL_SABBREVMONTHNAME4
Abbreviated native name of the fourth month of the year.
CAL_SABBREVMONTHNAME5
Abbreviated native name of the fifth month of the year.
CAL_SABBREVMONTHNAME6
Abbreviated native name of the sixth month of the year.
CAL_SABBREVMONTHNAME7
Abbreviated native name of the seventh month of the year.
CAL_SABBREVMONTHNAME8
Abbreviated native name of the eighth month of the year.
CAL_SABBREVMONTHNAME9
Abbreviated native name of the ninth month of the year.
CAL_SABBREVMONTHNAME10
Abbreviated native name of the tenth month of the year.
CAL_SABBREVMONTHNAME11
Abbreviated native name of the eleventh month of the year.
CAL_SABBREVMONTHNAME12
Abbreviated native name of the twelfth month of the year.
CAL_SABBREVMONTHNAME13
Abbreviated native name of the thirteenth month of the year, if it exists.
CAL_SCALNAME
The native name of the alternate calendar.
CAL_SDAYNAME1
Native name of the first day of the week.
CAL_SDAYNAME2
Native name of the second day of the week.
CAL_SDAYNAME3
Native name of the third day of the week.
CAL_SDAYNAME4
Native name of the fourth day of the week.
CAL_SDAYNAME5
Native name of the fifth day of the week.
CAL_SDAYNAME6
Native name of the sixth day of the week.
CAL_SDAYNAME7
Native name of the seventh day of the week.
CAL_SERASTRING
One or more null-terminated strings that specify each of the Unicode codepoints specifying the era associated with the given CAL_IYEAROFFSETRANGE. The last string has an extra terminating null character. See example below.
CAL_SLONGDATE
Long date formats for this calendar type.
CAL_SMONTHNAME1
Native name of the first month of the year.
CAL_SMONTHNAME2
Native name of the second month of the year.
CAL_SMONTHNAME3
Native name of the fifth month of the year.
CAL_SMONTHNAME4
Native name of the fourth month of the year.
CAL_SMONTHNAME5
Native name of the fifth month of the year.
CAL_SMONTHNAME6
Native name of the sixth month of the year.
CAL_SMONTHNAME7
Native name of the seventh month of the year.
CAL_SMONTHNAME8
Native name of the eighth month of the year.
CAL_SMONTHNAME9
Native name of the ninth month of the year.
CAL_SMONTHNAME10
Native name of the tenth month of the year.
CAL_SMONTHNAME11
Native name of the eleventh month of the year.
CAL_SMONTHNAME12
Native name of the twelfth month of the year.
CAL_SMONTHNAME13
Native name of the thirteenth month of the year, if it exists.
CAL_SSHORTDATE
Short date formats for this calendar type.
If the native name for the day of the week or for a month is an empty string, that name is identical to the name given in the corresponding locale information and therefore is not duplicated here.
The CAL_IYEAROFFSETRANGE and CAL_SERASTRING values vary in format depending on the type of optional calendar. The following example shows the values for these types (for each supported alternate calendar type) along with the formula for how to use the CAL_IYEAROFFSETRANGE value to compute the correct year given the Gregorian current year value Y:
CAL_ICALINTVALUE = "1"
CAL_IYEAROFFSETRANGE = ""
CAL_SERASTRING = ""
CAL_ICALINTVALUE = "2"
CAL_IYEAROFFSETRANGE = ""
CAL_SERASTRING = ""
CAL_ICALINTVALUE = "3"
CAL_IYEAROFFSETRANGE = "1989\01926\01912\01868\0"
CAL_SERASTRING = "Ux337B\0Ux337C\0Ux337D\0Ux337E\0"
if (Y>=1989) { Y = (Y-1989)+1; }
if (Y>=1926 && Y<1989) { Y = (Y-1926)+1; }
if (Y>=1912 && Y<1926) { Y = (Y-1912)+1; }
if (Y>=1868 && Y<1912) { Y = (Y-1868)+1; }
if (Y<1868) { Y = Y; }
CAL_ICALINTVALUE = "4"
CAL_IYEAROFFSETRANGE = "1912\0"
CAL_SERASTRING = "Ux4E2D\0Ux83EF\0Ux6C11\0Ux570B\0"
if (Y>=1912) { Y = (Y-1912)+1; }
if (Y<1912) { Y = Y; }
CAL_ICALINTVALUE = "5"
CAL_IYEAROFFSETRANGE = "2333\0"
CAL_SERASTRING = ""
Y = Y+2333;