1
0
mirror of https://github.com/ryanoasis/nerd-fonts.git synced 2024-12-13 17:18:37 +02:00
nerd-fonts/patched-fonts/JetBrainsMono/Ligatures/readme.md
2022-02-24 10:52:57 +00:00

8.2 KiB

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 Preferences → `Settings, 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.

Basic Character Set

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

Building from source files

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:

  • install gftools pip install gftools (requires python 3.9.5 or higher on BigSur)
  • Navigate to …JetBrainsMono/sources/ in Terminal app.
  • Type gftools builder config.yaml in Terminal and run it.
  • After the script is 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

Which font?

TL;DR

  • Pick your font family and then select from the 'complete' directory.
    • If you are on Windows pick a font with the 'Windows Compatible' suffix.
      • This includes specific tweaks to ensure the font works on Windows, in particular monospace identification and font name length limitations
    • If you are limited to monospaced fonts (because of your terminal, etc) then pick a font with the 'Mono' suffix.
      • This denotes that the Nerd Font glyphs will be monospaced not necessarily that the entire font will be monospaced

Ligatures

By the Nerd Font policy, the variant with the 'Mono' suffix is not supposed to have any ligatures. Use the non-Mono variants to have ligatures.

Explanation

Once you narrow down your font choice of family (Droid Sans, Inconsolata, etc) and style (bold, italic, etc) you have 2 main choices:

Option 1: Download already patched font

  • download an already patched font from the complete folder
    • This is most likely the one you want. It includes all of the glyphs from all of the glyph sets. Only caution here is that some fonts have glyphs in the same code point so to include everything some had to be moved to alternate code points.

Option 2: Patch your own font

  • patch your own variations with the various options provided by the font patcher (see each font's readme for full list of combinations available)
    • This is the option you want if the font you use is not already included or you want maximum control of what's included
    • This contains a list of all permutations of the various glyphs. E.g. You want the font with only Octicons or you want the font with just Font Awesome and Devicons. The goal is to provide every combination possible in this folder.

For more information see: The FAQ

Variations (Combinations)

The combinations and total number of combinations are provided here for reference if you want to create your own variation of a patched Nerd Font.

Why aren't all variations included ?

Combinations are no longer included by default because of the large inflation in size it caused the Repository and the amount of time it takes to rebuild all of the combinations. This issue would exponentially get worse as the numbers of Fonts and Glyph Sets provided increase.