Spaces:
Running
Running
Update src/streamlit_app.py
Browse files- src/streamlit_app.py +33 -18
src/streamlit_app.py
CHANGED
@@ -9,35 +9,50 @@ import os
|
|
9 |
import matplotlib.font_manager as fm # [์์ 1] ๋๋ฝ๋์๋ ํฐํธ ๊ด๋ฆฌ์ ๋ชจ๋ import
|
10 |
|
11 |
# --- set_korean_font ํจ์๋ฅผ ์๋ ์ฝ๋๋ก ๊ต์ฒดํด์ฃผ์ธ์ ---
|
12 |
-
|
13 |
def set_korean_font():
|
14 |
"""
|
15 |
-
Hugging Face Space
|
|
|
|
|
|
|
|
|
16 |
"""
|
17 |
-
#
|
18 |
-
|
19 |
-
|
20 |
-
# 2. ์ฌ์ฉ์๊ฐ ์
๋ก๋ํ ํฐํธ ํ์ผ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค.
|
21 |
-
font_filename = "NanumGaRamYeonGgoc.ttf"
|
22 |
|
23 |
-
#
|
24 |
-
|
|
|
25 |
|
26 |
-
# 4. ํด๋น ๊ฒฝ๋ก์ ํ์ผ์ด ์ค์ ๋ก ์กด์ฌํ๋์ง ํ์ธํฉ๋๋ค.
|
27 |
if os.path.exists(font_path):
|
28 |
-
font_prop = fm.FontProperties(fname=font_path)
|
29 |
-
plt.rc('font', family=font_prop.get_name())
|
30 |
try:
|
31 |
-
|
32 |
-
|
33 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
else:
|
|
|
35 |
try:
|
36 |
-
|
37 |
-
|
|
|
|
|
|
|
38 |
except Exception:
|
39 |
pass
|
40 |
-
|
|
|
41 |
plt.rcParams['axes.unicode_minus'] = False
|
42 |
|
43 |
# --- ์ ์ ๋ถ์ ํจ์ ---
|
|
|
9 |
import matplotlib.font_manager as fm # [์์ 1] ๋๋ฝ๋์๋ ํฐํธ ๊ด๋ฆฌ์ ๋ชจ๋ import
|
10 |
|
11 |
# --- set_korean_font ํจ์๋ฅผ ์๋ ์ฝ๋๋ก ๊ต์ฒดํด์ฃผ์ธ์ ---
|
|
|
12 |
def set_korean_font():
|
13 |
"""
|
14 |
+
Hugging Face Space ๋๋ Streamlit Cloud ํ๊ฒฝ์์ ํ๊ธ ํฐํธ๋ฅผ ์์ ์ ์ผ๋ก ๋ก๋ํฉ๋๋ค.
|
15 |
+
1. ์ง์ ๋ ๊ฒฝ๋ก์ ํฐํธ ํ์ผ์ด ์๋์ง ํ์ธํฉ๋๋ค.
|
16 |
+
2. ํ์ผ์ด ์๋ค๋ฉด ๊ฒฝ๊ณ ๋ฅผ ํ์ํฉ๋๋ค.
|
17 |
+
3. ํ์ผ์ด ์๋ค๋ฉด ํด๋น ํฐํธ๋ฅผ matplotlib์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ ํฉ๋๋ค.
|
18 |
+
4. ํน์ ๋ชจ๋ฅผ ์บ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์บ์๋ฅผ ์ฌ์์ฑํ๋ ์ต์
์ ๊ณ ๋ คํ ์ ์์ต๋๋ค.
|
19 |
"""
|
20 |
+
# ํฐํธ ํ์ผ ์ด๋ฆ ์ง์
|
21 |
+
font_filename = "NanumGaRamYeonGgoc.ttf"
|
|
|
|
|
|
|
22 |
|
23 |
+
# ์์คํ
ํ๊ฒฝ์ ๋ฐ๋ผ ํฐํธ ๊ฒฝ๋ก ํ์
|
24 |
+
# (Hugging Face, Streamlit Cloud์ ๊ฐ์ ๋ฆฌ๋
์ค ๊ธฐ๋ฐ ํ๊ฒฝ์ ๊ฐ์ )
|
25 |
+
font_path = f'./{font_filename}'
|
26 |
|
|
|
27 |
if os.path.exists(font_path):
|
|
|
|
|
28 |
try:
|
29 |
+
# ํฐํธ ํ๋กํผํฐ๋ฅผ ์ค์ ํ๊ณ matplotlib์ rcParams์ ๋ฑ๋ก
|
30 |
+
font_prop = fm.FontProperties(fname=font_path)
|
31 |
+
fm.fontManager.addfont(font_path) # ์บ์์ ํฐํธ ์ถ๊ฐ
|
32 |
+
plt.rc('font', family=font_prop.get_name())
|
33 |
+
|
34 |
+
# ์ฑ๊ณต ๋ฉ์์ง ํ์ (Streamlit ๋ ๋๋ง ๊ณผ์ ์์ ์ค๋ฅ ๋ฐฉ์ง)
|
35 |
+
try:
|
36 |
+
st.sidebar.success(f"'{font_prop.get_name()}' ํฐํธ ๋ก๋ฉ ์ฑ๊ณต!")
|
37 |
+
except Exception:
|
38 |
+
pass
|
39 |
+
except Exception as e:
|
40 |
+
try:
|
41 |
+
st.sidebar.error(f"ํฐํธ ๋ก๋ฉ ์ค ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค: {e}")
|
42 |
+
except Exception:
|
43 |
+
pass
|
44 |
else:
|
45 |
+
# ํฐํธ ํ์ผ์ด ์์ ๊ฒฝ์ฐ ๊ฒฝ๊ณ ๋ฉ์์ง
|
46 |
try:
|
47 |
+
st.sidebar.warning(f"ํฐํธ ํ์ผ({font_filename})์ ์ฐพ์ ์ ์์ต๋๋ค. ์ฑ์ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์ ํฐํธ ํ์ผ์ ์
๋ก๋ํ์ธ์.")
|
48 |
+
# matplotlib์ ํฐํธ ์บ์๋ฅผ ๊ฐ์ ๋ก ๋ค์ ๋น๋ (๋๋ฒ๊น
์ฉ)
|
49 |
+
# st.sidebar.info("Matplotlib ํฐํธ ์บ์๋ฅผ ์ฌ๋น๋ํฉ๋๋ค...")
|
50 |
+
# fm._rebuild()
|
51 |
+
# st.sidebar.info("์บ์ ์ฌ๋น๋ ์๋ฃ. ์ฑ์ ์๋ก๊ณ ์นจํ์ธ์.")
|
52 |
except Exception:
|
53 |
pass
|
54 |
+
|
55 |
+
# ๋ง์ด๋์ค ๋ถํธ๊ฐ ๊นจ์ง๋ ํ์ ๋ฐฉ์ง
|
56 |
plt.rcParams['axes.unicode_minus'] = False
|
57 |
|
58 |
# --- ์ ์ ๋ถ์ ํจ์ ---
|