adam7 / delugia-code

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

Italics not working properly #58

Closed Mellbourn closed 3 years ago

Mellbourn commented 3 years ago

The Cascadia Code release 2105.24 now includes the Italic version.

But it seems to me that the italic version is not really used. Example:

italics

The font is italic, but this is the "old" italic that has always existed, it looked exactly like this even before release 2105.24 (I guess this old italic is generated?). Note the letter "l". In the true italic version, it should have a loop, not just be slanted.

I am using the Delugia.Nerd.Font.Book.ttf.

Finii commented 3 years ago

Well, this is the same as #44 and #45.

Cascadia has a lot of weights and styles included in the lineup. Delugia is just the ordinary regular (in weight) and normal (in style).

The basic font modifications (bold, italic, bold-italic) are simulated by a lot applications / font renderers, if the font itself does not provide them (just because ppl expect that).

Cascadia follows two approaches: It has one very modern font file, that holds all the weights and styles, by describing just the differences. It further has a lot of 'simple' font files, with all the style-weight combinations rendered out. Unfortunately, I believe, fontforge is unable to handle these 'new' font format files. At least am I not able to generate modern OTF featured fonts with it. This leaves us with the option to generate 'old style' files. I.e. one file per style-weight.

This is what we do at the moment. But now we have the request to also supply

At the moment we generate 5 'output' fonts just for 'regular'. Of course we can generate all that individual files, to a sum of 6*5 output files. I'm not sure if this is kind of overkill?

Anyhow, the change to produce them is (expected to be) very simple. And in some issue I promised to set this up. Hmm, need to get my arse up ;)

Mellbourn commented 3 years ago

The new Italics in Cascadia look really good, so I for one would not think that it would be overkill to generate 30 files.

Finii commented 3 years ago

I have not even looked at the output :roll_eyes:, but you can check it out here:

https://github.com/Finii/delugia-code/actions/runs/890686198

Note:

Possible fix for #44, #45, and #58.

raprocks commented 3 years ago

@Finii , these the files from this build work flawlessly. I was trying to manually patch Cascadia since 3 days and didn't have any luck but i came across Delugia yesterday and tried the complete zip today. Works flawlessly on windows Terminal. Thanks 😄.

Finii commented 3 years ago

Thanks @raprocks for the feedback! I really appreciate it.

Unfortunately no one of the related issues sent any feedback. So I invite explicitely @Mellbourn @slurps-mad-rips @jebej and @offero to have a look and check if their issues would be solved with this.

I would just pull the fixes into master here, but as the complete naming has changed etc, maybe @adam7 has an opinion?

Thanks, Fini

Finii commented 3 years ago

Just noticed a flaw in the changes: The version is not deduced correctly. Fixing...

The new artifacts can be found here: https://github.com/Finii/delugia-code/actions/runs/960573187

raprocks commented 3 years ago

Didnt notice the version being different, i was lost in the happiness of the italics working 😂.

Finii commented 3 years ago

It was the latest master commit https://github.com/adam7/delugia-code/commit/22d4caedfdd6dd1c561fe74f9c1fe1ad185ae7be which broke our font versioning... actions/checkout update from 1 to 2 was the culprit :roll_eyes: Fixed now of course.

bruxisma commented 3 years ago

I'll take a look later today. I'm only subscribed to the issue I had opened, so I wasn't aware there were other issues 😅

Finii commented 3 years ago

@slurps-mad-rips Thank you!

I did the backlink to your issue, but probably obviously one does not get notified for those: image

Smarter every day :-D

Mellbourn commented 3 years ago

@Finii unfortunately this does not fix my original problem.

I don't really know a lot about fonts, but I think the fonts you have prepared are not classified correctly according to font family. Dragging and dropping your font files into ~/Library/fonts will cause this look in Font Book (on macOS):

delugia font book

Note how there are many "folders" of fonts, I believe that means that they are different font families.

Compare this with JetBrainsMono Nerd Font:

JetBrains Mono in Font Book

All variants are in the same font family.

Why does font family matter? Because terminal programs like iTerm, which have the ability to show both normal and italic versions of text, have to be able to "find" the italic version. iTerm can only find different versions in the same font family. So, iTerm can show both normal and italic versions of JetBrainsMono Nerd Font, but if you configure it to show Delugia Book it will not be able to find the corresponding italic, because Delugia Book Italic is registered as a separate font family.

raprocks commented 3 years ago

@Mellbourn I thought the same way before trying it out, the thing is Cascadia is bring shipped similarly. As i said, i didn't know Delugia was a thing because i was trying to patch Cascadia manually using the NF patcher but i was getting the problem you mentioned. I use Windows Terminal and this works Flawlessly and renders italics in the new font and the normal text in the original font. Give it a try. I can provide a screenshot if you need.

Finii commented 3 years ago

Well, I also wondered why Microsoft choose to use different families for the italics fonts.
But then, mother knows best, so I kept it the way they do it.

Lets see how other fonts that I have do it...

Archeron

Baron Neue

Radal

And the unpatched (non Nerd Font) JetBrains Original:
JetBrains Mono

Hmm. This looks different then @Mellbourn 's screenshot. Lets check the NF version... Ah, they drop the different family names while patching :roll_eyes:

ANYHOW. I must admit that I wondered why MS put the italics in a separate family, and I tend to change that, so that we have a 'basic' group of 4 fonts with the usual normal suspects, and all the others get into additional families, as it is custom.

Have to tend the children, mompl.

bruxisma commented 3 years ago

OK, finally had time to test this. When installed the "Delugia" font does not come with a "normal" setting on Windows, so I have the choices of using light (which looks... I'll be honest not great) or bold, which... results in everything being bold. For some reason the default 'font' setting is the italic version. There is no "regular", "default", or "medium". The GOOD NEWS is that the weirdness with the bold fonts is gone with this setting. The bad news is that I just can't use this... 😅

raprocks commented 3 years ago

where are you using the font and where are these settings? @slurps-mad-rips

bruxisma commented 3 years ago

This was in gVim on Windows 10, in the font picker. (Edit > Select Font...)

image

raprocks commented 3 years ago

well i cant say for sure about that but in windows terminal if i select Delugia i get the italic version when its needed but if i select the Delugia Italic every thing is rendered in the italic font. maybe some font family naming problems but it is how Cascadia is

Finii commented 3 years ago

I will change the repo above to put the bread-and-butter fonts (regular, bold, italic, bold italic) into one family.

Did not and do not understand why it is different at Cascadia, but obviously it can cause problems ;-)

Finii commented 3 years ago

At least in Writer it looks good:

delugia_styles_in_writer

Light is in a different font, but the 4 basic fonts can be reached by one entry in the font chooser.

The artifacts can be found in this new run: https://github.com/Finii/delugia-code/actions/runs/973562182

Please have a look ;-)

Finii commented 3 years ago

The naming change is explained here: https://github.com/Finii/delugia-code/commit/aea41562e8d9a80dfd3cbb54caf44a3cbbf616e5

Finii commented 3 years ago

RFC:

With {} being our 5 styles:
  PL, MonoPL, Complete, MonoComplete, Book

We ship via 3 archives: Delugia Powerline, Delugia Complete, and Delugia Book.

Powerline contains PL and MonoPL. Complete contains Complete and MonoComplete Book contains Book

I believe normally people install / need only one of the 5 font sets.

Would it be better to create 5 archives to make clear what belongs together? Or is the current shipping good? Or any other ideas?

raprocks commented 3 years ago

I am more inclined on the 5 archive solution. That would be better for the people who are new to using Delugia.

On Sat, Jun 26, 2021, 1:55 PM Fini @.***> wrote:

RFC:

With {} being our 5 styles: PL, MonoPL, Complete, MonoComplete, Book

We ship via 3 archives: Delugia Powerline, Delugia Complete, and Delugia Book.

Powerline contains PL and MonoPL. Complete contains Complete and MonoComplete Book contains Book

I believe normally people install / need only one of the 5 font sets.

Would it be better to create 5 archives to make clear what belongs together? Or is the current shipping good? Or any other ideas?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/adam7/delugia-code/issues/58#issuecomment-868967987, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMUEXQG57G33WRPKPXOZPQLTUWFHNANCNFSM45YCWHLA .

adam7 commented 3 years ago

I think the 5 archives would be clearer and if people usually only want one of the 5 no need to bundle them

Finii commented 3 years ago

Created a PR with all the changes discussed here.

adam7 commented 3 years ago

I’m away on mobile only for the weekend, looks good at a quick glance but I’ll try and do a proper review Monday

Finii commented 3 years ago

I guess this can be closed? Please reopen if this is still an issue with release v2105.24.2.

Mellbourn commented 3 years ago

I can confirm that it works for me now! 🎉

italics