0

インストールされているフォントの情報を取得したいので、次の方法で試しました:

Private Function Get_Installed_Fonts() As Array
    Dim AllFonts As New Drawing.Text.InstalledFontCollection ' Get the installed fonts collection.
    Dim FontFamilies() As FontFamily = AllFonts.Families()   ' Get an array of the system's font familiies.
    Return FontFamilies ' Return the array
End Function

それから私はできる...:

   For Each Font As FontFamily In Get_Installed_Fonts()
       MsgBox(Font.Name)
   Next

しかし、私はこれを行う方法を見つけることができません:

    For Each Font As FontFamily In Get_Installed_Fonts()
        MsgBox(Font.IsSystemFont)
        MsgBox(Font.OriginalFontName)
        MsgBox(Font.SizeInPoints)
    Next

私がそこに欠けているものは何ですか?

それが私が取得するものであり、フォントがインストールされているかどうかを検索する方法も必要です。たとえば、次のようになります。

If FontsArray.contains("FontName") Then...
4

2 に答える 2

1

問題は、.IsSystemFont、.OriginalFontName、および .SizeInPoints プロパティが、FontFamily ではなく、Font クラスのメンバーであることです。FontFamily を使用して Font を作成します。その時点で、上記の言語を使用して情報を取得できます。

だから、あなたはできる...

For Each FontFam As FontFamily In Get_Installed_Fonts()
    Dim tFont as new Font(FontFam.Name, 8)
    MsgBox(tFont.IsSystemFont)
    MsgBox(tFont.OriginalFontName)
    MsgBox(tFont.SizeInPoints)
    'tFont = nothing
Next
于 2013-04-08T13:39:10.473 に答える
1
Private Function Get_Installed_Fonts() As FontFamily()
    Using AllFonts As New Drawing.Text.InstalledFontCollection 
        Return AllFonts.Families
    End Using
End Function
于 2013-04-08T13:40:47.847 に答える