我想在我的程序加載中安裝特定字體,並在呈現程序文本時使用該字體。如何以編程方式從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