← 목록으로

D2Coding 폰트 1.4.0 릴리즈 소식을 전합니다.

요약

D2 Coding은 한글과 영문, 숫자, 기호가 함께 있는 코드에서도 일정한 간격과 높은 가독성을 유지하도록 만든 코딩 전용 글꼴입니다.

​

이번 1.4.0에서는 기존의 빗금이 들어간 숫자 0 대신 점이 들어간 0을 선택해서 사용할 수 있는 기능을 추가했습니다. 일부 크기에서 글자가 기준선보다 한 픽셀 위에 표시되던 문제도 수정했으며, 마침표의 의미를 다르게 보이게 할 수 있었던 리거처 네 종류를 제거했습니다.

​

최근 공개한 1.3.4와 1.3.5의 개선 사항도 모두 포함되어 있습니다. 한글 주석이 포함된 줄에서도 코딩 리거처가 적용되며, Keynote에서 줄 끝에 불필요한 기호가 표시되던 문제가 해결되었습니다. 터미널에서 폭이 맞지 않던 기호 20자와 위첨자, 아래첨자, 분수 문자도 개선했습니다.

​

​

기존 버전이 설치되어 있다면 먼저 제거한 뒤 새 버전을 설치해 주세요. 글꼴을 설치한 다음에는 사용 중인 에디터나 터미널을 다시 실행해야 새 버전이 적용될 수 있습니다.

​

1. 점이 들어간 숫자 0 추가

​

D2 Coding의 기본 숫자 0에는 영문 대문자 O와 쉽게 구분할 수 있도록 빗금이 들어가 있습니다.

1.4.0에서는 기존의 빗금이 들어간 0과 함께, 가운데에 점이 들어간 0을 선택해서 사용할 수 있습니다. 점이 들어간 0은 기본적으로 비활성화되어 있으며, OpenType의 cv01 기능을 켜면 적용됩니다. cv01을 지원하지 않고 스타일 세트만 제공하는 애플리케이션에서는 ss01 기능을 사용할 수 있습니다.

점이 들어간 0은 기존 숫자 0의 외곽선과 너비, 세로 방향 힌팅을 유지하므로 다른 숫자와 동일하게 정렬됩니다. 리거처 글꼴에서도 다른 리거처 기능에 영향을 주지 않고 사용할 수 있습니다.

​

Visual Studio Code에서는 다음과 같이 설정할 수 있습니다.

"editor.fontLigatures": "'cv01'"

리거처를 끄고 점이 들어간 0만 사용하려면 다음과 같이 설정합니다.

"editor.fontLigatures": "'calt' off, 'liga' off, 'cv01'"

Windows Terminal에서는 글꼴 설정에 다음 기능을 추가합니다.

"font": {

"face": "D2Coding",

"features": {

"cv01": 1

}

}

D2 Coding 미리 보기 사이트에서도 Dotted zero 옵션을 이용해 두 형태를 비교할 수 있습니다.

https://naver.github.io/d2-coding-font/

​

​

2. 일부 글자의 기준선 정렬 개선

​

FreeType 힌팅을 사용하는 환경에서 일부 글자가 주변 문자보다 한 픽셀 위에 표시되는 문제가 있었습니다.

Regular 글꼴에서는 i와 일부 키릴 문자를 포함한 27개 글자가 영향을 받았습니다. Bold 글꼴에서는 악센트가 있는 문자와 그리스 문자, 키릴 문자 등을 포함한 87개 글자가 일부 크기에서 기준선보다 한 픽셀 위에 표시됐습니다.

1.4.0에서는 9에서 29ppem 사이의 해당 크기에 힌팅 보정을 적용해 글자들이 주변 문자와 같은 기준선 위에 놓이도록 수정했습니다.

글자의 외곽선은 변경하지 않았으며, 문제가 없었던 다른 크기의 표시 결과도 기존과 같습니다.

​

​

3. 마침표의 의미를 바꾸던 리거처 제거

​

1.4.0에서는 다음 네 가지 문자 조합의 리거처를 제거했습니다.

.=

.-

{.

.}

기존 리거처는 이 조합에 포함된 마침표를 가운데점 높이로 올려서 표시했습니다. 하지만 마침표 자체가 의미를 갖는 코드에서는 원래 문자를 오해하게 만들 수 있었습니다.

예를 들어 다음과 같은 코드가 영향을 받을 수 있습니다.

1.-x

{{.}}

{.inline.}

.-mt-2

각각 숫자와 연산자가 결합된 표현, Go 템플릿, Nim pragma, CSS 선택자에서 실제 마침표의 위치와 의미를 정확하게 보여 줄 필요가 있습니다.

1.4.0부터 이 네 조합은 리거처로 변환하지 않고 입력한 문자를 그대로 표시합니다.

.., ..., ..<를 비롯한 다른 코딩 리거처는 기존과 동일하게 유지됩니다.

​

​

4. 한글이 포함된 줄에서도 코딩 리거처 적용

​

1.3.5부터는 다음과 같이 한글 주석이 포함된 줄에서도 코딩 리거처가 적용됩니다.

​

<!-- 주석 -->

​

일부 텍스트 처리 엔진은 한글 영역을 처리할 때 OpenType의 calt 기능을 비활성화합니다. 이 때문에 기존에는 리거처 글꼴을 사용하더라도 위 예문의 <!--와 -->에 리거처가 적용되지 않을 수 있었습니다.

코딩 리거처를 calt뿐 아니라 liga 기능에도 동일하게 등록해 한글 주석이 포함된 줄에서도 리거처가 적용되도록 개선했습니다.

리거처를 사용하지 않으려면 calt와 liga 기능을 모두 비활성화해야 합니다. Visual Studio Code에서는 다음 설정으로 두 기능을 함께 끌 수 있습니다.

"editor.fontLigatures": false

​

​

5. Keynote에서 줄 끝에 나타나던 기호 제거

​

Keynote에서 문단 끝에 상자 안의 원처럼 보이는 기호가 나타나는 문제가 있었습니다.

D2 Coding에 포함된 DOS 방식의 제어 문자 그림이 줄 바꿈 등의 제어 코드에 연결되어 있었고, Keynote가 줄 바꿈 문자를 글리프로 표시하면서 발생한 현상입니다.

​

1.3.5부터는 U+0001부터 U+001F까지의 제어 문자 가운데 캐리지 리턴인 U+000D를 제외한 문자의 매핑을 제거했습니다. 탭 문자도 더 이상 매핑하지 않습니다. 일반 공백 문자는 기존 글리프를 그대로 유지합니다.

제어 문자 그림은 글꼴에 남아 있지만 문자 코드에 연결되지 않으므로, Keynote에서 문단 끝에 불필요한 기호가 표시되지 않습니다.

​

​

6. 한글과 다른 폭으로 표시되던 기호 20자 개선

​

1.3.4에서는 터미널에서 폭이 맞지 않던 다음 기호 20자를 수정했습니다.

◽ ◾ ☔ ☕ ♈ ♉ ♊ ♋ ♌ ♍ ♎ ♏ ♐ ♑ ♒ ♓ ♿ ⚓ ⚡ 〜

​

이 기호들은 유니코드에서 동아시아 전각 문자로 분류되지만, 기존 D2 Coding에서는 영문 한 글자와 같은 반각 너비로 그려졌습니다.

터미널은 이 문자들에 두 칸을 할당하지만 글꼴의 실제 너비는 한 칸이어서, 기호가 왼쪽에 치우쳐 보이거나 출력의 정렬이 어긋날 수 있었습니다.

이제 해당 문자들은 한글 한 글자와 같은 너비를 사용합니다. 기호 자체의 크기는 유지하고 넓어진 영역의 가운데에 오도록 배치했습니다.

​

​

7. 위첨자, 아래첨자와 분수 문자 개선

​

위첨자, 아래첨자와 분수 문자도 D2 Coding의 다른 숫자와 자연스럽게 어울리도록 다시 만들었습니다.

기존 문자들은 주변 숫자보다 작고 가늘게 보였으며, Regular와 Bold 글꼴에서 같은 윤곽선을 사용했습니다. 이 때문에 Bold 글꼴에서도 해당 문자들이 Regular 굵기로 표시되는 문제가 있었습니다.

​

새 버전에서는 기존의 ¹, ², ³과 ¼, ½, ¾ 문자를 기준으로 비율과 위치를 조정했습니다. Bold 글꼴에서는 위첨자, 아래첨자, 분수와 분수선도 주변 문자에 맞는 굵기로 표시됩니다.

더 나은 D2 Coding을 위해

이번 업데이트에서는 숫자 0의 형태를 선택할 수 있는 기능을 추가하고, 글자의 기준선과 코딩 리거처를 더 정확하게 다듬었습니다. 최근 버전에서 개선한 한글 리거처, 제어 문자 표시, 전각 기호와 분수 문자도 모두 포함되어 있습니다.

D2 Coding은 오픈 소스로 공개되어 있습니다. 사용 중 문제를 발견했거나 개선 의견이 있다면 GitHub 저장소에 이슈를 남겨 주세요.

​

​

D2 Coding을 사용해 주시고 개선에 참여해 주신 모든 분께 감사드립니다.

← 목록으로