我想在 Windows 应用程序中使用印度字体(印地语)。当我将 Mangal 字体用于印地语文本时,文本可见但以块格式显示。
所以任何人都可以帮助我。
创建新的 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找到更多信息
您可以使用以下代码:
YourMainForm.YourTextBox.Font = new Font("Your name of indian font",
YourMainForm.YourTextBox.Font.Size);
确保您使用的字体支持控件中的 Unicode 字符。您可以使用 windows 实用程序Character Map找到它。
一些较旧的字体具有特定代码页的字符,但没有 Unicode 字符。例如 windows 字体Marlett只定义了几个 Unicode 字符,其余的将显示为屏幕截图中的框。如果是这种情况,最好的办法是找到更新的 Unicode 版本的字体。虽然理论上你可以使用字体编辑软件自己创建一个新版本(字形已经在那里),但这并不容易。祝你好运:)