Skip to content
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

Is any chance to support ligatures? #273

Open
zkcloud opened this issue Apr 12, 2021 · 24 comments
Open

Is any chance to support ligatures? #273

zkcloud opened this issue Apr 12, 2021 · 24 comments
Labels

Comments

@zkcloud
Copy link

zkcloud commented Apr 12, 2021

Recently, found that ligatures in code is very useful, it's more readable and friendly.

So, if ,is any plan?

@pauldhunt
Copy link
Contributor

I have thought about it a bit but as I don’t use any languages where for me ligatures would be particularly useful, it's hard to know which actually help improve legibility and which are simply stylistic preferences of individual coders. Since you are proposing this feature, can you please give me more context? what language are you using? which ligatures do you find particularly useful? having a better understanding of this type of information would make it more likely for me to include coding ligatures sooner rather than later.

@jonesnc
Copy link

jonesnc commented Apr 22, 2021

@zkcloud You can download a patched version of this font that includes ligatures from the Ligaturizer project:

https://github.com/ToxicFrog/Ligaturizer/releases/tag/v4

@pauldhunt
Copy link
Contributor

pauldhunt commented Apr 22, 2021

@jonesnc Based on the terms of the Source fonts license, will you please also change the name of the patched version to NOT use the name Source? the license allows for modification and redistribution, but retains the name Source Code for Adobe’s official version. I’ll post this comment also on the Ligaturizer project page.

@DarrienG
Copy link

This is probably a duplicate: #198

@zkcloud
Copy link
Author

zkcloud commented Apr 29, 2021

I have thought about it a bit but as I don’t use any languages where for me ligatures would be particularly useful, it's hard to know which actually help improve legibility and which are simply stylistic preferences of individual coders. Since you are proposing this feature, can you please give me more context? what language are you using? which ligatures do you find particularly useful? having a better understanding of this type of information would make it more likely for me to include coding ligatures sooner rather than later.

I use Java more. A few of the usual ones will suffice. Like, ==, !=, ===, >=, <=, ->, :=, <!--.
You may refer to JetBrains Mono, as a reference. But I still used to Source Code Pro. If it's supported, I'm sure most people would be very happy.
:)

@zkcloud
Copy link
Author

zkcloud commented Apr 29, 2021

Generally, in most languages, these would be enough:

@jwkohnen
Copy link

I assume the above is a screenshot of Jetbrains font test scratch pad with the following non-ligatured characters:

abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
 0123456789 (){}[]
 +-*/= .,;:!? #&$%@|^

<!-- -- != := === >= >- >=> |-> -> <$>
</> #[ |||> |= ~@

@jonesnc
Copy link

jonesnc commented May 11, 2021

@jonesnc Based on the terms of the Source fonts license, will you please also change the name of the patched version to NOT use the name Source? the license allows for modification and redistribution, but retains the name Source Code for Adobe’s official version. I’ll post this comment also on the Ligaturizer project page.

I'm not a maintainer on that project. I was merely linking to it in an effort to be helpful.

@jonesnc
Copy link

jonesnc commented May 12, 2021

Actually, the name of the patched font is LigaSrc. Is Src different enough from Source?

@pauldhunt
Copy link
Contributor

@jonesnc Yes, I think so. Thanks for reporting back.

@yvvt0379
Copy link

yvvt0379 commented Jul 2, 2021

Then I wonder if you are going to add the ligature feature to the font.

@pauldhunt
Copy link
Contributor

@CodeCrazy-ywt 🚧

@yvvt0379
Copy link

yvvt0379 commented Jul 6, 2021

But I just don't know what you mean by just an emoji...😟Could you explain your ideas more clearly?

@pauldhunt
Copy link
Contributor

@CodeCrazy-ywt coding ligatures are under construction.

@yvvt0379
Copy link

yvvt0379 commented Jul 6, 2021

OK, I see. Best news I've ever heard of! Big thanks!👍🏻

@pauldhunt
Copy link
Contributor

@CodeCrazy-ywt just for my info, which set of ligatures in particular are you wanting to see supported?

@yvvt0379
Copy link

yvvt0379 commented Jul 7, 2021

You can refer to Fira Code or Jetbrains Mono as a reference.

@Scemist
Copy link

Scemist commented Jun 11, 2022

Do you know the Hasklig? Is one of the most famous font with ligatures for coding. It's literally the Source Code Pro, but with ligatures added.
The repository is here in GitHub.

Source Code is my favorite monospaced font, and i use Hasklig as well.

@yvvt0379
Copy link

But, we need general, not specific to just one programming language. Hasklig is specifically designed for Haskell language.

@yashLadha
Copy link

I see that in the latest release also there is no ligature support. Is this issue being tracked in any other release?

cc: @pauldhunt

@yashLadha
Copy link

@pauldhunt Sorry to ping you, but is there an update on this? Or any other action items we are currently working on?

Again, I appreciate all the work that you and your team have put into this project. 😄

@nmsmith
Copy link

nmsmith commented Mar 29, 2024

If this font adds support for ligatures at some point, may I suggest being conservative? Many fonts that support ligatures go crazy, supporting all kinds of weird glyph pairs that aren't relevant for the most popular languages, and whose aesthetics are questionable. I'm talking about stuff like #{. (Fira Code is the prime example.)

Also, I strongly dislike the tendency of fonts to join a pair of underscores __ into one "mega-underscore". IMO this doesn't look better; it just obfuscates the number of underscores. Most fonts don't join -- into a "mega minus", and it would be preposterous to suggest joining .. into a "mega dot", so I don't see the rationale for joining underscores together. (In most programming languages, underscores are used in the same manner as a letter; they aren't used as underlines.)

In comparison, ligatures such as <= (inequality) and -> (right arrow) are much more justifiable, because they replace "ASCII art" with a semantically-correct symbol.

If others are interested in having access to the long tail of questionable ligatures, I would propose hiding these behind stylistic sets. This would allow people to choose the combination of ligatures that they like best.

Also, I'd love to see "texture healing" (discussed here) as a stylistic set.

@pauldhunt
Copy link
Contributor

@yashLadha this project is currently on hold while I finish up some other projects. sorry for the delay.

@Merovex
Copy link

Merovex commented Apr 29, 2024

How about if we slip you a dollar? ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

10 participants