Почему метод .net StringFormat.SetDigitSubstitution вообще не работает? - PullRequest
3 голосов
/ 14 октября 2019

Я пытаюсь заменить стандартные цифры традиционными:

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);
    }
}

Согласно MSDN , в этом коде должны быть напечатаны традиционные символы, состоящие из западных цифр, но это некейс. Я также пытался использовать «UD Digi Kyokasho NK-R» (японский шрифт) для аргумента FontFamily, но он по-прежнему рисует западные цифры.

Я пытаюсь добиться этого на Windows Forms и тестирую на Windows 10, используя .net framework 4.7.2.

Эта проблема присутствует для всех языков, насколько я обнаружил.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...