如何在智能设备开发中使用ORIYA字体
本文关键字:ORIYA 字体 开发 智能 | 更新日期: 2023-09-27 17:59:40
我正在为基于WINDOWS CE5.0的设备开发一个应用程序。它要求完全使用奥里亚语(印度区域语言)。由于视觉工作室使用英语作为标准语言,请告诉我如何进行?我试图复制WINDOWS CE设备的WINDOWS/FONTS文件夹中的字体,但当我重新启动设备时,字体文件消失了。我在c#中开发了该应用程序,并在开发系统中将标签文本更改为oriyaa。它在开发系统上看起来不错,但当我将其部署到设备中时,所有标签文本都显示为英语。我不知道发生了什么事?我还需要用ORIYA语言设置LABEL.TEXT属性。有可能吗?如何在ORIYA中获取用户输入?请帮忙。。。。。谢谢
不太确定你所说的浏览器是什么意思,但对于Forms
,你可以使用PrivateFontCollection
您可以从应用程序中的文件夹加载字体,然后使用AddFontFile
或AddMemoryFont
。因此,现在客户端可以看到您设置的字体中的控件,并且无论是否安装都可以使用该控件
我对基于英文的字体使用了以下方法,但我不确定它是否适用于您的情况。这种方法的原始来源是Chris Tacke(SO用户@ctacke)的一篇不错的帖子,并进行了一些修改。
[DllImport("coredll.dll")]
private static extern int AddFontResource(string lpszFilename);
[DllImport("coredll.dll", SetLastError = true)]
private static extern int SendMessage(IntPtr hWnd, int wMsg, IntPtr wParam, IntPtr lParam);
static IntPtr HWND_BROADCAST = (IntPtr)0xFFFF;
const int WM_Fontchange = 0x001D;
private static void RegisterFont(string aFontPath, string aTargetFontPath)
{
IntPtr thir = (IntPtr)0;
IntPtr fourth = (IntPtr)0;
try
{
if (!System.IO.File.Exists(aTargetFontPath))
System.IO.File.Copy(aFontPath, aFontTargetPath);
}
catch { throw; }
int _Loaded = AddFontResource(aFontTargetPath);
if (_Loaded != 0)
SendMessage(HWND_BROADCAST, WM_Fontchange, thir, fourth);
}