ryanoasis / nerd-fonts

Iconic font aggregator, collection, & patcher. 3,600+ icons, 50+ patched fonts: Hack, Source Code Pro, more. Glyph collections: Font Awesome, Material Design Icons, Octicons, & more

Home Page:https://NerdFonts.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Update Font Awesome to the latest version

JustLinuxUser opened this issue · comments

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

  1. There is no space for new code points in the font awesome range
    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.
  2. How will we update in the future, when more icons are added to font awesome?
    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
  3. Won't it become unusable and slow?
    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 well

And the most important detail, we can have this: click

commented

And the most important detail, we can have this: click

Hmm, they assign F259 to that symbol and have the filled and outline (called Regular) versions on that same codepoint.
Which should be in Nerd Fonts? We can not emulate that behavior as not all fonts have a bold version 😬

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.

commented

Asserting the current situation.

Here a mapping file, of the current FontAwesome we patch in.
(This looks ugly, esp farther down.)

source codepoint nerd font codepoint source name nerd font name

F000 F000 glass                     fa-glass
F001 F001 music                     fa-music
F002 F002 search                    fa-search
F003 F003 envelope                  fa-envelope_o
F004 F004 heart                     fa-heart
F005 F005 star                      fa-star
F006 F006 star_empty                fa-star_o
F007 F007 user                      fa-user
F008 F008 film                      fa-film
F009 F009 th_large                  fa-th_large
F00A F00A th                        fa-th
F00B F00B th_list                   fa-th_list
F00C F00C ok                        fa-check
F00D F00D remove                    fa-close
F00E F00E zoom_in                   fa-search_plus
F010 F010 zoom_out                  fa-search_minus
F011 F011 off                       fa-power_off
F012 F012 signal                    fa-signal
F013 F013 cog                       fa-cog
F014 F014 trash                     fa-trash_o
F015 F015 home                      fa-home
F016 F016 file_alt                  fa-file_o
F017 F017 time                      fa-clock_o
F018 F018 road                      fa-road
F019 F019 download_alt              fa-download
F01A F01A download                  fa-arrow_circle_o_down
F01B F01B upload                    fa-arrow_circle_o_up
F01C F01C inbox                     fa-inbox
F01D F01D play_circle               fa-play_circle_o
F01E F01E repeat                    fa-repeat
F021 F021 refresh                   fa-refresh
F022 F022 list_alt                  fa-list_alt
F023 F023 lock                      fa-lock
F024 F024 flag                      fa-flag
F025 F025 headphones                fa-headphones
F026 F026 volume_off                fa-volume_off
F027 F027 volume_down               fa-volume_down
F028 F028 volume_up                 fa-volume_up
F029 F029 qrcode                    fa-qrcode
F02A F02A barcode                   fa-barcode
F02B F02B tag                       fa-tag
F02C F02C tags                      fa-tags
F02D F02D book                      fa-book
F02E F02E bookmark                  fa-bookmark
F02F F02F print                     fa-print
F030 F030 camera                    fa-camera
F031 F031 font                      fa-font
F032 F032 bold                      fa-bold
F033 F033 italic                    fa-italic
F034 F034 text_height               fa-text_height
F035 F035 text_width                fa-text_width
F036 F036 align_left                fa-align_left
F037 F037 align_center              fa-align_center
F038 F038 align_right               fa-align_right
F039 F039 align_justify             fa-align_justify
F03A F03A list                      fa-list
F03B F03B indent_left               fa-dedent
F03C F03C indent_right              fa-indent
F03D F03D facetime_video            fa-video_camera
F03E F03E picture                   fa-image
F040 F040 pencil                    fa-pencil
F041 F041 map_marker                fa-map_marker
F042 F042 adjust                    fa-adjust
F043 F043 tint                      fa-tint
F044 F044 edit                      fa-edit
F045 F045 share                     fa-share_square_o
F046 F046 check                     fa-check_square_o
F047 F047 move                      fa-arrows
F048 F048 step_backward             fa-step_backward
F049 F049 fast_backward             fa-fast_backward
F04A F04A backward                  fa-backward
F04B F04B play                      fa-play
F04C F04C pause                     fa-pause
F04D F04D stop                      fa-stop
F04E F04E forward                   fa-forward
F050 F050 fast_forward              fa-fast_forward
F051 F051 step_forward              fa-step_forward
F052 F052 eject                     fa-eject
F053 F053 chevron_left              fa-chevron_left
F054 F054 chevron_right             fa-chevron_right
F055 F055 plus_sign                 fa-plus_circle
F056 F056 minus_sign                fa-minus_circle
F057 F057 remove_sign               fa-times_circle
F058 F058 ok_sign                   fa-check_circle
F059 F059 question_sign             fa-question_circle
F05A F05A info_sign                 fa-info_circle
F05B F05B screenshot                fa-crosshairs
F05C F05C remove_circle             fa-times_circle_o
F05D F05D ok_circle                 fa-check_circle_o
F05E F05E ban_circle                fa-ban
F060 F060 arrow_left                fa-arrow_left
F061 F061 arrow_right               fa-arrow_right
F062 F062 arrow_up                  fa-arrow_up
F063 F063 arrow_down                fa-arrow_down
F064 F064 share_alt                 fa-mail_forward
F065 F065 resize_full               fa-expand
F066 F066 resize_small              fa-compress
F067 F067 plus                      fa-plus
F068 F068 minus                     fa-minus
F069 F069 asterisk                  fa-asterisk
F06A F06A exclamation_sign          fa-exclamation_circle
F06B F06B gift                      fa-gift
F06C F06C leaf                      fa-leaf
F06D F06D fire                      fa-fire
F06E F06E eye_open                  fa-eye
F070 F070 eye_close                 fa-eye_slash
F071 F071 warning_sign              fa-exclamation_triangle
F072 F072 plane                     fa-plane
F073 F073 calendar                  fa-calendar
F074 F074 random                    fa-random
F075 F075 comment                   fa-comment
F076 F076 magnet                    fa-magnet
F077 F077 chevron_up                fa-chevron_up
F078 F078 chevron_down              fa-chevron_down
F079 F079 retweet                   fa-retweet
F07A F07A shopping_cart             fa-shopping_cart
F07B F07B folder_close              fa-folder
F07C F07C folder_open               fa-folder_open
F07D F07D resize_vertical           fa-arrows_v
F07E F07E resize_horizontal         fa-arrows_h
F080 F080 bar_chart                 fa-bar_chart
F081 F081 twitter_sign              fa-twitter_square
F082 F082 facebook_sign             fa-facebook_square
F083 F083 camera_retro              fa-camera_retro
F084 F084 key                       fa-key
F085 F085 cogs                      fa-cogs
F086 F086 comments                  fa-comments
F087 F087 thumbs_up_alt             fa-thumbs_o_up
F088 F088 thumbs_down_alt           fa-thumbs_o_down
F089 F089 star_half                 fa-star_half
F08A F08A heart_empty               fa-heart_o
F08B F08B signout                   fa-sign_out
F08C F08C linkedin_sign             fa-linkedin_square
F08D F08D pushpin                   fa-thumb_tack
F08E F08E external_link             fa-external_link
F090 F090 signin                    fa-sign_in
F091 F091 trophy                    fa-trophy
F092 F092 github_sign               fa-github_square
F093 F093 upload_alt                fa-upload
F094 F094 lemon                     fa-lemon_o
F095 F095 phone                     fa-phone
F096 F096 check_empty               fa-square_o
F097 F097 bookmark_empty            fa-bookmark_o
F098 F098 phone_sign                fa-phone_square
F099 F099 twitter                   fa-twitter
F09A F09A facebook                  fa-facebook
F09B F09B github                    fa-github
F09C F09C unlock                    fa-unlock
F09D F09D credit_card               fa-credit_card
F09E F09E rss                       fa-feed
F0A0 F0A0 hdd                       fa-hdd_o
F0A1 F0A1 bullhorn                  fa-bullhorn
F0A2 F0A2 bell                      fa-bell_o
F0A3 F0A3 certificate               fa-certificate
F0A4 F0A4 hand_right                fa-hand_o_right
F0A5 F0A5 hand_left                 fa-hand_o_left
F0A6 F0A6 hand_up                   fa-hand_o_up
F0A7 F0A7 hand_down                 fa-hand_o_down
F0A8 F0A8 circle_arrow_left         fa-arrow_circle_left
F0A9 F0A9 circle_arrow_right        fa-arrow_circle_right
F0AA F0AA circle_arrow_up           fa-arrow_circle_up
F0AB F0AB circle_arrow_down         fa-arrow_circle_down
F0AC F0AC globe                     fa-globe
F0AD F0AD wrench                    fa-wrench
F0AE F0AE tasks                     fa-tasks
F0B0 F0B0 filter                    fa-filter
F0B1 F0B1 briefcase                 fa-briefcase
F0B2 F0B2 fullscreen                fa-arrows_alt
F0C0 F0C0 group                     fa-group
F0C1 F0C1 link                      fa-chain
F0C2 F0C2 cloud                     fa-cloud
F0C3 F0C3 beaker                    fa-flask
F0C4 F0C4 cut                       fa-cut
F0C5 F0C5 copy                      fa-copy
F0C6 F0C6 paper_clip                fa-paperclip
F0C7 F0C7 save                      fa-floppy_o
F0C8 F0C8 sign_blank                fa-square
F0C9 F0C9 reorder                   fa-bars
F0CA F0CA ul                        fa-list_ul
F0CB F0CB ol                        fa-list_ol
F0CC F0CC strikethrough             fa-strikethrough
F0CD F0CD underline                 fa-underline
F0CE F0CE table                     fa-table
F0D0 F0D0 magic                     fa-magic
F0D1 F0D1 truck                     fa-truck
F0D2 F0D2 pinterest                 fa-pinterest
F0D3 F0D3 pinterest_sign            fa-pinterest_square
F0D4 F0D4 google_plus_sign          fa-google_plus_square
F0D5 F0D5 google_plus               fa-google_plus
F0D6 F0D6 money                     fa-money
F0D7 F0D7 caret_down                fa-caret_down
F0D8 F0D8 caret_up                  fa-caret_up
F0D9 F0D9 caret_left                fa-caret_left
F0DA F0DA caret_right               fa-caret_right
F0DB F0DB columns                   fa-columns
F0DC F0DC sort                      fa-sort
F0DD F0DD sort_down                 fa-sort_desc
F0DE F0DE sort_up                   fa-sort_asc
F0E0 F0E0 envelope_alt              fa-envelope
F0E1 F0E1 linkedin                  fa-linkedin
F0E2 F0E2 undo                      fa-rotate_left
F0E3 F0E3 legal                     fa-gavel
F0E4 F0E4 dashboard                 fa-dashboard
F0E5 F0E5 comment_alt               fa-comment_o
F0E6 F0E6 comments_alt              fa-comments_o
F0E7 F0E7 bolt                      fa-bolt
F0E8 F0E8 sitemap                   fa-sitemap
F0E9 F0E9 umbrella                  fa-umbrella
F0EA F0EA paste                     fa-clipboard
F0EB F0EB light_bulb                fa-lightbulb_o
F0EC F0EC exchange                  fa-exchange
F0ED F0ED cloud_download            fa-cloud_download
F0EE F0EE cloud_upload              fa-cloud_upload
F0F0 F0F0 user_md                   fa-user_md
F0F1 F0F1 stethoscope               fa-stethoscope
F0F2 F0F2 suitcase                  fa-suitcase
F0F3 F0F3 bell_alt                  fa-bell
F0F4 F0F4 coffee                    fa-coffee
F0F5 F0F5 food                      fa-cutlery
F0F6 F0F6 file_text_alt             fa-file_text_o
F0F7 F0F7 building                  fa-building_o
F0F8 F0F8 hospital                  fa-hospital_o
F0F9 F0F9 ambulance                 fa-ambulance
F0FA F0FA medkit                    fa-medkit
F0FB F0FB fighter_jet               fa-fighter_jet
F0FC F0FC beer                      fa-beer
F0FD F0FD h_sign                    fa-h_square
F0FE F0FE f0fe                      fa-plus_square
F100 F100 double_angle_left         fa-angle_double_left
F101 F101 double_angle_right        fa-angle_double_right
F102 F102 double_angle_up           fa-angle_double_up
F103 F103 double_angle_down         fa-angle_double_down
F104 F104 angle_left                fa-angle_left
F105 F105 angle_right               fa-angle_right
F106 F106 angle_up                  fa-angle_up
F107 F107 angle_down                fa-angle_down
F108 F108 desktop                   fa-desktop
F109 F109 laptop                    fa-laptop
F10A F10A tablet                    fa-tablet
F10B F10B mobile_phone              fa-mobile
F10C F10C circle_blank              fa-circle_o
F10D F10D quote_left                fa-quote_left
F10E F10E quote_right               fa-quote_right
F110 F110 spinner                   fa-spinner
F111 F111 circle                    fa-circle
F112 F112 reply                     fa-mail_reply
F113 F113 github_alt                fa-github_alt
F114 F114 folder_close_alt          fa-folder_o
F115 F115 folder_open_alt           fa-folder_open_o
F118 F118 smile                     fa-smile_o
F119 F119 frown                     fa-frown_o
F11A F11A meh                       fa-meh_o
F11B F11B gamepad                   fa-gamepad
F11C F11C keyboard                  fa-keyboard_o
F11D F11D flag_alt                  fa-flag_o
F11E F11E flag_checkered            fa-flag_checkered
F120 F120 terminal                  fa-terminal
F121 F121 code                      fa-code
F122 F122 reply_all                 fa-mail_reply_all
F123 F123 star_half_empty           fa-star_half_empty
F124 F124 location_arrow            fa-location_arrow
F125 F125 crop                      fa-crop
F126 F126 code_fork                 fa-code_fork
F127 F127 unlink                    fa-chain_broken
F128 F128 question                  fa-question
F129 F129 _279                      fa-info
F12A F12A exclamation               fa-exclamation
F12B F12B superscript               fa-superscript
F12C F12C subscript                 fa-subscript
F12D F12D _283                      fa-eraser
F12E F12E puzzle_piece              fa-puzzle_piece
F130 F130 microphone                fa-microphone
F131 F131 microphone_off            fa-microphone_slash
F132 F132 shield                    fa-shield
F133 F133 calendar_empty            fa-calendar_o
F134 F134 fire_extinguisher         fa-fire_extinguisher
F135 F135 rocket                    fa-rocket
F136 F136 maxcdn                    fa-maxcdn
F137 F137 chevron_sign_left         fa-chevron_circle_left
F138 F138 chevron_sign_right        fa-chevron_circle_right
F139 F139 chevron_sign_up           fa-chevron_circle_up
F13A F13A chevron_sign_down         fa-chevron_circle_down
F13B F13B html5                     fa-html5
F13C F13C css3                      fa-css3
F13D F13D anchor                    fa-anchor
F13E F13E unlock_alt                fa-unlock_alt
F140 F140 bullseye                  fa-bullseye
F141 F141 ellipsis_horizontal       fa-ellipsis_h
F142 F142 ellipsis_vertical         fa-ellipsis_v
F143 F143 _303                      fa-rss_square
F144 F144 play_sign                 fa-play_circle
F145 F145 ticket                    fa-ticket
F146 F146 minus_sign_alt            fa-minus_square
F147 F147 check_minus               fa-minus_square_o
F148 F148 level_up                  fa-level_up
F149 F149 level_down                fa-level_down
F14A F14A check_sign                fa-check_square
F14B F14B edit_sign                 fa-pencil_square
F14C F14C _312                      fa-external_link_square
F14D F14D share_sign                fa-share_square
F14E F14E compass                   fa-compass
F150 F150 collapse                  fa-caret_square_o_down
F151 F151 collapse_top              fa-caret_square_o_up
F152 F152 _317                      fa-caret_square_o_right
F153 F153 eur                       fa-eur
F154 F154 gbp                       fa-gbp
F155 F155 usd                       fa-dollar
F156 F156 inr                       fa-inr
F157 F157 jpy                       fa-cny
F158 F158 rub                       fa-rouble
F159 F159 krw                       fa-krw
F15A F15A btc                       fa-bitcoin
F15B F15B file                      fa-file
F15C F15C file_text                 fa-file_text
F15D F15D sort_by_alphabet          fa-sort_alpha_asc
F15E F15E _329                      fa-sort_alpha_desc
F160 F160 sort_by_attributes        fa-sort_amount_asc
F161 F161 sort_by_attributes_alt    fa-sort_amount_desc
F162 F162 sort_by_order             fa-sort_numeric_asc
F163 F163 sort_by_order_alt         fa-sort_numeric_desc
F164 F164 _334                      fa-thumbs_up
F165 F165 _335                      fa-thumbs_down
F166 F166 youtube_sign              fa-youtube_square
F167 F167 youtube                   fa-youtube
F168 F168 xing                      fa-xing
F169 F169 xing_sign                 fa-xing_square
F16A F16A youtube_play              fa-youtube_play
F16B F16B dropbox                   fa-dropbox
F16C F16C stackexchange             fa-stack_overflow
F16D F16D instagram                 fa-instagram
F16E F16E flickr                    fa-flickr
F170 F170 adn                       fa-adn
F171 F171 f171                      fa-bitbucket
F172 F172 bitbucket_sign            fa-bitbucket_square
F173 F173 tumblr                    fa-tumblr
F174 F174 tumblr_sign               fa-tumblr_square
F175 F175 long_arrow_down           fa-long_arrow_down
F176 F176 long_arrow_up             fa-long_arrow_up
F177 F177 long_arrow_left           fa-long_arrow_left
F178 F178 long_arrow_right          fa-long_arrow_right
F179 F179 apple                     fa-apple
F17A F17A windows                   fa-windows
F17B F17B android                   fa-android
F17C F17C linux                     fa-linux
F17D F17D dribble                   fa-dribbble
F17E F17E skype                     fa-skype
F180 F180 foursquare                fa-foursquare
F181 F181 trello                    fa-trello
F182 F182 female                    fa-female
F183 F183 male                      fa-male
F184 F184 gittip                    fa-gittip
F185 F185 sun                       fa-sun_o
F186 F186 _366                      fa-moon_o
F187 F187 archive                   fa-archive
F188 F188 bug                       fa-bug
F189 F189 vk                        fa-vk
F18A F18A weibo                     fa-weibo
F18B F18B renren                    fa-renren
F18C F18C _372                      fa-pagelines
F18D F18D stack_exchange            fa-stack_exchange
F18E F18E _374                      fa-arrow_circle_o_right
F190 F190 arrow_circle_alt_left     fa-arrow_circle_o_left
F191 F191 _376                      fa-caret_square_o_left
F192 F192 dot_circle_alt            fa-dot_circle_o
F193 F193 _378                      fa-wheelchair
F194 F194 vimeo_square              fa-vimeo_square
F195 F195 _380                      fa-try
F196 F196 plus_square_o             fa-plus_square_o
F197 F197 _382                      fa-space_shuttle
F198 F198 _383                      fa-slack
F199 F199 _384                      fa-envelope_square
F19A F19A _385                      fa-wordpress
F19B F19B _386                      fa-openid
F19C F19C _387                      fa-bank
F19D F19D _388                      fa-graduation_cap
F19E F19E _389                      fa-yahoo
F1A0 F1A0 uniF1A0                   fa-google
F1A1 F1A1 f1a1                      fa-reddit
F1A2 F1A2 _392                      fa-reddit_square
F1A3 F1A3 _393                      fa-stumbleupon_circle
F1A4 F1A4 f1a4                      fa-stumbleupon
F1A5 F1A5 _395                      fa-delicious
F1A6 F1A6 _396                      fa-digg
F1A7 F1A7 _397                      fa-pied_piper_pp
F1A8 F1A8 _398                      fa-pied_piper_alt
F1A9 F1A9 _399                      fa-drupal
F1AA F1AA _400                      fa-joomla
F1AB F1AB f1ab                      fa-language
F1AC F1AC _402                      fa-fax
F1AD F1AD _403                      fa-building
F1AE F1AE _404                      fa-child
F1B0 F1B0 uniF1B1                   fa-paw
F1B1 F1B1 _406                      fa-spoon
F1B2 F1B2 _407                      fa-cube
F1B3 F1B3 _408                      fa-cubes
F1B4 F1B4 _409                      fa-behance
F1B5 F1B5 _410                      fa-behance_square
F1B6 F1B6 _411                      fa-steam
F1B7 F1B7 _412                      fa-steam_square
F1B8 F1B8 _413                      fa-recycle
F1B9 F1B9 _414                      fa-automobile
F1BA F1BA _415                      fa-cab
F1BB F1BB _416                      fa-tree
F1BC F1BC _417                      fa-spotify
F1BD F1BD _418                      fa-deviantart
F1BE F1BE _419                      fa-soundcloud
F1C0 F1C0 uniF1C0                   fa-database
F1C1 F1C1 uniF1C1                   fa-file_pdf_o
F1C2 F1C2 _422                      fa-file_word_o
F1C3 F1C3 _423                      fa-file_excel_o
F1C4 F1C4 _424                      fa-file_powerpoint_o
F1C5 F1C5 _425                      fa-file_image_o
F1C6 F1C6 _426                      fa-file_archive_o
F1C7 F1C7 _427                      fa-file_audio_o
F1C8 F1C8 _428                      fa-file_movie_o
F1C9 F1C9 _429                      fa-file_code_o
F1CA F1CA _430                      fa-vine
F1CB F1CB _431                      fa-codepen
F1CC F1CC _432                      fa-jsfiddle
F1CD F1CD _433                      fa-life_bouy
F1CE F1CE _434                      fa-circle_o_notch
F1D0 F1D0 uniF1D0                   fa-ra
F1D1 F1D1 uniF1D1                   fa-empire
F1D2 F1D2 uniF1D2                   fa-git_square
F1D3 F1D3 _438                      fa-git
F1D4 F1D4 _439                      fa-hacker_news
F1D5 F1D5 uniF1D5                   fa-tencent_weibo
F1D6 F1D6 uniF1D6                   fa-qq
F1D7 F1D7 uniF1D7                   fa-wechat
F1D8 F1D8 _443                      fa-paper_plane
F1D9 F1D9 _444                      fa-paper_plane_o
F1DA F1DA _445                      fa-history
F1DB F1DB _446                      fa-circle_thin
F1DC F1DC _447                      fa-header
F1DD F1DD _448                      fa-paragraph
F1DE F1DE _449                      fa-sliders
F1E0 F1E0 uniF1E0                   fa-share_alt
F1E1 F1E1 _451                      fa-share_alt_square
F1E2 F1E2 _452                      fa-bomb
F1E3 F1E3 _453                      fa-futbol_o
F1E4 F1E4 _454                      fa-tty
F1E5 F1E5 _455                      fa-binoculars
F1E6 F1E6 _456                      fa-plug
F1E7 F1E7 _457                      fa-slideshare
F1E8 F1E8 _458                      fa-twitch
F1E9 F1E9 _459                      fa-yelp
F1EA F1EA _460                      fa-newspaper_o
F1EB F1EB _461                      fa-wifi
F1EC F1EC _462                      fa-calculator
F1ED F1ED _463                      fa-paypal
F1EE F1EE _464                      fa-google_wallet
F1F0 F1F0 uniF1F0                   fa-cc_visa
F1F1 F1F1 _466                      fa-cc_mastercard
F1F2 F1F2 _467                      fa-cc_discover
F1F3 F1F3 f1f3                      fa-cc_amex
F1F4 F1F4 _469                      fa-cc_paypal
F1F5 F1F5 _470                      fa-cc_stripe
F1F6 F1F6 _471                      fa-bell_slash
F1F7 F1F7 _472                      fa-bell_slash_o
F1F8 F1F8 _473                      fa-trash
F1F9 F1F9 _474                      fa-copyright
F1FA F1FA _475                      fa-at
F1FB F1FB _476                      fa-eyedropper
F1FC F1FC f1fc                      fa-paint_brush
F1FD F1FD _478                      fa-birthday_cake
F1FE F1FE _479                      fa-area_chart
F200 F200 _480                      fa-pie_chart
F201 F201 _481                      fa-line_chart
F202 F202 _482                      fa-lastfm
F203 F203 _483                      fa-lastfm_square
F204 F204 _484                      fa-toggle_off
F205 F205 _485                      fa-toggle_on
F206 F206 _486                      fa-bicycle
F207 F207 _487                      fa-bus
F208 F208 _488                      fa-ioxhost
F209 F209 _489                      fa-angellist
F20A F20A _490                      fa-cc
F20B F20B _491                      fa-ils
F20C F20C _492                      fa-meanpath
F20D F20D _493                      fa-buysellads
F20E F20E _494                      fa-connectdevelop
F210 F210 f210                      fa-dashcube
F211 F211 _496                      fa-forumbee
F212 F212 f212                      fa-leanpub
F213 F213 _498                      fa-sellsy
F214 F214 _499                      fa-shirtsinbulk
F215 F215 _500                      fa-simplybuilt
F216 F216 _501                      fa-skyatlas
F217 F217 _502                      fa-cart_plus
F218 F218 _503                      fa-cart_arrow_down
F219 F219 _504                      fa-diamond
F21A F21A _505                      fa-ship
F21B F21B _506                      fa-user_secret
F21C F21C _507                      fa-motorcycle
F21D F21D _508                      fa-street_view
F21E F21E _509                      fa-heartbeat
F221 F221 venus                     fa-venus
F222 F222 _511                      fa-mars
F223 F223 _512                      fa-mercury
F224 F224 _513                      fa-intersex
F225 F225 _514                      fa-transgender_alt
F226 F226 _515                      fa-venus_double
F227 F227 _516                      fa-mars_double
F228 F228 _517                      fa-venus_mars
F229 F229 _518                      fa-mars_stroke
F22A F22A _519                      fa-mars_stroke_v
F22B F22B _520                      fa-mars_stroke_h
F22C F22C _521                      fa-neuter
F22D F22D _522                      fa-genderless
F230 F230 _525                      fa-facebook_official
F231 F231 _526                      fa-pinterest_p
F232 F232 _527                      fa-whatsapp
F233 F233 _528                      fa-server
F234 F234 _529                      fa-user_plus
F235 F235 _530                      fa-user_times
F236 F236 _531                      fa-bed
F237 F237 _532                      fa-viacoin
F238 F238 _533                      fa-train
F239 F239 _534                      fa-subway
F23A F23A _535                      fa-medium
F23B F23B _536                      fa-y_combinator
F23C F23C _537                      fa-optin_monster
F23D F23D _538                      fa-opencart
F23E F23E _539                      fa-expeditedssl
F240 F240 _540                      fa-battery
F241 F241 _541                      fa-battery_3
F242 F242 _542                      fa-battery_2
F243 F243 _543                      fa-battery_1
F244 F244 _544                      fa-battery_0
F245 F245 _545                      fa-mouse_pointer
F246 F246 _546                      fa-i_cursor
F247 F247 _547                      fa-object_group
F248 F248 _548                      fa-object_ungroup
F249 F249 _549                      fa-sticky_note
F24A F24A _550                      fa-sticky_note_o
F24B F24B _551                      fa-cc_jcb
F24C F24C _552                      fa-cc_diners_club
F24D F24D _553                      fa-clone
F24E F24E _554                      fa-balance_scale
F250 F250 _555                      fa-hourglass_o
F251 F251 _556                      fa-hourglass_1
F252 F252 _557                      fa-hourglass_2
F253 F253 _558                      fa-hourglass_3
F254 F254 _559                      fa-hourglass
F255 F255 _560                      fa-hand_grab_o
F256 F256 _561                      fa-hand_paper_o
F257 F257 _562                      fa-hand_scissors_o
F258 F258 _563                      fa-hand_lizard_o
F259 F259 _564                      fa-hand_spock_o
F25A F25A _565                      fa-hand_pointer_o
F25B F25B _566                      fa-hand_peace_o
F25C F25C _567                      fa-trademark
F25D F25D _568                      fa-registered
F25E F25E _569                      fa-creative_commons
F260 F260 f260                      fa-gg
F261 F261 f261                      fa-gg_circle
F262 F262 _572                      fa-tripadvisor
F263 F263 f263                      fa-odnoklassniki
F264 F264 _574                      fa-odnoklassniki_square
F265 F265 _575                      fa-get_pocket
F266 F266 _576                      fa-wikipedia_w
F267 F267 _577                      fa-safari
F268 F268 _578                      fa-chrome
F269 F269 _579                      fa-firefox
F26A F26A _580                      fa-opera
F26B F26B _581                      fa-internet_explorer
F26C F26C _582                      fa-television
F26D F26D _583                      fa-contao
F26E F26E _584                      fa-500px
F270 F270 _585                      fa-amazon
F271 F271 _586                      fa-calendar_plus_o
F272 F272 _587                      fa-calendar_minus_o
F273 F273 _588                      fa-calendar_times_o
F274 F274 _589                      fa-calendar_check_o
F275 F275 _590                      fa-industry
F276 F276 _591                      fa-map_pin
F277 F277 _592                      fa-map_signs
F278 F278 _593                      fa-map_o
F279 F279 _594                      fa-map
F27A F27A _595                      fa-commenting
F27B F27B _596                      fa-commenting_o
F27C F27C _597                      fa-houzz
F27D F27D _598                      fa-vimeo
F27E F27E f27e                      fa-black_tie
F280 F280 uniF280                   fa-fonticons
F281 F281 uniF281                   fa-reddit_alien
F282 F282 _602                      fa-edge
F283 F283 _603                      fa-credit_card_alt
F284 F284 _604                      fa-codiepie
F285 F285 uniF285                   fa-modx
F286 F286 uniF286                   fa-fort_awesome
F287 F287 _607                      fa-usb
F288 F288 _608                      fa-product_hunt
F289 F289 _609                      fa-mixcloud
F28A F28A _610                      fa-scribd
F28B F28B _611                      fa-pause_circle
F28C F28C _612                      fa-pause_circle_o
F28D F28D _613                      fa-stop_circle
F28E F28E _614                      fa-stop_circle_o
F290 F290 _615                      fa-shopping_bag
F291 F291 _616                      fa-shopping_basket
F292 F292 _617                      fa-hashtag
F293 F293 _618                      fa-bluetooth
F294 F294 _619                      fa-bluetooth_b
F295 F295 _620                      fa-percent
F296 F296 _621                      fa-gitlab
F297 F297 _622                      fa-wpbeginner
F298 F298 _623                      fa-wpforms
F299 F299 _624                      fa-envira
F29A F29A _625                      fa-universal_access
F29B F29B _626                      fa-wheelchair_alt
F29C F29C _627                      fa-question_circle_o
F29D F29D _628                      fa-blind
F29E F29E _629                      fa-audio_description
F2A0 F2A0 uniF2A0                   fa-volume_control_phone
F2A1 F2A1 uniF2A1                   fa-braille
F2A2 F2A2 uniF2A2                   fa-assistive_listening_systems
F2A3 F2A3 uniF2A3                   fa-american_sign_language_interpreting
F2A4 F2A4 uniF2A4                   fa-deaf
F2A5 F2A5 uniF2A5                   fa-glide
F2A6 F2A6 uniF2A6                   fa-glide_g
F2A7 F2A7 uniF2A7                   fa-sign_language
F2A8 F2A8 uniF2A8                   fa-low_vision
F2A9 F2A9 uniF2A9                   fa-viadeo
F2AA F2AA uniF2AA                   fa-viadeo_square
F2AB F2AB uniF2AB                   fa-snapchat
F2AC F2AC uniF2AC                   fa-snapchat_ghost
F2AD F2AD uniF2AD                   fa-snapchat_square
F2AE F2AE uniF2AE                   fa-pied_piper
F2B0 F2B0 uniF2B0                   fa-first_order
F2B1 F2B1 uniF2B1                   fa-yoast
F2B2 F2B2 uniF2B2                   fa-themeisle
F2B3 F2B3 uniF2B3                   fa-google_plus_circle
F2B4 F2B4 uniF2B4                   fa-fa
F2B5 F2B5 uniF2B5                   fa-handshake_o
F2B6 F2B6 uniF2B6                   fa-envelope_open
F2B7 F2B7 uniF2B7                   fa-envelope_open_o
F2B8 F2B8 uniF2B8                   fa-linode
F2B9 F2B9 uniF2B9                   fa-address_book
F2BA F2BA uniF2BA                   fa-address_book_o
F2BB F2BB uniF2BB                   fa-address_card
F2BC F2BC uniF2BC                   fa-address_card_o
F2BD F2BD uniF2BD                   fa-user_circle
F2BE F2BE uniF2BE                   fa-user_circle_o
F2C0 F2C0 uniF2C0                   fa-user_o
F2C1 F2C1 uniF2C1                   fa-id_badge
F2C2 F2C2 uniF2C2                   fa-drivers_license
F2C3 F2C3 uniF2C3                   fa-drivers_license_o
F2C4 F2C4 uniF2C4                   fa-quora
F2C5 F2C5 uniF2C5                   fa-free_code_camp
F2C6 F2C6 uniF2C6                   fa-telegram
F2C7 F2C7 uniF2C7                   fa-thermometer
F2C8 F2C8 uniF2C8                   fa-thermometer_3
F2C9 F2C9 uniF2C9                   fa-thermometer_2
F2CA F2CA uniF2CA                   fa-thermometer_1
F2CB F2CB uniF2CB                   fa-thermometer_0
F2CC F2CC uniF2CC                   fa-shower
F2CD F2CD uniF2CD                   fa-bath
F2CE F2CE uniF2CE                   fa-podcast
F2D0 F2D0 uniF2D0                   fa-window_maximize
F2D1 F2D1 uniF2D1                   fa-window_minimize
F2D2 F2D2 uniF2D2                   fa-window_restore
F2D3 F2D3 uniF2D3                   fa-times_rectangle
F2D4 F2D4 uniF2D4                   fa-times_rectangle_o
F2D5 F2D5 uniF2D5                   fa-bandcamp
F2D6 F2D6 uniF2D6                   fa-grav
F2D7 F2D7 uniF2D7                   fa-etsy
F2D8 F2D8 uniF2D8                   fa-imdb
F2D9 F2D9 uniF2D9                   fa-ravelry
F2DA F2DA uniF2DA                   fa-eercast
F2DB F2DB uniF2DB                   fa-microchip
F2DC F2DC uniF2DC                   fa-snowflake_o
F2DD F2DD uniF2DD                   fa-superpowers
F2DE F2DE uniF2DE                   fa-wpexplorer
F2E0 F2E0 uniF2E0                   fa-meetup

Script used to add the NF names to the regular mapping file:

#!/usr/bin/env bash

in=mapping
out=mapping2

while read l; do
        code=$(echo "$l" | sed 's/ .*//' | tr '[A-F]' '[a-f]')
        iname=$(cat ../../../glyphnames.json| jq -r "to_entries[] | select(.value.code == \"${code}\") | .key" | head -n 1)
        printf "%-35s %s\n" "${l}" "${iname}"
done < "${in}"
commented

Hmm,

  • Font Awesome 4.7 675 icons
  • Font Awesome 6.2.1 Free Regular 162 icons
  • Font Awesome 6.2.1 Free Solid 1340 icons

And codepoints ... it seems that at least for old codepoints they are preserved.

image

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)

image

🙄

commented

Allocation in PUA:

image

The yellow codepoints are E000 and F8FF.
Pink is outside PUA.

I just tried merging all 3 TTFs (solid, regular, brands), and I am missing some of the symbols, that your image shows, not sure why image. Total noob in fonts btw

commented

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

image

Marked E000 - E8FF

commented

They also have duplicates.

  • 0x4E duplicates
  • 0x27B in F000 - F2FF (Region A)
  • 0x321 in F300 - F8FF (Region B)
  • 0x17E in E000 - EFFF (Region C)

Possible scenario:

E000 - E00A         Pomicons
E0A0 - E0D4         Powerline Extra
E100 - E1FF    100
E200 - E2A9         FA Extension
E300 - E3e3         Weather
E400 - E5F9    200  (Expandion Seti)
E5FA - E6B2         Seti
E700 - E7C5         Devicons
E800 - E9FF    200
EA60 - EC1D         Codicons
ED00 - EFFF    300  (Font Awesome 2?)
F000 - F2E0         Font Awesome
F300 - F372         Font Logos
F400 - F532         Octicons
F600 - F8FF    300
F0001...            MD

We could patch Region A to the codepoints of the current FA, filling the gaps with some of Region B.
The rest of Region B fits into ED00 - EFFF
This will not introduce the icons from Region C.

commented

Duplicate

commented

Ping @Sumer312, a mem icon is in this set.

commented

@JustLinuxUser @Sumer312

had noticed this problem, when I couldn't find any icons on the cheat sheet with a RAM icon,

What about this FA 4.7 icon (which is in NF already)?
This looks like some old fashioned RAM chip ;-)

image

which is changed in design with FA 6.5 😒

image

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.

Thank you! ❤️