我再次需要你的帮助.
我正在使用自定义Font在C#上开发一个小应用程序.问题是,字体必须先安装在系统上.如果系统中没有该字体,则只使用Times New Roman.有没有办法在应用程序中嵌入字体文件,因此不需要在每个系统中安装它?
谢谢.
如果您还在阅读本文,我可能会指出您不必使用不安全的代码来加载资源中的字体.这是使用Marshal的一个例子.
PrivateFontCollection _fonts = new PrivateFontCollection();
byte[] fontData = Resources.CustomFontResourceName;
IntPtr fontPtr = Marshal.AllocCoTaskMem(fontData.Length);
Marshal.Copy(fontData, 0, fontPtr, fontData.Length);
_fonts.AddMemoryFont(fontPtr, fontData.Length);
Marshal.FreeCoTaskMem(fontPtr);
Font customFont = new Font(_fonts.Families[0], 6.0F);
Run Code Online (Sandbox Code Playgroud)