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

Future of Delugia #83

Open
Finii opened this issue Apr 9, 2024 · 12 comments
Open

Future of Delugia #83

Finii opened this issue Apr 9, 2024 · 12 comments

Comments

@Finii
Copy link
Collaborator

Finii commented Apr 9, 2024

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
Copy link
Collaborator Author

Finii commented Apr 12, 2024

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

@NormTurtle
Copy link

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
Copy link
Owner

adam7 commented May 1, 2024

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
Copy link
Collaborator Author

Finii commented May 2, 2024

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

  • Delugia uses Cascadia's Poweline glyphs instead of Nerd Fonts'
  • Caskaydia uses a special hinting step to make the letters look more like the CascadiaCove VF font (*)

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 😬


(*) 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
Copy link
Collaborator Author

Finii commented May 2, 2024

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
Copy link

mezdelex commented Nov 6, 2024

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
Copy link
Collaborator Author

Finii commented Nov 6, 2024

@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 😆

@mezdelex
Copy link

mezdelex commented Nov 6, 2024

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
Copy link
Collaborator Author

Finii commented Nov 11, 2024

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/

@hexh250786313
Copy link

@Finii Hi! I used to be a super fan of Caskaydia Cove Nerd Font until I started using the mini.map plugin for nvim. Some characters in mini.map cannot be displayed properly with Caskaydia Cove Nerd Font, for example:

https://github.com/echasnovski/mini.map/blob/4c58e755d75f9999abcd3b3c6e934734b6a8b098/lua/mini/map.lua#L975-L981.

I tried many fonts in Nerd Font, but none of them could perfectly display these characters. Then I found Delugia, and now it's my default font. I'm not sure about the subtle differences between these two fonts, but at least in terms of the number of displayable characters, Delugia has the upper hand.

@Finii
Copy link
Collaborator Author

Finii commented Dec 12, 2024

Hmm, you link to lines 975-981, which hold the 3x2 blocks. These are in the 1Fxxx codepoint range, and neither Delugia nor Caskaydia has them. NerdFont just patches the box drawing chars in the 4 digit range (i.e. 2500-25FF)

I believe the 3x2 blocks come in on your machine via font-fallback from some other font, and its 'cell' size matches a bit better to Delugia's cell size; this is just by chance.

image
Top row 3x2 blocks, bottom row 2x2 blocks, done via [1]

If we update here the possibly slightly different cell-size algorithm would of course also be updated and you end up with the same as Caskaydia.

How the font-fallback is handled also depends on terminal.

[1] https://onlinetools.com/unicode/convert-unicode-to-code-points

@hexh250786313
Copy link

@Finii Thanks for your explanation.

I believe the 3x2 blocks come in on your machine via font-fallback from some other font, and its 'cell' size matches a bit better to Delugia's cell size; this is just by chance.

Your explanation gave me an inspiration. I tried changing to other fonts to find out which font was actually providing the fallback for the 3x2 blocks. Finally, I found that it was Windows Terminal's default font, either Cascadia Code or Cascadia Mono. Besides these two and Delugia, none of the other available fonts in my terminal emulator could perfectly display these characters. I'm confident this is because Cascadia Code and Delugia have matching cell sizes, while other fonts' cell sizes don't match these two.

If this is indeed the reason, then perhaps this explains why I've stuck with Delugia - it's closer to Cascadia Code than Caskaydia is.

If we update here the possibly slightly different cell-size algorithm would of course also be updated and you end up with the same as Caskaydia.

If upgrading might cause characters to not display properly, I might consider staying with Delugia v3.2.1 Nerd Font version.

image

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

No branches or pull requests

5 participants