我想在我的程序加载中安装特定字体,并在呈现程序文本时使用该字体。如何以编程方式从WinCE 6上的.NET CF安装字体。如何以编程方式安装字体
3
A
回答
0
0
将字体* .ttf文件复制到Windows \ Fonts文件夹中,可能需要重新启动设备。
2
This blog entry显示如何使用本机代码枚举和添加Windows CE中的字体。对于托管代码,这将工作:
internal class FontHelper
{
private delegate int EnumFontFamProc(IntPtr lpelf, IntPtr lpntm, uint FontType, IntPtr lParam);
private List<string> m_fonts = new List<string>();
public FontHelper()
{
RefreshFontList();
}
public void RefreshFontList()
{
m_fonts.Clear();
var dc = GetDC(IntPtr.Zero);
var d = new EnumFontFamProc(EnumFontCallback);
var ptr = Marshal.GetFunctionPointerForDelegate(d);
EnumFontFamilies(dc, null, ptr, IntPtr.Zero);
}
public string[] SupportedFonts
{
get { return m_fonts.ToArray(); }
}
private const int SIZEOF_LOGFONT = 92;
private const int LOGFONT = 28;
private const int LF_FACESIZE = 32;
private const int LF_FULLFACESIZE = 64;
[DllImport("coredll", SetLastError = true)]
private static extern IntPtr GetDC(IntPtr hwnd);
[DllImport("coredll", SetLastError = true)]
private static extern int EnumFontFamilies(IntPtr hdc, string lpszFamily, IntPtr lpEnumFontFamProc, IntPtr lParam);
private int EnumFontCallback(IntPtr lpelf, IntPtr lpntm, uint FontType, IntPtr lParam)
{
var data = new byte[SIZEOF_LOGFONT + LF_FACESIZE + LF_FULLFACESIZE];
Marshal.Copy(lpelf, data, 0, data.Length);
var fontName = Encoding.Unicode.GetString(data, SIZEOF_LOGFONT, LF_FULLFACESIZE).TrimEnd('\0');
Debug.WriteLine(fontName);
m_fonts.Add(fontName);
return 1;
}
}
相关问题
- 1. 以编程方式安装字体
- 2. 如何以编程方式安装.ipa
- 3. 在Windows中以编程方式安装字体
- 4. 以编程方式安装android事件
- 5. 以编程方式安装Windows服务
- 6. 以编程方式安装TableLayout
- 7. 以编程方式安装Firefox插件
- 8. 以编程方式安装Windows服务
- 9. 安装Android APK以编程方式
- 10. 如何以编程方式安装iOS应用程序?
- 11. 如何以编程方式安装屏幕保护程序?
- 12. 在安装MyFbApp.apk之前以编程方式安装facebook.apk
- 13. 以编程方式执行安装时出现安装失败
- 14. 以编程方式安装在棉花糖上的APK安装
- 15. 如何以编程方式访问Chrome应用安装目录?
- 16. 如何以编程方式安装apk文件
- 17. 如何以编程方式检查是否安装使用Java
- 18. 如何以编程方式安装Chrome扩展?
- 19. Android设备上如何以编程方式“安装”文件
- 20. 如何以编程方式安装vagrant插件?
- 21. 如何以编程方式安装类型
- 22. C#如何以编程方式获取SQL Server安装路径?
- 23. 如何以编程方式安装SSL证书(OpenSSL)
- 24. 如何以编程方式添加Windows 10可选字体?
- 25. 如何以编程方式更改TWebBrowser中的字体
- 26. 如何以编程方式设置wC hR字体大小?
- 27. 如何以编程方式创建TTF或OTF字体[C/C++]
- 28. 如何以编程方式完成程序包安装程序的新活动?
- 29. UILabel - 以编程方式在iPhone中设置字体 - 字体
我不能重新启动设备,它恢复到原来的状态时,重新启动。所以,我必须在每次启动程序时安装字体。再加上,没有Windows \ Font文件夹。任何其他方式? – VOX 2010-06-23 19:51:09