The spec seems to contradict itself on how to determine the locale’s preference for 12-hour versus 24-hour clock.
Part 2, section 2.5 references the `<hours preferred=“…”>` element:
The preference of 12 hour versus 24 hour for the locale can be derived from the Time Data. If the hour symbol is "h" or "K" then the format is 12 hour; otherwise it is 24 hour.
Part 2, section 2.6.2 references the `<timeFormatLength type="short">` element:
[…] the locale's actual preference for 12-hour or 24-hour time cycle is determined from the hour character used in the locale's standard short time format
Section 2.5 was changed in http://unicode.org/cldr/trac/changeset/11418. I assume section 2.6.2 should be changed accordingly.