%% --------------------------------------------------------------- %% The typoaid package --- %% Maintained by Daniele Ratti %% E-mail: ilfuria+tya@gmail.com %% Released under the LaTeX Project Public License v1.3c or later %% See http://www.latex-project.org/lppl.txt %% --------------------------------------------------------------- \RequirePackage{expl3} \ProvidesExplPackage{typoaid}{2017/04/21}{0.0.7} {Typographical Aid} \RequirePackage{xparse} %%\ExplSyntaxOn %%\newlength{\typ@@id} \dim_new:N \l__typoAid_Alphabet_dim \dim_new:N\l__typoAid_ExHeight_dim \dim_new:N\l__typoAid_EmWidth_dim \box_new:N\l__typoAid_Alphabet_box \str_const:Nx\l__typoAid_typeout_string{TypoAid\iow_newline: *~Font~switch~given:~} %% abcdefghijklmnopqrstuvwxyz %%{a{}b{}c{}d{}e{}f{}g{}h{}i{}j{}k{}l{}m{}n{}o{}p{}q{}r{}s{}t{}u{}v{}w{}x{}y{}z{}} \cs_set_nopar:Npn\_typoAid_typoAlphabet:n #1 {% \box_gclear:N\l__typoAid_Alphabet_box \hbox_set:Nn\l__typoAid_Alphabet_box{#1a{}b{}c{}d{}e{}f{}g{}h{}i{}j{}k{}l{}m{}n{}o{}p{}q{}r{}s{}t{}u{}v{}w{}x{}y{}z{}}} \cs_set_nopar:Npn\_typoAid_incrCntr:n #1 {% \_typoAid_typoAlphabet:n{#1} \dim_set:Nn\l__typoAid_Alphabet_dim{\box_wd:N\l__typoAid_Alphabet_box} } \cs_set_nopar:Npn\_typoAid_calcEx:n #1{% \group_begin: #1 \dim_gset:Nn\l__typoAid_ExHeight_dim{\dim_eval:n{1ex}} \group_end: } \cs_set_nopar:Npn\_typoAid_calcEm:n#1{ \group_begin: #1 \dim_gset:Nn\l__typoAid_EmWidth_dim{\dim_eval:n{1em}} \group_end: } \cs_set:Npn\_typoAid_log:n#1#2{% \msg_log:n{% \l__typoAid_typeout_string~#2 \iow_newline:.~#1 } } \cs_set_nopar:Nn\_typoAid_Alphabet_string:{Alphabet~length:~\dim_use:N\l__typoAid_Alphabet_dim} \cs_set_nopar:Nn\_typoAid_ExHeight_string:{% Ex~height:~\dim_use:N\l__typoAid_ExHeight_dim } \cs_set_nopar:Npn\_typoAid_EmWidth_string:{% Em~width:~\dim_use:N\l__typoAid_EmWidth_dim } \ProvideDocumentCommand{\typrintalph}{ s m }% {% \_typoAid_incrCntr:n{#2} \IfBooleanTF{#1}{% \msg_term:n{\l__typoAid_typeout_string#2\iow_newline:*~\_typoAid_Alphabet_string:}% }{% \_typoAid_Alphabet_string:% }% \_typoAid_log:n{\_typoAid_Alphabet_string:}{ #2} } \ProvideDocumentCommand{\typrintex}{ s m }{% \_typoAid_calcEx:n{#2} \IfBooleanTF{#1}{% \msg_term:n{\l__typoAid_typeout_string#2 \iow_newline:*~ \_typoAid_ExHeight_string:}% }{% \_typoAid_ExHeight_string:% }% \_typoAid_log:n{\_typoAid_ExHeight_string:}{ #2} } \ProvideDocumentCommand{\typrintem}{s m}{% \_typoAid_calcEm:n{#2} \IfBooleanTF{#1}{% \msg_term:n{\l__typoAid_typeout_string #2 \iow_newline:*~ \_typoAid_EmWidth_string:}% }{% \_typoAid_EmWidth_string: }% \_typoAid_log:n{\_typoAid_EmWidth_string:}{ #2} } \ProvideDocumentCommand{\typrintall}{ s m}{% \IfBooleanTF{#1}{% \typrintalph*{#2}\\ \typrintex*{#2}\\ \typrintem*{#2}\\ }{% \typrintalph{#2}\\ \typrintex{#2}\\ \typrintem{#2}\\ } } %%\ExplSyntaxOff