Rework the somewhat ad-hoc handling of format blocks. Instead of converting one character at a time, then coming back to map contiguous chunks of various lengths to Qt's best match, use the first non-separator character to select a function that looks ahead to see what to consume with it. Quoted text can be handled the same way, with a look-ahead. This potentially allows for more flexible parsing in future. In the process, matching qlocale_mac.mm, treat all unquoted letters as reserved. The LDML spec says: Currently, A..Z and a..z are reserved for use as pattern characters (unless they are quoted, see next item). and its description of literal text explcitly says these reserved characters are not to be understood as literals. Document the letters we do know about as unsupported pattern characters, but don't do anything specific to handle them. This transiently changes zh_TW's "Bh" hour fields to plain "h" but an imminent commit will change that again and there is no other change to data, so the locale data is not regenerated in this commit, to save churn. This makes the parsing front-end function more straightforward and makes it easier to document the quirks of the different format letters and the impedance mismatches between CLDR's and Qt's. In the process, recognize C, like j and J, as special magic to ignore and harmonize with what qlocale_mac.cpp's macToQtFormat() does, where it's right and dateconverter.py differed. Document the need to stay in sync with this last. Task-number: QTBUG-123872 Change-Id: I490d395b37751c9b8d6f3ee5ed4edbc0d405db5b Reviewed-by: Mate Barany <mate.barany@qt.io> (cherry picked from commit ea806fa3f15061d75d2c2c40144588053e2217b0) Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
…
…
Description
Languages
C++
84.3%
HTML
4.9%
C
3.9%
CMake
3.6%
Objective-C++
2%
Other
0.8%