Code Monkey home page Code Monkey logo

Comments (5)

Finii avatar Finii commented on June 18, 2024 1
  • Not all icons are included [1]
  • Cloudflare is in the remix file, but in the commented-out section [2]
  • Fontawesome codepoint of the glyph is E07D (see https://fontawesome.com/icons/cloudflare)
  • That icon is in "Region C" and therefore not added [3] because we just have no space left (codepoint wise)

For the reasons see Issue #1550 and PR #1563

Ref 1

https://github.com/ryanoasis/nerd-fonts/blob/master/src/glyphs/font-awesome/README.md

image

Ref 2

https://github.com/ryanoasis/nerd-fonts/blob/master/src/glyphs/font-awesome/remix_mapping

image

Ref 3

The remix_mapping file above is generated by this script
https://github.com/ryanoasis/nerd-fonts/blob/master/src/glyphs/font-awesome/remix

image

Edit: Add source link for ref 1 and 3

from nerd-fonts.

Finii avatar Finii commented on June 18, 2024 1

I did notice the breaking change that was introduced some years ago, it was painful

Yes. The reason was that - because there were so few 'free' codepoints - we used codepoints that are reserved for Chinese, Arab and other "exotic" languages. Who needs those glyphs, what can go wrong when we patch them over with useful icons. ... There were hardly any fonts with that glyphs anyhow - back then.

But of course that raised complains from people who were missing the glyphs and really soon it became clear that we needed to change it. But still the preparation for the actual breaking change took literally years.

from nerd-fonts.

brainwo avatar brainwo commented on June 18, 2024

So in other words, it's not a good idea to add existing icons in different codepoints?
And an icon must be in available codepoint to be considered added in Nerd Fonts?

from nerd-fonts.

Finii avatar Finii commented on June 18, 2024

That is all not easy ;-)

Firstly Nerd Fonts is an icon pack aggregator, that means we take other collections and throw them into the target font.
Of course it would be ideal to keep the original codepoint, as that is advertised on the upstream website etc.
That worked for the first some years.
Then we had an overlapping set, where one of the sets has been moved (as a block) a bit up in number.
Meanwhile the number of icons grew exponentially. That means all the sets grew so big they do not really fit anymore in the (very small) range that is allowed for custom icons.
Furthermore people understandably hate when codepoints change.

That as background.

For the update of the FontAwesome icons we already take a complicated route. We keep codepoints of old versions stable; but they (FA) dropped some old icons completely. These vacant codepoints are reused for new FontAwesome icons that they put somewhere else, so there is already some codepoint movement.
That is what these mapping files and so on is all about.
To keep the Icons still in one manageable window of numbers (instead of strewing them around like THEY did with the updates). But then, we have other sets that also need space, so we had to make some (arbitrary) choice how big the window should be, and stuff that window full of icons (with moving the codepoints), but when that window is full there is no place for the remaining new icons to go. They would need to take codepoints from other sets. And/or become extremely fragmented, which is not maintainable.

How the sets are distributed is documented here:
https://github.com/ryanoasis/nerd-fonts/wiki/Glyph-Sets-and-Code-Points#overview

There is just no space to have all icons that possibly exist. So we had to make a choice what to drop from the FontAwesome update, and affected where a lot brand icons.

I understand that you really need this icon, but for us, that is a special rule that is disrupting all automatisms and has to be kept forever, even if you stop using cloudflare in half a year ;-)

So, sorry, I guess it is not good to open this door. Maybe there is some other cloud-y icon that you could use instead?

from nerd-fonts.

brainwo avatar brainwo commented on June 18, 2024

Nah, it's okay. I have found an alternative I can use. It's not a big deal. I was just curious since you pointed all this.

Thanks for the clarification though, this is very informative.
I have been using Nerd Fonts for years and I did notice the breaking change that was introduced some years ago, it was painful. Your insight is so valuable to understand what can/cannot we request. Perhaps this could be a part of FAQ since I didn't read anything regarding to this prior to submitting my issue. Thanks again.

from nerd-fonts.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.