Why is .net's StringFormat.SetDigitSubstitution method not working at all?

Viewed 148

I am trying to replace standard digits with traditional ones:

System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("ja-JP");
using (Font font = new Font("Arial", 12, FontStyle.Regular))
{
    using (StringFormat format = new StringFormat())
    {
        format.SetDigitSubstitution(culture.LCID, StringDigitSubstitute.Traditional);
        g.DrawString("Digits: 1 2 3 4 5 6 7 8 9 0", font, Brushes.Black, ClientRectangle, format);
    }
}

According to MSDN, this code should have printed traditional characters insted of western digits, but this is not the case. I also tried using "UD Digi Kyokasho NK-R" (a Japanese font) for the FontFamily argument, but it still draws western digits.

I am trying to achieve this on Windows Forms, and testing on Windows 10, using .net framework 4.7.2.

The issue is present for all languages, as far as I found.

0 Answers
Related