In the model of OpenType layout, a font designer can adapt the behavior of his font to a particular locale. For example, he may decide to use different "fi" ligatures for English and Turkish, as the first typically obscures the dot on the i, and that is not acceptable for Turkish. Or he may select different glyphs for U+015F ş LATIN SMALL LETTER S WITH CEDILLA in a Romanian locale and in a Turkish locale.
In OpenType fonts, the locale is identified by four bytes (typically chosen such that they are meaningful when interpreted as four ASCII characters, e.g. 'ELL ' for Greek). Those four bytes are known as the (OpenType) language tag.
A layout engine is typically given the locale of the text being formatted via something like xml:lang, and therefore needs to map that to an OpenType language tag.
It would be very nice if the CLDR locale data included the OpenType language tag for each locale. This would relieve every OpenType implementation from carrying its own mapping, from reimplementing some sort of locale inheritance scheme, and increase the consistency between layout engines.
I should add that OpenType language tags are essentially in one-to-one correspondence with Microsoft LCIDs. Much of the same could be achieve that including the Microsoft LCIDs; or may be both pieces can be included.
In the model of OpenType layout, a font designer can adapt the behavior of his
font to a particular locale. For example, he may decide to use different "fi"
ligatures for English and Turkish, as the first typically obscures the dot on
the i, and that is not acceptable for Turkish. Or he may select different glyphs
for U+015F ş LATIN SMALL LETTER S WITH CEDILLA in a Romanian locale and in a
Turkish locale.
In OpenType fonts, the locale is identified by four bytes (typically chosen such
that they are meaningful when interpreted as four ASCII characters, e.g. 'ELL '
for Greek). Those four bytes are known as the (OpenType) language tag.
A layout engine is typically given the locale of the text being formatted via
something like xml:lang, and therefore needs to map that to an OpenType language
tag.
It would be very nice if the CLDR locale data included the OpenType language tag
for each locale. This would relieve every OpenType implementation from carrying
its own mapping, from reimplementing some sort of locale inheritance scheme, and
increase the consistency between layout engines.
I should add that OpenType language tags are essentially in one-to-one
correspondence with Microsoft LCIDs. Much of the same could be achieve that
including the Microsoft LCIDs; or may be both pieces can be included.