-
Notifications
You must be signed in to change notification settings - Fork 819
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
Can we get a full "Nerd Font" version? #194
Comments
Adding icons to the font can add its own questions and issues.
|
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 There was a dataset committed to this repository (8d3a90a) which later got silently deleted (6ed2bab); 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 |
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, 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: |
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. |
I downloaded it, looks good, the name is: CaskaydiaCove Nerd Font |
It might be a good compromise to offer a version with the icons as is while developing Cascadia's own style |
Looks like the latest version of I'm honestly not sure what the official repo can do about this, but I wanted to document for others that run into this in the future. Right now the work arounds aren't great
|
Is there anything blocking this to happen? |
Just as a heads-up: The currently available patched Nerd Font of Cascadia doesn't just add glyphs but also somehow alters the font itself. For example some letters look thicker. I (as a total noob) patched a newer version of Cascadia, but it resulted in basically all characters becoming taller |
@trallnag this is due to the patcher inherently needing to alter the hinting of the font. I have not spent the time (nor do I have the expertise in ttfautohint) to figure out the settings to change this. |
@aaronbell, interesting, thanks for the answer. for me fonts are more or less a total black box. So it doesn't matter what file type I patch? static vs variable, OTF vs TTF? |
@trallnag, the static instances should work better since I believe they’re currently autohinted so it should be the same with or without the patch. The variable font will definitely not work. But the patcher wouldn’t have worked anyway on a variable font. |
But I should add that, per #371, the statics already don’t align well with the variable font. :( |
Ok I understand it better now, thanks again |
Well, it does, since June 2021 (adam7/delugia-code@c1339ee) |
Oh happy days! I missed that. Thanks for the heads up! |
I just wanted to note, that some codepoints used by Nerd Fonts are misused, and it is impossible to keep the 'usual nerd font codepoints' and some Arabic / Hebrew glyphs. (for ref: adam7/delugia-code#64 (comment)) Also noticed that these Arabic / Hebrew glyphs are only existing in Cascadia Code non-italic (at least when looked at the static font files). Maybe better description of the problem here: adam7/delugia-code#64 (comment) Edit: Add last paragraph |
Well, the patcher (or rather fontforge) does work with the variable font (sort of), and Delugia used the variable fonts until people ... demanded the light weight. |
@Finii I recalled people saying that the patcher crashes when trying to parse the variable fonts. Sounds like that has been resolved, but like you said, people also want the non Regular weights :). And no, Arabic and Hebrew are not included in the italic as those languages do not usually employ italics. |
I wish there was an update to if this is actually something that will happen in the future or if users should just rely on the CaskaydiaCove font as an alternative. |
Now that Nerd Fonts support has been added, could we get a new release? Looks like neither a tag nor release has been done since 2021 in this repository. |
That would be the logical next step for us maintainers, eh? |
Thanks Dustin! Then I can try and help package it in Fedora 😄 |
(FWIW: The release build failed last night, so I'm digging in today to see why 😄) There's a couple other good pull requests backed up in here, so it'll be good to finally land those too! |
@DHowett I’m afraid that something has changed in the dependent libraries since the last build and I may need to rewrite the build system to fix it… 😂 |
@aaronbell eh, I wouldn’t go that far yet. It fails even with the same version of Python (3.9) and all of the dependencies pinned to the versions from the last build. 🙂 I’ll let you know if more work is required! |
Hmm. Interesting. Well let m know what you uncover! |
@aaronbell I think you were the killer!
|
Huh. That's weird. I didn't think I made any changes to that. I'll have to look into it. |
I suspect it might be this: @@ -50,9 +51,16 @@ def step_set_font_name(name: str, source: ufoLib2.Font) -> None:
def step_merge_glyphs_from_ufo(path: Path, instance: ufoLib2.Font) -> None:
+ unicodes = []
+ for glyph in instance:
+ unicodes.append(glyph.unicode)
ufo = ufoLib2.Font.open(path)
for glyph in ufo:
- if glyph.name not in instance:
+ if glyph.unicode:
+ if glyph.unicode not in unicodes:
+ newName = str(hex(glyph.unicode)).upper().replace("0X","uni")
+ instance.layers.defaultLayer.insertGlyph(ufo[glyph.name],newName, overwrite=False, copy=False)
+ else:
instance.addGlyph(ufo[glyph.name]) I imagine that we have some powerline glyphs that we convert to uniXXXX even if they're already present in the instance. |
This comment was marked as off-topic.
This comment was marked as off-topic.
Can you give me a requirements file with the pinned dependencies so I can do some test builds on my end? |
Oh, the one checked into the repo should be A-OK as long as you don't regenerate it with |
Alright, I actually think the thing I'm seeing comes from concurrent (?) modification of the designspace document. Serializing the build process (which slows it down immensely, yes) makes that a bit more obvious, and switching to deep copies of the designspace for every processing operation solves it. I'll prepare a PR after a bit more validation... |
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 😁
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...
The text was updated successfully, but these errors were encountered: