2013-09-24 157 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

相關問題