我想在我的程序加載中安裝特定字體,並在呈現程序文本時使用該字體。如何以編程方式從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. 如何以編程方式安裝字體字體?
- 3. 如何以編程方式安裝字體(C#)
- 4. 如何以編程方式安裝.ipa
- 5. 從Flash/ActionScript中以編程方式安裝新字體
- 6. 在Windows中以編程方式安裝字體
- 7. 以編程方式安裝android事件
- 8. 安裝Android APK以編程方式
- 9. 以編程方式安裝Android容器
- 10. 以編程方式安裝TableLayout
- 11. 以編程方式安裝apk
- 12. 以編程方式安裝Windows服務
- 13. 以編程方式安裝.mobileconfig
- 14. 以編程方式安裝Firefox插件
- 15. 以編程方式安裝Windows服務
- 16. 如何以編程方式安裝iOS應用程序?
- 17. 如何以編程方式安裝屏幕保護程序?
- 18. 如何以編程方式創建MSI安裝程序?
- 19. 以編程方式安裝應用程序快捷方式
- 20. 以編程方式執行安裝時出現安裝失敗
- 21. 在安裝MyFbApp.apk之前以編程方式安裝facebook.apk
- 22. 以編程方式安裝在棉花糖上的APK安裝
- 23. 如何知道安裝IIS或無法以編程方式
- 24. Android設備上如何以編程方式「安裝」文件
- 25. 如何以編程方式檢查是否安裝使用Java
- 26. iOS:如何以編程方式安裝配置配置文件
- 27. 如何以編程方式訪問Chrome應用安裝目錄?
- 28. 如何使用python腳本以編程方式安裝PIL
- 29. 如何以編程方式安裝VisualStudio擴展?
我不能重新啓動設備,它恢復到原來的狀態時,重新啓動。所以,我必須在每次啓動程序時安裝字體。再加上,沒有Windows \ Font文件夾。任何其他方式? – VOX 2010-06-23 19:51:09