Я пытаюсь заменить стандартные цифры традиционными:
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.
Эта проблема присутствует для всех языков, насколько я обнаружил.