回答編集履歴

5

注意事項を追加

2017/07/06 01:46

投稿

PorkCutlet
PorkCutlet

スコア26

test CHANGED
@@ -68,6 +68,10 @@
68
68
 
69
69
  '実行
70
70
 
71
- InstallFontFile(IntPtr.Zero, "D:\Hoge.ttf", 0)
71
+ InstallFontFile(IntPtr.Zero, ここにパスを入れる, 0)
72
72
 
73
73
  ```
74
+
75
+ なお、InstallFontFileにはファイルをコピーする機能は無いようです。(flagsに何か渡せばやってくれるかもしれませんが)
76
+
77
+ そのためInstallFontFileの第2引数に渡すパスは、Fontsフォルダにコピーしたファイルのパスを渡してください。

4

非公開APIを見つけたので記載

2017/07/06 01:46

投稿

PorkCutlet
PorkCutlet

スコア26

test CHANGED
@@ -52,12 +52,22 @@
52
52
 
53
53
 
54
54
 
55
- 取得ではなく、インストールであれば
55
+ 取得ではなく、インストールであれば非公開APIですが以下のような手もあります。(外道)
56
-
57
- Font Installation and Deletion
58
-
59
- https://msdn.microsoft.com/en-us/library/windows/desktop/dd144833(v=vs.85).aspx
60
56
 
61
57
 
62
58
 
59
+ ```VB
60
+
61
+ '宣言
62
+
63
+ <DllImport("fontext.dll", CharSet:=CharSet.Auto)> _
64
+
65
+ Private Shared Function InstallFontFile(hwnd As IntPtr, path As String, flags As Integer) As Integer
66
+
67
+ End Function
68
+
69
+ '実行
70
+
63
- にあるようにfontsフォルダにコピーしたあと、APIを呼んでみるのはどうでしょう?
71
+ InstallFontFile(IntPtr.Zero, "D:\Hoge.ttf", 0)
72
+
73
+ ```

3

fontインストール方法らしきものを記載

2017/07/06 01:37

投稿

PorkCutlet
PorkCutlet

スコア26

test CHANGED
@@ -49,3 +49,15 @@
49
49
 
50
50
 
51
51
  ダメならAPIのEnumFontFamiliesExを呼ぶとか?(すごくめんどそうなAPIですが)
52
+
53
+
54
+
55
+ 取得ではなく、インストールであれば
56
+
57
+ Font Installation and Deletion
58
+
59
+ https://msdn.microsoft.com/en-us/library/windows/desktop/dd144833(v=vs.85).aspx
60
+
61
+
62
+
63
+ にあるようにfontsフォルダにコピーしたあと、APIを呼んでみるのはどうでしょう?

2

APIについての追記

2017/07/05 10:18

投稿

PorkCutlet
PorkCutlet

スコア26

test CHANGED
@@ -1,3 +1,15 @@
1
+ ```VB
2
+
3
+ For Each mily In FontFamily.Families
4
+
5
+ Console.WriteLine(family.Name)
6
+
7
+ Next
8
+
9
+ ```
10
+
11
+
12
+
1
13
  ```C#
2
14
 
3
15
  foreach(var family in FontFamily.Families) {
@@ -9,16 +21,6 @@
9
21
  ```
10
22
 
11
23
 
12
-
13
- ```VB.NET
14
-
15
- For Each family In FontFamily.Families
16
-
17
- Console.WriteLine(family.Name)
18
-
19
- Next
20
-
21
- ```
22
24
 
23
25
 
24
26
 
@@ -43,3 +45,7 @@
43
45
 
44
46
 
45
47
 
48
+
49
+
50
+
51
+ ダメならAPIのEnumFontFamiliesExを呼ぶとか?(すごくめんどそうなAPIですが)

1

VB\.NETのコードを追記

2017/07/05 09:19

投稿

PorkCutlet
PorkCutlet

スコア26

test CHANGED
@@ -7,6 +7,20 @@
7
7
  }
8
8
 
9
9
  ```
10
+
11
+
12
+
13
+ ```VB.NET
14
+
15
+ For Each family In FontFamily.Families
16
+
17
+ Console.WriteLine(family.Name)
18
+
19
+ Next
20
+
21
+ ```
22
+
23
+
10
24
 
11
25
  で、フォント名が以下のようにずらずら~っと出るんですが、これではだめ?
12
26