如何在Visual Studio 2008中为C#.net窗口应用程序使用自定义字体?

时间:2012-09-03 08:15:00

标签: c# winforms fonts

我想在Windows应用程序中使用印度字体(印地语)。当我使用Mangal字体显示印地文文本时,文本可见但是以块格式显示。

所以任何人都可以帮助我。

enter image description here

3 个答案:

答案 0 :(得分:1)

创建新的Windows窗体项目,并在Form.OnLoad处理程序中添加以下行:

PrivateFontCollection pfc = new PrivateFontCollection();
string fontFilePath = "C:\\Fonts\\PALETX3.ttf"
pfc.AddFontFile(fontFilePath);
label1.Font = new Font(pfc.Families[0], 16, FontStyle.Regular);

您可以从以下网址找到更多信息 http://msdn.microsoft.com/en-us/library/ms533820(VS.85).aspx

答案 1 :(得分:0)

您可以使用此代码:

YourMainForm.YourTextBox.Font = new Font("Your name of indian font", 
                                         YourMainForm.YourTextBox.Font.Size);

答案 2 :(得分:0)

确保您使用的字体支持控件中的Unicode字符。您可以使用Windows实用程序字符映射找到它。

某些较旧的字体包含某个代码页的字符,但不包含Unicode字符的字符。例如,windows font Marlett 只定义了几个Unicode字符,其余的将显示为屏幕截图中的框。如果是这种情况,最好的办法是找到更新的Unicode版本的字体。虽然理论上你可以使用字体编辑软件自己创建一个新版本(字形已经在那里),但这并不容易。祝你好运:))