-
Notifications
You must be signed in to change notification settings - Fork 305
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No ligatures version #19
Comments
Seconded. |
I've just made a quick and dirty version of fonts without ligatures. They were unlinked and removed using FontForge, hopefully, this didn't break things too much. |
You could disable ligatures for gnome terminal. See tonsky/FiraCode#905 (comment) |
Xcode is another IDE for which I see no way to disable the ligatures. I think a version without them would be worthwhile to encourage adoption. |
Thx for the hint that point me to the rigth direction. The mentioned fonts.conf dont work for me but with <?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/local.conf file for local customizations -->
<fontconfig>
<match target="font">
<test name="family">
<string>JetBrains Mono</string>
</test>
<edit name="fontfeatures" mode="assign_replace">
<string>calt off</string>
</edit>
</match>
</fontconfig> it looks great now for all users. Also works with |
+1 for disabling ligatures in Xcode. |
+1 disabling ligatures within Xcode. |
Great, works fine in macos 10.14 |
Unfortunately for me, at least on OpenSUSE Tumbleweed, it doesn't work in neither Perhaps I need to run then some extra "command"? (I've tried [Update] Following ArchLinux wiki, and using |
Now, on the subject of ligatures: they do look lovely; however... However, personally I find them distracting, and sometimes even potentially misleading or flat out wrong... (On the misleading front) For example in C, a (On the distracting front) I am a developer for a lot of years, and when I look at code I automatically parse (On the flat out wrong front) However, sometimes it just doesn't work... For example in some languages:
BTW, some tools (like Eclipse, the irony) :) don't offer the feature to disable ligatures. (Nor did I find a way to do it on OSX...) Therefore I think a variant without ligatures is a must, at least for scenarios where one can't turn off ligatures in their software. |
@cipriancraciun My brain is wired the same way. What I find especially distracting is that writing i.e. |
Yes, I'd love the |
The ligatures in this font is breaking WYSIWYG. While the design of ligatures is strongly opinionated for good, before widely adopted by tools, a variant without ligatures is a must (+1 to @cipriancraciun). Add several more cases why:
|
I agree with @cincuranet . I like the font but I don't like |
As pointed out below, #11 is what I'm looking for. |
@Geo1088, although I see a point of having tighter spacing between repeated characters of the same type, I don't think this is feasible for two reasons:
Therefore I think it's simpler to just have two variants: one with ligatures (as it is, perhaps with enhancements, etc.) and without any ligatures at all. Alternatively, one could create "use-case specific" variants for example one for each popular programming language family, one for documentation formats, etc. (However it can become quite a time consuming task.) |
I can't say I know for sure how this is already implemented, or the complexity of the system for accomplishing the spacing-modification ligatures, but they're already there alongside the glyph-replacing ones. I don't imagine it would be prohibitively difficult to separate the glyph-replacing ligatures from the font while leaving the other, more minor ones intact. However, I agree it could be logistically demanding, since it introduces a need for more products to be generated, etc.
I can't speak to every case, but the spacing-related ligatures have been nothing but a readability benefit from my experience with the font. I could see them causing issues for something like ASCII art, but at the recommended font size, they only shift things around by one or two points on my screen. For the general use-case of editing code, they just make it easier to visually separate certain punctuation sequences from the surrounding text content, and they apply to sequences not likely to appear in prose content (e.g. Markdown) anyway. Regardless, I'm pretty sure my idea is a bit separated from the original intent of this issue. I'll raise it as a separate issue if maintainers decide providing a completely ligature-less variant of the font for download would be worth it to begin with. |
As an interesting experiment, I've just searched all open issues that contain the word "ligature", and the following are interesting situations in which ligatures don't work at all:
On the other side:
I think everyone should try to imagine how all these "ligatures" will interact when everything is thrown in... :) Anyway, totaling issues that contain the "ligature" word, yields 21 open and 14 closed, that is ~35 of ~120, i.e. 25% of the issues... |
@Geo1088 there is already #11 opened that seems to resemble the scenario you are describing. |
please please please version without these hipster ligatures |
I started writing a script to remove ligatures automatically using the fontTools python lib. I got pretty far, but need a little more help/time to figure out how to remove the substitutions properly. The basic problem is that by just deleting the |
@s0501007 @gwk Please note that @podkovyrin has already forked this project and provided an alternative font without ligatures: https://github.com/podkovyrin/JetBrainsMono (I don't know how up-to-date is with regard to upstream, however I'm using it since it was initially published with great success.) |
Thank you. I remain interested in a scripting solution that lets JetBrains (or end users) automatically generate a no-ligatures version, for the purpose of maintaining an up-to-date and renamed version of the font. |
@s0501007 @gwk @cipriancraciun It's up-to-date. Recently I updated the font to the latest 1.0.3 version and also renamed it to make it work along with the original font. |
@podkovyrin thanks for the info. I'm curious, are you doing this by hand with fontlab, or with a different tool? |
@gwk Yeah, it's done manually with a terrible yet free FontForge. |
@podkovyrin good to know. If I can find some time I'll diff your ttfs against the originals, and that might be enough to figure out what else I need to remove. |
@podkovyrin Hi, I have no idea how the files are getting in to brew. Sorry. |
As with the TTF NL variant, I think the main use-case still applies: having no ligatures for those sites that don't want them. For example there are countless documentation sites out there (from Rust, Go, Python, and any other languages) that might benefit from JetBrains Mono for their code snippets. Therefore all the arguments presented above apply to this case also. (I.e. no ligatures due to various reasons.) Therefore the size reduction is only an "extra reason". (Also having support out of the box for the NL variant, is a good thing, as it won't "split" the project, and will "certify" the fact that the NL variant is a first class citizen, not a secondary outcome.) |
I absolutely agree with that.
Yes! |
Thank you for the NL version! 😻 I am one of the users that liked the new font a lot, but was bothered by the ligatures. Happy to have this official NL version now, so I can keep using it. |
@cipriancraciun Sorry i don't get you. If you want to show code snippet in JetBrains Mono you can take the web files for the liga version & don't turn on the ligatures in code snippet. They are turned off by default. The only issue i can see here is that the font will be larger by ≈80kb. And this can be treated manually, if the size is really important. |
@philippnurullin I'm not acquainted with font creation or worflow, but the way I see it, the following are a few advantages of providing the same set of fonts (normal and NL) in all formats:
Anyway, given that (I assume) there is an easy CLI converter from TTF to web-format, I think it would be a shame not including it in the |
|
Thanks for accepting the suggestion! |
Regarding all the argument on this matter, we will be happy to make the NL full format package but there is a huge problem of overcomplicating the repository. When the 3—4 lighter weights will be introduced there will be a lot of files. The one solution is to make separate folders with the same structure for NL & L versions, but i think we can do better. For now the NL version will only be provided in @Cirzen It will be more convenient to take files from GitHub. The updated versions coming to the site a bit late. Thanks! @chiniara The slashed zero can be turned on by |
[This is the last time I advocate for inclusion of NL in other formats.]
@philippnurullin even so, at ~1.7 MiB per page, a ~170 KiB reduction is 10%... Moreover if everyone takes the same approach: "at the moment metric M is |
@cipriancraciun Ok, legit point. I you have more suggestions or stumble upon a problem, please create a new issue. |
Is there a variable font of this? Basically |
@sndst00m No. If you IDE support variable fonts it is 100% supports OpenType features, so you can turn off ligatures and use default version. |
As we've established that NL is necessary for IDEs like Eclipse, is this reason enough to generate & ship a variable NL font? |
@sndst00m Can't find anything about support of variable font in Eclipse. Are they working in it? |
On the screenshot there is a non variable version of JetBrains mono. |
Ok, nice. |
What is the situation currently? Of NL Variable |
Sidenote: Wiki now contains guidance for disabling either complete support of "ligatures" (Contextual alternates) through OpenType settings ( |
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!
The text was updated successfully, but these errors were encountered: