🐍 파이썬으로 시스템 폰트 확인하기
💡 이 가이드는 누구를 위한 것인가요?
파이썬 프로그래밍을 배우고 있는 초보자분들이 자신의 컴퓨터에 어떤 폰트가 설치되어 있는지 확인하고, 특정 폰트(예: Pretendard)가 제대로 설치되었는지 점검할 수 있도록 도와드립니다.
📋 목차
🤔 왜 폰트를 확인해야 할까요?
프로그래밍을 하다 보면 사용자 인터페이스(UI)를 만들 때 특정 폰트를 사용하고 싶을 때가 있습니다. 하지만 코드에서 폰트 이름을 잘못 입력하거나, 해당 폰트가 컴퓨터에 설치되지 않았다면 원하는 결과를 얻을 수 없죠.
이 스크립트를 사용하면:
- 컴퓨터에 설치된 모든 폰트 목록을 확인할 수 있습니다
- 특정 폰트(예: Pretendard)가 제대로 설치되었는지 확인할 수 있습니다
- 코드에서 사용할 정확한 폰트 이름을 알 수 있습니다
🛠️ 준비물
- 파이썬 설치: 파이썬 3.x 버전 (대부분의 컴퓨터에 기본 설치되어 있음)
- 텍스트 에디터: 메모장, VS Code, PyCharm 등 아무거나
- 기본 파이썬 지식: 파이썬 파일을 실행할 줄 아는 정도면 충분
⚠️ 주의사항
이 코드는 tkinter라는 파이썬 기본 라이브러리를 사용합니다. 대부분의 파이썬 설치에 포함되어 있지만, 일부 Linux 시스템에서는 별도로 설치해야 할 수 있습니다.
📝 단계별 실행 가이드
코드 파일 생성
먼저 새로운 파이썬 파일을 만들어주세요. 파일명은 font_checker.py
로 하겠습니다.
코드 복사하기
아래 코드를 복사해서 파일에 붙여넣어주세요:
# font_checker.py (수정본)
import tkinter
from tkinter import font
try:
root = tkinter.Tk()
# font.families()가 튜플을 반환하므로, sorted() 내장 함수를 사용해 정렬합니다.
# sorted()는 튜플, 리스트 등 어떤 것이든 받아 정렬된 '리스트'를 반환합니다.
sorted_font_families = sorted(font.families())
print("--- 시스템에 설치된 사용 가능한 폰트 목록 ---")
for f in sorted_font_families:
print(f)
print("------------------------------------------")
# Pretendard가 있는지 확인
found = False
print("\n--- Pretendard 폰트 검색 결과 ---")
for f in sorted_font_families:
# 폰트 이름에 'pretendard'가 포함되어 있는지 대소문자 구분 없이 확인
if "pretendard" in f.lower():
print(f" > 찾음: '{f}'")
found = True
if not found:
print("\n[결과] Pretendard 계열 폰트를 찾지 못했습니다.")
print("폰트가 올바르게 설치되었는지, '모든 사용자용으로 설치'했는지 확인해주세요.")
else:
print("--------------------------------")
print("\n[조치] 위 '찾음:' 목록에 있는 이름 중 하나를 '정확히' 복사해서 코드에 적용해보세요.")
print("예시: self.main_font_family = \"Pretendard\"")
print("또는: self.main_font_family = \"Pretendard Variable\"")
except Exception as e:
print(f"오류 발생: {e}")
finally:
# Tkinter 창이 보이지 않도록 바로 닫아줍니다.
if 'root' in locals() and root.winfo_exists():
root.destroy()
코드 실행하기
터미널이나 명령 프롬프트를 열고 다음 명령어로 실행해주세요:
python font_checker.py
또는 파이썬 개발 환경에서 직접 실행하셔도 됩니다.
결과 확인하기
실행하면 다음과 같은 결과를 볼 수 있습니다:
- 전체 폰트 목록: 컴퓨터에 설치된 모든 폰트가 알파벳 순으로 정렬되어 표시됩니다
- Pretendard 검색 결과: Pretendard 폰트가 설치되어 있다면 해당 폰트들이 표시됩니다
🔍 코드 상세 설명
1. 라이브러리 가져오기
import tkinter
from tkinter import font
tkinter
는 파이썬의 기본 GUI 라이브러리입니다. 여기서는 폰트 정보를 가져오기 위해서만 사용합니다.
2. 폰트 목록 가져오기
root = tkinter.Tk()
sorted_font_families = sorted(font.families())
font.families()
함수가 시스템의 모든 폰트 목록을 반환합니다. sorted()
함수로 알파벳 순으로 정렬합니다.
3. 특정 폰트 찾기
if "pretendard" in f.lower():
print(f" > 찾음: '{f}'")
폰트 이름을 소문자로 변환해서 'pretendard'가 포함된 폰트를 찾습니다. 대소문자를 구분하지 않아 더 정확하게 찾을 수 있습니다.
4. 에러 처리
try:
# 메인 코드
except Exception as e:
print(f"오류 발생: {e}")
finally:
# 정리 작업
만약 오류가 발생하면 사용자에게 알려주고, 마지막에는 반드시 tkinter 창을 닫아줍니다.
✅ 코드의 장점
- 자동 정렬: 폰트 목록이 알파벳 순으로 정렬되어 찾기 쉽습니다
- 대소문자 무관 검색: 'Pretendard', 'PRETENDARD', 'pretendard' 모두 찾을 수 있습니다
- 에러 처리: 오류가 발생해도 프로그램이 안전하게 종료됩니다
- 창 숨김: tkinter 창이 나타나지 않아 사용자 경험이 좋습니다
🔧 문제 해결
1. "ModuleNotFoundError: No module named 'tkinter'" 오류
원인: tkinter가 설치되지 않았습니다.
해결책:
- Windows: 파이썬 재설치 시 "tcl/tk and IDLE" 옵션 체크
- macOS:
brew install python-tk
- Ubuntu/Debian:
sudo apt-get install python3-tk
2. 원하는 폰트가 나타나지 않는 경우
확인사항:
- 폰트가 정말로 설치되었는지 확인 (제어판 > 글꼴)
- "모든 사용자용으로 설치" 옵션으로 설치했는지 확인
- 컴퓨터 재시작 후 다시 시도
3. 결과에 이상한 폰트 이름들이 나오는 경우
이는 정상적인 현상입니다. 시스템 폰트나 특수 문자가 포함된 폰트들도 함께 표시됩니다. 원하는 폰트 이름만 찾아서 사용하시면 됩니다.
💡 추가 활용 팁
- 다른 폰트 찾기: 코드에서 'pretendard'를 다른 폰트명으로 바꿔서 검색할 수 있습니다
- 결과 저장: 출력 결과를 텍스트 파일로 저장하고 싶다면
python font_checker.py > fonts.txt
명령어를 사용하세요 - GUI 프로그램에 활용: 이 코드로 찾은 정확한 폰트 이름을 tkinter, PyQt 등의 GUI 프로그램에서 사용할 수 있습니다
📚 마무리
이제 여러분의 컴퓨터에 설치된 폰트를 쉽게 확인할 수 있게 되었습니다. 이 방법을 사용하면 GUI 프로그래밍을 할 때 원하는 폰트를 정확하게 사용할 수 있고, 폰트 관련 오류를 미리 방지할 수 있습니다.
파이썬 프로그래밍에서 작은 유틸리티 스크립트를 만들어 보는 것은 실력 향상에 큰 도움이 됩니다. 이 코드를 기반으로 더 다양한 기능을 추가해보세요!
🎯 다음 단계 추천
- 폰트 미리보기 기능 추가해보기
- 특정 폰트 스타일(Bold, Italic) 확인 기능 만들기
- 폰트 정보를 CSV 파일로 저장하는 기능 추가하기
'콩's EDUCATION > 콩's Python' 카테고리의 다른 글
파이썬 오라클 데이터베이스 연동 방법 (0) | 2018.03.28 |
---|---|
파이썬 설치 및 장고 프레임워크 파이참에서 사용 (0) | 2018.03.28 |