AWS EC2 한글 폰트 깨지는 문제

sangeun jo·2021년 10월 5일
0

wordcloud를 만들어주는 djongo 프로젝트를 aws로 배포하려고 하는데 글꼴이 자꾸 깨졌다.

에러 문구

ubuntu findfont: Font family ['NanumBarunGothic'] not found. Falling back to DejaVu Sans.

wordcloud 함수를 사용할 때 윈도우 글꼴 파일 경로를 사용한 것이 원인이었다.

현재 운영체제(우분투 18.4)에 한글 글꼴을 다운로드 받아 그 경로를 넣어주면 해결할 수 있다.

나눔글꼴을 다운받고 matplotlib 모듈이 한글을 사용할 수 있도록 하는 것은 이 블로그를 참고했다.

다 똑같은데, 나는 aws의 ubuntu로 배포해서 matplotlib 경로가 다르다.

sudo cp /usr/share/fonts/truetype/nanum/Nanum* /usr/local/lib/python3.4/dist-packages/matplotlib/mpl-data/fonts/ttf/

대신

sudo cp /usr/share/fonts/truetype/nanum/Nanum* /home/ubuntu(사용자 계정)/[가상환경 이름]/lib/python3.x(파이썬 버전)/site-packages/matplotlib/mpl-data/fonts/ttf

로 해야한다. matplotlib의 font 경로를 못 찾겠으면 find / -name matplotlib을 사용하면 된다.

다 따라해주고 난 다음에, 아래와같이 사용했더니 해결되었다.

font_manager 사용 시

font_manager.FontProperties(fname="/usr/share/fonts/truetype/nanum/NanumBarunGothic.ttf").get_name()

WordCloud 사용 시

WordCloud(font_path='/usr/share/fonts/truetype/nanum/NanumBarunGothic.ttf',  
	background_color='white'
	width=900, 
	height=360, 
	max_words=100, 
	max_font_size=200, 
	)

font_family에 사용 시

nx.draw(
      G, pos, with_labels=True, 
      font_family="NanumBarunGothic", 
      font_size = 8, 
      font_weight = 'bold', 
      node_size = sizes, 
      width = widths)
profile
코더가 아니라 개발자가 되자

0개의 댓글