2013-07-03 81 views
0

我加入貨幣符號到ListView和發現所有符號正常顯示,與印度和土耳其,這顯示框字符除外。在調試器中,這些貨幣符號正確顯示。我嘗試將ListView字體設置爲與調試器(Consolas)相同的字體,但沒有奏效。我也試過一個Label控件而不是ListView,並且發現了同樣的問題,所以它可能不適用於所有的Winforms控件。我錯過了什麼?印度和土耳其的貨幣符號不顯示的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; 
+0

似乎是爲我工作的罰款,沒有你靶向機器已經安裝的字體? – Sayse

回答

2

某些字體(包括流行MS無襯線,Tachoma)不具有U + 2089和/或U + 20BA字形(即是一個印土耳其貨幣符號),而另一些(例如宋體)已經。看來,你必須改變label1.Font.Name

+0

謝謝,我沒有仔細查看Visual Studio字體:調試器本地窗口使用Segoe UI,而不是Consolas。我改變了我的標籤和ListView使用這個和印度符號正確顯示。土耳其的象徵仍然沒有,但我把它重新放在字體選擇上。 – Darryl