diff options
author | Karl Berry <karl@freefriends.org> | 2024-12-05 21:22:09 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2024-12-05 21:22:09 +0000 |
commit | 99e71d8a2d2cea65e56ec577b71a06ac00169ca7 (patch) | |
tree | e1dd32b9c75034f5ab14adbb268617976ebc9102 /Master/texmf-dist/tex/latex/plex-otf | |
parent | aafc7bb0ffce2db25ab788f5a5dbdcf199c9f6bb (diff) |
plex-otf (5dec24)
git-svn-id: svn://tug.org/texlive/trunk@73042 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/plex-otf')
-rw-r--r-- | Master/texmf-dist/tex/latex/plex-otf/plex-otf.sty | 313 |
1 files changed, 34 insertions, 279 deletions
diff --git a/Master/texmf-dist/tex/latex/plex-otf/plex-otf.sty b/Master/texmf-dist/tex/latex/plex-otf/plex-otf.sty index c7810d9ba9d..dbfbd819cf8 100644 --- a/Master/texmf-dist/tex/latex/plex-otf/plex-otf.sty +++ b/Master/texmf-dist/tex/latex/plex-otf/plex-otf.sty @@ -1,27 +1,26 @@ -%% $Id: plex-otf.sty 762 2023-09-10 18:44:24Z herbert $ +%% $Id: plex-otf.sty 1041 2024-12-05 18:54:53Z herbert $ %% %% This file is distributed under the terms of the LaTeX Project Public %% License from CTAN archives in directory macros/latex/base/lppl.txt. %% Either version 1.3 or, at your option, any later version. %% -% Copyright 2023- Herbert Voss hvoss@tug.org +% Copyright 2023-2024 Herbert Voss hvoss@tug.org %% \ProvidesPackage{plex-otf}[% - 2023/09/10 v. 0.08a (Herbert Voss) Supports plex OpenType for lualatex/xelatex.] + 2024/12/06 v. 0.09 (Herbert Voss) Supports plex OpenType for lualatex/xelatex.] % -\RequirePackage{ifxetex,ifluatex,xkeyval,textcomp} -\RequirePackage{fontspec} - -\newif\ifPlex@usefilenames \Plex@usefilenamestrue -\DeclareOptionX{usefilenames}[true]{\@nameuse{Plex@usefilenames#1}} +\RequirePackage{iftex,xkeyval,textcomp} +\RequirePackage{unicode-math} \newif\ifPlex@mono \Plex@monotrue \newif\ifPlex@serif \Plex@seriftrue \newif\ifPlex@sans \Plex@sanstrue +\newif\ifPlex@math \Plex@mathtrue % \DeclareOptionX{mono}[true]{\@nameuse{Plex@mono#1}} \DeclareOptionX{sans}[true]{\@nameuse{Plex@sans#1}} \DeclareOptionX{serif}[true]{\@nameuse{Plex@serif#1}} +\DeclareOptionX{math}[true]{\@nameuse{Plex@math#1}} % %Possible Styles = ExtraLight : Upright, Italic % Light : Upright, Italic @@ -44,26 +43,29 @@ \def\Plex@TTstyle{#1}% } % -\def\PlexRM@SCfont{}% {texgyretermes} +\def\PlexRM@SCfont{texgyretermes}% \DeclareOptionX{RMSCfont}{\renewcommand*\PlexRM@SCfont{#1}} -\def\PlexSS@SCfont{}% {texgyreheros} +\def\PlexSS@SCfont{texgyreheros}% \DeclareOptionX{SSSCfont}{\renewcommand*\PlexSS@SCfont{#1}} \providecommand\PlexRM@features{}% Roman \providecommand\PlexSS@features{}% SansSerif \providecommand\PlexSScon@features{}% SansSerif Condensed \providecommand\PlexTT@features{}% Scale=MatchLowercase,FakeStretch=0.9}% Typewriter +\providecommand\PlexMM@features{}% Math regular +\providecommand\PlexMMbold@features{}% Math bold \providecommand\Plex@DefaultFeatures{} % \DeclareOptionX{RM}{\renewcommand*\PlexRM@features{#1}} \DeclareOptionX{SS}{\renewcommand*\PlexSS@features{#1}} \DeclareOptionX{SScon}{\renewcommand*\PlexSScon@features{#1}} \DeclareOptionX{TT}{\renewcommand*\PlexTT@features{#1}} +\DeclareOptionX{MM}{\renewcommand*{\PlexMM@features}{#1}} +\DeclareOptionX{MMbold}{\renewcommand*{\PlexMMbold@features}{#1}} \DeclareOptionX{DefaultFeatures}{\def\Plex@DefaultFeatures{#1}} \ProcessOptionsX\relax - \def\Plex@test#1#2\@nil{% \ifx S#1 \gdef\Plex@boldstyle{SemiBold}% \else \gdef\Plex@style{#1#2}% @@ -110,6 +112,7 @@ % \ifx\@empty\PlexRM@SCfont\else \g@addto@macro{\PlexRM@features}{,% + Extension = .otf, SmallCapsFont = \PlexRM@SCfont-regular, SmallCapsFeatures = {Letters=SmallCaps, \Plex@@Renderer, @@ -121,6 +124,7 @@ \fi \ifx\@empty\PlexSS@SCfont\else \g@addto@macro{\PlexSS@features}{,% + Extension = .otf, SmallCapsFont = \PlexSS@SCfont-regular, SmallCapsFeatures = {Letters=SmallCaps, \Plex@@Renderer, @@ -133,11 +137,8 @@ %\DeclareTextCommand{\SS}{TU}{\char"1E9E} -\ifPlex@usefilenames%%%%%%%%%%%%%%%%%%% DATEINAMEN %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\typeout {Using file names for the Plex font}% -% - \ifPlex@serif - \edef\Plex@@Weight{\ifx\@empty\Plex@RMstyle Regular\else\Plex@RMstyle\fi} +\ifPlex@serif + \edef\Plex@@Weight{\ifx\@empty\Plex@RMstyle Regular\else\Plex@RMstyle\fi} % \setmainfont{IBMPlexSerif}[% main rm Extension = .otf, @@ -194,9 +195,9 @@ BoldFont = *-SemiBold, BoldItalicFont = *-SemiBoldItalic, ] - \fi +\fi % END ifSerif % - \ifPlex@sans +\ifPlex@sans \edef\Plex@@Weight{\ifx\Plex@SSstyle\@empty Regular\else\Plex@SSstyle\fi} \setsansfont{IBMPlexSans}[% main sans Extension = .otf, @@ -255,7 +256,7 @@ BoldItalicFont = *-SemiBoldItalic, ] % -% Sans Serif COndensed +% Sans Serif Condensed % \edef\Plex@@Weight{\ifx\Plex@SSconstyle\@empty Regular\else\Plex@SSconstyle\fi} \newfontfamily\sffamilyCon{IBMPlexSansCondensed}[% main sans condensed @@ -314,7 +315,7 @@ BoldFont = *-SemiBold, BoldItalicFont = *-SemiBoldItalic, ] - \fi +\fi % end ifSans % \ifPlex@mono \edef\Plex@@Weight{\ifx\Plex@TTstyle\@empty Regular\else\Plex@TTstyle\fi} @@ -371,217 +372,21 @@ BoldItalicFont = *-SemiBoldItalic, \PlexRM@features, ] - \fi % End PlexMono -% -\else%%%%%%%%%%%%%%%%%%% Ende DATEINAMEN %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%% Symbolische NAMEN %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\typeout {Using symbolic names for the Plex font}% -\ifPlex@serif - \edef\Plex@@Weight{\ifx\Plex@RMstyle\@empty \else\Plex@RMstyle\fi} -% - \setmainfont{IBM Plex Serif}[% main rm - UprightFont= * \Plex@@Weight, - BoldFont = * \Plex@RMboldstyle, - ItalicFont = * \Plex@RMstyle Italic, - BoldItalicFont = * \Plex@RMboldstyle Italic, - SlantedFont = * \Plex@RMstyle Italic, -% Scale = 0.92, - \PlexRM@features, - ] - \newfontfamily\slshapeRM{IBMPlexSans}[% - FakeSlant = 0.2, - UprightFont = * \Plex@@Weight, - BoldFont = * \Plex@RMboldstyle, - \PlexRM@features, - ] - \newfontfamily\PlexExtraLightRM{IBM Plex Serif}[% - UprightFont= *-ExtraLight, - ItalicFont = *-ExtraLightItalic, - \PlexRM@features, - ] - \newfontfamily\PlexLightRM{IBM Plex Serif}[% - UprightFont= * Light, - ItalicFont = * LightItalic, - \PlexRM@features, - ] - \newfontfamily\PlexThinRM{IBM Plex Serif}[% - UprightFont= * Thin, - ItalicFont = * ThinItalic, - \PlexRM@features, - ] - \newfontfamily\PlexMediumRM{IBM Plex Serif}[% - UprightFont= * Medium, - ItalicFont = * MediumItalic, - \PlexRM@features, - ] - \newfontfamily\PlexTextRM{IBM Plex Serif}[% - UprightFont= * Text, - ItalicFont = * TextItalic, - \PlexRM@features, - ] - \newfontfamily\PlexSemiBoldRM{IBM Plex Serif}[% - UprightFont= * \Plex@@Weight, - BoldFont = * SemiBold, - BoldItalicFont = * SemiBoldItalic, - \PlexRM@features, - ] -\fi -% -\ifPlex@sans - \edef\Plex@@Weight{\ifx\Plex@SSstyle\@empty\else\Plex@SSstyle\fi} -% - \setsansfont{IBM Plex Sans}[% - UprightFont= * \Plex@@Weight, - BoldFont = * \Plex@SSboldstyle, - ItalicFont = * \Plex@SSstyle Italic, - BoldItalicFont = * \Plex@SSboldstyle Italic, - SlantedFont = * \Plex@SSstyle Italic, -% Scale = 0.92, - \PlexSS@features, - ] - \newfontfamily\slshapeSS{IBMPlexSans}[% - FakeSlant = 0.2, - UprightFont = * \Plex@@Weight, - BoldFont = * \Plex@SSboldstyle, - \PlexSS@features, - ] - \newfontfamily\PlexExtraLightSS{IBM Plex Sans}[% - UprightFont= * ExtraLight, - ItalicFont = * ExtraLightItalic, - \PlexSS@features, - ] - \newfontfamily\PlexLightSS{IBM Plex Sans}[% - UprightFont= * Light, - ItalicFont = * LightItalic, - \PlexSS@features, - ] - \newfontfamily\PlexThinSS{IBM Plex Sans}[% - UprightFont= * Thin, - ItalicFont = * ThinItalic, - \PlexSS@features, - ] - \newfontfamily\PlexMediumSS{IBM Plex Sans}[% - UprightFont= * Medium, - ItalicFont = * MediumItalic, - \PlexSS@features, - ] - \newfontfamily\PlexTextSS{IBM Plex Sans}[% - UprightFont= * Text, - ItalicFont = * TextItalic, - \PlexSS@features, - ] - \newfontfamily\PlexSemiBoldSS{IBM Plex Sans}[% - UprightFont= * \Plex@@Weight, - BoldFont = * SemiBold, - BoldItalicFont = * SemiBoldItalic, - \PlexRM@features, - ] -%% -%% Sans Serif Condensed -%% - \edef\Plex@@Weight{\ifx\Plex@SSconstyle\@empty\else\Plex@SSconstyle\fi} -% - \newfontfamily\sffamilyCon{IBM Plex Sans Condensed}[% - UprightFont= * \Plex@@Weight, - BoldFont = * \Plex@SSconboldstyle, - ItalicFont = * \Plex@SSconstyle Italic, - BoldItalicFont = * \Plex@SSconboldstyle Italic, - SlantedFont = * \Plex@SSconstyle Italic, -% Scale = 0.92, - \PlexSScon@features, - ] - \newfontfamily\slshapeSScon{IBMPlexSans}[% - FakeSlant = 0.2, - UprightFont = * \Plex@@Weight, - BoldFont = * \Plex@SSconboldstyle, - \PlexSScon@features, - ] - \newfontfamily\PlexExtraLightSScon{IBM Plex Sans}[% - UprightFont= * ExtraLight, - ItalicFont = * ExtraLightItalic, - \PlexSScon@features, - ] - \newfontfamily\PlexLightSScon{IBM Plex Sans}[% - UprightFont= * Light, - ItalicFont = * LightItalic, - \PlexSScon@features, - ] - \newfontfamily\PlexThinSScon{IBM Plex Sans}[% - UprightFont= * Thin, - ItalicFont = * ThinItalic, - \PlexSScon@features, - ] - \newfontfamily\PlexMediumSScon{IBM Plex Sans}[% - UprightFont= * Medium, - ItalicFont = * MediumItalic, - \PlexSScon@features, - ] - \newfontfamily\PlexTextSScon{IBM Plex Sans}[% - UprightFont= * Text, - ItalicFont = * TextItalic, - \PlexSScon@features, - ] - \newfontfamily\PlexSemiBoldSScon{IBM Plex Sans}[% - UprightFont= * \Plex@@Weight, - BoldFont = * SemiBold, - BoldItalicFont = * SemiBoldItalic, - \PlexRM@features, - ] -\fi +\fi % End ifPlexMono % -\ifPlex@mono - \edef\Plex@@Weight{\ifx\Plex@TTstyle\@empty\else\Plex@TTstyle\fi} -% - \setmonofont{IBM Plex Mono}[% - UprightFont= * \Plex@@Weight, - BoldFont = * \Plex@TTboldstyle, - ItalicFont = * \Plex@TTstyle Italic, - BoldItalicFont = * \Plex@TTboldstyle Italic, - SlantedFont = *-\Plex@TTstyle Italic, -% Scale = 0.92, - \PlexTT@features, - ] - \newfontfamily\slshapeTT{IBMPlexMono}[% - FakeSlant = 0.2, - UprightFont = * \Plex@@Weight, - BoldFont = * \Plex@TTboldstyle, - \PlexTT@features, - ] - \newfontfamily\PlexExtraLightTT{IBM Plex Mono}[% - UprightFont= * ExtraLight, - ItalicFont = * ExtraLightItalic, - \PlexTT@features, - ] - \newfontfamily\PlexLightTT{IBM Plex Mono}[% - UprightFont= * Light, - ItalicFont = * LightItalic, - \PlexTT@features, - ] - \newfontfamily\PlexThinTT{IBM Plex Mono}[% - UprightFont= * Thin, - ItalicFont = * ThinItalic, - \PlexTT@features, - ] - \newfontfamily\PlexMediumTT{IBM Plex Mono}[% - UprightFont= * Medium, - ItalicFont = * MediumItalic, - \PlexTT@features, - ] - \newfontfamily\PlexTextTT{IBM Plex Mono}[% - UprightFont= * Text, - ItalicFont = * TextItalic, - \PlexTT@features, - ] - \newfontfamily\PlexSemiBoldTT{IBM Plex Mono}[% - UprightFont= * \Plex@@Weight, - BoldFont = * SemiBold, - BoldItalicFont = * SemiBoldItalic, - \PlexRM@features, - ] -\fi +% Setting math +% First we have to expand the feature macros: +\ifPlex@math + \ifxetex + \expandafter\setmathfont\expandafter[\PlexMM@features,version=normal]{IBMPlexMath-Regular.otf}% + \expandafter\setmathfont\expandafter[\PlexMM@features,FakeBold=3,version=bold]{IBMPlexMath-Regularath.otf}% + \else + \expandafter\setmathfont\expandafter[\PlexMM@features,version=normal]{IBMPlexMath-Regular}% + \expandafter\setmathfont\expandafter[\PlexMM@features,FakeBold=3,version=bold]{IBMPlexMath-Regular}% + \fi + \mathversion{normal}% +\fi% End ifMath % -\fi% end \ifPlex@usefilenames - \DeclareTextFontCommand{\textsl}{\ifx\f@family\rmdefault\slshapeRM\else\slshapeSS\fi} \DeclareRobustCommand\slshape {\not@math@alphabet\slshape\relax @@ -607,53 +412,3 @@ \endinput - -insgesamt 4448 --rwxr-xr-x 1 voss voss 94936 Okt 27 11:06 IBMPlexMono-BoldItalic.ttf --rwxr-xr-x 1 voss voss 90024 Okt 27 11:06 IBMPlexMono-Bold.ttf --rwxr-xr-x 1 voss voss 95436 Okt 27 11:06 IBMPlexMono-ExtraLightItalic.ttf --rwxr-xr-x 1 voss voss 89652 Okt 27 11:06 IBMPlexMono-ExtraLight.ttf --rwxr-xr-x 1 voss voss 94656 Okt 27 11:06 IBMPlexMono-Italic.ttf --rwxr-xr-x 1 voss voss 94300 Okt 27 11:06 IBMPlexMono-LightItalic.ttf --rwxr-xr-x 1 voss voss 88860 Okt 27 11:06 IBMPlexMono-Light.ttf --rwxr-xr-x 1 voss voss 94648 Okt 27 11:06 IBMPlexMono-MediumItalic.ttf --rwxr-xr-x 1 voss voss 89708 Okt 27 11:06 IBMPlexMono-Medium.ttf --rwxr-xr-x 1 voss voss 88848 Okt 27 11:06 IBMPlexMono-Regular.ttf --rwxr-xr-x 1 voss voss 97780 Okt 27 11:06 IBMPlexMono-SemiBoldItalic.ttf --rwxr-xr-x 1 voss voss 92972 Okt 27 11:06 IBMPlexMono-SemiBold.ttf --rwxr-xr-x 1 voss voss 94088 Okt 27 11:06 IBMPlexMono-TextItalic.ttf --rwxr-xr-x 1 voss voss 88784 Okt 27 11:06 IBMPlexMono-Text.ttf --rwxr-xr-x 1 voss voss 95496 Okt 27 11:06 IBMPlexMono-ThinItalic.ttf --rwxr-xr-x 1 voss voss 90092 Okt 27 11:06 IBMPlexMono-Thin.ttf --rwxr-xr-x 1 voss voss 112200 Okt 27 11:06 IBMPlexSans-BoldItalic.ttf --rwxr-xr-x 1 voss voss 107732 Okt 27 11:06 IBMPlexSans-Bold.ttf --rwxr-xr-x 1 voss voss 115848 Okt 27 11:06 IBMPlexSans-ExtraLightItalic.ttf --rwxr-xr-x 1 voss voss 111220 Okt 27 11:06 IBMPlexSans-ExtraLight.ttf --rwxr-xr-x 1 voss voss 112848 Okt 27 11:06 IBMPlexSans-Italic.ttf --rwxr-xr-x 1 voss voss 114144 Okt 27 11:06 IBMPlexSans-LightItalic.ttf --rwxr-xr-x 1 voss voss 109512 Okt 27 11:06 IBMPlexSans-Light.ttf --rwxr-xr-x 1 voss voss 112056 Okt 27 11:06 IBMPlexSans-MediumItalic.ttf --rwxr-xr-x 1 voss voss 107940 Okt 27 11:06 IBMPlexSans-Medium.ttf --rwxr-xr-x 1 voss voss 107988 Okt 27 11:06 IBMPlexSans-Regular.ttf --rwxr-xr-x 1 voss voss 112528 Okt 27 11:06 IBMPlexSans-SemiBoldItalic.ttf --rwxr-xr-x 1 voss voss 107856 Okt 27 11:06 IBMPlexSans-SemiBold.ttf --rwxr-xr-x 1 voss voss 112400 Okt 27 11:06 IBMPlexSans-TextItalic.ttf --rwxr-xr-x 1 voss voss 108168 Okt 27 11:06 IBMPlexSans-Text.ttf --rwxr-xr-x 1 voss voss 116628 Okt 27 11:06 IBMPlexSans-ThinItalic.ttf --rwxr-xr-x 1 voss voss 112228 Okt 27 11:06 IBMPlexSans-Thin.ttf --rwxr-xr-x 1 voss voss 76056 Okt 27 11:06 IBMPlexSerif-BoldItalic.otf --rwxr-xr-x 1 voss voss 74492 Okt 27 11:06 IBMPlexSerif-Bold.otf --rwxr-xr-x 1 voss voss 74184 Okt 27 11:06 IBMPlexSerif-ExtraLightItalic.otf --rwxr-xr-x 1 voss voss 73836 Okt 27 11:06 IBMPlexSerif-ExtraLight.otf --rwxr-xr-x 1 voss voss 74204 Okt 27 11:06 IBMPlexSerif-Italic.otf --rwxr-xr-x 1 voss voss 75128 Okt 27 11:06 IBMPlexSerif-LightItalic.otf --rwxr-xr-x 1 voss voss 73504 Okt 27 11:06 IBMPlexSerif-Light.otf --rwxr-xr-x 1 voss voss 76528 Okt 27 11:06 IBMPlexSerif-MediumItalic.otf --rwxr-xr-x 1 voss voss 74620 Okt 27 11:06 IBMPlexSerif-Medium.otf --rwxr-xr-x 1 voss voss 72560 Okt 27 11:06 IBMPlexSerif-Regular.otf --rwxr-xr-x 1 voss voss 76672 Okt 27 11:06 IBMPlexSerif-SemiBoldItalic.otf --rwxr-xr-x 1 voss voss 75356 Okt 27 11:06 IBMPlexSerif-SemiBold.otf --rwxr-xr-x 1 voss voss 77172 Okt 27 11:06 IBMPlexSerif-TextItalic.otf --rwxr-xr-x 1 voss voss 74388 Okt 27 11:06 IBMPlexSerif-Text.otf --rwxr-xr-x 1 voss voss 72308 Okt 27 11:06 IBMPlexSerif-ThinItalic.otf --rwxr-xr-x 1 voss voss 71116 Okt 27 11:06 IBMPlexSerif-Thin.otf |