2
3
4
5
6
7
8
9
10
11
12
13
14
fun <T : Comparable<T>> List<T>.quickSort(): List<T> = when {
size < 2 -> this
else -> {
val pivot = first()
val (smaller, greater) = drop(1).partition { it <= pivot }
smaller.quickSort() + pivot + greater.quickSort()
}
}
fun main() {
print(listOf(5, 0, 1, 5, 3, 7, 4, 2).quickSort())
}
1.
Increased height for a better reading experience
2.
Adapted to reading code
Increased letter height for better reading experience
Characters remain standard in width, but the height of the lowercase is maximized. This approach keeps code lines to the length that developers expect, and it helps improve rendering since each letter occupies more pixels.
Comparison
Consider this in contrast to some other fonts. Consolas, for example, has slightly wider letters. However, they are still rather small, which forces you to increase the size by one point to make the font more readable. As a result, lines of code tend to run longer than expected.
JetBrains Mono’s standard-width letters help keep lines to the expected length.
Code-specific eye movement
The shape of ovals approaches that of rectangular symbols. This makes the whole pattern of the text more clear-сut.
The outer sides of ovals ensure there are no additional obstacles for your eyes as they scan the text vertically.
Functional сonstruction
JetBrains Mono’s typeface forms are simple and free from unnecessary details. Rendered in small sizes, the text looks crisper.
The easier the forms, the faster the eye perceives them and the less effort the brain needs to process them.
Distinctiveness of symbols
“1”, “l”, and “I” are all easily distinguishable from each other.
The zero has a dot inside. The letter “O” does not.
The comma’s shape differs from that of the period, making them easier to tell apart at small sizes. The same holds true for derived symbols, as well.
Cut strokes
A radical cut at the end of strokes fits the pixel grid better and gives the typeface a stricter and more ‘tech’ personality.
Italic
The key to good italiсs is the fine-tuning of the contrast between upright and italic font. Typically, the angle is about 11°–12°. JetBrains Mono uses a 9° angle; this maintains the optimal contrast to minimize distraction and eye strain.
Only for “a”, “y”, and “f” is the construction taken from True italic to slightly enhance the horizontal flow for the eyes.
Ligatures for code
A ligature is a character consisting of two or more joined symbols. Traditionally, it was introduced as a space-saving technique in printed texts. In code, this technique is adopted to show operators and is used mainly for two purposes:
1.
To reduce noise by merging symbols and removing details so the eyes are processing less.
2.
To balance whitespace more efficiently by shifting the glyphs in certain cases.
JetBrains Mono font family
thin
Basic latin
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z
Monospace ligatures
-- --- == === != !== =!= =:= =/= <= >= && &&& &= ++ +++ *** ;; !! ?? ??? ?: ?. ?= <: :< :> >: <:< <> <<< >>> << >> || -| _|_ |- ||- |= ||= ## ### #### #{ #[ ]# #( #? #_ #_( #: #! #= ^= <$> <$ $> <+> <+ +> <*> <* *> </ </> /> <!-- <#-- --> -> ->> <<- <- <=< =<< <<= <== <=> <==> ==> => =>> >=> >>= >>- >- -< -<< >-> <-< <-| <=| |=> |-> <-> <~~ <~ <~> ~~ ~~> ~> ~- -~ ~@ [||] |] [| |} {| [< >] |> <| ||> <|| |||> <||| <|> ... .. .= ..< .? :: ::: := ::= :? :?> // /// /* */ /= //= /== @_ __ ??? <:< ;;;
Diacritics
Á Ă Ắ Ặ Ằ Ẳ Ẵ Ǎ  Ấ Ậ Ầ Ẩ Ẫ Ä Ạ À Ả Ā Ą Å Ã Æ Ǽ Ć Č Ç Ĉ Ċ Ð Ď Đ É Ĕ Ě Ê Ế Ệ Ề Ể Ễ Ë Ė Ẹ È Ẻ Ē Ę Ɛ Ẽ Ǵ Ğ Ǧ Ĝ Ģ Ġ Ħ Ĥ Í Ĭ Î Ï İ Ị Ì Ỉ Ī Į Ĩ Ĵ Ķ Ĺ Ľ Ļ Ŀ Ł Ń Ň Ņ Ŋ Ñ Ó Ŏ Ô Ố Ộ Ồ Ổ Ỗ Ö Ọ Ò Ỏ Ơ Ớ Ợ Ờ Ở Ỡ Ő Ō Ǫ Ø Ǿ Õ Œ Þ Ŕ Ř Ŗ Ś Š Ş Ŝ Ș ẞ Ə Ŧ Ť Ţ Ț Ú Ŭ Û Ü Ụ Ù Ủ Ư Ứ Ự Ừ Ử Ữ Ű Ū Ų Ů Ũ Ẃ Ŵ Ẅ Ẁ Ý Ŷ Ÿ Ỵ Ỳ Ỷ Ȳ Ỹ Ź Ž Ż á ă â ä à ā ą å ã æ ǽ ć č ç ĉ ċ ð ď đ é ĕ ě ê ë ė è ē ę ə ğ ǧ ĝ ġ ħ ĥ i ı í ĭ î ï ì ī į ĩ j ȷ ĵ ĸ l ĺ ľ ŀ ł m n ń ʼn ň ŋ ñ ó ŏ ô ö ò ơ ő ō ø ǿ õ œ þ ŕ ř s ś š ş ŝ ß ſ ŧ ť ú ŭ û ü ù ư ű ū ģ ķ ļ ņ ŗ ţ ǫ ǵ ș ț ạ ả ấ ầ ẩ ẫ ậ ắ ằ ẳ ẵ ặ ẹ ẻ ẽ ế ề ể ễ ệ ỉ ị ọ ỏ ố ồ ổ ỗ ộ ớ ờ ở ỡ ợ ụ ủ ứ ừ ử ữ ự ỵ ỷ ỹ ų ů ũ ẃ ŵ ẅ ẁ ý ŷ ÿ ỳ z ź ž ż
Numbers
0 0 1 2 3 4 5 6 7 8 9 ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ½ ¼ ¾ ↋ ↊ ૪
Punctuation
. , : ; … ! ¡ ? ¿ · • * ⁅ ⁆ # ․ ‾ / \ ‿ ( ) { } [ ] ❰ ❮ ❱ ❯ ⌈ ⌊ ⌉ ⌋ ⦇ ⦈ - – — ‐ _ ‚ „ “ ” ‘ ’ « » ‹ › ‴ " ' ⟨ ⟪ ⟦ ⟩ ⟫ ⟧ · ;
Greek
Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω Ά Έ Ή Ί Ό Ύ Ώ Ϊ Ϋ Ϗ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ ς σ τ υ φ χ ψ ω ί ϊ ΐ ύ ϋ ΰ ό ώ ά έ ή ϗ ϕ ϖ
Cyrillic
А Б В Г Ѓ Ґ Д Е Ё Ж З И Й К Ќ Л М Н О П Р С Т У Ў Ф Х Ч Ц Ш Щ Џ Ь Ъ Ы Љ Њ Ѕ Є Э І Ї Ј Ћ Ю Я Ђ Ғ Қ Ң Ү Ұ Ҷ Һ Ә Ө Ӝ Ӟ Ӥ Ӧ Ө Ӵ а б в г ѓ ґ д е ё ж з и й к ќ л м н о п р с т у ў ф х ч ц ш щ џ ь ъ ы љ њ ѕ є э і ї ј ћ ю я ђ ғ қ ң ү ұ ҷ һ ә ө ӝ ӟ ӥ ӧ ө ӵ
Other symbols
₿ ¢ ¤ $ ₫ € ƒ ₴ ₽ £ ₮ ¥ ≃ ∵ ≬ ⋈ ∙ ≔ ∁ ≅ ∐ ⎪ ⋎ ⋄ ∣ ∕ ∤ ∸ ⋐ ⋱ ∈ ∊ ⋮ ∎ ⁼ ≡ ≍ ∹ ∃ ∇ ≳ ∾ ⥊ ⟜ ⎩ ⎨ ⎧ ⋉ ⎢ ⎣ ⎡ ≲ ⋯ ∓ ≫ ≪ ⊸ ⊎ ⨀ ⨅ ⨆ ⊼ ⋂ ⋃ ≇ ⊈ ⊉ ⊽ ⊴ ≉ ∌ ∉ ≭ ≯ ≱ ≢ ≮ ≰ ⋢ ⊄ ⊅ +− × ÷ = ≠ > < ≥ ≤ ± ≈ ¬ ~ ^ ∞ ∅ ∧ ∨ ∩ ∪ ∫ ∆ ∏ ∑ √ ∂ µ ∥ ⎜ ⎝ ⎛ ⎟ ⎠ ⎞ % ‰ ﹢ ⁺ ≺ ≼ ∷ ≟ ∶ ⊆ ⊇ ⤖ ⎭ ⎬ ⎫ ⋊ ⎥ ⎦ ⎤ ⊢ ≗ ∘ ∼ ⊓ ⊔ ⊡ ⊟ ⊞ ⊠ ⊏ ⊑ ⊐ ⊒ ⋆ ≣ ⊂ ≻ ∋ ⅀ ⊃ ⊤ ⊣ ∄ ∴ ≋ ∀ ⋰ ⊥ ⊻ ⊛ ⊝ ⊜ ⊘ ⊖ ⊗ ⊙ ⊕ ↑ ↗ → ↘ ↓ ↙ ← ↖ ↔ ↕ ↝ ↭↞ ↠ ↢ ↣ ↥ ↦ ↧ ⇥↩ ↪ ↾ ⇉ ⇑ ⇒ ⇓ ⇐ ⇔ ⇛ ⇧ ⇨ ⌄ ⌤ ➔ ➜ ➝ ➞ ⟵ ⟶ ⟷ ● ○ ◯ ◔ ◕ ◶ ◌ ◉ ◎ ◦ ◆ ◇ ◈ ◊ ■ □ ▪▫ ◧ ◨ ◩ ◪ ◫ ▲ ▶ ▼ ◀ △ ▷ ▽ ◁ ► ◄ ▻ ◅ ▴ ▸ ▾ ◂ ▵ ▹ ▿ �� ⌶ ⍺ ⍶ ⍀ ⍉ ⍥ ⌾ ⍟ ⌽ ⍜ ⍪ ⍢ ⍒ ⍋ ⍙ ⍫ ⍚ ⍱ ⍦ ⍎ ⍊ ⍖ ⍷ ⍩ ⍳ ⍸ ⍤ ⍛ ⍧ ⍅ ⍵ ⍹ ⎕ ⍂ ⌼ ⍠ ⍔ ⍍ ⌺ ⌹ ⍗ ⍌ ⌸ ⍄ ⌻ ⍇ ⍃ ⍯ ⍰ ⍈ ⍁ ⍐ ⍓ ⍞ ⍘ ⍴ ⍆ ⍮ ⌿ ⌷ ⍣ ⍭ ⍨ ⍲ ⍝ ⍡ ⍕ ⍑ ⍏ ⍬ ⚇ ⚠ ⚡ ✓ ✕ ✗ ✶ @ & ¶ § © ® ™ ° ′ ″ | ¦ † ℓ ‡ № ℮ ␣ ⎋ ⌃ ⌞ ⌟ ⌝ ⌜ ⎊ ⎉ ⌂ ⇪ ⌫ ⌦ ⌨ ⌥ ⇟ ⇞ ⌘ ⏎ ⏻ ⏼ ⭘ ⏽ ⏾ ⌅ � ˳ ˷
𝔸 𝔹 ℂ 𝔻 𝔼 𝔽 𝔾 ℍ 𝕀 𝕁 𝕂 𝕃 𝕄 ℕ 𝕆 ℙ ℚ ℝ 𝕊 𝕋 𝕌 𝕍 𝕎 𝕏 𝕐 ℤ 𝕒 𝕓 𝕔 𝕕 𝕖 𝕗 𝕘 𝕙 𝕚 𝕛 𝕜 𝕝 𝕞 𝕟 𝕠 𝕡 𝕢 𝕣 𝕤 𝕥 𝕦 𝕧 𝕨 𝕩 𝕪
Block symbols
▁ ▂ ▃ ▄ ▅ ▆ ▇ █ ▀ ▔ ▏ ▎ ▍ ▌ ▋ ▊ ▉ ▐ ▕ ▖ ▗ ▘ ▙ ▚ ▛ ▜ ▝ ▞ ▟ ░ ▒ ▓
Box drawing
┌ └ ┐ ┘ ┼ ┬ ┴ ├ ┤ ─ │ ╡ ╢ ╖ ╕ ╣ ║ ╗ ╝ ╜ ╛ ╞ ╟ ╚ ╔ ╩ ╦ ╠ ═ ╬ ╧ ╨ ╤ ╥ ╙ ╘ ╒ ╓ ╫ ╪ ━ ┃ ┄ ┅ ┆ ┇ ┈ ┉ ┊ ┋ ┍ ┎ ┏ ┑ ┒ ┓ ┕ ┖ ┗ ┙ ┚ ┛ ┝ ┞ ┟ ┠ ┡ ┢ ┣ ┥ ┦ ┧ ┨ ┩ ┪ ┫ ┭ ┮ ┯ ┰ ┱ ┲ ┳ ┵ ┶ ┷ ┸ ┹ ┺ ┻ ┽ ┾ ┿ ╀ ╁ ╂ ╃ ╄ ╅ ╆ ╇ ╈ ╉ ╊ ╋ ╌ ╍ ╎ ╏ ╭ ╮ ╯ ╰ ╱ ╲ ╳ ╴ ╵ ╶ ╷ ╸ ╹ ╺ ╻ ╼ ╽ ╾ ╿
Control codes
␆ ␈ ␇ ␘ ␍ ␐ ␡ ␔ ␑ ␓ ␒ ␙ ␃ ␄ ␗ ␅ ␛ ␜ ␌ ␝ ␉ ␊ ␕  ␀ ␞ ␏ ␎ ␠ ␁ ␂ ␚ ␖ ␟ ␋
Powerline
148 languages supported
Afrikaans
Albanian
Asu
Basque
Belarusian
Bemba
Bena
Bosnian
Bulgarian
Catalan
Cebuano
Chiga
Cornish
Corsican
Croatian
Czech
Danish
Dutch
Embu
English
Erzya
Esperanto
Estonian
Faroese
Filipino
Finnish
French
Friulian
Galician
Ganda
German
Greek
Gusii
Hungarian
Icelandic
Ido
Inari Sami
Indonesian
Ingrian (Izhorian)
Interlingua
Irish
Italian
Javanese (Latin)
Jju
Jola-Fonyi
Jèrriais
Kabuverdianu
Kala Lagaw Ya
Kalaallisut (Latin)
Kalenjin
Kamba
Kapampangan (Latin)
Kaqchikel
Karakalpak (Latin)
Karelian (Latin)
Kashubian
Kazakh Cyrillic
Kikongo
Kikuyu
Kinyarwanda
Kiribati
Kirundi
Kurdish (Latin)
Ladin
Latvian
Lithuanian
Lojban
Lombard
Low German
Luo
Luxembourgish
Luyia
Maasai
Macedonian
Machame
Makhuwa
Makhuwa-Meetto
Makonde
Malagasy
Malay
Maltese
Manx
Meru
Mongolian
Morisyen
Māori
North Ndebele
Northern Sami
Northern Sotho
Norwegian Bokmål
Norwegian Nynorsk
Nyanja
Nyankole
Occitan
Oromo
Oshiwambo
Ossetian (Latin)
Papiamento
Piedmontese
Polish
Portuguese
Quechua
Q’eqchi’
Rarotongan
Romanian
Romansh
Rombo
Rotokas
Rundi
Russian
Rwa
Samburu
Sango
Sangu
Sardinian
Scottish Gaelic
Sena
Serbian
Shambala
Shona
Slovak
Slovenian
Soga
Somali
Sorbian (Lower Sorbian)
Sorbian (Upper Sorbian)
South Ndebele
Southern Sotho
Spanish
Swahili
Swati
Swedish
Swiss German
Taita
Taroko
Teso
Tsonga
Tswana
Turkish
Turkmen
Udmurt
Ukrainian
Vunjo
Walloon
Walser
Wolof
Xhosa
Zulu
How to install
In JetBrains IDEs
The most recent version of JetBrains Mono ships with your JetBrains IDE starting with v2019.3.
Select JetBrains Mono in the IDE settings: go to Preferences/Settings → Editor → Font, and then select JetBrains Mono from the Font dropdown.
Another IDE or an older version of a JetBrains IDE
- Download font
- Unzip the archive and install the font:
- Select all font files in the folder and double-click the “Install Font” button.
- Select all font files in the folder, right-click any of them, then pick “Install” from the menu.
- Unpack fonts to ~/.local/share/fonts (or /usr/share/fonts, to install fonts system-wide) and fc-cache -f -v
- Restart your IDE.
- Go to Preferences/Settings → Editor → Font, and pick JetBrains Mono from the Font dropdown.
Recommended settings for the font
Size: 13
Line spacing: 1.2
License
JetBrains Mono typeface is available under the SIL Open Font License 1.1 license and can be used free of charge, for both commercial and non-commercial purposes. You do not need to give credit to JetBrains, although we will appreciate it very much if you do.
FAQ
May I install JetBrains Mono on my system and use it in any code editor?
-> Yes.
May I make and print a poster with JetBrains Mono?
-> Yes.
May I use JetBrains Mono in my logotype?
-> Yes.
May I use JetBrains Mono on my website?
-> Yes.
May I use JetBrains Mono in my applications?
-> Yes.
May I design my own font based on JetBrains Mono?
-> Yes. In this case, you need to indicate that it is based on JetBrains Mono.
Credits
Type designer
Philipp Nurullin
Project lead
Konstantin Bulenkov
Thanks to
Eugene Auduchinok
Dmitrij Batrak
IntelliJ UX Team
+ the whole JetBrains Team