0

我将货币符号添加到 ListView 并发现所有符号都正确显示,但印度和土耳其的符号除外,它们显示一个框字符。在调试器中,这些货币符号正确显示。我尝试将 ListView 字体设置为与调试器(Consolas)相同的字体,但这没有用。我还尝试了 Label 控件而不是 ListView,发现了同样的问题,因此它可能不适用于所有 Winforms 控件。我错过了什么?

// Jordan
// Displays correctly
label1.Text = new RegionInfo( "ar-JO" ).CurrencySymbol;

// India: as-IN, bn-IN, en-IN, gu-IN, hi-IN, kn-IN, kok-IN,
//        ml-IN, mr-IN, or-IN, pa-IN, sa-IN, ta-IN, te-IN
// Displays a box symbol
label1.Text = new RegionInfo( "pa-IN" ).CurrencySymbol;

// Turkey
// Displays a box symbol
label1.Text = new RegionInfo( "tr-TR" ).CurrencySymbol;
4

1 回答 1

2

一些字体(包括流行的 MS Sans Serif、Tachoma)没有 U+2089 和/或 U+20BA 字形(这是印度和土耳其货币符号),而其他一些(例如 Calibri)有。看来,您必须更改 label1.Font.Name

于 2013-07-03T20:05:05.497 回答