diff options
author | Karl Berry <karl@freefriends.org> | 2017-06-29 21:34:03 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-06-29 21:34:03 +0000 |
commit | 2c8d23277ab1b87ca0587580f1b3a2f12ddb5a07 (patch) | |
tree | f6af6b377458ba8d5b12e71828d5f75c95b049e6 /Master/texmf-dist/tex/latex/pxufont | |
parent | 492d2fafcfc5e0d0fa4002ec8c1044ef070d6f7b (diff) |
pxufont (29jun17)
git-svn-id: svn://tug.org/texlive/trunk@44725 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/pxufont')
-rw-r--r-- | Master/texmf-dist/tex/latex/pxufont/pxufont.sty | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/pxufont/pxufont.sty b/Master/texmf-dist/tex/latex/pxufont/pxufont.sty new file mode 100644 index 00000000000..611e020ebd8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/pxufont/pxufont.sty @@ -0,0 +1,130 @@ +%% +%% This is file 'pxufont.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{pLaTeX2e} +\ProvidesPackage{pxufont}[2017/06/28 v0.2] +\def\pxuf@pkgname{pxufont} +% +\providecommand\bxDebug[1]{} + +%--------------------------------------- general + +%% packages +\RequirePackage{ifuptex} + +%% unique tokens +\def\pxuf@end{\pxuf@end@} +\def\pxuf@mt{\pxuf@mt@} + +%% swutch 'pxuf@otf@used' +\newif\ifpxuf@otf@used +\@ifpackageloaded{otf}{% + \pxuf@otf@usedtrue +}{%else + \AtBeginDocument{% + \@ifpackageloaded{otf}{% + \PackageError\pxuf@pkgname + {You must load this package after 'otf'}\@ehc + }{}}% +} + +%% \pxuf@JY/\pxuf@JT +\ifNativeupTeX +\def\pxuf@JY{JY2}\def\pxuf@JT{JT2} +\else +\def\pxuf@JY{JY1}\def\pxuf@JT{JT1} +\fi + +%--------------------------------------- general +\begingroup + +%% variables +% \pxuf@scale +% \pxuf@tfm + +%% \pxuf@reset@size +\def\pxuf@reset@size{10} +\ifdim\f@size\p@=10\p@\else + \edef\pxuf@reset@size{\pxuf@reset@size,\f@size} +\fi +\ifx\jsc@JYn\@undefined\else %jsclasses + \begingroup + \footnotesize \xdef\@gtempa{\f@size} + \endgroup + \edef\pxuf@reset@size{\pxuf@reset@size,\@gtempa} +\fi +\bxDebug{ufont:reset@size=\pxuf@reset@size} + +%% \pxuf@parse@spec{E/F/S/S} +% Sets \pxuf@scale and \pxuf@tfm. +\edef\pxuf@tmpb{% + {\expandafter\string\csname<->s\endcsname*[}{]}{$}} +\def\pxuf@tmpa#1#2#3{% + \def\pxuf@parse@spec##1{% + \let\pxuf@scale\relax\let\pxuf@tfm\relax + \expandafter\expandafter\expandafter\pxuf@parse@spec@a + \csname##1\endcsname}% + \def\pxuf@parse@spec@a##1{% + \expandafter\pxuf@parse@spec@b\string##1#3#1#2#3\pxuf@end} + \def\pxuf@parse@spec@b##1#1##2#2##3#3##4\pxuf@end{% + \ifx\pxuf@mt##4\pxuf@mt\else + \def\pxuf@scale{##2}\def\pxuf@tfm{##3}% + \fi}% +}\expandafter\pxuf@tmpa\pxuf@tmpb + +%% \pxuf@process@one +\def\pxuf@process@one#1#2#3#4#5{% +\bxDebug{ufont:process(#1;#2/#3/#4/#5)}% + \pxuf@parse@spec{#2/#3/#4/#5}% + \ifx\pxuf@tfm\relax\else +\bxDebug{spec=\pxuf@scale:\pxuf@tfm}% + \DeclareFontShape{#2}{#3}{#4}{#5}{<->s*[\pxuf@scale]zu-\pxuf@tfm}{}% + \if t#1% + \@for\pxuf@tmpa:=\pxuf@reset@size\do{% + \global\expandafter\let\csname#2/#3/#4/#5/\pxuf@tmpa + \endcsname\relax}% + \fi + \fi} + +%% process +\ifpxuf@otf@used\ifNativeupTeX\else + \@for\pxuf@w:={\pxuf@JY,\pxuf@JT}\do{% + \@for\pxuf@x:={hmc,hgt,mg,ruby,rubyg,rubymg}\do{% + \@for\pxuf@y:={l,m,bx,eb}\do{% + \expandafter\ifx\csname\pxuf@w/\pxuf@x/\pxuf@y/n\endcsname\relax\else + \expandafter\let\csname pxuf@DF/\pxuf@x\endcsname=t% + \pxuf@process@one{t}\pxuf@w\pxuf@x\pxuf@y{n}% + \fi}}} +\fi\fi +\ifpxuf@otf@used + \@for\pxuf@w:={\pxuf@JY,\pxuf@JT}\do{% + \@for\pxuf@x:={cidj,cidjg,cidjmg}\do{% + \@for\pxuf@y:={l,m,bx,eb}\do{% + \expandafter\ifx\csname\pxuf@w/\pxuf@x/\pxuf@y/0\endcsname\relax\else + \@tfor\pxuf@z:=012345\do{% + \pxuf@process@one{f}\pxuf@w\pxuf@x\pxuf@y\pxuf@z}% + \fi}}} +\fi +\ifNativeupTeX\else + \@for\pxuf@w:={\pxuf@JY,\pxuf@JT}\do{% + \@for\pxuf@x:={\mcdefault,\gtdefault,mc,gt}\do{% + \expandafter\ifx\csname pxuf@DF/\pxuf@x\endcsname\relax + \expandafter\ifx\csname\pxuf@w/\pxuf@x/m/n\endcsname\relax\else + \expandafter\let\csname pxuf@DF/\pxuf@x\endcsname=t% + \pxuf@process@one{t}\pxuf@w\pxuf@x{m}{n}% + \fi + \fi}} +\fi + +\endgroup +%--------------------------------------- all done +\endinput +%% EOF |