본문 바로가기
R

[R/R마크다운] R에 폰트 적용시 주의사항 및 에러/원하는 폰트(글씨체) 추가할 파일 경로

by ssanalyst 2020. 12. 12.
728x90

안녕하세요.

 

이번 포스팅에서는 원하는 폰트(글씨체)를 어느 폴더에 추가해야 하는지에 대해 알아보겠습니다.

 

이거이거 검색하면 사방에 널리고 널린 자료인데 이걸...??

 

뭔가 다른것인가라고 생각하실 수도 있는데 조금 다르긴 하지만 크게 다르진 않습니다...

 

그럼 일단... 바로 알아보도록 하겠습니다.

 

이번 포스팅은 R에 폰트를 적용했는데 마크다운 pdf에서 한글이 나오지 않는 경우에 대한 것입니다.

 

이전 포스팅에서 extrafont 패키지를 이용하여 폰트를 추가하는 방법에 대해 다루었습니다

(포스팅을 클릭하시면 extrafont 사용법에 대한 포스팅으로 이동합니다).

 

extrafont는 기본적으로 windows 내에 있는 fonts 폴더에 있는 폰트를 검색하고 불러옵니다.

 

경로 설정을 하지 않아도 기본적으로 저 위의 경로에서 폰트를 찾죠.

 

그런데 가끔 보면 아래 경로에 폰트가 설치될 때가 있습니다.

 

C:\Users\여러분의 사용자 계정명\AppData\Local\Microsoft\Windows\Fonts

 

ex) 사용자 계정명이 ' today '일 때
C:\Users\today\AppData\Local\Microsoft\Windows\Fonts

 

저 경로에 폰트가 설치되어도 한글이나 다른 프로그램에서 해당 폰트를 사용하는 데 지장이 없습니다.

 

그런데 R이나 R마크다운에서는 문제가 발생합니다(R마크다운에서의 문제는 제가 겪어봐서 확실한데 R은 잘 모르겠습니다 겪어보신 분들 댓글 부탁드립다.....).

 

R마크다운에서 생기는 문제는 마크다운을 pdf로 변환하길 원하고 pdf 문서의 글꼴을 YAML에서 mainfont로 지정해두어도 글꼴 적용이 안 되어 한글이 나오지 않습니다.

 

분명히 처음 시작하는 chunk에서 loadfont 를 입력했음에도 나오지 않고 숫자만 표출됩니다.

 

위 경로에 폰트가 설치되면 해당 문제가 발생할 수도 있고 또 다른 문제는 하나의 데스크탑이나 노트북에서 여러 계정을 사용할 시 폰트를 설치한 계정에서만 해당 폰트를 사용할 수 있고 다른 계정에서는 사용할 수 없습니다.

 

그래서 원하는 폰트를 추가하실 때는 

 

C:\Users\여러분의 사용자 계정명\AppData\Local\Microsoft\Windows\Fonts

 

이 경로가 아닌

 

C:\Windows\fonts 에 폰트 파일을 넣으셔야 합니다.

 

위 fonts 폴더는 ' C:\Windows\fonts ' 를 복사하셔서 검색창에 붙여넣기 하시면 해당 폴더가 나옵니다.

 

1번 돋보기 버튼을 클릭하시고 2번의 입력칸에 C:\Windows\fonts 을 입력하시고 3번의 폴더를 클릭하시면 됩니다.

 

출처: 내 컴퓨터

위 방법대로 따라하시면 폴더가 열립니다.

 

이 폴더에 다운받으신 글꼴 파일을 드래그해서 넣으시면 됩니다.

 

출처: 내 컴퓨터

이제 C:\Windows\fonts 에 폰트 파일을 넣어야 하는 것은 알았는데 R에 저장되어 있는 폰트가 어디에 저장되어 있는지 볼 수 있는 방법에 대해 알려드리겠습니다.

 

extrafont 패키지의 fonttable 함수를 사용하면 R에 저장된 내 폰트들이 어디에 저장되어 있는지 볼 수 있습니다.

library(extrafont)
fonttable()
  package                           afmfile                                           fontfile                    FullName                  FamilyName                   FontName  Bold Italic Symbol afmsymfile
1      NA                NanumGothic.afm.gz                C:\\Windows\\Fonts\\NanumGothic.ttf                 NanumGothic                 NanumGothic                NanumGothic FALSE  FALSE  FALSE         NA
2      NA            NanumGothicBold.afm.gz            C:\\Windows\\Fonts\\NanumGothicBold.ttf             NanumGothicBold                 NanumGothic            NanumGothicBold  TRUE  FALSE  FALSE         NA
3      NA       NanumGothicExtraBold.afm.gz       C:\\Windows\\Fonts\\NanumGothicExtraBold.ttf        NanumGothicExtraBold        NanumGothicExtraBold       NanumGothicExtraBold FALSE  FALSE  FALSE         NA
4      NA           NanumGothicLight.afm.gz           C:\\Windows\\Fonts\\NanumGothicLight.ttf           NanumGothic Light           NanumGothic Light           NanumGothicLight FALSE  FALSE  FALSE         NA
5      NA           NanumBarunGothic.afm.gz           C:\\Windows\\Fonts\\NanumBarunGothic.ttf            NanumBarunGothic            NanumBarunGothic           NanumBarunGothic FALSE  FALSE  FALSE         NA
6      NA       NanumBarunGothicBold.afm.gz       C:\\Windows\\Fonts\\NanumBarunGothicBold.ttf       NanumBarunGothic Bold            NanumBarunGothic       NanumBarunGothicBold  TRUE  FALSE  FALSE         NA
7      NA      NanumBarunGothicLight.afm.gz      C:\\Windows\\Fonts\\NanumBarunGothicLight.ttf      NanumBarunGothic Light      NanumBarunGothic Light      NanumBarunGothicLight FALSE  FALSE  FALSE         NA
8      NA NanumBarunGothicUltraLight.afm.gz C:\\Windows\\Fonts\\NanumBarunGothicUltraLight.ttf NanumBarunGothic UltraLight NanumBarunGothic UltraLight NanumBarunGothicUltraLight FALSE  FALSE  FALSE         NA

fonttable 함수를 사용하면 R에 저장된 폰트를 보여주며 이 결과에서 3번째 열인 ' fontfile ' 을 보시면 폰트가 어디에 저장되어 있는지 알 수 있습니다.

 

제 폰트들은 전부 C:\Windows\fonts에 저장되어 있습니다.

 

그런데 문제가 하나 있습니다.

 

이미 폰트를 font_import를 사용해 C:\Windows\fonts 외에 다른 경로에 저장된 폰트를 R에 저장하셔서 C:\Windows\fonts로 폰트를 다시 설치하시고 font_import로 폰트의 경로를 바꾸려고 하는데 경로가 바뀌지 않습니다.

 

R은 이미 db에 저장되어 있는 폰트라고 하면서 skip 해버립니다.

 

이 문제는 해당 폰트를 db에서 삭제하고 다시 폰트를 R에 저장하시면 됩니다.

 

R에서 폰트 삭제, 제거, 재설치하는 방법

 

감사합니다.

728x90

댓글