JUNGU commited on
Commit
a1b29d5
ยท
verified ยท
1 Parent(s): b004430

Update src/streamlit_app.py

Browse files
Files changed (1) hide show
  1. src/streamlit_app.py +10 -37
src/streamlit_app.py CHANGED
@@ -8,52 +8,25 @@ import platform
8
  import os
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 = os.path.join(os.getcwd(), font_filename)
26
 
27
-
28
- if os.path.exists(font_path):
29
  try:
30
- # ํฐํŠธ ํ”„๋กœํผํ‹ฐ๋ฅผ ์„ค์ •ํ•˜๊ณ  matplotlib์˜ rcParams์— ๋“ฑ๋ก
31
  font_prop = fm.FontProperties(fname=font_path)
32
- fm.fontManager.addfont(font_path) # ์บ์‹œ์— ํฐํŠธ ์ถ”๊ฐ€
33
  plt.rc('font', family=font_prop.get_name())
34
-
35
- # ์„ฑ๊ณต ๋ฉ”์‹œ์ง€ ํ‘œ์‹œ (Streamlit ๋ Œ๋”๋ง ๊ณผ์ •์—์„œ ์˜ค๋ฅ˜ ๋ฐฉ์ง€)
36
- try:
37
- st.sidebar.success(f"'{font_prop.get_name()}' ํฐํŠธ ๋กœ๋”ฉ ์„ฑ๊ณต!")
38
- except Exception:
39
- pass
40
  except Exception as e:
41
- try:
42
- st.sidebar.error(f"ํฐํŠธ ๋กœ๋”ฉ ์ค‘ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค: {e}")
43
- except Exception:
44
- pass
45
  else:
46
- # ํฐํŠธ ํŒŒ์ผ์ด ์—†์„ ๊ฒฝ์šฐ ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€
47
- try:
48
- st.sidebar.warning(f"ํฐํŠธ ํŒŒ์ผ({font_filename})์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์•ฑ์˜ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ์— ํฐํŠธ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜์„ธ์š”.")
49
- # matplotlib์˜ ํฐํŠธ ์บ์‹œ๋ฅผ ๊ฐ•์ œ๋กœ ๋‹ค์‹œ ๋นŒ๋“œ (๋””๋ฒ„๊น…์šฉ)
50
- # st.sidebar.info("Matplotlib ํฐํŠธ ์บ์‹œ๋ฅผ ์žฌ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค...")
51
- # fm._rebuild()
52
- # st.sidebar.info("์บ์‹œ ์žฌ๋นŒ๋“œ ์™„๋ฃŒ. ์•ฑ์„ ์ƒˆ๋กœ๊ณ ์นจํ•˜์„ธ์š”.")
53
- except Exception:
54
- pass
55
-
56
- # ๋งˆ์ด๋„ˆ์Šค ๋ถ€ํ˜ธ๊ฐ€ ๊นจ์ง€๋Š” ํ˜„์ƒ ๋ฐฉ์ง€
57
  plt.rcParams['axes.unicode_minus'] = False
58
 
59
  # --- ์ ์ˆ˜ ๋ถ„์„ ํ•จ์ˆ˜ ---
 
8
  import os
9
  import matplotlib.font_manager as fm # [์ˆ˜์ • 1] ๋ˆ„๋ฝ๋˜์—ˆ๋˜ ํฐํŠธ ๊ด€๋ฆฌ์ž ๋ชจ๋“ˆ import
10
 
 
11
  def set_korean_font():
 
 
 
 
 
 
 
 
12
  font_filename = "NanumGaRamYeonGgoc.ttf"
13
+ # ์•ฑ ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ ํฐํŠธ ํŒŒ์ผ ์ฐพ๊ธฐ
 
 
14
  font_path = os.path.join(os.getcwd(), font_filename)
15
 
16
+ if font_path and os.path.exists(font_path):
 
17
  try:
 
18
  font_prop = fm.FontProperties(fname=font_path)
19
+ fm.fontManager.addfont(font_path)
20
  plt.rc('font', family=font_prop.get_name())
21
+ st.sidebar.success(f"'{font_prop.get_name()}' ํฐํŠธ ๋กœ๋”ฉ ์„ฑ๊ณต!")
 
 
 
 
 
22
  except Exception as e:
23
+ st.sidebar.error(f"ํฐํŠธ ๋กœ๋”ฉ ์ค‘ ์˜ค๋ฅ˜ ๋ฐœ์ƒ: {e}")
 
 
 
24
  else:
25
+ st.sidebar.warning(
26
+ f"ํฐํŠธ ํŒŒ์ผ({font_filename})์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. "
27
+ "์•ฑ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ์— ์—…๋กœ๋“œํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”."
28
+ )
29
+
 
 
 
 
 
 
30
  plt.rcParams['axes.unicode_minus'] = False
31
 
32
  # --- ์ ์ˆ˜ ๋ถ„์„ ํ•จ์ˆ˜ ---