Cascadia-code: Can we get a full "Nerd Font" version?

Created on 21 Nov 2019  路  9Comments  路  Source: microsoft/cascadia-code

Description of the new feature/enhancement (with images if possible)

Basically, it should have the 3,000+ icons and glyphs that are added by the scripts over at nerd-fonts so that those of us generating or using tools like /devblackops/Terminal-Icons and /mnurzia/better-ls or /nick-bull/spaceship-prompt-nerdified can use Cascadia 馃榿

https://raw.githubusercontent.com/devblackops/Terminal-Icons/master/media/screenshot1.PNG

Proposed technical implementation details (optional)

Ideally, update the font with their patcher and distribute it here. Alternatively address ryanoasis/nerd-fonts/issues/373 and help everyone understand how _they_ can make it happen without getting in trouble...

Issue-Feature

Most helpful comment

Yeah, NerdFonts.com forked it too, and they finally patched their monospace issue, so the version they're shipping under the name "Caskaydia Cove" works pretty well..

All 9 comments

Adding icons to the font can add its own questions and issues.

  • Does Cascadia use the icons as is, or does it develop its own iconographic language and style?
  • Can MDL2 glyphs substitute for the Nerd Fonts?
  • Are there copyright issues with some of the glyphs?

Well, NerdFonts maps specific glyph sets to specific code points. As with the "PowerLine" glyphs, if we using that name, it basically has to map the same glyphs the same way so it will work as a drop-in replacement ...

Hypothetically, I suppose you could customize them, but it's probably not necessary (certainly not expected). All the glyphs come from other github repos, you can check them and their licenses on that glyph set page.

It seems this _is_ planned, or at least the build script does support nerdfonts (it's the "NF" variant), but it doesn't support using nerdfonts' dataset as-is, it needs to be in the ufo format (?) while nerdfonts ships pre-compiled .ttf/.otf glyphs and a handful of .svg without any indication of how _those_ sources are built or acquired.

There was a dataset committed to this repository (https://github.com/microsoft/cascadia-code/commit/8d3a90a5614761fa5675449d0c3a8a5e2c0c6753) which later got silently deleted (https://github.com/microsoft/cascadia-code/commit/6ed2bab54d8254543beefe12b11f78fa4611f48c); but the refactored build script will still try to build the "NF" variant if the dataset is restored.

Unfortunately, building with Cascadia's script using that dataset (if restored with git checkout 6ed2bab^ -- sources/nerdfonts/NerdfontsNF.ufo) produces a buggy font that has the glyphs but they render at the wrong size; the font is also not detected as monospace. This latter problem is also present on nerd-fonts' own patcher (https://github.com/ryanoasis/nerd-fonts/pull/374#issuecomment-545758315) which should be fixed by https://github.com/ryanoasis/nerd-fonts/pull/394 over there.

Yes, the script does support building Nerd Fonts. There's some things with the full set of characters that are still being sorted out, so only the Powerline version was released for now.

For your reference, UFO is a font source format. Rather than building from a miscellaneous collection of font files and vector formats, it made sense to coalesce the various symbols into a single source file, with everything placed where it should be. That also means less risk of font editors leaving their thumbprint on the font export (as is seen with Font Forge in the issues listed above). In the process of producing the UFO, I looked to normalize the characters within the font's advance width (so all characters fit within the 1200 funit limit). And in general, I tried to modify glyphs from the same origin in the same way. That way they'd look similar in weight and size.

In terms of the question regarding "not detected as monospace", there's a lot of discussion around this point. Under the Unicode standard, Combining marks are considered "nonspacing", which is to say, they are zero width. However, since these codepoints still contain outlines, some code frameworks may not detect the font as monospace. We have an issue posted related to this (#118). However, I have not observed contemporary applications appear to have this problem, nor has there been sufficient complaint of the font not working to justify breaking with the Unicode standard.

Hope that helps!

Someone patched Cascadia font and added the missing glyphs / icons. It worked for me for exa icons:

image

https://github.com/adam7/delugia-code/releases/download/v1911.21.3/Delugia.Nerd.Font.Complete.ttf

Yeah, NerdFonts.com forked it too, and they finally patched their monospace issue, so the version they're shipping under the name "Caskaydia Cove" works pretty well..

Actually I tried it first, but it didn't work for me. For this specific usage (using exa) not all icons were shown.

Adding icons to the font can add its own questions and issues.

* Does Cascadia use the icons as is, or does it develop its own iconographic language and style?

It might be a good compromise to offer a version with the icons as is while developing Cascadia's own style

Was this page helpful?
0 / 5 - 0 ratings

Related issues

GustavBrock picture GustavBrock  路  6Comments

xmha97 picture xmha97  路  3Comments

mdtauk picture mdtauk  路  6Comments

AndreaPasqualini picture AndreaPasqualini  路  4Comments

mdtauk picture mdtauk  路  6Comments