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

Ligatures and contextual alternatives #64

Open
flying-sheep opened this Issue Jan 28, 2016 · 16 comments

Comments

9 participants
@flying-sheep

flying-sheep commented Jan 28, 2016

love your font, but having tasted the beauty that is Fira Code’s ligatures, i can’t go back.

having both fantasque and those ligatures would be perfection!

the contextual alternatives are also amazing: having e.g. the * in *ptr and - in foo-bar adjusted based on the height of the characters next to them… yum!

@piggyslasher

This comment has been minimized.

Show comment
Hide comment
@piggyslasher

piggyslasher Nov 5, 2016

Please. Your font looks gorgeous :) Only thing stopping me is Ligatures.

piggyslasher commented Nov 5, 2016

Please. Your font looks gorgeous :) Only thing stopping me is Ligatures.

@SethGunnells

This comment has been minimized.

Show comment
Hide comment
@SethGunnells

SethGunnells Nov 9, 2017

I cannot upvote this enough. This is my favorite font to use for all my monospace needs, but I'm using Fira Code right now because I love the ligatures. Having them in this font would be wonderful and I would be back immediately. I will even pay to see this happen!

SethGunnells commented Nov 9, 2017

I cannot upvote this enough. This is my favorite font to use for all my monospace needs, but I'm using Fira Code right now because I love the ligatures. Having them in this font would be wonderful and I would be back immediately. I will even pay to see this happen!

@rebo

This comment has been minimized.

Show comment
Hide comment
@rebo

rebo Dec 31, 2017

Great font but ligatures are the future !

rebo commented Dec 31, 2017

Great font but ligatures are the future !

@belluzj belluzj referenced this issue Jan 7, 2018

Closed

Ligatures please #80

@belluzj

This comment has been minimized.

Show comment
Hide comment
@belluzj

belluzj Jan 7, 2018

Owner

I have started working on this. Here is my work-in-progress on the Regular. The yellow highlights indicate which ligatures have a special combined glyph in this font, compared to all the ligatures that are handled by Fira Code and Hasklig.

spectacle s12265

I have reused the same techniques as Fira Code, so the font should have the same behaviour while editing. Only the Regular weight has ligatures for now. You can grab a test copy here: https://github.com/belluzj/fantasque-sans/releases/tag/v1.8-alpha

To continue, I would need feedback on those points:

  • Is the behaviour of the font indeed satisfactory while editing code with ligatures?
  • Are the currently implemented ligatures correct? (especially the F# pipes and Haskell ones, because I have no knowledge of their semantics or intended use)
  • Which other ligatures are really needed? (I feel that some of the ligatures from Fira Code such as <+> or <*> are not really needed here because my + and * are already big enough and almost centered vertically (OK not exactly).

When all is fine on the regular I will do the same for the bold and italic and release. Thanks in advance for your feedback.

Owner

belluzj commented Jan 7, 2018

I have started working on this. Here is my work-in-progress on the Regular. The yellow highlights indicate which ligatures have a special combined glyph in this font, compared to all the ligatures that are handled by Fira Code and Hasklig.

spectacle s12265

I have reused the same techniques as Fira Code, so the font should have the same behaviour while editing. Only the Regular weight has ligatures for now. You can grab a test copy here: https://github.com/belluzj/fantasque-sans/releases/tag/v1.8-alpha

To continue, I would need feedback on those points:

  • Is the behaviour of the font indeed satisfactory while editing code with ligatures?
  • Are the currently implemented ligatures correct? (especially the F# pipes and Haskell ones, because I have no knowledge of their semantics or intended use)
  • Which other ligatures are really needed? (I feel that some of the ligatures from Fira Code such as <+> or <*> are not really needed here because my + and * are already big enough and almost centered vertically (OK not exactly).

When all is fine on the regular I will do the same for the bold and italic and release. Thanks in advance for your feedback.

@SethGunnells

This comment has been minimized.

Show comment
Hide comment
@SethGunnells

SethGunnells Jan 8, 2018

Thank you for working on this! I am so excited to see ligatures coming to my favorite font!

I am trying it right now in Atom, but am having no luck. Ligatures don't seem to be appearing anywhere.

Edit: I tried both OTF and TTF with no luck.

SethGunnells commented Jan 8, 2018

Thank you for working on this! I am so excited to see ligatures coming to my favorite font!

I am trying it right now in Atom, but am having no luck. Ligatures don't seem to be appearing anywhere.

Edit: I tried both OTF and TTF with no luck.

@belluzj

This comment has been minimized.

Show comment
Hide comment
@belluzj

belluzj Jan 8, 2018

Owner

Did you download the font from this page? https://github.com/belluzj/fantasque-sans/releases/tag/v1.8-alpha
Did you check in the regular weight (not bold, not italic)?

Thanks for trying it out :)

Owner

belluzj commented Jan 8, 2018

Did you download the font from this page? https://github.com/belluzj/fantasque-sans/releases/tag/v1.8-alpha
Did you check in the regular weight (not bold, not italic)?

Thanks for trying it out :)

@SethGunnells

This comment has been minimized.

Show comment
Hide comment
@SethGunnells

SethGunnells Jan 8, 2018

Yes and yes.

SethGunnells commented Jan 8, 2018

Yes and yes.

@SethGunnells

This comment has been minimized.

Show comment
Hide comment
@SethGunnells

SethGunnells Jan 8, 2018

Tried it in TextEdit this time to confirm it wasn't Atom crapping out. Here's the results.

image

Edit: Not sure how to confirm I definitely have the right font. I did click the link and download the FantasqueSansMono-Normal.zip file. I am 90% sure I correctly replaced the current regular weight font with the new one.

SethGunnells commented Jan 8, 2018

Tried it in TextEdit this time to confirm it wasn't Atom crapping out. Here's the results.

image

Edit: Not sure how to confirm I definitely have the right font. I did click the link and download the FantasqueSansMono-Normal.zip file. I am 90% sure I correctly replaced the current regular weight font with the new one.

@belluzj

This comment has been minimized.

Show comment
Hide comment
@belluzj

belluzj Jan 8, 2018

Owner

Can you drag and drop the TTF on that page: http://www.impallari.com/testing/

And check that ligatures work there?

spectacle lh9590

Owner

belluzj commented Jan 8, 2018

Can you drag and drop the TTF on that page: http://www.impallari.com/testing/

And check that ligatures work there?

spectacle lh9590

@SethGunnells

This comment has been minimized.

Show comment
Hide comment
@SethGunnells

SethGunnells Jan 8, 2018

Nevermind! Turns out I was not replacing the font correctly. I needed to remove it completely from Font Book and add the new one for it to work properly. Here it is working!

image

Thank you for doing this! It looks amazing!

SethGunnells commented Jan 8, 2018

Nevermind! Turns out I was not replacing the font correctly. I needed to remove it completely from Font Book and add the new one for it to work properly. Here it is working!

image

Thank you for doing this! It looks amazing!

@belluzj

This comment has been minimized.

Show comment
Hide comment
@belluzj

belluzj Jan 8, 2018

Owner

ok great :)

Owner

belluzj commented Jan 8, 2018

ok great :)

@nikolalukovic

This comment has been minimized.

Show comment
Hide comment
@nikolalukovic

nikolalukovic Jan 22, 2018

Nice work on ligatures! When are you planning an official release?

nikolalukovic commented Jan 22, 2018

Nice work on ligatures! When are you planning an official release?

@joewreschnig

This comment has been minimized.

Show comment
Hide comment
@joewreschnig

joewreschnig Jan 27, 2018

I'm very happy to see this going in. Two requests:

  • Of the ligatures in Fira Code, I'd also like to see .= (to center the dot), /= (same as "not equal to" in some Lisp languages), and =~ (replace the top bar with a wavy line).

  • Today I use a variant font, Fira Code Symbol, which doesn't use "real" ligature support but places the combined glyphs at PUA codepoints. Then I use editor support to map replacements on a per-language basis. So "===" appears as a ligature in JavaScript but not C, etc. As far as I know this is not possible with "real" ligatures, which are always global. Would it be possible to ship a variant of the font with ligatures disabled but still contains the glyphs in the PUA range? (For Fira Code Symbol, they begin at U+E100.)

joewreschnig commented Jan 27, 2018

I'm very happy to see this going in. Two requests:

  • Of the ligatures in Fira Code, I'd also like to see .= (to center the dot), /= (same as "not equal to" in some Lisp languages), and =~ (replace the top bar with a wavy line).

  • Today I use a variant font, Fira Code Symbol, which doesn't use "real" ligature support but places the combined glyphs at PUA codepoints. Then I use editor support to map replacements on a per-language basis. So "===" appears as a ligature in JavaScript but not C, etc. As far as I know this is not possible with "real" ligatures, which are always global. Would it be possible to ship a variant of the font with ligatures disabled but still contains the glyphs in the PUA range? (For Fira Code Symbol, they begin at U+E100.)

@piggyslasher

This comment has been minimized.

Show comment
Hide comment
@piggyslasher

piggyslasher Mar 12, 2018

While we're waiting for full ligature support, (which looks awesome!) you can use https://github.com/lemeb/a-better-ligaturizer to add ligatures from another font. Works great.

piggyslasher commented Mar 12, 2018

While we're waiting for full ligature support, (which looks awesome!) you can use https://github.com/lemeb/a-better-ligaturizer to add ligatures from another font. Works great.

@ikzk

This comment has been minimized.

Show comment
Hide comment
@ikzk

ikzk Jun 8, 2018

This is awesome. It will be great if we also have emacs instructions https://github.com/tonsky/FiraCode/wiki/Emacs-instructions

ikzk commented Jun 8, 2018

This is awesome. It will be great if we also have emacs instructions https://github.com/tonsky/FiraCode/wiki/Emacs-instructions

@DrBearhands

This comment has been minimized.

Show comment
Hide comment
@DrBearhands

DrBearhands Jun 21, 2018

I seem to be missing the ligature for /= in Elm (should be the same as the more popular != in other languages), which I did have with firacode, though that might be a configuration error on my part.

DrBearhands commented Jun 21, 2018

I seem to be missing the ligature for /= in Elm (should be the same as the more popular != in other languages), which I did have with firacode, though that might be a configuration error on my part.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment