\ExplSyntaxOn \msg_new:nnnn {fontawesome5} {list/no-shorthand} {No~shorthand~defined~for~icon~#1.} { It~looks~like~#1~need~special~handling~in~fulllist.tex~but~there~are~ no~appropriate~definitions.~Ask~a~wizard~to~add~#1~to~fulllist.tex~to~ fix~this. } \tl_new:N \g__fontawesome_last_name_tl \tl_new:N \g__fontawesome_last_cs_tl \prg_new_protected_conditional:Nnn \__fontawesome_if_regular_style:nn {T} { \group_begin: \usefont{U}{fontawesome#1}{regular}{n} \iffontchar\font#2 \group_insert_after:N \prg_return_true: \else: \group_insert_after:N \prg_return_false: \fi: \group_end: } \tracingonline1 \showboxdepth\maxdimen \showboxbreadth\maxdimen \cs_new:Nn\__fontawesome_list_show_icon:nnnn{ \str_if_in:nnT{#3}{brands}{ \hfilneg\vbox to0.875em{\vfil\hbox to0pt{\hss\tiny\faTrademark\quad}\vfil}\hfil } \faIcon{#2}&\texttt{\textbackslash#1}&\texttt{\textbackslash faIcon\{#2\}} \str_if_in:nnT{#3}{free}{ \__fontawesome_if_regular_style:nnT {#3} {#4} { \\\faIcon[regular]{#2}&\texttt{\textbackslash#1[regular]}&\texttt{\textbackslash faIcon[regular]\{#2\}} } } \tl_gset:Nn \g__fontawesome_last_cs_tl {#1} \tl_gset:Nn \g__fontawesome_last_name_tl {#2} \\ } \cs_generate_variant:Nn \__fontawesome_list_show_icon:nnnn { fnnn } \cs_set:Nn\__fontawesome_def_icon:nnnnn{ \__fontawesome_list_show_icon:fnnn{ \tl_if_empty:nTF{#1}{ \str_if_eq:noTF{#2}{\g__fontawesome_last_name_tl-alt}{ \g__fontawesome_last_cs_tl* }{ \cs_if_exist_use:cF {__fontawesome_list_real_cs_#2_tl} { \msg_expandable_error:nnn {fontawesome5} {list/no-shorthand} {#2} } } }{ \cs_to_str:N #1 % You might have noticed that #1 is a n-type argument, not N-type. % This is not a mistake, the argument might contain additional characters after the initial cs % which is passed to \cs_to_str:N } }{#2}{#3}{#4} } % Some icons are special for some reason. See fontawesome5.sty if you want to know why % they are singled out. \tl_const:cn{__fontawesome_list_real_cs_wifi_tl}{faWifi} \tl_const:cn{__fontawesome_list_real_cs_dice-d20_tl}{faDiceD20} \tl_const:cn{__fontawesome_list_real_cs_dice-d6_tl}{faDiceD6} \tl_const:cn{__fontawesome_list_real_cs_signal_tl}{faSignal} \tl_const:cn{__fontawesome_list_real_cs_stopwatch_tl}{faStopwatch} \tl_const:cn{__fontawesome_list_real_cs_stopwatch-20_tl}{faStopwatch20} % \tl_const:cn{__fontawesome_list_real_cs_500px_tl}{faIcon\{500px\}} \tl_const:cn{__fontawesome_list_real_cs_arrows-alt_tl}{faArrows*} \tl_const:cn{__fontawesome_list_real_cs_cloud-download-alt_tl}{faCloudDownload*} \tl_const:cn{__fontawesome_list_real_cs_cloud-upload-alt_tl}{faCloudUpload*} \tl_const:cn{__fontawesome_list_real_cs_exchange-alt_tl}{faExchange*} \tl_const:cn{__fontawesome_list_real_cs_expand-arrows-alt_tl}{faExpandArrows*} \tl_const:cn{__fontawesome_list_real_cs_external-link-alt_tl}{faExternalLink*} \tl_const:cn{__fontawesome_list_real_cs_external-link-square-alt_tl}{faExternalLinkSquare*} \tl_const:cn{__fontawesome_list_real_cs_level-down-alt_tl}{faLevelDown*} \tl_const:cn{__fontawesome_list_real_cs_level-up-alt_tl}{faLevelUp*} \tl_const:cn{__fontawesome_list_real_cs_pencil-alt_tl}{faPencil*} \tl_const:cn{__fontawesome_list_real_cs_shield-alt_tl}{faShield*} \tl_const:cn{__fontawesome_list_real_cs_sign-in-alt_tl}{faSignIn*} \tl_const:cn{__fontawesome_list_real_cs_sign-out-alt_tl}{faSignOut*} \tl_const:cn{__fontawesome_list_real_cs_square-root-alt_tl}{faSquareRoot*} \tl_const:cn{__fontawesome_list_real_cs_tachometer-alt_tl}{faTachometer*} \tl_const:cn{__fontawesome_list_real_cs_ticket-alt_tl}{faTicket*} % \tl_const:cn{__fontawesome_list_real_cs_compress-arrows-alt_tl}{faCompressArrows*} \ExplSyntaxOff \newgeometry{textwidth=18cm} \subsection*{Full~icon~list~for~FontAwesome~5~Free} All icons marked with \vbox to0.875em{\vfil\hbox{\hss\tiny\faTrademark}\vfil} are brand icons. \begin{quote} All brand icons are trademarks of their respective owners. The use of these trademarks does not indicate endorsement of the trademark holder by Font Awesome, nor vice versa. \emph{Please do not use brand logos for any purpose except to represent the company, product, or service to which they refer.} \end{quote} \ExplSyntaxOn \begin{longtable}{cll} \cs:w @@input\cs_end: fontawesome5-mapping.def~ \end{longtable} \ExplSyntaxOff \restoregeometry