Skip to content

wudys/LythD2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LythD2

GitHub release (latest by date) License Build Status

LythD2는 Lyth Mono의 둥글고 차분한 글자 모양과 D2Coding의 한글 경험을 함께 담은 프로그래밍 폰트입니다.

대체 폰트나 보조 폰트를 지정하기 어려운 환경에서도 코드와 주석, 문서를 자연스럽게 읽을 수 있습니다.

LythD2 preview

특징

  • 둥글고 차분한 글자: 코드에서 자주 만나는 영문자와 숫자, 기호를 편안하게 읽을 수 있습니다.
  • 자연스러운 한글 표시: 일반적인 에디터와 문서 환경에서 한글이 2칸 고정폭으로 지나치게 넓어 보이지 않도록 한글 폭, 외곽선 크기, 좌우 여백을 조정했습니다.
  • 터미널용 폰트 제공: Mono 패밀리는 한글 2칸 폭과 좁은 폭의 기호를 제공합니다.

설치

Releases에서 원하는 패밀리를 내려받아 설치합니다.

기본적으로 코드 에디터에서 한글이 과하게 넓어 보이지 않도록 조정했고, Mono 계열은 터미널 격자에 맞춰 한글 2칸 폭과 좁은 기호 폭을 유지합니다.

Round/Square 차이는 원본 Lyth Mono처럼 글자 비율은 그대로 두고 곡률 느낌만 조금 바꾸는 정도라, 큰 차이보다는 작은 취향 차이에 가깝습니다.

패밀리 선택 기준
LythD2 기본 추천. 코드 에디터와 IDE
LythD2 Round 조금 더 둥근 인상의 에디터용
LythD2 Square 조금 더 각진 인상의 에디터용
LythD2 Mono 터미널 또는 고정폭 격자 유지용
LythD2 Mono Nerd Font 터미널에서 아이콘이 필요한 경우
LythD2 Mono Round 둥근 인상의 터미널용
LythD2 Mono Round Nerd Font Mono Round에 아이콘이 필요한 경우

각 패밀리는 Regular, Italic, Bold, Bold Italic, Light, Light Italic, Medium, Medium Italic 스타일을 포함합니다.

Italic 계열의 한글 글리프는 D2Coding에 기울임 보정을 적용한 결과입니다. Bold Italic을 제외한 Italic 계열은 Regular 기준 보정값을 사용합니다.

이런 폰트도 있어요

글자와 기호가 더 또렷하게 보이는 코딩 폰트를 원한다면 0xProtoD2도 함께 비교해보세요.

빌드

요구사항

  • Python 3.7+
  • FontForge
  • FontForge Python 바인딩
  • fonttools, pillow(빌드 결과 검증/미리보기 생성 시)

macOS

brew install fontforge

Ubuntu/Debian

sudo apt-get update
sudo apt-get install fontforge python3-fontforge

빌드 및 테스트

최종 빌드 폰트의 release version 메타데이터는 repo 최상위 FONT_VERSION 파일을 사용합니다.

# 전체 패밀리 빌드
python3 scripts/build.py build

# 특정 family만 빌드
python3 scripts/build.py build --family LythD2MonoRoundNerdFont

# 빌드 로직 테스트
python3 scripts/build.py test:logic

# 빌드 결과 테스트
python3 scripts/build.py test:outputs

--family는 빌드할 family만 제한합니다. 빌드 식별자는 공백 없는 이름을 사용합니다. 소스 버전 갱신과 D2Coding 전처리는 공통으로 실행됩니다.

미리보기 생성

# 미리보기 생성에는 Pillow와 fontTools가 추가로 필요합니다.
python3 -m pip install pillow fonttools
python3 scripts/build.py preview

preview/balance-comparison.png에는 현재 설정값과 D2Coding/LythD2 렌더링 비교가 함께 표시됩니다.

preview/metrics.json에는 실제 advance width 측정값이 저장됩니다.

커스텀 설정

한글 폭과 외곽선 크기는 scripts/font_settings.py 또는 같은 이름의 환경 변수로 조정할 수 있습니다. 기본 계열은 에디터에서 한글 문장이 덜 벌어져 보이도록 2칸보다 좁게 조정하고, Mono 계열만 터미널 격자에 맞춰 영문 2칸 폭을 유지합니다.

설정 기본값 설명
HANGUL_WIDTH_RATIO 1.655 폰트의 기본 한글 advance width 비율
HANGUL_GLYPH_SCALE 1.01 폰트의 기본 한글 외곽선 크기
HANGUL_SIDE_BEARING 20 폰트의 기본 한글 좌우 여백
HANGUL_TERM_WIDTH_RATIO 2.0 Mono 계열의 한글 advance width 비율
HANGUL_TERM_GLYPH_SCALE 0.9123 Mono 계열의 한글 외곽선 크기
HANGUL_TERM_SIDE_BEARING 90 Mono 계열의 한글 좌우 여백
HANGUL_ITALIC_SLANT_RATIO 0.75 Italic 한글 기울임 보정 비율

WOFF2 파일도 제공하나요?

Nerd Font가 아닌 5개 패밀리는 woff2/ 폴더에 WOFF2 파일도 제공합니다. Mono Nerd Font 계열은 TTF만 제공합니다.

라이선스

이 프로젝트는 LICENSE을 따릅니다.

각 라이선스 고지는 유지해야 합니다.

About

Lyth Mono와 D2Coding의 경험을 함께 담은 프로그래밍 폰트

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages