D2Coding

A monospaced typeface for developers, published by NAVER under the SIL Open Font License. Latin and Hangul share one grid, so Korean comments never break your alignment.

Glyphs
Codepoints
Ligatures
Weights
2

Everything on this page is rendered with the actual 1.3.3 ligature binaries, served as WOFF2. The standard build is the same font with calt switched off, so the ligature toggle below shows you exactly what each build looks like. Install commands for Windows, macOS and Linux are in the README.

Playground

Type into the panel. Everything is live, and the settings follow you into the other sections.

Options

Ligatures

The ligature build rewrites operator sequences through the OpenType calt feature. Every sequence below was verified against the shipped binary, not copied from a list. The raw characters are printed under each one.


  

calt is registered under DFLT, latn, cyrl, grek, zinh and zyyy. There is no hang record, but operators sit in their own run, so ligatures still fire on a line that also contains Korean.

Telling characters apart

The shapes that cost you the most debugging time, side by side. Drag the size slider down to 8px, the range the hinting was tuned for, and they should still separate cleanly.

Digit Latin Hangul Symbol
1-shaped Your sans-serif 1l I|
Your monospace 1l I|
D2Coding 1l I|
0-shaped Your sans-serif 0O o
Your monospace 0O o
D2Coding 0O o
Code marks Your sans-serif ( ) { } [ ] ' " ` ; : , . - _ = ~ /
Your monospace ( ) { } [ ] ' " ` ; : , . - _ = ~ /
D2Coding ( ) { } [ ] ' " ` ; : , . - _ = ~ /
The first two rows render in whatever your browser uses for sans-serif and monospace, so this is a comparison against the fonts you actually read code in. The third row is D2Coding, served as WOFF2.

Hangul on the same grid

A Hangul syllable is exactly twice the advance width of a Latin character. That is what keeps Korean comments, tables and box drawing from tearing your columns apart. Turn on the grid to see the cells.


  

Coverage is all 11,172 Hangul syllables, Latin and 332 extended characters, 31 control pictures, and 4,620 CJK Unified Ideographs. The README used to say Hanja was missing and would fall back to another font; it never was. Check any character you like against the real cmap below.

// D2 Coding 폰트는 한글과도 잘 어울립니다.
public static void main(String[] args) {
    System.out.println("반갑다. D2 Coding 폰트!");
}
The Hangul is based on Nanum Barun Gothic, so a Korean comment or string literal sits as naturally in a line of code as the Latin around it.

Verify a rendering problem

Most reports about a coding typeface come down to “this looks wrong at one particular size”. These three tools exist so a report can carry evidence instead of a description.

Size ladder

The same string at every size from 8px to 24px. Find the size that misbehaves and quote it.

Coverage check

Paste anything. Characters the font does not contain are listed here, so you know whether you are looking at a D2Coding glyph or a fallback.

Report template

Your current settings and environment, formatted for a GitHub issue. Copy it into the report so nobody has to ask what you were looking at.


    
    Open a new issue