%% %% This is file `nfssext-cfr.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% nfssext-cfr.dtx (with options: `sty') %% Additions and changes Copyright (C) 2008-2024 Clea F. Rees. %% Code from fontinstallationguide Copyright (C) 2002-2004 Philipp Lehman (see below) %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt %% and version 1.3c or later is part of all distributions of LaTeX %% version 2008-05-04 or later. %% %% This work has the LPPL maintenance status `maintained'. %% %% The Current Maintainer of this work is Clea F. Rees. %% %% This work consists of all files listed in manifest.txt. %% %% %% The file nfssext-cfr.sty is a derived work under the terms of the LPPL. %% It is based on version 1.2 of nfssext.sty which is supplied with %% The Font Installation Guide by Philipp Lehman. A copy of The Font Installation Guide, including an %% unmodified version of nfssext.sty is available from %% https://tug.ctan.org/pkg/fontinstallationguide. %% nfssext.sty is part of the included archive figuide-examples.tar.gz %% which consists of examples and templates released under the LPPL. %% nfssext.sty is included in the files for tutorials 3, 5 and 6. %% %% The main modifications made to this file are described in nfssext-cfr.dtx. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e} \RequirePackage{svn-prov} \ProvidesPackageSVN[\filebase.sty]{$Id: nfssext-cfr.dtx 10456 2024-10-03 01:19:12Z cfrees $}[v1.1 \revinfo{} extensions for NFSS and NNFSS; based on 2003/03/14 v1.2 Experimental NFSS Extensions] \DefineFileInfoSVN %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newif\if@nfssextcfr@digonnew \@nfssextcfr@digonnewtrue \@ifundefined{ExplLoaderFileDate}{% \IfFileExists{expl3.sty}{% \RequirePackage{expl3}% }{% \RequirePackage{nfssext-cfr-nfss}% \@nfssextcfr@digonnewfalse }% }{} \if@nfssextcfr@digonnew \@ifl@t@r\ExplLoaderFileDate{2022-02-24}{% }{% \RequirePackage{nfssext-cfr-nfss}% \@nfssextcfr@digonnewfalse }% \fi %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \if@nfssextcfr@digonnew \newif\ifexfs@debug \ExplSyntaxOn \prop_gput:Nnn \g_msg_module_name_prop { nfssext-cfr } { exfs } \keys_define:nn { exfs } { compat .bool_gset:N = \g__exfs_compat_bool, compat .default:n = true, compat .initial:n = false, compat .usage:n = preamble, debug .legacy_if_gset:n = exfs@debug, debug .initial:n = false, debug .default:n = true, force .bool_gset:N = \g__exfs_force_bool, force .default:n = true, force .initial:n = false, force .usage:n = preamble, } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \providecommand \IfFormatAtLeastTF { \@ifl@t@r \fmtversion } \IfFormatAtLeastTF { 2022-06-01 } { \ProcessKeyOptions [ exfs ] }{ \RequirePackage { l3keys2e } \ProcessKeysOptions { exfs } \NewDocumentCommand \ProcessKeyOptions { o } { \IfValueTF { #1 } { \ProcessKeysOptions { #1 } } { \PackageError{nfssext-cfr}{ Optional~argument~mandatory~on~kernels~this~old.\MessageBreak Please~specify~the~module~whose~keys~should~be~processed }{ \protect\ProcessKeyOptions~only~passes~keys~to~ \protect\ProcessKeyOptions\MessageBreak on~older~kernels~for~the~convenience~of~package~authors.~ Since~\protect\ProcessKeysOptions\MessageBreak takes~an~argument,~the~optional~argument~to~ \protect\ProcessKeyOptions~is~required } } } } \IfFormatAtLeastTF { 2020-10-01 }{ }{ \RequirePackage { xparse } \providecommand \ExpandArgs [1] { \cs_if_exist_use:c { exp_args:N #1 } } } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage{etoolbox} \msg_new:nnn { nfssext-cfr } { compat } { You ~ or ~ a ~ font-support ~ package ~ have ~ loaded ~ me ~ ( line ~ \msg_line_number: ) ~ with ~ the ~ compat ~ option. ~ This ~ means ~ the ~ package ~ may ~ require ~ updating. ~ Update ~ the ~ package ~ if ~ necessary ~ and ~ use ~ compat=false ~ when ~ loading ~ me. } \msg_new:nnn { nfssext-cfr } { force } { You ~ or ~ a ~ font-support ~ package ~ have ~ loaded ~ me ~ ( line ~ \msg_line_number: ) ~ with ~ the ~ force ~ option. ~ This ~ is ~ a ~ desperate ~ measure ~ of ~ last ~ resort. ~ **Breakage ~ is ~ expected.** } \hook_gput_code:nnn { begindocument/before } { . } { \cs_if_exist:NTF \init@series@setup { \bool_if:NTF \g__exfs_force_bool { \msg_warning:nn { nfssext-cfr } { force } \RequirePackage {nfssext-cfr-nfss} }{ \bool_if:NT \g__exfs_compat_bool { \msg_warning:nn { nfssext-cfr } { compat } } \RequirePackage {nfssext-cfr-nnfss} } }{% achosiad heb broblemau - diolch byth! \RequirePackage {nfssext-cfr-nfss} } } \cs_new_protected_nopar:Nn \__exfs_set:n { \keys_set:nn { exfs } { #1 } } \cs_set_eq:NN \nfssextset \__exfs_set:n \ExplSyntaxOff \newcommand*{\DeclareTextOrnament}[7]{% \expandafter\def\csname#1@orn\@roman#2\endcsname{#3/#4/#5/#6/#7}} \begingroup \catcode`\/=12 \gdef\exfs@split@orndef#1/#2/#3/#4/#5\@nil{% \def\f@encoding{#1}% \def\f@family{#2}% \def\f@series{#3}% \def\f@shape{#4}% \def\exfs@tempa{#5}} \endgroup \def\exfs@base@family{\expandafter\exfs@get@base\f@family\@nil} \DeclareRobustCommand{\ornament}[1]{% \expandafter\ifx\csname\exfs@base@family @orn\@roman#1\endcsname\relax \PackageWarning{nfssext}{% Ornament #1 undefined for font family '\exfs@base@family'\MessageBreak Setting debug mark}% \rule{1ex}{1ex}% \else \begingroup \edef\exfs@tempb{\csname\exfs@base@family @orn\@roman#1\endcsname}% \expandafter\expandafter\expandafter\exfs@split@orndef \expandafter\string\exfs@tempb\@nil \selectfont\char\exfs@tempa \endgroup \fi} \def\nfssextcfr@MT@Hook{% \DeclareMicrotypeVariants*{2,2d,2dj,2j,dj,e,h,l}% is this necessary or would the previous line be enough? } \@ifpackageloaded{microtype}{% \PackageWarning{nfssext-cfr}{% You have loaded me (or a font support package which loads me)\MessageBreak after loading microtype, but microtype should be loaded after\MessageBreak all font defaults have been setup}% \nfssextcfr@MT@Hook }{% \@ifundefined{Microtype@Hook}{% \let\Microtype@Hook\nfssextcfr@MT@Hook }{% MinionPro has \global before this \g@addto@macro\Microtype@Hook{\nfssextcfr@MT@Hook}% }% } \fi \endinput %% %% End of file `nfssext-cfr.sty'.