JetBrainsMono icon indicating copy to clipboard operation
JetBrainsMono copied to clipboard

Slashed zero variant?

Open NetOpWibby opened this issue 4 years ago • 44 comments

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

NetOpWibby avatar Jan 15 '20 17:01 NetOpWibby

On osx vscode integrated terminal 0 is nearly indistinguishable from 8

Screen Shot 2020-01-16 at 16 46 46

getting rid of the slash or dot from 0 entirely would help 🤷‍♂

daniellizik avatar Jan 16 '20 07:01 daniellizik

@daniellizik There is no slash currently, it's a dot. Also, I think increasing your text size would help discern the difference.

The reason why the zero has anything in it to begin with is to better distinguish from "O". Monospaced "O" looks awfully similar to "0" at a glance.

NetOpWibby avatar Jan 16 '20 07:01 NetOpWibby

There is a slashed zero in JetBrains Mono. But to use it, your IDE needs to support stylistic sets (opentype feature).

philippnurullin avatar Jan 16 '20 16:01 philippnurullin

@philippnurullin Thanks for the tip! Sublime Text apparently doesn't have support for specifying a slashed zero in its settings. Still.

NetOpWibby avatar Jan 16 '20 16:01 NetOpWibby

If your IDE doesn't support the ligatures necessary for slashed zeroes, this patch should work. I used FontLab to replace the default zero with the slashed variant. In FontBook (macOS) you won't see it in the preview but it'll appear in your IDE.

NetOpWibby avatar Jan 21 '20 15:01 NetOpWibby

@philippnurullin I'd like this option too, but I can't see how in sublime text. ST 3.2 supports some ssXX stylistic sets (where XX <= 10) but not the 'zero' mod. Also it'd be nice to have a variant of the font pack with slashed zeros for users of older software / terminals etc..

Vscode can use the modified zero however, just change editor.fontLigatures setting (JSON settings):

"editor.fontLigatures": "'zero'",

ps. Are the stylistic set variations for JBM documented anywhere?

qgates avatar Jan 28 '20 02:01 qgates

Yes, it would be good to be able to download the font pack with slashed zero as default. Emacs don't support stylistic sets either. The dotted zero is somewhat unpredictable, sometimes the dot is centered and in other font sizes is not. For me JBM font wins ahead of Consolas (my so far winner), Hack, Fira Code, Fantasque Sans Mono and Input Mono. Thank you :)

sewkokot avatar Jan 29 '20 10:01 sewkokot

@philippnurullin Do JetBrains IDE support "support stylistic sets (opentype feature)", and if so, how do I enable this?

k0pernikus avatar Jan 29 '20 17:01 k0pernikus

@sewkokot Agree with all your points. FWIW I created a separate issue #104 about dotted 0 being off-center at different font sizes.

qgates avatar Jan 30 '20 03:01 qgates

@k0pernikus Unfortunately not yet. You can follow this issue on YouTrack https://youtrack.jetbrains.com/issue/IDEA-221886

philippnurullin avatar Jan 30 '20 08:01 philippnurullin

@qgates Wow, sorry. Totally missed your message.

There is not much beside the slashed zero feature now.

Making a lot of different font family's is not a good solution. For example, is we will make the version of JetBrains Mono without ligatures in 4 weights with italics, 8 total + version with ligatures, 8 files. Then each of this version will have the dotted zero & slashed. Thats leaves us with 32 font files. At some point (soon) we will be expanding the weights from 4 to 7, its 56 files. Yes, it can be automated, but complexity of system will only grow & create an opportunity for an error. The only way i see it can be done good, is adopting the approach of Input Mono with the visual font family settings. This will be a good "next" step, right now we are more concentrated on present.

philippnurullin avatar Feb 10 '20 13:02 philippnurullin

@philippnurullin Hey, no apology necessary :slightly_smiling_face:

I agree that having multiple fonts for different tastes could easily get out of hand and I also like how Input Mono has solved that problem. This would be great for the future, and might allow for a bunch of variations including the $ discussed elsewhere, zero and also {} which I think could look slightly nicer in JBM (don't worry, not going to create an issue about this!).

Oh and while on the nitpick there's something about the 5 that looks slightly wrong as well. Think the bottom loop is slightly overcome by the square top. Fira has that one perfect :wink:

qgates avatar Feb 10 '20 16:02 qgates

It seems to me, that the need to distinguish the 'O' from zero is a relict from the past where all IDEs and Text Editors had only a single color.

Consider this:

  • almost all IDEs/TextEditors these days colorize numbers and characters differently
  • how often do you have an 'O' next to a zero and how often a '8' next to a zero?

For me, that are two very good reasons to not decorate the zero with anything that makes it harder to distinguish from an '8'!

@NetOperatorWibby May i kindly ask you to invest the time to make a version without any decoration on the zero? (Maybe just copy the 'O'). I would highly appreciate it, and i think many others too.

Edit: @NetOperatorWibby You can ignore my 'request'!. Found your script in the Sudo-Repo to replace characters and it worked! (thanks for that) Now my zero is an 'O' :smiley:

djoerg avatar Feb 11 '20 21:02 djoerg

@djoerg No, we won't.

Don't you guys mess with my 0s and Os. :)

kovica avatar Feb 12 '20 09:02 kovica

Interesting. How in the world I'm supposed to learn that this font has a stylistic set (OpenType alternative) for zero looks?

It has to be documented somewhere.

But, while I'm happy the issue with the slashed zero is somewhat addressed, it seems like I can't make use of it in VScode. Using the zero feature also means I have to enable ligatures. But I can't stand them before the issue #11 is resolved.

From https://fontdrop.info/ I can see that there are two features - zero and calt. But any combination for the "editor.fontLigatures" value except false leaves all ligatures enabled, while I need all shape-changing garbage disabled.

KillyMXI avatar Mar 02 '20 20:03 KillyMXI

@KillyMXI

"editor.fontLigatures": "'calt' 0, 'zero' 1"
// or "'calt' off, 'zero' on"

image

alexeyten avatar Mar 03 '20 18:03 alexeyten

@alexeyten thank you! It did the trick.

Now my only complain within this issue is about documentation - better have all available features listed in the readme / at the website.

KillyMXI avatar Mar 03 '20 19:03 KillyMXI

@KillyMXI Yes, we will add the list of all the features at some point. Right now there is only this one, so it feels kind stupid to add the whole section with OpenType features list. But i understand why it can be important.

philippnurullin avatar Mar 04 '20 07:03 philippnurullin

@philippnurullin Thanks for the tip! Sublime Text apparently doesn't have support for specifying a slashed zero in its settings. Still.

NetOpWibby avatar Mar 20 '20 17:03 NetOpWibby

@NetOperatorWibby If you prefer shashed zero, set 'zero' stylistic feature to your font. For example, if you're using VS Code, add "editor.fontLigatures": "'zero'" to the settings.json file.

How would i do that in visual studio 2019?

The problem is that most of the tools doesnt support stylistic sets, dotted zeroes are hard to distinguish at small sizes. The font already has a no ligature version, an slashed zero variant would be nice to have too. The dotted zero is the only thing that is making me not use jetbrains mono

f2l2pe avatar Mar 25 '20 17:03 f2l2pe

@philippnurullin can you provide a version with slashed zero ? I am using Intellij IDEA based IDE's and I can't get around this issue.

astrolemonade avatar Apr 07 '20 16:04 astrolemonade

@cata0309 Hi. I can't because of the the problems it will bring. More about it here → https://github.com/JetBrains/JetBrainsMono/issues/8#issuecomment-584134324 In IDEA behalf you can follow this issue https://youtrack.jetbrains.com/issue/IDEA-221886

philippnurullin avatar Apr 08 '20 07:04 philippnurullin

I editted the font in FontForge by switching the zeros, I had no problem using it thought.

astrolemonade avatar Apr 08 '20 17:04 astrolemonade

@cata0309 Glad to hear you found a solution.

philippnurullin avatar Apr 09 '20 08:04 philippnurullin

@cata0309 Can you please provide your patched font file?

k0pernikus avatar Apr 09 '20 08:04 k0pernikus

Of course, is it ok if I link it here @philippnurullin ? I am thinking about making an archive.

astrolemonade avatar Apr 09 '20 20:04 astrolemonade

Ok, so I swapped the dotted zero with slashed zero(and also added slashed zero to the NL versions) JetBrains-Mono_Zero.zip Note 1: I did not renamed the actual name font !!! In order for it to work you have to remove the JetBrains Mono family before installing the patched one! Note 2: Let me know if it's ok to you that I shared the modified fonts here Let me know if the patch worked for you

astrolemonade avatar Apr 09 '20 21:04 astrolemonade

@cata0309 loved it ! im already using this version

f2l2pe avatar Apr 09 '20 21:04 f2l2pe

@cata0309 I'm 100% ok with this. Tat's why the project is open source.

philippnurullin avatar Apr 10 '20 07:04 philippnurullin

I am glad I made someone happy !

astrolemonade avatar Apr 10 '20 09:04 astrolemonade