diff options
author | Norbert Preining <norbert@preining.info> | 2022-07-31 03:01:27 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-07-31 03:01:27 +0000 |
commit | 0d7064c66024537b237407f8b36413b055cf9a9a (patch) | |
tree | 51b6aa534418af1b4b49ccd1dffa32165100b8fe /macros/latex/contrib/bxnewfont | |
parent | ab0990ca5f58ea10d38cc1760dbcbbd832626f40 (diff) |
CTAN sync 202207310301
Diffstat (limited to 'macros/latex/contrib/bxnewfont')
-rw-r--r-- | macros/latex/contrib/bxnewfont/LICENSE | 21 | ||||
-rw-r--r-- | macros/latex/contrib/bxnewfont/README.md | 85 | ||||
-rw-r--r-- | macros/latex/contrib/bxnewfont/bxnewfont.sty | 642 |
3 files changed, 0 insertions, 748 deletions
diff --git a/macros/latex/contrib/bxnewfont/LICENSE b/macros/latex/contrib/bxnewfont/LICENSE deleted file mode 100644 index 8ada757fbc..0000000000 --- a/macros/latex/contrib/bxnewfont/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2017 Takayuki YATO (aka. "ZR") - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/macros/latex/contrib/bxnewfont/README.md b/macros/latex/contrib/bxnewfont/README.md deleted file mode 100644 index 34ba546697..0000000000 --- a/macros/latex/contrib/bxnewfont/README.md +++ /dev/null @@ -1,85 +0,0 @@ -BXnewfont Package -================= - -LaTeX: Enhanced `\newfont` command - -This package provides a new command `\newfontx`. It is similar to -the old (and deprecated) command `\newfont` in function, but is more -compatible with NFSS. In particular, one can safely change font size -after invoking a font command defined by `\newfontx`. The new command -will be useful to users who know much of the old '\newfont` command -but are unfamiliar with the detail of NFSS. - -### System requirement - - * TeX format: LaTeX. - * TeX engine: Anything. - * Dependent packages: None. - -### Installation - - - `*.sty` → $TEXMF/tex/latex/BXnewfont - -### License - -This package is distributed under the MIT License. - -The bxnewfont Package ---------------------- - -### Package Loading - - \usepackage[<option>]{bxdvidriver} - -Available options: - - * `newfont`: Makes `\newfont` an alias of `newfontx`. - -### Usage - - * `\newfontx\CMD[<encoding>]{<tfm-name><at-clause>}`: Defines `\CMD` - to be a “font command” (pseudo-fontdef token). Here the format - of the mandatory argument is exactly same as that of `\newfont` - (`<at-clause>` can be empty). The optional argument specifies the - NFSS encoding name (such as `T1`) of the TFM to be used, and - defaults to the current font encoding. (If you don’t know what - it means, then you probably need not care about this argument.) - - When the defined `\CMD` command is invoked, the current font will - changes to what is specified by the argument, just as the original - `\newfont`. But unlike `\newfont`, it does not break consistency - of LaTeX NFSS. Specifically, NFSS is set at the following state: - - - The family is what was auto-generated for `\CMD`. - - The series is `m` and the shape is `n`. - - The encoding and size are what was specified by the arguments - of `\newfontx`. - - It means that further use of “LaTeX’s font commands” will - probably result in what you will expect. In particular, font size - can be safely changed. The use of `\itshape` has no effect --- - of course, because LaTeX does not know the TFM name of the italic - counterpart --- and no unfavorable effect either. - - * `\newfontx*\CMD[<encoding>]{<tfm-name>}`: Same as the `\newfontx`, - except that “font commands” defined by `\newfontx*` does not - fix font size (note the absence of `<at-clause>`). Namely, invoking - `\CMD` does not change the current font size. This variant surely - diverges from the original `\newfont`, but will be more useful. - -Revision History ----------------- - - * Version 0.2b ‹2017/05/01› - - Change the rule for automatic quoting. Namely, names which are - judged as illegal by mktextfm should be quoted. - * Version 0.2a ‹2016/08/08› - - Now “TFM” names can contain spaces with suitable quoting. - This enables one to specify OpenType fonts on Unicode engines. - - An experimental command `\newfontjascale` is added. - * Version 0.2 ‹2016/03/27› - - The first public version. - --------------------- -Takayuki YATO (aka. "ZR") -http://zrbabbler.sp.land.to/ diff --git a/macros/latex/contrib/bxnewfont/bxnewfont.sty b/macros/latex/contrib/bxnewfont/bxnewfont.sty deleted file mode 100644 index 16c5dfd300..0000000000 --- a/macros/latex/contrib/bxnewfont/bxnewfont.sty +++ /dev/null @@ -1,642 +0,0 @@ -%% -%% This is file 'bxnewfont.sty'. -%% -%% Copyright (c) 2017 Takayuki YATO (aka. "ZR") -%% GitHub: https://github.com/zr-tex8r -%% Twitter: @zr_tex8r -%% -%% This package is distributed under the MIT License. -%% - -%% package declaration -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{bxnewfont}[2017/05/01 v0.2b] - -%% preparation -\def\bxnf@pkgname{bxnewfont} -\def\bxnf@error{\PackageError\bxnf@pkgname} -\providecommand\bxDebug[1]{} - -%--------------------------------------- options - -%% variables -\newif\ifbxnf@newfont - -%% options -\DeclareOption{newfont}{% - \bxnf@newfonttrue -} -\ProcessOptions\relax - -%--------------------------------------- general - -%% load packages -\RequirePackage{etoolbox} -\ifx\newrobustcmd\@undefined % non-e-TeX -\expandafter\endinput\fi\relax - -%% unique tokens -\def\bxnf@mk{\bxnf@mk@} -\def\bxnf@end{\bxnf@end@} - -%% variables -\newbool{bxnf@ok} - -%% constants -\def\bxnf@@star{*} - -%% \bxnf@cond\if...\fi{<true>}{<false>} -\@gobbletwo\if\if \def\bxnf@cond#1\fi{% - #1\expandafter\@firstoftwo - \else \expandafter\@secondoftwo \fi -} - -%% \ifbxnf@ptex : engine is pTeX? -\newbool{bxnf@ptex} -\begingroup - \edef\bxnf@tmpa{\string\tfont}\edef\bxnf@tmpb{\meaning\tfont} - \ifx\bxnf@tmpa\bxnf@tmpb \global\bxnf@ptextrue \fi -\endgroup - -%--------------------------------------- main - -%% variables -\newbool{bxnf@fixed} % fixed size? -\let\bxnf@font\relax % font-spec string -\let\bxnf@tfm\relax % tfm name -\let\bxnf@atcl\relax % at-clause -\let\bxnf@enc\relax % encoding -\let\bxnf@fam\relax % family -\let\bxnf@type\relax % 1=normal,2=pTeX-yoko,3=pTeX-tate -\let\bxnf@size\relax - -%%<*> \newfontx*[<encoding>]{<tfm-spec>} -\newcommand\newfontx{% - \@ifstar{% - \bxnf@fixedfalse - \bxnf@newfontx@a - }{%else - \bxnf@fixedtrue - \bxnf@newfontx@a - }% -} -\def\bxnf@newfontx@a#1{% - \@ifnextchar[{% - \bxnf@newfontx@b{#1}% - }{%else - \bxnf@newfontx@b{#1}[]% - }%] -} -\def\bxnf@newfontx@b#1[#2]#3{% - \bxnf@annihilate@setjascale - \edef\bxnf@enc{#2}% - \edef\bxnf@font{#3}% - \bxnf@split@name - \bxnf@check@param - \ifbxnf@ok \bxnf@declare \fi - \ifbxnf@ok \bxnf@make@cmd#1\fi -} - -%% \bxnf@check@param -% Sets bxnf@ok. -\def\bxnf@check@param{% - \bxnf@oktrue - \bxnf@get@tfm@info - \unless\ifnum\bxnf@type=\z@ \unless\ifdim\bxnf@size>\z@ - \chardef\bxnf@type\z@ - \fi\fi - \ifnum\bxnf@type=\z@ - \bxnf@error{Failed in getting TFM info}\@eha - \let\bxnf@enc\cf@encoding - \bxnf@okfalse - \else - \ifx\bxnf@enc\@empty - % resolve encoding when unspecified - \ifcase\bxnf@type\or - \let\bxnf@enc\cf@encoding - \or % pTeX-yoko - \let\bxnf@enc\cy@encoding - \or % pTeX-tate - \let\bxnf@enc\ct@encoding - \fi - \fi - \fi - \ifcsundef{T@\bxnf@enc}{% - \bxnf@error{Unknown encoding '\bxnf@enc'}\@ehc - \bxnf@okfalse - }{}% - \ifbxnf@ok - \bxDebug{type=\number\bxnf@type; enc=\bxnf@enc}% - \fi - \unless\ifbxnf@fixed \unless\ifx\bxnf@atcl\relax - \bxnf@error{You cannot use size spec here}{% - The invalid size spec (\bxnf@atcl) is ignored.% - \MessageBreak\@ehc}% - \fi\fi -} - -%% \bxnf@declare -\def\bxnf@declare{% - \bxnf@get@family@name - \unless\ifbxnf@ok - \bxnf@set@family@param - \bxnf@declare@family - \fi - \bxnf@oktrue -} - -%% \bxnf@make@cmd\CS -% Defines \CS to be a protected macro that selects the family -% which name equals (the current value of) \bxnf@fam. -% A wierdly-named control sequence is used in the macro body -% so that \show'ing \CS will display something like: -% > \CS=\protected macro: -% \select font FAMILY(ID) . -\def\bxnf@make@cmd#1{% - \expandafter\bxnf@make@cmd@a\bxnf@fam\bxnf@mk#1% -} -\begingroup -\catcode`\ =11\relax\catcode`\_=10\relax -\gdef\bxnf@make@cmd@a#1\bxnf@mk#2{% -__\newrobustcmd*#2{\select font#1 }}% -\endgroup - -%% \select_font<family>_ -% (Here '_' means a space with catcode 11.) -\begingroup -\catcode`\ =11\relax\catcode`\_=10\relax -\gdef\select font#1 {% -__\bxnf@select@family{#1}}% -\endgroup - -%--------------------------------------- parse - -%% variables -\let\bxnf@pre\relax -\let\bxnf@post\relax -\let\bxnf@quoted@part\relax - -%% \bxnf@split@at{<sep>}{<text>} -% Splits the text by the given separator. -% In success, it will set \bxnf@pre and \bxnf@post. -\def\bxnf@split@at#1#2{% - \def\bxnf@next##1#1##2\bxnf@end{% - \bxnf@split@at@a{##1}{##2}}% - \bxnf@next#2\bxnf@mk#1\bxnf@end -} -\def\bxnf@split@at@a#1#2{% - \ifstrempty{#2}{% - \let\bxnf@pre\relax \let\bxnf@post\relax - }{%else - \def\bxnf@pre{#1}% - \bxnf@split@at@b#2\bxnf@end - }% -}% -\def\bxnf@split@at@b#1\bxnf@mk#2\bxnf@end{% - \def\bxnf@post{#1}% -}% - -%% \bxnf@guard@quote\CS -% Extract from the string a part enclosed by a pair of quotes, -% and replaces the part with the cs '\bxnf@quoted@part'. -% Then the cs is assigned to the content of the part. -\def\bxnf@guard@quote#1{% - \let\bxnf@quoted@part\relax - \edef\bxnf@tmpb{{"}{#1}}% - \expandafter\bxnf@split@at\bxnf@tmpb - \unless\ifx\bxnf@pre\relax - \let\bxnf@tmpa\bxnf@pre \edef\bxnf@tmpb{{"}{\bxnf@post}}% - \expandafter\bxnf@split@at\bxnf@tmpb - \unless\ifx\bxnf@pre\relax - \let\bxnf@quoted@part\bxnf@pre - \edef#1{\bxnf@tmpa"\noexpand\bxnf@quoted@part"\bxnf@post}% - \fi - \fi -} - -%% \bxnf@enclose@quote\CS -% If the string does not contain a quote but does contain -% a space, then the string will get enclosed by quotes. -\def\bxnf@enclose@quote#1{% - \edef\bxnf@tmpa{#1}% - \edef\bxnf@tmpb{{"}{\bxnf@tmpa}}% - \expandafter\bxnf@split@at\bxnf@tmpb - \ifx\bxnf@pre\relax - \edef\bxnf@tmpb{{\bxnf@tmpa}}% - \expandafter\bxnf@find@unsafe@char\bxnf@tmpb - \unless\ifx\bxnf@pre\relax - \edef\bxnf@tmpa{"\bxnf@tmpa"}% - \fi - \fi - \let#1\bxnf@tmpa -} - -%% \bxnf@find@unsafe@char -\def\bxnf@find@unsafe@char#1{% - \bxnf@find@unsafe@char@a#1\bxnf@end -} -\def\bxnf@find@unsafe@char@a{% - \futurelet\bxnf@tok\bxnf@find@unsafe@char@b -} -\def\bxnf@find@unsafe@char@b{% - \ifx\bxnf@tok\bxnf@end - \let\bxnf@tok\relax - \let\bxnf@tmpb\bxnf@find@unsafe@char@c - \else\ifcat A\noexpand\bxnf@tok - \let\bxnf@tmpb\bxnf@find@unsafe@char@d - \else\ifcat 0\noexpand\bxnf@tok - \let\bxnf@tmpb\bxnf@find@unsafe@char@e - \else\ifcat _\noexpand\bxnf@tok - \let\bxnf@tmpb\bxnf@find@unsafe@char@e - \else - \let\bxnf@tmpb\bxnf@find@unsafe@char@c - \fi\fi\fi\fi - \bxnf@tmpb -} -\def\bxnf@find@unsafe@char@c#1\bxnf@end{% - \let\bxnf@pre= \bxnf@tok -} -\def\bxnf@find@unsafe@char@d#1{% - \bxnf@find@unsafe@char@a -} -\def\bxnf@find@unsafe@char@e#1{% - \ifcsundef{bxnf@sc/#1}{% - \bxnf@find@unsafe@char@c - }{%else - \bxnf@find@unsafe@char@a - }% -} -\@tfor\bxnf@tmpa:=0123456789.-_+\do{% - \cslet{bxnf@sc/\bxnf@tmpa}{t}% -} - -%% \bxnf@split@name -% Parses \bxnf@font and sets \bxnf@tfm and \bxnf@atcl. -\def\bxnf@split@name{% - \let\bxnf@tfm\bxnf@font \let\bxnf@atcl\relax - \bxnf@guard@quote\bxnf@tfm - \expandafter\bxnf@split@name@a\bxnf@tfm\bxnf@end - \bxnf@enclose@quote\bxnf@tfm -} -\def\bxnf@split@name@a#1\bxnf@end{% - \let\bxnf@pre\relax - \def\do##1{% - \bxnf@split@name@b{##1}{#1}% - }% - \bxnf@split@sep@list -} -\def\bxnf@split@name@b#1#2{% - \ifx\bxnf@pre\relax - \bxnf@split@at{ #1}{#2}% - \unless\ifx\bxnf@pre\relax - \let\bxnf@tfm\bxnf@pre - \edef\bxnf@atcl{#1\bxnf@post}% - \fi - \fi -} -\let\do\relax -\edef\bxnf@split@sep@list{% - \do{at}\do{scaled}% - \do{\detokenize{at}}% - \do{\detokenize{scaled}}% -} - -%--------------------------------------- Family name - -%% variables -%\[bxnf@g@varid/<tfm>] % maximum used id number -%\[bxnf@g@prm/<family>] % font parameter ({<enc>}{<size>}) -%\[bxnf@g@pc/<spec>] % cache -\let\bxnf@stfm\relax - -%% \bxnf@get@family@name -% Generates a family name and returns to \bxnf@fam. -% The name is of the form "<tfm-name>(<id>)". -\def\bxnf@get@family@name{% - \def\bxnf@tmpa{bxnf@g@pc/\bxnf@enc:\bxnf@tfm:% - \ifbxnf@fixed \the\dimexpr\bxnf@size\relax \fi}% - \letcs\bxnf@fam{\bxnf@tmpa}% - \ifdef\bxnf@fam{% - \bxDebug{\bxnf@tmpa==\bxnf@fam}% - \bxnf@oktrue - }{%else - \bxnf@sanitize@tfmname\bxnf@stfm - \csnumgdef{bxnf@g@varid/\bxnf@stfm}{\csuse{bxnf@g@varid/\bxnf@stfm}+1}% - \edef\bxnf@fam{\bxnf@stfm*\csuse{bxnf@g@varid/\bxnf@stfm}*}% - \global\cslet{\bxnf@tmpa}\bxnf@fam - \bxDebug{\bxnf@tmpa:=\bxnf@fam}% - \bxnf@okfalse - }% -} - -%% \bxnf@sanitize@tfmname\CS -\def\bxnf@sanitize@tfmname#1{% - \begingroup - \let\bxnf@pre\relax - \let\do\bxnf@sanitize@tfmname@a - \bxnf@sanitize@list - \ifx\bxnf@pre\relax - \global\let\bxnf@g@tmpa\bxnf@tfm - \else - \global\let\bxnf@g@tmpa\bxnf@@sanitized - \fi - \endgroup - \let#1\bxnf@g@tmpa -} -\def\bxnf@sanitize@tfmname@a#1{% - \ifx\bxnf@pre\relax - \edef\bxnf@tmpa{{#1}{\bxnf@tfm}}% - \expandafter\bxnf@split@at\bxnf@tmpa - \fi -} -\def\bxnf@@sanitized{(OpenType)} -\def\bxnf@sanitize@list{% - \do{ }\do{:}\do{,}\do{;}\do{=}\do{/}% -} - -%% \def\bxnf@set@family@param -% Sets \[bxnf@g@prm/*]. -\def\bxnf@set@family@param{% - \csxdef{bxnf@g@prm/\bxnf@fam}{{\bxnf@enc}% - {\ifbxnf@fixed \expandafter\rem@pt\bxnf@size \fi}}% - \bxDebug{bxnf@g@prm/\bxnf@fam:=\csuse{bxnf@g@prm/\bxnf@fam}}% -} - -%% \bxnf@declare@family -\def\bxnf@declare@family{% - \DeclareFontFamily{\bxnf@enc}{\bxnf@fam}{}% - \let\bxnf@tmpb\@empty - \ifcase\bxnf@type\or - \or \let\bxnf@tmpb\bxnf@jfscale@spec - \or \let\bxnf@tmpb\bxnf@jfscale@spec - \fi - \DeclareFontShape{\bxnf@enc}{\bxnf@fam}{m}{n}% - {<->\bxnf@tmpb\bxnf@tfm}{}% - % In pTeX, a dummy entry must be declared for the - % encoding counterpart. - \let\bxnf@tmpb\relax - \ifcase\bxnf@type\or % no-op for normal - \or \letcs\bxnf@tmpb{t@enc@\bxnf@enc}% yoko->tate - \or \letcs\bxnf@tmpb{y@enc@\bxnf@enc}% tate->yoko - \fi - \unless\ifx\bxnf@tmpb\relax - \DeclareFontFamily{\bxnf@tmpb}{\bxnf@fam}{}% - \DeclareFontShape{\bxnf@tmpb}{\bxnf@fam}{m}{n}% - {<->ssub*\kanjifamilydefault/m/n}{}% - \fi -} - -%% \bxnf@select@family{<family>} -\def\bxnf@select@family#1{% - \edef\bxnf@next{\noexpand\bxnf@select@family@a - {#1}\csuse{bxnf@g@prm/#1}}% - \bxnf@next -} -\def\bxnf@select@family@a#1#2#3{% - \bxDebug{select=#2/#1/m/n/#3}% - \usefont{#2}{#1}{m}{n}\relax - \ifstrempty{#3}{}{%else - \fontsize{#3}{#3}\selectfont - }% -} - -%--------------------------------------- Inquery on TFM - -%% variables -\let\bxnf@type\relax -\let\bxnf@size\relax - -%% \bxnf@get@tfm@info -\def\bxnf@get@tfm@info{% - \bxDebug{name=\bxnf@tfm}% - \begingroup - \chardef\bxnf@type=0 \let\bxnf@size\@empty - \font\bxnf@tmpa=\bxnf@tfm\space scaled 2000\relax - \ifx\bxnf@tmpa\nullfont\else - \bxnf@get@tfm@info@a - \bxnf@get@tfm@info@b - \fi - \xdef\bxnf@g@tmpa{% - \chardef\bxnf@type=\number\bxnf@type\relax - \def\noexpand\bxnf@size{\bxnf@size}}% - \endgroup - \bxnf@g@tmpa - \bxDebug{tfm=\number\bxnf@type/\bxnf@size}% -} -\def\bxnf@get@tfm@info@a{% - \bxnf@tmpa - \bxnf@curr@font\bxnf@g@tmpa\font - \chardef\bxnf@type=1 \let\bxnf@xfont\font -} -\def\bxnf@get@tfm@info@b{% - \unless\ifnum\bxnf@type=0 - \expandafter\bxnf@read@at\bxnf@g@tmpa\bxnf@end - \ifx\bxnf@size\relax \let\bxnf@size\z@ \fi - \dimdef\bxnf@size{\bxnf@size/2}% - \bxDebug{tfm1=\number\bxnf@type/\bxnf@size}% - \unless\ifx\bxnf@atcl\relax - \let\bxnf@tmpb\bxnf@size - \bxnf@xfont\bxnf@tmpa=\bxnf@tfm\space\bxnf@atcl\relax - \bxnf@tmpa - \bxnf@curr@font\bxnf@g@tmpa\bxnf@xfont - \expandafter\bxnf@read@at\bxnf@g@tmpa\bxnf@end - \ifx\bxnf@size\relax \let\bxnf@size\bxnf@tmpb \fi - \fi - \fi -} - -%% \bxnf@read@at<text>\bxnf@end -\begingroup - \catcode`\A=12 \catcode`\T=12 - \lowercase{% - \gdef\bxnf@read@at#1\bxnf@end{% - \bxnf@read@at@a#1\bxnf@mk AT \bxnf@mk\bxnf@end - }% - \gdef\bxnf@read@at@a#1AT #2\bxnf@mk#3\bxnf@end{% - \ifstrempty{#2}{% - \let\bxnf@size\relax - }{%else - \def\bxnf@size{#2}% - }% - }% - } -\endgroup - -%% \bxnf@curr@font\CS\Xfont -\def\bxnf@curr@font#1#2{% - \xdef#1{\fontname#2}% -} - -\ifbxnf@ptex %----<*pTeX> - -%% revision to \bxnf@get@tfm@info -\def\bxnf@get@tfm@info@a{% - \bxnf@get@tfm@info@init - \nullfont \bxnf@jnullfont \bxnf@tnullfont - \bxnf@tmpa - \bxnf@curr@font\bxnf@g@tmpa\font - \unless\ifx\bxnf@g@tmpa\bxnf@dsf@null - \chardef\bxnf@type=1 \let\bxnf@xfont\font - \else - \bxnf@curr@font\bxnf@g@tmpa\jfont - \unless\ifx\bxnf@g@tmpa\bxnf@dsf@jnull - \chardef\bxnf@type=2 \let\bxnf@xfont\jfont - \else - \bxnf@curr@font\bxnf@g@tmpa\tfont - \unless\ifx\bxnf@g@tmpa\bxnf@dsf@tnull - \chardef\bxnf@type=3 \let\bxnf@xfont\tfont - \fi - \fi - \fi -} -\def\bxnf@get@tfm@info@init{% - \bxDebug{\string\bxnf@get@tfm@info@init}% - \begingroup - \global\jfont\bxnf@jnullfont=rml\relax - \global\tfont\bxnf@tnullfont=rmlv\relax - \nullfont \bxnf@jnullfont \bxnf@tnullfont - \bxnf@curr@font\bxnf@dsf@null\font - \bxnf@curr@font\bxnf@dsf@jnull\jfont - \bxnf@curr@font\bxnf@dsf@tnull\tfont - \endgroup - \bxDebug{null=\bxnf@dsf@null}% - \bxDebug{jnull=\bxnf@dsf@jnull}% - \bxDebug{tnull=\bxnf@dsf@tnull}% - \global\let\bxnf@get@tfm@info@init\relax -} - -\fi %----</pTeX> - -%--------------------------------------- Ja-font scaling - -%% variables -\def\bxnf@jfscale{1} - -%% error message -\def\bxnf@err@ivjsc{% - \PackageError\bxnf@pkgname - {Invalid argument given to \string\newfontjascale - \MessageBreak(\bxnf@tmpa)}% - {\@eha}% -} -\def\bxnf@err@najsc{% - \PackageError\bxnf@pkgname - {The command is already invalidated}% - {\@eha}% -} - -%% \bxnf@jfscale@spec -\def\bxnf@jfscale@spec{% - \unless\ifdim\p@=\bxnf@jfscale\p@ - s*[\bxnf@jfscale]% - \fi -} - -%%<*>\newfontjascale -\newrobustcmd*\newfontjascale[1]{% - \edef\bxnf@tmpa{#1}% - \ifx\bxnf@tmpa\bxnf@@star - \edef\bxnf@tmpa{\csuse{mcdefault}}% - \fi - \expandafter\bxnf@setjascale@a\bxnf@tmpa\bxnf@end -} -\def\bxnf@setjascale@a#1\bxnf@end{% - \ifblank{#1}{% - \bxnf@setjascale@real{1}% - }{%else - \bxnf@setjascale@b#1\bxnf@end% - }% -} -\def\bxnf@setjascale@b#1#2\bxnf@end{% - \ifcat\noexpand#10% - \afterassignment\bxnf@setjascale@c\dimen@ii=#1#2\p@\bxnf@stop - \else - \bxnf@setjascale@fam\bxnf@tmpa - \fi -} -\def\bxnf@setjascale@c#1\bxnf@stop{% - \ifstrempty{#1}{% - \edef\bxnf@tmpa{\strip@pt\dimen@ii}% - \bxnf@setjascale@real\bxnf@tmpa - }{%else - \bxnf@err@ivjsc - }% -} - -%% \bxnf@setjascale@real -\let\bxnf@setjascale@real\@gobble -%% \bxnf@setjascale@fam -\let\bxnf@setjascale@fam\@gobble - -%% \bxnf@annihilate@setjascale -\def\bxnf@annihilate@setjascale{% - \global\let\bxnf@annihilate@setjascale\relax - \gdef\newfontjascale##1{% - \bxnf@err@najsc - }% - \global\let\bxnf@setjascale@a\@undefined - \global\let\bxnf@setjascale@b\@undefined - \global\let\bxnf@setjascale@c\@undefined - \global\let\bxnf@setjascale@real\@undefined - \global\let\bxnf@setjascale@fam\@undefined -} - -\ifbxnf@ptex %----<*pTeX> - -%% \bxnf@setjascale@real -\def\bxnf@setjascale@real#1{% - \edef\bxnf@jfscale{#1}% - \bxDebug{jfscale:=\bxnf@jfscale}% -} -%% \bxnf@setjascale@fam -\def\bxnf@setjascale@fam#1{% - \letcs\bxnf@tmpb{\cy@encoding/#1/m/n}% - \ifdef\bxnf@tmpb{% - \expandafter\bxnf@setjascale@fam@a\meaning\bxnf@tmpb\bxnf@end - }{%else - \bxnf@err@ivjsc - }% -} -\begingroup - \catcode`\S=12 - \lowercase{% - \gdef\bxnf@setjascale@fam@a#1\bxnf@end{% - \def\bxnf@tmpb{1}% - \bxnf@split@at{<->S*[}{#1}% - \ifx\bxnf@pre\relax \bxnf@split@at{<->*[}{#1}\fi - \unless\ifx\bxnf@pre\relax - \edef\bxnf@tmpb{{]}{\bxnf@post}}% - \expandafter\bxnf@split@at\bxnf@tmpb - \unless\ifx\bxnf@pre\relax - \let\bxnf@tmpb\bxnf@pre - \fi - \fi - \bxnf@setjascale@real\bxnf@tmpb - }% - }% -\endgroup - -\fi %----</pTeX> - -%--------------------------------------- Switching of \newfont - -%% \bxnf@ltx@newfont -% The original. -\let\bxnf@ltx@newfont\newfont - -%%<*>\enhancenewfont -\newrobustcmd*\enhancenewfont{% - \let\newfont\newfontx} - -%%<*>\noenhancenewfont -\newrobustcmd*\noenhancenewfont{% - \let\newfont\bxnf@ltx@newfont} - -%% initial -\ifbxnf@newfont - \enhancenewfont -\fi - -%--------------------------------------- all done -\endinput -%% EOF |