C# 安装字体

using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.IO;
[DllImport("kernel32.dll", SetLastError = true)]
static extern int WriteProfileString(string lpszSection, string lpszKeyName, string lpszString);

[DllImport("user32.dll")]
public static extern int SendMessage(int hWnd, // handle to destination window
uint Msg, // message
int wParam, // first message parameter
int lParam // second message parameter
);

[DllImport("gdi32")]
public static extern int AddFontResource(string lpFileName);

private void installFont()
{

    string WinFontDir = System.Environment.GetEnvironmentVariable("WINDIR")+"\\fonts";
    string FontFileName = "DS-Digital Bold Italic.TTF";
    string FontName = "DS-Digital Bold Italic";
    int Ret;
    int Res;
    string FontPath;
    //const int WM_FONTCHANGE = 0x001D;
    //const int HWND_BROADCAST = 0xffff;
    FontPath = WinFontDir + "\\" + FontFileName;
    if (!File.Exists(FontPath))
    {
        File.Copy(System.Windows.Forms.Application.StartupPath + "\\DS-Digital Bold Italic.TTF", FontPath);
        Ret = AddFontResource(FontPath);

        //Res = SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
        //WIN7下编译这句会出错,不知道是不是系统的问题,这里应该是发送一个系统消息关系不大不影响字体安装,所以我注释掉了
        Ret = WriteProfileString("fonts", FontName + "(TrueType)", FontFileName);
    }
}

C# 安装字体,布布扣,bubuko.com

时间: 2024-10-12 18:50:22

C# 安装字体的相关文章

Linux系统上安装字体

最近项目中需要控制字体类型,然后就上网查了一下在linux系统上安装字体,在window上和linux上,字体要求一样,都是ttf格式,下面这是window上的字体截图 在linux系统中的/usr/share/fonts下面新建一个目录,这里取名my_fonts,然后将tff格式的字体复制到这个文件夹中, 通过fc-list这个命令查看该系统下面安装了那些字体, 然后进入到新创建的文件夹下,ll查看这个文件下有那些文件,可以看到刚才复制进去的字体: 然后执行下面的三条命令, mkfontsca

Win7 系统下给 Users 组用户安装字体的权限

"开始"-"运行"以下四条命令 attrib -r -s c:\Windows\Fontstakeown /f c:\Windows\Fonts /r /d ncacls c:\Windows\Fonts /e /t /g users:ccacls c:\Windows\System32\FNTCACHE.DAT /e /t /g users:c 确保下面注册让user用户有权限HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Window

如何给CentOS安装字体库

很多时候,我们需要做一些图像生成工作(譬如验证码之类的),这时候,我们一般都需要用到系统的字体库.但事情却总非尽善人意,我们所使用的Linux操作系统无法像Windows操作系统那样足够“旗舰”,字体这种东西,分分钟都是缺失的(譬如我们选择Minimum方式安装或者没有选择Chinese Support之类的).如果遇到这种情况,我们就得发扬DIY(自己动手丰衣足食)的精神,自己给操作系统安装字体库了.本节内容,我们将讲解如何为CentOS(Red Hat流)操作系统安装字体库,使用Ubuntu

Linux CentOS 7 安装字体库 & 中文字体

最近用CentOS上,用phantomjs把html生成pdf,但是生成多次虽然文件生成了,但是内容一直是空的. 找来找去,发现和系统上支持的字体有关系. 运行了下面的命令后: yum install cabextract xorg-x11-font-utils -y 如果是英文字符,就可以生成了,但是中文还是不行. 最后参考了下面的文章终于搞定. 原文地址:http://blog.csdn.net/wlwlwlwl015/article/details/51482065 前言 报表中发现有中文

如何在Linux系统上安装字体

如何在Linux系统上安装字体 最后更新 2015年12月11日 分类 Linux 101 最新文章 标签 font linux 字体 一般电脑用户使用的字体大部分属于TrueType字体,TrueType字体文件的扩展名是.ttf,ttf就是TrueType Font的首字母缩写.这篇教程将向读者介绍如何在Linux系统上安装TrueType字体.本文先介绍通用的安装方式,不管你用的是哪个Linux发行版,都可以用这种方法来安装.然后介绍Debian系和Redhat系发行版安装字体的一些捷径或

Linux安装字体文件

登录生成验证码的时候使用了monaco.ttf字体,没有安装字体的情况下,会报错:can't open resource Linux安装字体的方式其实很简单,就是调用fc-cache -f -v命令,其实我们可以什么都不添加直接调用这个命令 可以看到它会去/usr/share/fonts/truetype等目录以及你自己的个人用户目录 ~/.fonts/ ~/.local/share/fonts ~/.fontconfig ~/.cache/fontconfig等目录进行字体文件ttf的索引查找

phantomjs截图中文网站网页页面乱码,安装字体解决

用phantomjs去截取中文页面的网站可能会出现乱码的情况,也就是截图中中文的位置全是方框. 解决办法就是安装字体. 在centos中执行:yum install bitmap-fonts bitmap-fonts-cjk 在ubuntu中执行:sudo apt-get install xfonts-wqy 这样再去截图中文的页面就不会出现一堆的方框了.

CentOS 7 安装字体库 & 中文字体

前言 报表中发现有中文乱码和中文字体不整齐(重叠)的情况,首先考虑的就是操作系统是否有中文字体,在CentOS 7中发现输入命令查看字体列表是提示命令无效:  如上图可以看出,不仅没有中文字体,连字体库都没有,那么接下来就记录一下在Linux CentOS7中如何安装字体库以及中文字体. 安装字体库 在CentOS 4.x开始用fontconfig来安装字体库,所以输入以下命令即可: yum -y install fontconfig 这时在/usr/shared目录就可以看到fonts和fon

AHK 获取系统已安装字体列表

AHK 调用API获取系统已安装字体列表代码: DllCall("gdi32\EnumFontFamilies","uint",DllCall("GetDC","uint",0),"uint",0,"uint",RegisterCallback("EnumFontFamilies"),"uint",a_FontList:="")