TRY (Turkish lira) currency variant currency symbol not accessible

Description

The Turkish lira currency adopted a new symbol (₺ U+20BA) in 2012. However, for many applications and for use in sentence-like contexts, the variant symbol "TL" is preferred. CLDR has both the U+20BA symbol and the variant symbol. Cf. https://www.unicode.org/cldr/charts/latest/summary/tr.html#5101

Other currencies provide access to the variant symbol via the NumberFormatter API. None of the currency variations in NumberFormat/NumberFormatter appear to provide access to TRY's variant symbol.

Repro code:

{{
Currency tl = Currency.getInstance("TRY");
BigDecimal value = new BigDecimal("1234.56");

System.out.println( NumberFormatter.with().unit(tl).locale(new Locale("tr", "TR")).unitWidth(UnitWidth.SHORT)
.format(value).toString() );
System.out.println( NumberFormatter.with().unit(tl).locale(new Locale("tr", "TR")).unitWidth(UnitWidth.NARROW)
.format(value).toString() );
System.out.println( NumberFormatter.with().unit(tl).locale(new Locale("tr", "TR")).unitWidth(UnitWidth.ISO_CODE)
.format(value).toString() );

NumberFormat nf = NumberFormat.getInstance(ULocale.forLanguageTag("tr-TR"), NumberFormat.ACCOUNTINGCURRENCYSTYLE);
nf.setCurrency(tl);
System.out.println(nf.format(value));
nf = NumberFormat.getInstance(ULocale.forLanguageTag("tr-TR"), NumberFormat.CASHCURRENCYSTYLE);
nf.setCurrency(tl);
System.out.println(nf.format(value));
nf = NumberFormat.getInstance(ULocale.forLanguageTag("tr-TR"), NumberFormat.CURRENCYSTYLE);
nf.setCurrency(tl);
System.out.println(nf.format(value));
nf = NumberFormat.getInstance(ULocale.forLanguageTag("tr-TR"), NumberFormat.STANDARDCURRENCYSTYLE);
nf.setCurrency(tl);
System.out.println(nf.format(value));
}}

Produces this output:

₺1.234,56
₺1.234,56
TRY 1.234,56
₺1.234,56
₺1.234,56
₺1.234,56
₺1.234,56

Status

Assignee

Peter Edberg

Reporter

Addison Phillips

Labels

None

Reviewer

None

Time Needed

None

Start date

None

Components

Fix versions

Priority

major