* Locale data:
* nominative (nouns) month names always given in <MonthsOfYear>
element
* optional genitive case month names in <GenitiveMonths> element,
following the <MonthsOfYear> element; if not given take nominative
names
* optional partitive case month names in <PartitiveMonths> element,
following the <GenitiveMonths> element, or following the
<MonthsOfYear> element if the <GenitiveMonths> element is not
present; if not given take genitive case names, or nominative if
genitive names aren't defined
* currently known partitive case matters in Finnish locales
* Rules for use of nominative / genitive / partitive case month names in
number formatter:
* no day of month (D or DD) present in format code => MMM or MMMM
display nominative month name (noun)
* day of month (D or DD) after MMM or MMMM => genitive name
* no genitive names defined => nominative names
* day of month (D or DD) before MMM or MMMM => partitive name
* no partitive names defined => genitive names
* no genitive names defined => nominative names
While introducing Calendar2 and the XCalendar3 interface anyway, as well the
"one letter" narrow month names sometimes needed in calendaring can be added.
These are not always the first capitalized letters of the months in all
locales, and might even not necessarily be just one character.
Introduces a new struct css::i18n::Calendar2 that is not derived from
css::i18n::Calendar because it uses a new struct css::i18n::CalendarItem2 to
hold the NarrowName elements.
In locale data the elements DaysOfMonth, MonthsOfYear and GenitiveMonths now
have an optional element DefaultNarrowName. If not specified, the first
character of DefaultFullName is taken.
LocaleDataWrapper and CalendarWrapper use and return the new Calendar2 and
sequences of CalendarItem2 structs. Application code adapted.
The number formatter now displays narrow month names (genitive if applicable)
for the MMMMM code, previously it displayed the first 16 bit code point of the
full name (not even utf-16 aware).
Narrow day names currently are not used, except in svtools' Calendar control.
compiling an_ES.xml gave:
Warning: Time100SecSeparator is different from DecimalSeparator, this may be correct or not. Intended?
Warning: Don't forget to adapt corresponding FormatCode elements when changing separators.
Warning: QuotationStart may be wrong: U+201C “
Warning: QuotationEnd may be wrong: U+201D ”
Warning: DoubleQuotationStart may be wrong: U+2018 ‘
Warning: DoubleQuotationEnd may be wrong: U+2019 ’
* Exchanged Quotation(Start|End) and DoubleQuotation(Start|End)
Not sure about the use of '.' Time100SecSeparator whereas DecimalSeparator is ','
i.e. change x_rtl_uString_new_WithLength to always create a rtl_uString
with ref count of 1, like rtl_uString_new_WithLength, so requiring:
either the explicit use of rtl_uString_release or
passing ownership to an OUString via OUString(pStr, SAL_NO_ACQUIRE)
which will do the same in its dtor
Tell file name and actual error in error message. Print error message
to stderr. Always exit with failure when not able to open an input or
output file.