Adding OpenType language tags

Description

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.

Activity

Show:

Steven R. Loomis 
March 15, 2023 at 3:09 PM

data is part of OT

Steven R. Loomis 
March 14, 2023 at 12:14 AM

seems like a good candidate to close , belongs in OT

Steven R. Loomis 
March 13, 2023 at 10:53 PM

Data is available at

UnicodeBot 
May 9, 2019 at 8:06 PM

Trac Comment 14 by —2015-04-24T18:48:39.892Z

component=future -> unknown, all such tickets are already milestone=UNSCH

UnicodeBot 
May 9, 2019 at 8:06 PM

Trac Comment by —2011-01-05T18:55:44.000Z

Blank milestone -> UNSCH per :

Out of Scope

Details

Components

Labels

Priority

Assignee

Reporter

Created January 11, 2019 at 4:36 AM
Updated April 5, 2023 at 2:53 PM
Resolved March 15, 2023 at 3:09 PM