我正在尝试用传统的数字代替标准数字:
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,此代码应带有印有西方数字的繁体字,但实际情况并非如此。我还尝试对FontFamily参数使用“ UD Digi Kyokasho NK-R”(日文字体),但它仍然绘制西数。
我试图使用.net Framework 4.7.2在Windows Forms上实现此目标,并在Windows 10上进行测试。
据我发现,所有语言都存在该问题。