diff options
author | Karl Berry <karl@freefriends.org> | 2024-08-13 20:04:17 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2024-08-13 20:04:17 +0000 |
commit | 5ec04c5597827f6d704b87c899580081378cc4fc (patch) | |
tree | 6faad4000a913c05c50df9def1a00c5352838703 /Master/texmf-dist/tex/latex/fontscale | |
parent | 50e1bf60eb32a2a97b9b0d9b0efdb7a84dc3e447 (diff) |
fontscale (13aug24)
git-svn-id: svn://tug.org/texlive/trunk@72024 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/fontscale')
-rw-r--r-- | Master/texmf-dist/tex/latex/fontscale/fontscale.sty | 137 |
1 files changed, 68 insertions, 69 deletions
diff --git a/Master/texmf-dist/tex/latex/fontscale/fontscale.sty b/Master/texmf-dist/tex/latex/fontscale/fontscale.sty index 314c337e3e0..70bfae6026c 100644 --- a/Master/texmf-dist/tex/latex/fontscale/fontscale.sty +++ b/Master/texmf-dist/tex/latex/fontscale/fontscale.sty @@ -8,8 +8,8 @@ \NeedsTeXFormat{LaTeX2e}[2023-11-01] \ProvidesExplPackage {fontscale} - {2024-08-02} - {2.0.0} + {2024-08-12} + {2.1.0} {A flexible interface for setting font sizes} % l3kernel version 2023-10-10 added many 'e'-variants. @@ -117,6 +117,7 @@ % Scratch variables \tl_new:N \l__fontscale_tmp_tl +\str_new:N \l__fontscale_tmp_str \dim_new:N \l__fontscale_tmp_dim \fp_new:N \l__fontscale_tmp_fp @@ -284,7 +285,8 @@ The~ font~ step~ \msg_line_context: \c_space_tl must~ equal~ an~ integer~ from~ -4~ to~ 5,~ - unless~ the~ value~ of~ the~ key~ 'typographic-scale'~ is~ 'musical'. + unless~ the~ value~ of~ the~ key~ 'typographic-scale'~ is~ 'musical'.~ + \msg_see_documentation_text:n { fontscale } } \msg_new:nnn { fontscale } { current-font-step-out-of-bounds } { @@ -940,6 +942,65 @@ { \__fontscale_baselineskip: } \cs_new:Npn \__fontscale_baselineskip: { \f@baselineskip } +\NewExpandableDocumentCommand \CurrentFontSizeCommand { } + { \__fontscale_name: } +\cs_new:Npn \__fontscale_name: + { + \dim_case:nn { \f@size pt } + { + { \l_fontscale_tiny_size_dim } + { + \skip_if_eq:nnT { \l_fontscale_tiny_baselineskip_skip } + { \f@baselineskip } { tiny } + } + { \l_fontscale_scriptsize_size_dim } + { + \skip_if_eq:nnT { \l_fontscale_scriptsize_baselineskip_skip } + { \f@baselineskip } { scriptsize } + } + { \l_fontscale_footnotesize_size_dim } + { + \skip_if_eq:nnT { \l_fontscale_footnotesize_baselineskip_skip } + { \f@baselineskip } { footnotesize } + } + { \l_fontscale_small_size_dim } + { + \skip_if_eq:nnT { \l_fontscale_small_baselineskip_skip } + { \f@baselineskip } { small } + } + { \l_fontscale_normalsize_size_dim } + { + \skip_if_eq:nnT { \l_fontscale_normalsize_baselineskip_skip } + { \f@baselineskip } { normalsize } + } + { \l_fontscale_large_size_dim } + { + \skip_if_eq:nnT { \l_fontscale_large_baselineskip_skip } + { \f@baselineskip } { large } + } + { \l_fontscale_Large_size_dim } + { + \skip_if_eq:nnT { \l_fontscale_Large_baselineskip_skip } + { \f@baselineskip } { Large } + } + { \l_fontscale_LARGE_size_dim } + { + \skip_if_eq:nnT { \l_fontscale_LARGE_baselineskip_skip } + { \f@baselineskip } { LARGE } + } + { \l_fontscale_huge_size_dim } + { + \skip_if_eq:nnT { \l_fontscale_huge_baselineskip_skip } + { \f@baselineskip } { huge } + } + { \l_fontscale_Huge_size_dim } + { + \skip_if_eq:nnT { \l_fontscale_Huge_baselineskip_skip } + { \f@baselineskip } { Huge } + } + } + } + \NewDocumentCommand \SetFontStep { s m } { \mode_if_math:TF @@ -1204,72 +1265,10 @@ } \cs_new_protected:Npn \__fontscale_print_name: { - \dim_case:nn { \f@size pt } - { - { \l_fontscale_tiny_size_dim } - { - \skip_if_eq:nnT { \f@baselineskip } - { \l_fontscale_tiny_baselineskip_skip } - { \token_to_str:N \tiny \prg_break: } - } - { \l_fontscale_scriptsize_size_dim } - { - \skip_if_eq:nnT { \f@baselineskip } - { \l_fontscale_scriptsize_baselineskip_skip } - { \token_to_str:N \scriptsize \prg_break: } - } - { \l_fontscale_footnotesize_size_dim } - { - \skip_if_eq:nnT { \f@baselineskip } - { \l_fontscale_footnotesize_baselineskip_skip } - { \token_to_str:N \footnotesize \prg_break: } - } - { \l_fontscale_small_size_dim } - { - \skip_if_eq:nnT { \f@baselineskip } - { \l_fontscale_small_baselineskip_skip } - { \token_to_str:N \small \prg_break: } - } - { \l_fontscale_normalsize_size_dim } - { - \skip_if_eq:nnT { \f@baselineskip } - { \l_fontscale_normalsize_baselineskip_skip } - { \token_to_str:N \normalsize \prg_break: } - } - { \l_fontscale_large_size_dim } - { - \skip_if_eq:nnT { \f@baselineskip } - { \l_fontscale_large_baselineskip_skip } - { \token_to_str:N \large \prg_break: } - } - { \l_fontscale_Large_size_dim } - { - \skip_if_eq:nnT { \f@baselineskip } - { \l_fontscale_Large_baselineskip_skip } - { \token_to_str:N \Large \prg_break: } - } - { \l_fontscale_LARGE_size_dim } - { - \skip_if_eq:nnT { \f@baselineskip } - { \l_fontscale_LARGE_baselineskip_skip } - { \token_to_str:N \LARGE \@ \prg_break: } - } - { \l_fontscale_huge_size_dim } - { - \skip_if_eq:nnT { \f@baselineskip } - { \l_fontscale_huge_baselineskip_skip } - { \token_to_str:N \huge \prg_break: } - } - { \l_fontscale_Huge_size_dim } - { - \skip_if_eq:nnT { \f@baselineskip } - { \l_fontscale_Huge_baselineskip_skip } - { \token_to_str:N \Huge \prg_break: } - } - } - \token_to_str:N \undefined - \prg_break: - \prg_break_point: + \str_set:Ne \l__fontscale_tmp_str { \__fontscale_name: } + \str_if_empty:NTF \l__fontscale_tmp_str + { \token_to_str:N \undefined } + { \c_backslash_str \l__fontscale_tmp_str \@ } } % TEXT PURIFY |