GithubHelp home page GithubHelp logo

mono's Introduction

Martian Mono

Martian Mono is a monospaced version of the Martian Grotesk font for code style design. It inherits Grotesk’s brutal and eye-catching aesthetics as well as all of its benefits—metrics equilibrium, readability and intelligibility, and convenience for web developers and designers who believe in a systematic approach to design.

👉 Get your Martian Grotesk free trial on Gumroad or buy it on MyFonts to support Mono development.

The typeface features a tall x-height, and it has vertical metrics which guarantee equal space is present above the cap height and under the baseline. The latter makes this typeface an on-screen workhorse: it is evenly placed on buttons, inputs, lists, and forms. When coupled together, all the above features make Martian Mono a reasonable choice for any user interface design.

When choosing a font format, prefer ttf for variable and otf for static on macOS, and ttf for Windows.

Download

Download the latest package from the releases page or embed the font from Google Fonts.

Styles

Martian Mono consists of a variable font and 28 styles: Condensed to Semi Wide, Thin to Extra Bold.

The font has 4 styles on the width axis:

Short name Full name CSS percentage CSS keyword
sWd Semi Wide 112.5% semi-expanded
Std Standard 100% normal
Nr Narrow 87.5% semi-condensed
Cn Condensed 75% condensed

And 7 weights:

Short name Full name CSS numeric CSS keyword
Th Thin 100
xLt Extra Light 200
Lt Light 300
Rg Regular 400 normal
Md Medium 500
Bd Bold 700 bold
xBd Extra Bold 800

OpenType features

Font size and legibility

Originally designed for the screen, the glyph heights stick to the pixel grid on commonly used font sizes. In addition, it comes equipped with OpenType and TrueType hinting, and Martian Mono appears legible on most platforms, even when being rendered in small sizes.

For the best results, use the following pairs of size / line height:

  • 7.5 / 10 (or 14, 18, etc.) px
  • 10 / 12 (or 16, 20, etc.) px
  • 12.5 / 14 (or 18, 22, etc.) px
  • 15 / 20 (or 24, 28, etc.) px

Usage

You are welcome to add more hints on usage (especially on the desktop) via pull requests.

On the Web

Download the woff2 package from the releases page to get the variable font in WOFF2 format (see WOFF2 support matrix between browsers).

Consult the following articles from Evil Martians' blog on how to use variable fonts:

On the Desktop: choosing a variant

For better compatibility with various terminal emulators and text editors on the desktop, it is a good idea to install the font not as a single variable font but as several different fonts.

  • Manually
    • See the releases page, and download otf or ttf files.
    • Install the fonts.
  • Windows
    • See the releases page, and download ttf files.
    • Install the fonts.
  • macOS
    • See the releases page, and download otf. Install the fonts.
    • Or, use Homebrew:
      brew tap homebrew/cask-fonts
      brew install --cask font-martian-mono

Next, if your application has a font picker, just choose Martian Mono and the variant you require.

If the configuration is done using a text file, use Martian Mono for the default font variant (Martian Mono Std Rg), or try specifying the font name like MartianMono-NrRg for the Nr Rg variant.

Choosing a variant for a dark background

When choosing a font variant for a darker (or pitch black) background for your terminal or text editor, consider choosing a "lighter" variant if the font looks "too bold" to you. White font on a dark background can have that effect, see here for details.

For example, go for Std Lt instead of Std Rg.

On the Desktop: line spacing

Once you install the font and start using it, you might notice that the picture might look quite confined:

Instead, you might want to opt for something more readable and easy for the eyes if you like:

The difference is line spacing. Learn how to set it up below, and consult the Font size and legibility chapter to learn about the best setting. Or, experiment yourself by setting different percentages (120%, 140%) or paddings in pixels (1, 2, 4, and so on).

Terminal emulators

Terminal (macOS)

Preferences → Profiles → (choose a profile) → Text → Font → [Change]. You will be met with a font picker dialog that has the Line Spacing property.

iTerm 2 (macOS)

Preferences → Profiles → (choose a profile) → Text. Look for the n/n symbol that looks like a fraction. That's your line spacing, in percentage (100% is the default).

kitty

Open the config file (~/.config/kitty/kitty.conf). Look for the adjust_line_height property and see the documentation.

Text editors

VS Code

To specify values for variable axes, use editor.fontVariations:

// settings.json
{
    "editor.fontFamily": "Martian Mono",
    "editor.fontVariations": "'wdth' 87.5, 'wght' 450",
}

Consider switching font aliasing method to auto for improved rendering on displays with high DPI:

// settings.json
{
    "workbench.fontAliasing": "auto",
}

Finally, fine tune line height (editor.lineHeight):

// settings.json
{
    "editor.fontFamily": "Martian Mono",
    "editor.fontSize": 12.5,
    "editor.lineHeight": 20,
}
vim

For setting line spacing in GUI versions of vim, see linespace/lsp.

Sublime Text

Open your preferences. Add the line_padding_top and line_padding_bottom parameters. Both set the padding for a line of text in pixels.

Roadmap

  • Coding ligatures (work in progress)
  • Cyrillic script for Bulgarian, Serbian, and Macedonian (work in progress)
  • Powerline symbols (not sure)
  • Italics (not sure)

Support

My name is Roman Shamin, and I work on Martian Mono in my spare time. If you want to support Martian Mono, oklch.com, and other free and open-source fonts, there are a few things you can do.

I’m sincerely grateful for any support!

mono's People

Contributors

emmamarichal avatar kkga avatar remy727 avatar romashamin avatar tonsky avatar travis-turner avatar yaroslav 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

mono's Issues

small a and r

i like the font, but looking at a (it has too much top left) what r (has too little top right), but then i have no idea about fonts...

Martian Mono isn’t being detected as a monospaced font

User can set only mono fonts in Gnome Terminal on Ubuntu 22.04 by default, and Gnome Terminal does not detect MartianMono as monospace font for some reason.

You can choose MartianMono font as terminal font with this command

dconf write /org/gnome/terminal/legacy/profiles:/:TERMINAL_PROFILE_ID/font  "'<font name> <font size>'"

for example

dconf write /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/font  "'MartianMono sWd xLt 12'"

Also, we can see that Font Manager detects MartianMono as proportional, not monospace

Screenshot from 2022-10-23 06-17-18

Will Martian Mono appear at jsdelivr, font-static or another open platform?

I'm not an expert at fonts. As I know there is a several projects for font-hosting. Will Martian Mono appear at one of them like this ones

Reason

I want to make a suggestion to https://github.com/carbon-app/carbon to add Martian Mono as one of default fonts. But as I see in the file below

https://github.com/jnm2/carbon-app/blob/1efba897e1733cd48650dcea0162a6e3fa81fdc7/components/style/Font.js

We need to have an open link to download font-files. Unfortunately, I've not found info about open services in README. I think that Github link won't be a good solution for this.

Hello, will consider support nerdfont icon?

I really like martian mano font, after using this, all font looks uncomfortable to me.

But as a programer, I like vim, martian don't have icon support is really a pity, will it consider support?

image

Editor theme in README?

I like the use of colors and dark background demonstrated on the README in the "Desktop" section. What's the theme being used on the screenshots? I'd like to play around on it with Martian Mono with different line-heights and character spacings :)

Support Udmurt characters

The missing letters are based on the Cyrillic symbols with two dots above: Ӝ ӝ, Ӟ ӟ, Ӥ ӥ, Ӧ ӧ, Ӵ ӵ.

Support Vietnamese characters

Dear,

I'm developer and I love this font. I don't know how to contribute it. Its great if you add Vietnamese support to this fonts.
Thank you.

Vietnamese Characters:

  • a á à ả ã ạ ă ắ ằ ẵ ẳ ặ â ấ ầ ẫ ẩ ậ
  • A Á À Ả Ã Ạ Ă Ắ Ằ Ẵ Ẳ Ặ Â Ấ Ầ Ẫ Ẩ Ậ
  • i í ì ỉ ĩ ị
  • I Í Ì Ỉ Ĩ
  • u ú ù ũ ủ ụ ư ứ ừ ữ ử ự
  • U Ú Ù Ũ Ủ Ụ Ư Ứ Ừ Ữ Ử Ự
  • o ó ò õ ỏ ọ ô ố ồ ỗ ổ ộ ơ ớ ờ ỡ ở ợ
  • O Ó Ò Õ Ỏ Ọ Ô Ố Ồ Ỗ Ổ Ộ Ơ Ớ Ờ Ỡ Ở Ợ
  • y ý ỳ ỷ ỹ ỵ
  • Y Ý Ỳ Ỷ Ỹ Ỵ

Src: https://vietnamesetypography.com/ (maybe helpful)

Thank you again!

Consider renaming the final font files

Hi! Love the font! However, I am having issues with the naming of the fonts. As of now, the names are abbreviated:

Screenshot of the Fonts.app with the names of font weights of Martian Mono

This makes them hard to parse, at least for me: I wouldn't expect ‘Light’ to be actually called ‘Std Lt’. Some applications, though, also have issues with it. Example use case: In JetBrains’ editors, I use a 14pt font for code editing and a 12pt font in my terminal. For this, I have to uncheck the ‘Use default font’ checkbox. When I do it, I don't have the option to set the font weight, only the family. Since IntelliJ can't find the ‘Normal’ weight, it defaults to the first font in alphabetical order, it being ‘Condensed Bold’:

Screenshot of PyCharm settings with a wrong font being selected

I know, this is rather an IntelliJ problem for not letting one choose the font weight there, but it's also a font problem IMO, since there is a somewhat established tradition in how to name the font weights.

Is there a reason for the shorter names being used, and if no, would you consider renaming them in the next release?

Странные значения weight и style в ttf

Вот такие веса показывает fc-scan (fontconfig) в Ubuntu

$ fc-scan --format '%{file}\t%{weight}\t%{style}\n' MartianMono-Std*.ttf
MartianMono-StdBd.ttf	200	Std Bd,Bold
MartianMono-StdLt.ttf	80	Std Lt,Regular
MartianMono-StdMd.ttf	80	Std Md,Regular
MartianMono-StdRg.ttf	80	Std Rg,Regular
MartianMono-StdTh.ttf	0	Std Th,Regular
MartianMono-StdxBd.ttf	205	Std xBd,Regular
MartianMono-StdxLt.ttf	80	Std xLt,Regular

По документации я бы ожидал для
Lt — 50
Md — 100
xLt — 40

Ну и style у всех почему-то Regular.

Can't set the font in VS Code running on Windows 11

I tried different combinations, including Martians Mono, "Martians Mono", MartiansMono and even the full name Martian Mono Std Lt, but no luck.

I'm not sure if I don't understand how font names work or if it's a font issue, either way, it's worth adding this to docs since the mono font will be used mainly by developers.

image

Btw, thank you for your amazing work.

Italics

I know it's potentially on the roadmap, but I also wanted to express interest for it. I'm using ExtraLight for italics in the meantime.

Thanks for the great typeface!

Remove RFN

Please consider removing the RFN, so that web fontv users who subset your font or convert it to woff2 (like Google Fonts, whose library I manage :) don't have to rename it.

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.