-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
Update Font Awesome to the latest version #1550
Comments
And the most important detail, we can have this: click |
Hmm, they assign |
Right now, the parts of font-awesome that are in nerd fonts resemble "regular" style, I would say use the regular, to keep the theme. Also don't use their mappings, they change from version to version, and they will be hard to keep track of, instead, lets use SVGs, which have icon names, and that would allow nerd-fonts to be fully in control of code point ranges. And we can even add both, solid and regular, under different unicode points. The use of SVGs would allow us to also update the existing font-awesome ligatures in nerd-fonts, and if in the future they create new code points, we can keep compatibility. So we can create a mapping for each symbol to a utf8 address. For now we can do that automatically, by sorting the code points by name, and assigning an initial offset. we can also manually specify addresses for the old portion of the set. |
Asserting the current situation. Here a
Script used to add the NF names to the regular mapping file:
|
Hmm,
And codepoints ... it seems that at least for old codepoints they are preserved. For each codepoint: Look if it is in 'brands', if not look into 'Regular', if not look into 'Solid' is approximate what we have with 4.7 Newer icons are than added very scattered (probably because the missing ones are just in the PAY versions) 🙄 |
Oh, my mixscript looked like this #!/usr/bin/env python3
import fontforge
class Sources:
def __init__(self):
self.regul = fontforge.open('Font Awesome 6 Free-Regular-400.otf')
self.solid = fontforge.open('Font Awesome 6 Free-Solid-900.otf')
self.brand = fontforge.open('Font Awesome 6 Brands-Regular-400.otf')
self.regul.encoding = 'UnicodeFull'
self.solid.encoding = 'UnicodeFull'
self.brand.encoding = 'UnicodeFull'
sources = Sources()
compo = fontforge.font()
compo.encoding = 'UnicodeFull'
for point in range(0xE000, 0xF900):
source = None
if point in sources.regul:
source = sources.regul
elif point in sources.solid:
source = sources.solid
elif point in sources.brand:
source = sources.brand
else:
continue
source.selection.select(point)
compo.selection.select(point)
source.copy()
compo.paste()
compo[point].glyphname = source[point].glyphname
compo[point].manualHints = True
print('Generating...')
compo.generate('FontAwesomeNew.otf') and the result looks like this Marked |
They also have duplicates.
Possible scenario:
We could patch Region A to the codepoints of the current FA, filling the gaps with some of Region B. |
Ping @Sumer312, a mem icon is in this set. |
This does not pull in all icons of 6.5.1, but only of 'Region A' and 'Region B', see script `remix` and PR #1563. It keeps the codepoints constant for existing icons. Fixes: #1550 Signed-off-by: Fini Jastrow <[email protected]>
What about this FA 4.7 icon (which is in NF already)? which is changed in design with FA 6.5 😒 I can not really recall our discussion on gitter, but I believe it did not come up. |
This does look better than the processor icon I was using for RAM. |
This does not pull in all icons of 6.5.1, but only of 'Region A' and 'Region B', see script `remix` and PR #1563. It keeps the codepoints constant for existing icons. Fixes: #1550 Signed-off-by: Fini Jastrow <[email protected]>
This does not pull in all icons of 6.5.1, but only of 'Region A' and 'Region B', see script `remix` and PR #1563. It keeps the codepoints constant for existing icons. Fixes: #1550 Signed-off-by: Fini Jastrow <[email protected]>
This does not pull in all icons of 6.5.1, but only of 'Region A' and 'Region B', see script `remix` and PR #1563. It keeps the codepoints constant for existing icons. Fixes: #1550 Signed-off-by: Fini Jastrow <[email protected]>
This does not pull in all icons of 6.5.1, but only of 'Region A' and 'Region B', see script `remix` and PR #1563. It keeps the codepoints constant for existing icons. Fixes: #1550 Signed-off-by: Fini Jastrow <[email protected]>
This does not pull in all icons of 6.5.1, but only of 'Region A' and 'Region B', see script `remix` and PR ryanoasis#1563. It keeps the codepoints constant for existing icons. Fixes: ryanoasis#1550 Signed-off-by: Fini Jastrow <[email protected]>
Thank you! ❤️ |
This issue has been automatically locked since there has not been any recent activity (i.e. last half year) after it was closed. It helps our maintainers focus on the active issues. If you have found a problem that seems similar, please open a new issue, complete the issue template with all the details necessary to reproduce, and mention this issue as reference. |
I would like to get the new font v6 icons added to nerd fonts
Hi, have heard that it's problematic to move to newer version of nerd fonts, because the code points change, and or are not clustered.
But I have also noticed, that font awesome also ships SVGs, and like with octicons, we can use a script to patch the SVGs in.
The new font awesome icons are much more useful. They have a lot more computer/programming oriented icons, and also allow for multiple styles.
I had noticed this problem, when I couldn't find any icons on the cheat sheet with a RAM icon, and it is available here, on font awesome: click, and in multiple different styles.
Concerns
Because the icons are shared in SVG, and are named, we can leave existing icons in the existing range, and create a new, bigger range for the rest of the icons, and avoid duplication.
We can make the new range significantly bigger (I am talking multiple 10000+ spaces (there are 2000+ open source icons from font awesome rn)), so we allow for updates
Right now the
solid
style of font awesome with all the icons is 1m. But ttf format is fully capable of managing large files, Some Chinese/Japanese fonts are up to 50M in size, and it all works wellThe text was updated successfully, but these errors were encountered: