Playground
Type into the panel. Everything is live, and the settings follow you into the other sections.
Ligatures
The ligature build rewrites operator sequences through the OpenType calt and liga features.
Every sequence below was verified against the shipped binary, not copied from a list. The raw
characters are printed under each one.
Both features carry the same lookups and are registered under DFLT,
latn, cyrl, grek, zinh and
zyyy. Chrome gives operators their own run, so calt alone is
enough there. Some text engines shape a line of Korean as one Hangul run, and the Hangul
shaper in HarfBuzz, like Uniscribe, switches calt off but keeps
liga.
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 | 1 | l I | ㅣ | | |
| Your monospace | 1 | l I | ㅣ | | | |
| D2Coding | 1 | l I | ㅣ | | | |
| 0-shaped | Your sans-serif | 0 | O o | ㅇ | |
| Your monospace | 0 | O o | ㅇ | ||
| D2Coding | 0 | O o | ㅇ | ||
| Code marks | Your sans-serif | ( ) { } [ ] ' " ` ; : , . - _ = ~ / | |||
| Your monospace | ( ) { } [ ] ' " ` ; : , . - _ = ~ / | ||||
| D2Coding | ( ) { } [ ] ' " ` ; : , . - _ = ~ / | ||||
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 폰트!");
}
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