adam7 / delugia-code

Can we add Nerd Fonts to Cascadia Code Font using a GitHub Action
MIT License
571 stars 33 forks source link

Future of Delugia #83

Open Finii opened 7 months ago

Finii commented 7 months ago

When Cascadia Code Nerd Font comes out (see https://www.github.com/microsoft/cascadia-code/pull/720) we should consider if this project is still needed or not.

For me, personally, I still use Delugia albeit I improved the Caskaydia Nerd Fonts version. I believe we should think about the differentiation of the three projects (i.e. Delugia, Caskaydia NF, Cascadia).

Anyhow, I guess we should halt the auto-release of a Delugia version on Cascadia releases until we can see and examine the outcome of Cascadia NF, and how good it will fit our 'customers' needs.

We could also think about updating Delugia to Nerd Fonts v3.2.1, if it has any merrit.

I hope to start some open discussion and brainstorming here.

Finii commented 7 months ago

@NormTurtle Please feel free to write something here, any input is appreciated :-)

NormTurtle commented 7 months ago

Delugia is the primarily my First Font . which also introduces me too NERD Font and font ligature. so whenever i change Distro i always look for Delugia as font. i primarly refrained from using Cascadia Code as it was product of Microsoft. heck even when i was using Window i was using Delugia only. i won't be installing Cascadia Code in any of my Distro . ( i just don't like Cascadia ).

i still do not know, how Font maintenace works. :-|

all i can say Delugia is one of the product which i been sticked to...

i look forward for what the maintainers decides.

adam7 commented 6 months ago

Hey @Finii Thanks for opening this. It does look like the next version of Cascadia with nerd fonts will make Delugia redundant. This project was, for me, always about automating the process of improving Cascadia for users Cacadia already has what we were adding to it we would serve our users best by redirecting them to the latest version of Cascadia. Updating to the latest Nerd Fonts seems like something we should do in the meantime.

Finii commented 6 months ago

Here a comparison matrix of versions

with ligatures without ligatures
Nerd Font CaskaydiaCove NF CaskaydiaMono NF
Nerd Font Mono Delugia
CascadiaCodeNF
CaskaydiaCove NFM
DelugiaMono
CascadiaMonoNF
CaskaydiaMono NFM
Nerd Font Propo Delugia Book
CaskaydiaCove NFP
CaskaydiaMono NFP

Further differences

All the work done with Delugia finally ended up in Nerd Fonts, so the differences are negligible now. I believe Delugia Book was available before Nerd Fonts even had a Propo variant, for example. Delugia was also the driver to several bug fixes in both Nerd Fonts and Fontforge.

I personally use Delugia as main font not only because of nostalgic reasons but also because I can wipe all 'Nerd Fonts' fonts from my system and still have a nice font installed, when I do Nerd Fonts development.

serve our users best by redirecting them to the latest version of Cascadia

In principle I guess that is the way. Except for the Book variant, if that uses anybody still. And then CascadiaCodeNF is based on Nerd Fonts v3.1.1, and in the meantime we have v3.2.1 already ;-D So this (Delugia) is still more bleeding edge than CascadiaCodeNF.

So the real question is rather: why have a Delugia when there is Caskaydia now? Or: Why not :grimacing:


(*) The Cascadia Code released fonts look different (in some applications) if you use the Cascadia Code variable font or the Cascadia Code static font version. The variable version (VF) is default installed with Windows Terminal and people often compare against that. The VF glyphs are hand-hinted while the static fonts just got ttfautohint which does look different. So if we patch against the static release versions of Cascadia our font will always look different than the Cascadia VF...

Finii commented 6 months ago

I guess the auto-release feature could be activated again, at least all the workflow steps succeed again.

I did leave some message in the release notes, but probably the README should get some more hints about the three fonts and how to select what one wants.

mezdelex commented 2 weeks ago

I ended up in this thread after messing around with different fonts and I can tell the difference between Cascadia Code, Cascadia Code NF and Delugia. Delugia looks more polished, glyphs fit perfectly in the terminal and overall more pleasant.

Finii commented 2 weeks ago

@mezdelex

Cascadia Code, Cascadia Code NF and Delugia

Does that mean "Caskaydia Code NF"? I assume.

Maybe you can explain the perceived differences between Delugia and Caskaydia (if you meant that) with examples (images if possible), that would be really helpful.

Edit: Helpful, because I did both fonts :laughing:

mezdelex commented 2 weeks ago

I mean the official Cascadia Code NF variant (scoop install cascadia-code). Delugia's x height is slightly higher than the Cascadia Code NF variant, and it looks more proportional; haven't tried the Caskaydia variant tho.

Finii commented 2 weeks ago

Delugia's x height is slightly higher than the Cascadia Code NF variant,

Ah, the x height problem ;-)

The apparent difference in x height is due to the hinting, so the height difference is within 1 (or 2) pixels, regardless of actual font size. The outline x height is exactly the same; just how the outline is mapped onto pixels is different (mapped to make the letters 'sharper').

I must admit I currently do not know which source of Cascadia is used for Delugia. But Cascadia changed the hinting in the past. The variable Cascadia (which Windows usually has default installed) always has been hand-hinted, giving the font designers complete control over the x height. The static (not variable) Cascadia has been also hand-hinted in the past. Note that the variable font hints can not be reused and so some sorry person had to do it all again for the static fonts. But that had been dropped with some Cascadia version, and since then the static font is hinted by ttfautohint; which hints the x height differently. I tried a lot to convince ttfautohint to come up with a more matching x height, but I failed.

So in fact the x height of the Cascadia release fonts already differs between their VF (variable) and classic static fonts.

Because most people compare the patched fonts with the "perceived original" - which is the VF, because it comes preinstalled on Windows, they complained about the "wrong x height' after patching in the Nerd Font Symbols. Which is not true, it is just that the Nerd Font patcher can only work with static fonts, and so they compare differently hinted (by Microsoft) fonts, with different x heights.

For that reason Caskaydia (the Nerd Fonts version of Cascadia, like a parallel to Delugia) uses jet another font as source. Instead of using ttfautohint it uses the static fonts auto-hinted with Visual Truetype VTT. It inserts hints that are more in line with the manually added hints of the VF Cascadia. (I also tried other autohinters, but none inserted better hints/instructions than VTT; better in: more matching the manually done hints of Cascadia VF)

You see, this is a rather complex topic, and you are lucky that you like the x height of Delugia (which is as you can see now kind of an error)

[ttfautohint] https://freetype.org/ttfautohint/ [VTT] https://learn.microsoft.com/en-us/typography/tools/vtt/