Iosevka & Sarasa Gothic based monospace / quasi-proportional fonts for programming with CJK support.
Iosevka & Sarasa Gothic 기반 프로그래밍을 위한 (CJK 도 지원하는) monospace & quasi-proportional 폰트.
You can download all font files in the latest release.
최신 release 를 확인해주세요.
| Lumi (Sans-Serif) | Knit (Slab Serifed) |
|---|---|
![]() |
![]() |
-
Monospace? W/O CJK With CJK Monospace Iosevka Term ... Sarasa Term ... Proportional Iosevka QP ... Sarasa Gothic ... -
Sarasa
Xmeans the font contains CJK characters, based on Japanese Kanji.- For old Sarasa,
Kmeans Korean Hanja,Jmeans Japanese Kanji.
- For old Sarasa,
-
Lumifor sans-serif (SourceHanSans for CJK),Knitfor slab-serifed (SourceHanSerif for CJK)- For Sarasa Gothic,
LumiExt/KnitExtis semi-extended quasi-proportional fonts.
- For Sarasa Gothic,
-
Iosevka fonts includes
Semi-extendedandExtendedfonts.
While I used various programming fonts, I always long for some fonts with the below features:
-
Bold face should be definitely bold.
- Most good fonts (such as JetBrains Mono) have weights from 100 to 900, and 400 and 700 are used for regular and bold respectively. However, sometimes the bold face looks slightly thin and does not contrast well with regular faces.
- Some fonts, such as PragmataPro, have a much bolder bold weight (maybe it uses 900 heavy for bold).
- Like PragmataPro, I prefer fonts that use 900 for bold and 700 for medium.
-
Upright fonts should use straight strokes, while italic fonts should use curves resembling cursive fonts.
-
Ligatures.
- Since I use lots of PL, more ligatures are better :)
-
Proportional programming fonts.
- While it does not fit every case, sometimes proportional fonts are more readable.
- There are a few proportional fonts that can be used for programming, such as Input Sans and Recursive Sans.
-
Even in proportional fonts, some characters must be distinguishable from each other.
- Such as (
o O 0,1 l i I |,S s,W w). - However, I don't prefer too much decoration for distinguishing. For example, I dislike the use of slashes, dots, etc., in zero.
- Such as (
-
CJK support.
- While most code consists of ASCII letters, I sometimes use my text editor or terminal for casual writing with Korean letters or Japanese.
- It is very annoying when CJK fonts and monospace fonts do not match.
- Programs like VSCode support fallback fonts, but this is not a universal solution. I often encounter broken characters or unattractive OS fallback fonts.
- Also, it's better when the CJK characters' width are exactly double of all other characters. (For terminal.)
Previously, I used following fonts.
- PragmataPro with some fallback CJK
- Maybe the best option, but was not perfect with Windows font rendering.
- Some fonts supporting Koreans, such as
NanumGothicCoding,
D2Coding,
Semteulche,
or Hesalche
- As they are created for support both monospace & Koreans, they look very consistant.
- But the faces were not my cup of tea, or does not support ligatures, no Japanese, etc..
However, thanks to the incredible work of be5invis, I realized I can build my custom fonts with Iosevka. Also, Sarasa Gothic enables me to inject CJK faces into them.
I would like to express my gratitude once again for be5invis's works..!
The latest version was built with:
- You should install dependencies:
bun- Python and
afdkoforotc2otf - Clone
IosevkaandSarasa-Gothicrepositories in this repository root.- This can be done by running
00-clone.ts
- This can be done by running
SourceHanSerifto build serifed CJK fonts.- This should be copied in the
Sarasa-Gothic/sources/shsdirectory.
- This should be copied in the
- Run scripts from
01-...tsto02-...tsat the repository root.
The Iosevka builds takes about 30min, and Saras Gothic build takes about 21 Hours with Apple M1. (The most time consuming job is auto-hinting.)

