Update app.py
Browse files
app.py
CHANGED
@@ -557,4 +557,46 @@ def create_app():
|
|
557 |
**❌ 상업적 라이선스 필요**
|
558 |
- 개인 사용: 무료
|
559 |
- 상업적 사용: 유료 라이선스 구매 필요
|
560 |
-
- 주로 전문
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
557 |
**❌ 상업적 라이선스 필요**
|
558 |
- 개인 사용: 무료
|
559 |
- 상업적 사용: 유료 라이선스 구매 필요
|
560 |
+
- 주로 전문 폰트 제작사 폰트들
|
561 |
+
|
562 |
+
**❓ 확인 필요**
|
563 |
+
- 데이터베이스에 정보가 없는 폰트
|
564 |
+
- 제작사 공식 사이트에서 직접 확인 필요
|
565 |
+
""")
|
566 |
+
|
567 |
+
gr.Markdown("### ⚠️ 안내사항")
|
568 |
+
gr.Markdown("- 참고용 도구입니다. 상업적 사용 전 공식 사이트에서 최종 확인하세요.")
|
569 |
+
gr.Markdown("- 라이선스 정보는 재검증되었으나 변경될 수 있습니다.")
|
570 |
+
gr.Markdown("- 총 25개 주요 한국어 폰트 정보를 제공합니다.")
|
571 |
+
|
572 |
+
def handle_analysis(file):
|
573 |
+
if file is None:
|
574 |
+
return "파일을 업로드해주세요.", None, gr.File(visible=False)
|
575 |
+
|
576 |
+
df, summary, excel_file = process_font_file(file)
|
577 |
+
|
578 |
+
if df is None:
|
579 |
+
return summary, None, gr.File(visible=False)
|
580 |
+
|
581 |
+
if excel_file:
|
582 |
+
return summary, df, gr.File(value=excel_file, visible=True)
|
583 |
+
else:
|
584 |
+
return summary, df, gr.File(visible=False)
|
585 |
+
|
586 |
+
analyze_btn.click(
|
587 |
+
fn=handle_analysis,
|
588 |
+
inputs=file_input,
|
589 |
+
outputs=[summary_output, result_table, excel_download]
|
590 |
+
)
|
591 |
+
|
592 |
+
file_input.change(
|
593 |
+
fn=handle_analysis,
|
594 |
+
inputs=file_input,
|
595 |
+
outputs=[summary_output, result_table, excel_download]
|
596 |
+
)
|
597 |
+
|
598 |
+
return app
|
599 |
+
|
600 |
+
if __name__ == "__main__":
|
601 |
+
app = create_app()
|
602 |
+
app.launch()
|