2013-09-24 105 views
0

所以this question占地面积很好如何获得当前字体路径,但如果我想改变的路径是什么?如何更改Windows字体文件夹?

例如,目前

System.Environment.GetFolderPath(System.Environment.SpecialFolder.Fonts);

将包含类似

C:\ WINDOWS \字体

但如果这个项目我想要的目的它指向

d:\资源\字体

有没有办法我能做到这一点?或者告诉Windows不要使用其环境路径,而是使用我想要的路径?

+3

为什么?你想达到什么目的?这听起来像个坏主意。 – SLaks

+1

你真的,真的不希望这样做。 –

+0

我们有一些自定义的字体已经安装在系统中的资源文件夹。我们正在对系统进行一次重大改革,其中涉及将过去用脚本文件完成的大量代码移到c#中。这是字体问题发挥作用的地方。我被要求尽可能避免移动字体。如果这是不可能的,我需要为此做个案。 – AdamP

回答

4

你并不需要改变系统设置。您可以从您喜欢的任何文件夹加载字体。例如:

var pfc = new PrivateFontCollection(); 
pfc.AddFontFile(fontFile); 

var fontFamily = new FontFamily(pfc.Families.First().Name,pfc); 

richTextBox1.Font = new Font(fontFamily, 20f, FontStyle.Bold); 
richTextBox1.Text = "Test"; 
+0

PrivateFontCollection是System.Drawing程序集的一部分吗?有没有其他方法可以做到这一点?绘图目前不是我可以访问的程序集之一(尽管我可以通过给出足够好的理由或证据来改变它,但没有其他办法)。 – AdamP

相关问题