be5invis / Iosevka

Versatile typeface for code, from code.
http://be5invis.github.io/Iosevka
SIL Open Font License 1.1
19.27k stars 574 forks source link

Consolidation of Glyph Variants Requests #140

Closed be5invis closed 4 years ago

be5invis commented 7 years ago
p-e-w commented 7 years ago

Thumbs up for modifying {} – their curvature too closely resembles () and at small sizes they are hard to distinguish. Input Mono is an example of a font that leaves no doubt which type of brackets is which.

be5invis commented 7 years ago

So, @p-e-w, do you like this?

image

slice commented 7 years ago

@p-e-w I agree. I don't like the close resemblance to (. @be5invis Very nice! Though, I'm not sure how this would look like in real code.

be5invis commented 7 years ago

@p-e-w @sliceofcode Hmmm...

image

slice commented 7 years ago

@be5invis That looks nice. Although I prefer the tip of the brace (I don't know what it is called) to extend more instead of being short, like in Monaco:

20170115_102407_dyg

That's just my personal preference though, the font looks great :smile: If you don't mind me asking what colorscheme and text editor is that? Looks great with Iosevka!

be5invis commented 7 years ago

@sliceofcode VSCode, theme is Railgun

slice commented 7 years ago

Alright, thanks.

p-e-w commented 7 years ago

@be5invis: Sorry for the late reply. I have studied the changes and find two small issues: First, the new ß is hard to distinguish from B because the bottom loop almost touches the stem. Other fonts eschew this problem by either leaving more space between the loop and the stem or by making the two loops "wavy" in a fashion that is obviously different from B. I would recommend the first approach as I think the overall glyph shape is good already.

Second, I agree with @sliceofcode in that I feel all three bracket types should be wider than they currently are, and indeed I believe should be as wide (and as tall) as the character cell allows. While your adjustments make ( and { more distinct, { almost looks like | now because of its small horizontal extent. I love the Monaco example given above – the wide extent makes it possible to really flesh out the different shapes, and matches the role brackets usually have in code: Containers for code blocks or array-type objects, which should be immediately recognizable.

In any case, I continue to be amazed by your responsiveness and swift release cycle. I am not aware of any other font with a development speed approaching that of Iosevka.

slice commented 7 years ago

Here is another comparison. This time, Iosevka and Input. 2017-01-21-10 27 44 Input's braces are shorter, and "longer". You can clearly see the difference between |, (), and {}. Although the same can be said for Iosevka, I prefer Monaco/Input style braces.

I agree on what @p-e-w said, especially the last sentence. It's what makes Iosevka so great. :+1:

be5invis commented 7 years ago

@sliceofcode well its “wider”. Given that Iosevka is designed to be very narrow (in fact it is the narrowest monospace typeface I know), I think I can increase the width of brackets only a little.

be5invis commented 7 years ago

image @p-e-w @sliceofcode Like this?

slice commented 7 years ago

@be5invis Looks like it. :smile: Thank you for this.

be5invis commented 7 years ago

@sliceofcode It's in Master. build it (on linux please, because OSX fontforge is some sort broken)

be5invis commented 7 years ago

Add some overshoot image

image

slice commented 7 years ago

2017-01-22-11 44 53

@be5invis Looks beautiful. :smile:

Had to use this workaround for Fontforge to work properly in Linux: fontforge/fontforge#2992

slice commented 7 years ago

Here's some TTFs of master: iosevka-wide-braces.tar.gz Outdated.

be5invis commented 7 years ago

@sliceofcode I have no clue what happened to FF. Perhaps I should write something to get rid of it (for example, otfcc-ttcize is written to replace FontForge's TTC exporter)... It's annoying, really.

Currently FF is ueds to:

slice commented 7 years ago

2017-01-22-11 52 03

Here is another preview, this time all weights. Click for higher resolution.

p-e-w commented 7 years ago

Interesting... in @sliceofcode's last preview, for the light weights } is shifted upwards compared to [, while for the heavy weights it is shifted very slightly downwards (or perfectly aligned, can't decide which one). Is the overshoot weight-dependent?

Otherwise, this is an enormous improvement, @be5invis! I'm also excited about the possibility you hinted at of eliminating FontForge from the build chain, which has always felt like the odd one here (FF is primarily a GUI tool, after all). A pure command line-based font compilation toolchain could literally usher in a new era of "precision fontmaking", of which Iosevka thus far appears to be the only example.

be5invis commented 7 years ago

@p-e-w {} and [] are perfectly vertically middle-aligned. His image just does not have enough resolution. FF is a cluster of uncertainty and bugs. It should be eliminated.

jdw1996 commented 7 years ago

I'm glad that the # sign has been mentioned—that is the least clear symbol in the font for me. However, there are a couple others that I would also love to see variants of:

Thanks again for the great font!

be5invis commented 7 years ago

@jdw1996 How about this?

image

be5invis commented 7 years ago

@therockmandolinist Here you are:

image

be5invis commented 7 years ago

@jdw1996 And we have this:

image

be5invis commented 7 years ago

@nick-s-b This is for you:

image

dieggsy commented 7 years ago

@be5invis thanks, but I believe that's closer to z-shaped - wouldn't hooky be straight down?

Also perhaps for future consideration, I had mentioned the possibility of a t with more similar curvature to the l. You can see the difference here: 2017-03-30_09 49 52

nick-s-b commented 7 years ago

@be5invis thank you! Looks great and much better than the current one.

jdw1996 commented 7 years ago

@be5invis The Q, $, and # all look awesome!

be5invis commented 7 years ago

@therockmandolinist So you need a t like it is in Futura?

dieggsy commented 7 years ago

@be5invis that's the type I was referring to, yes. I wouldn't say need, it was a suggestion for consistency :)

be5invis commented 7 years ago

@therockmandolinist

image

dieggsy commented 7 years ago

@be5invis quite so! very nice

nick-s-b commented 7 years ago

@be5invis I'm still hung up on hash/octothorpe... lol. After compiling and looking at the latest one, I still wish there was a slanted variation. Slanted one is the default in Monospace (which is probably the default monospace font for all distros) and it's also default one in Pragmata Pro and slew of other "programmer fonts". Even Roboto and other regular screen fonts have it slanted. So when you read some code in a browser, it will most certainly have a slanted #. it's weird when I go to Terminal and then see it straight up & down.

Here's a slanted one in Monospace at 10pt in the Terminal:

https://i.imgur.com/rrdwxhU.jpg

and here's the outline of Pragmata Pro's in FontForge:

https://i.imgur.com/mnrVuym.jpg

I really hate bugging you but if you get a chance, could you please add a slanted variant?

Thanks :)

be5invis commented 7 years ago

@nick-s-b My pleasure.

image image

nick-s-b commented 7 years ago

@be5invis wow! Thank you! Looks great!

AndydeCleyre commented 7 years ago

I'd love to see some options to further differentiate within each of the following pairs (so an alternate of at least one from each pair):

This can be especially helpful for those with dyslexia. Below are samples from other fonts, under Iosevka; but I don't know what might work best with your style. Maybe d-hooky, b-hooky . . .

EDIT: I guess a tail-less u is a good option here.

dbqpun

jdw1996 commented 7 years ago

@AndydeCleyre Any chance you could post a list of the fonts you've shown here?

AndydeCleyre commented 7 years ago

@jdw1996

image

be5invis commented 7 years ago

@AndydeCleyre Have you tried Iosevka Slab? The general design of Iosevka is neo-grotesque so d and b should be similar.

AndydeCleyre commented 7 years ago

@be5invis Yes, but I find the regular style more readable and less distracting. I'm unfamiliar with neo-grotesque standards; I'll read what I can find.

AndydeCleyre commented 7 years ago

@be5invis fwiw I found a couple of fonts described as neo-grotesque that firmly disambiguate d and b, and q and p:

Safety

image

Berlingske Sans

image

Meanwhile, I'm compiling a slab variant to reconsider it.

EDIT: I do appreciate that the slab variant disambiguates d and b, and u and n, though p and q still look identical. I'll try it out for a while.

EDIT: slab is less readable at small sizes. Is there somewhere you can point me to, to learn about the specific d, b, p, q, n, u requirements for the style you're going for?

jdw1996 commented 7 years ago

I really like the curlier italic y in the slab version of Iosevka, but I prefer to use the sans version. Is there any way you could add the option of a curlier y to the sans?

alexeyten commented 7 years ago

I would like to request square variant for period (like one in Cousine) image

be5invis commented 6 years ago

@alexeyten Looks interesting but might be hard to implement. Symbols that would be affected:

notsukamto commented 6 years ago

Can you also add variation for straight and curly 'f'? I would like to have f-straight for my italic.

be5invis commented 6 years ago

@notsukamto @jdw1996 @moosotc Added in 1.14.2

ghost commented 6 years ago

I was told that /(002F / SOLIDUS) in Iosevka is too tall never bothered me right until the moment i was told that it is.. Now i cant help but notice that it is indeed too tall.. A shorter variant would be nice to have.

AmerM137 commented 6 years ago

I changed the "hook" parameter and the shape of "t" is now perfect for me! (closed issue #269). Just out of curiosity do we still have to officially request a variant for t? I am just making sure I understood your comment to my question correctly.

-Amer

AndydeCleyre commented 6 years ago

@AmerM137 Can you share a screenshot and the hook value?

AmerM137 commented 6 years ago

Hook = 50 iosevka hook50 This looks more in line with my geometric "i" and "l" in my opinion. I like it a lot.