Coder Social home page Coder Social logo

jetbrains / jetbrainsmono Goto Github PK

View Code? Open in Web Editor NEW
10.3K 87.0 292.0 95.56 MB

JetBrains Mono – the free and open-source typeface for developers

Home Page: https://jetbrains.com/mono

License: SIL Open Font License 1.1

Kotlin 42.99% Shell 54.49% Python 2.53%
programming-ligatures font ligatures monospaced-font programming-font coding-font

jetbrainsmono's Introduction

official JetBrains project

JetBrains Mono: a typeface made for developers

Alt text

JetBrains Mono is available as a standalone download, and is also bundled in all JetBrains IDEs. Discover more font features & design on its web page.

Default version of JetBrains Mono comes with OpenType features and ligatures (which can always be toggled on & off in the settings). If your IDE doesn’t support OpenType, use a special version of the font — JetBrains Mono NL, which doesn’t include any ligatures.

Installation

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/SettingsEditorFont, and then select JetBrains Mono from the Font dropdown.

Brew (macOS only)

  1. Tap the font cask to make the Jetbrains Mono font available:

    brew tap homebrew/cask-fonts
  2. Install it using the font-jetbrains-mono cask:

    brew install --cask font-jetbrains-mono

Manual installation

On Mac/Windows:

  1. Download font.
  2. Unzip the archive and install the font:
    • Mac. Select all font files in the folder and double-click them. Click the Install Font button.
    • Windows. Select all font files in the folder, right-click any of them, then pick Install from the menu.

Note If you have previously installed JetBrains Mono, please uninstall all previous versions to exclude conflicts and errors in rendering.

On Linux:

Open a terminal and run the following:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/JetBrains/JetBrainsMono/master/install_manual.sh)"

Once JetBrains Mono is installed in your OS, you are ready to configure the editor.

Visual Studio Code

  1. From the File menu (Code on Mac) go to PreferencesSettings, or use keyboard shortcut Ctrl+, (Cmd+, on Mac).
  2. In the Editor: Font Family input box type JetBrains Mono, replacing any content.
  3. To enable ligatures, go to Editor: Font Ligatures, click Edit in settings.json, and copy this line "editor.fontLigatures": true into json file.

More ways to install

Font Styles

There are 8 font styles available in JetBrains Mono, from Thin to ExtraBold, each coming with its own italic version.

Alt text

Font Features

Increased x-height

While characters remain standard in width, the height of the lowercase is maximized. This approach keeps code lines to the length that developers expect, and it helps improve rendering in small size, since each symbol occupies more pixels.

Alt text

Distinctiveness of symbols

Alt text

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:

Alt text

  1. To balance whitespace more efficiently by shifting the glyphs in certain cases:

Alt text

Note if your IDE doesn’t support OpenType features and ligatures, use JetBrains Mono NL instead.

OpenType features

Starting from v2.304, JetBrains Mono has added support for alternate characters. Stylistic Sets ss01-20 usually change a group of characters. Character Variant cv01-99 usually changes only one character. Here are the instructions for enabling these features.

Alt text Alt text

Basic Character Set

Alt text You can find full JetBrains Mono character set on our wiki page.

Building from source files

Note To build from source, you'd need Python 3.9.5 or higher (install instructions for Python available here).

The source files can be found in the "Source" folder. To open them you will need Glyphs app.
To build the .ttf, .otf, woff2 & variable .ttf you will need to:

  • Install gftools pip install gftools
  • Install fonttools[woff] pip install fonttools[woff]
  • Navigate to JetBrainsMono folder in Terminal app.
  • Type gftools builder sources/config.yaml in Terminal and run it.
  • Type python scripts/generate_variable_webfonts.py in Terminal and run it to generate variable woff2 files.
  • After the scripts are complete, the files can be found in fonts folder.

License

JetBrains Mono typeface is available under the OFL-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.

The source code is available under Apache 2.0 License

Credits

Type designer
Philipp Nurullin

Team lead
Konstantin Bulenkov

Thanks to
Nikita Prokopov
Eugene Auduchinok
Tatiana Tulupenko
Dmitrij Batrak
IntelliJ Platform UX Team
Web Team

jetbrainsmono's People

Contributors

alexeyten avatar andrhua avatar auduchinok avatar bluelovers avatar bulenkov avatar chinay-domitrix avatar chrissimpkins avatar cirzen avatar clashthebunny avatar dependabot[bot] avatar drendog avatar exorcist365 avatar felipesanches avatar goooler avatar haunt98 avatar isdh avatar jdno avatar manlix avatar mvasilkov avatar naiyerasif avatar nisrulz avatar pan93412 avatar pataar avatar philippnurullin avatar poehlerflorian avatar rosawagner avatar santoshpattnaik avatar vincenzoraco avatar vitusortner avatar wolkenschieber avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jetbrainsmono's Issues

Need 'light' style.

Just found this new incredible font and I like it almost instantly. Thank you, Jetbrains.

However, I found the 'regular' typeface style is a bit too weight to my eyes. Could you guys make an additional 'light' style that is a bit thinner than the regular?

Thank you. Keep up the good job. 👍

numbers are not fixed width

Numbers appear to have different widths.
Observe this screenshot at 9pt where the first digit does not line up vertically. e.g. the "4" appears to be wider, and the 0 is narrower.
Also the dot in the 0 is not centered.
Screenshot taken in Geany 1.36 on Linux.
image

letters cropped from top

Some letters are cropped from the top in Android Studio.
Issue is related with Jetbrains Mono only, Jetbrains Mono Medium / ExtraBold is ok.

image

ligature display error

When I input <=| in Idea 2019.3

the display with ligature should be like this

image

But it's just like this

image

I'm sure I have already enable the font ligature

Glyph on U+26C4 should not be here

v1.0 has a strange glyph on U+26C4 (SNOWMAN WITHOUT SNOW).

スクリーンショット 0002-01-17 16 42 55

This has two problems.

  1. Unicode defines East Asian Width. The spec txt describes that this codepoint (U+26C4) is “W”, that is, “Wide Character”.

    ...
    26C4..26C5;W     # So     [2] SNOWMAN WITHOUT SNOW..SUN BEHIND CLOUD
    ...
    

    Terminal apps, such as Terminal.app and iTerm2, respect this value and draw U+26C4 as a double-width one. So it shows an extra space. It is annoying.

    スクリーンショット 0002-01-17 17 23 49
  2. This codepoint is NOT the Private Use Area. We should not use here for this. I suggest we move this glyph to PUA (one is U+E000 .. U+F8FF). This also solves 1.

No ligatures version

It would be nice to have a version without ligatures because some softwares can't disable them like Visual Studio 2019, and some people ( like me ) don't like them.

Thank you!

Brace alignment

Hi, I have pretty simple question/feature request

Is there any reasons why braces in font are misaligned? It looks a bit confusing and maybe make sense to fix alignment?

image

remove left baseline from lowercase i

Very nice font!
Please consider removing the left baseline on the lowercase i so that it matches the style of the lowercase l ("ell").
Currently having the sequence "li" (lowercase ell lowercase eye) makes the right baseline from the l run into the left baseline of the i.

Issues with ligatures in xfce-terminal

Hi. This looks like a very nice, clean font. Thanks for releasing it under such a permissive license! :)

I've just installed it on my system and tried to switch to using it as the font in xfce4-terminal (v0.6.3, xubuntu 16.04) and I'm having some issues with the ligatures.

Most notably, I can't see any equals signs at all. For example, this python code:
no_equal

I can also see some other examples, e.g ligatures running over the top of text, and it seems to be displaying the wrong ligature (e,g ligrature for ==> rather than >=):
wrong_ligs

Note that this appears to be specific to xfce-terminal. I've also tried out Jetbrains Mono in a few other things (libreoffice, eclipse, geany) and everything seems to work fine there. I expect you'll say this is a bug in xfce4-terminal but I thought I'd raise it here first and see if you have any thoughts?

Thanks!

Spacing only ligatures variant

This font looks really nice, but I don't want the symbol ligatures - I find they make things harder to understand. Is there any chance of releasing a version with these ligatures removed?

I've seen some fonts include a configurator that allows you to download different font variants (See: Input). Perhaps something like that might work out?

Windows 10 doesn't register it as monospace type?

On my Windows 10 setup, it seems to be registering as a proportional and not monospaced type. For that reason, it won't show up as available font in Command Prompt or Powershell. Other fonts like Fira Code or Inconsolata are fine.

Missing Git Branch Symbol

When using with iTerm and Starship prompt, the git branch icon appears broken.

JetBrains Mono:
image

Fira Code:
image

Several glyphs are outline-incompatible

Specifically, 'B', 'dcroat', 'exclam_equal.liga', 'g', 'greater', 'hbar', 'i', 'j', 'onehalf', 'onequarter', 'question', 'question_equal.liga', 'semicolon', 'threequarters', 'uni02C9' and 'uni045B'. A spot check hints at different contour starting points and e.g. 'hbar' mixing contours and components in one master.

FontLab 7 can guess to make the outlines compatible, but will not export them like that to UFO and Designspace.

@twardoch: an "apply compatibility fix to outlines so it actually gets source-exported" button would be highly appreciated not just by me personally, wink wink nudge nudge.

Edit: Found it, it's in the top bar in matchmaker mode :D

Visual Studio Code doesn't recognize it

I love Jetbrains Mono, but won't use it if you purposefully close this issue because VSCode isn't your product (I'm not saying that you would, but I know some companies do stuff like that).

Basically, JetBrains mono doesn't seem to work in VSCode. Look at this:
image

Then look at a normal window:
image

I've restarted VSCode multiple times after installation.
What am I doing wrong? I'm gonna try restarting the whole system after this system update is done.

  • Latest VSCode
  • Latest JetBrains Mono
  • Ubuntu 19.10
  • system info: Linux robot 5.3.0-26-generic #28-Ubuntu SMP Wed Dec 18 05:37:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Info about variable fonts in Readme

It would be cool to have a information about variable font in the readme-file.

I saw you had it once but it got removed: 3e26897

Is this on the roadmap or was it just an experiment.

Missing 'λ' (Lambda) character

As a user of Cmder, I'd really like the font to have the lambda character. At the moment my prompt has a sad square symbol instead.

Really good font otherwise, great job!

Make the website of JetBrainsMono font open source

Hello !
I really like the homepage of the JetBrains Mono font that I also like a lot and I really think I could learn from it as it includes a lot of things ! The problem is that I need to struggle with the inspect element tool of the browser. Is there any chance it will go Open Source like the font it's presenting ?
Thank you !
(It could be added to a github pages branch on this repository)

Version tagging

Hey,

I'd like to create AUR package for Arch-based Linux distros.
For me, it would be really helpful if the next versions of the font would be tagged (or marked as a release).

Would it be possible?

Thank you,

Support for APL, Agda et al.

Are there any plans to support symbols for programming in APL? Other languages, such as Agda, use a few unicode mathematical symbols for programming, and could benefit as well.

I have previously discussed this issue here, and it has been continued here for other fonts.

Disclaimer: I have written some APL code in the past, but it's been a long time since I've last done that. More recently I've written some Agda code, though.

Slashed zero variant?

This typeface looks phenomenal but I much prefer to have a slash in my zero versus a dot inside it.

CJK monoscape support?

How about supporting keeping monoscape with Chinese, Japanese, Korean character like Sarasa Mono

It makes every CJK character as width as two latin character

It is really cool!

Repository should use diff-capable format

I'd recommend switching over from the binary-only "FontLab Compact" vfc files to the "FontLab json" vfj files so that PR's can be evaluated/checked to make sure nothing else is impacted etc.

Brew support

I don't know if this is something for this project or more a community thing. But brew support? This way it is possible to manage installed fonts.

'b' 'p' 'd' 'q' are barely distinguishable on small size.

Because JBM (Jetbrains Mono) font has bigger body, it makes the head and tail smaller. It becomes problem on small size font, which is less than 14 pt for my eyes. For example, the 'b' and 'p' are barely distinguishable, the 'd' and 'q' as well. So with JBM, you have to choose a bit bigger font size than normally you use to make those letters more obvious.

Here's a video that shows how JBM looks from 10 pt to 11, 12, 13, 14, 18, 24, 36, 48 respectively.
jbm_10 11 12 13 14 18 24 36 48

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.