Python

flask font error

summerorange 2024. 4. 17. 10:21
반응형

font 인식 에러가 있어서 테스트 했던 코드

# 1개의 경우
# fm.fontManager.addfont('./static/fonts/NanumGothic.ttf')

# 폰트 파일 경로 지정
font_files = [
    './static/fonts/NanumBarunGothic.ttf',
    './static/fonts/NanumGothic.ttf',
    './static/fonts/NanumMyeongjo.ttf',
]

# 각 폰트 파일에 대해 addfont 호출
for font_file in font_files:
    fm.fontManager.addfont(font_file)

fm._rebuild()

# 사용자 지정 폰트 파일의 경로
        font_path = f'./static/fonts/{font_name}.ttf'

# 사용자 지정 폰트를 불러옵니다.
        font = fm.FontProperties(fname=font_path) #fm.FontProperties(fname=font_path) # size=10
        # 폰트의 이름을 가져옵니다.
        font_get_name = font.get_name()
        print("font_get_name : ", font_get_name)
        # matplotlib의 폰트 캐시를 업데이트합니다.
        # rebuild를 없애보자
        # fm._rebuild()
        plt.rc('font', family=font_name)


nx.draw_networkx(g_edge,
            pos=selected_layout,
            with_labels=True,
            font_family=font_get_name,
            node_color=selected_centrality,
            node_size=get_node_size(selected_centrality),
            alpha=transparent_ratio,
            edge_color="gainsboro",
            cmap=plt.cm.hsv,
            font_size=font_size)

음...

import matplotlib.font_manager as fm

# 폰트 파일 경로 지정
font_files = [
    './static/fonts/KoPubWorld Batang Light.ttf',
    './static/fonts/KoPubWorld Batang Medium.ttf',
    './static/fonts/KoPubWorld Dotum Bold.ttf',
    './static/fonts/KoPubWorld Dotum Light.ttf',
    './static/fonts/KoPubWorld Dotum Medium.ttf',
    './static/fonts/NanumBarunGothic.ttf',
    './static/fonts/NanumBarunGothicBold.ttf',
    './static/fonts/NanumBarunGothicLight.ttf',
    './static/fonts/NanumBarunGothicUltraLight.ttf',
    './static/fonts/NanumBarunpenB.ttf',
    './static/fonts/NanumBarunpenR.ttf',
    './static/fonts/NanumBrush.ttf',
    './static/fonts/NanumGothic.ttf',
    './static/fonts/NanumGothicBold.ttf',
    './static/fonts/NanumGothicExtraBold.ttf',
    './static/fonts/NanumGothicLight.ttf',
    './static/fonts/NanumMyeongjo.ttf',
    './static/fonts/NanumMyeongjoBold.ttf',
    './static/fonts/NanumMyeongjoExtraBold.ttf',
    './static/fonts/NanumPen.ttf',
    './static/fonts/SCDream1.otf',
    './static/fonts/SCDream2.otf',
    './static/fonts/SCDream3.otf',
    './static/fonts/SCDream4.otf',
    './static/fonts/SCDream5.otf',
    './static/fonts/SCDream6.otf',
    './static/fonts/SCDream7.otf',
    './static/fonts/SCDream8.otf',
    './static/fonts/SCDream9.otf'
]

# 각 폰트 파일에 대해 addfont 호출
for font_file in font_files:
    fm.fontManager.addfont(font_file)

# 이제 이 폰트들을 matplotlib에서 사용할 수 있습니다.
반응형