Private Shared Sub RegisterFont(ByVal contentFontName As String)
Dim fontDestination = Path.Combine(GetFolderPath(SpecialFolder.Fonts), contentFontName)
'C:\Windows\Fonts 부분과 그 안에 폰트가 설치되어 있는지 확인하는 코드
If Not File.Exists(fontDestination) Then
'해당 경로에 파일이 존재하지 않다면
File.Copy(Path.Combine(Directory.GetCurrentDirectory(), contentFontName), fontDestination)
'파일을 복사해서 C:\Windows\Fonts 부분에 넣어준다.
Dim fontCol As PrivateFontCollection = New PrivateFontCollection()
fontCol.AddFontFile(fontDestination)
Dim actualFontName = fontCol.Families(0).Name
AddFontResource(fontDestination)
Registry.SetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts", actualFontName, contentFontName, RegistryValueKind.String)
'레지스트리에 폰트를 등록시켜주는 부분
End If
End Sub
RegisterFont(폰트 이름.ttf)
해당 방식은 프로그램 경로에 폰트 파일이 같이 있어야 합니다.
'프로그래밍 > VB.NET' 카테고리의 다른 글
[VB.NET] 리스트 뷰 비교 (0) | 2022.05.25 |
---|---|
[VB.NET] 구글 드라이브 파일 다운로드 (0) | 2022.05.25 |
[VB.NET] 리스트에 있는 아이템을 CSV 파일로 저장하기 (0) | 2022.05.25 |
[VB.NET] 리스트에 있는 아이템을 텍스트 파일(txt)로 저장하기 (0) | 2022.05.25 |
[VB.NET] 웹브라우저 (WebBrowser)를 이용하여 HTML 소스 가져오기 (0) | 2022.05.25 |