summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/csplain/fonts/kp-fonts.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/csplain/fonts/kp-fonts.tex')
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/kp-fonts.tex161
1 files changed, 161 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/csplain/fonts/kp-fonts.tex b/Master/texmf-dist/tex/csplain/fonts/kp-fonts.tex
new file mode 100644
index 00000000000..e309b9b8d1d
--- /dev/null
+++ b/Master/texmf-dist/tex/csplain/fonts/kp-fonts.tex
@@ -0,0 +1,161 @@
+% The file kp-font.tex (C) Petr Olsak, 2016
+% Use "\input kp-fonts" to set the KP Fonts font family.
+
+% See cs-heros.tex file for more information about font modifiers.
+
+% See http://petr.olsak.net/csplain.html#font for information about CSplain
+% (or OPmac) font concept and about font modifiers.
+% See kpfonts-plain.pdf article about "KP-fonts in plain TeX"
+
+\ifx\ffdecl\undefined \input ff-mac \fi
+
+\ffdecl [KP Fonts] {\rm \bf \it \bi} {\caps \slant \sans ...} {21 mods} {KP} {8t 7t}
+
+\message{See the file kp-fonts.tex and kp-math.tex for modifiers documentation.}
+
+% Modifiers:
+% \caps ..... Caps & small caps
+% \bcaps .... Bigger small-caps
+% \slant .... Slanted
+% \sans ..... Sans serif
+% \ttset .... TypeWriter set
+% \wlight ... Weight Light
+% \bext ..... Bold extended
+% \noflig ... no f ligatures
+% \oldn ..... Old style numbers
+% \olds ..... Old style all
+% \oldsv .... Very old style
+% \kpreset .. Returns all modifications to default values
+% Usage: [modifiers]\rm or \bf or \it or \bi or \one or \fam
+% Of course, you cannot combine all with all.
+% \lr \rm \mr \bf ; \li \it \mi \bi ... extended variant selectors
+% See the file kp-math.tex for math modifiers documentation.
+
+\tryprotected\def\kpvars#1{%
+ \if n#1\ffvars {mn} {b\bextV n} {mit} {b\bextV it}\fi % Normal family
+ \if s#1\ffvars {mn} {b\bextV n} {msl} {b\bextV sl}\fi % Slanted family
+ \if c#1\ffvars {msc} {b\bextV sc} {mscsl} {b\bextV scsl}\fi % Caps family
+ \def\kpvarV{#1}%
+}
+\kpvars{n}
+
+\def\caps{\kpvars{c}\ffsetV{noflig}{}\ffsetX}
+\def\slant{\kpvarnoC{\kpvars{s}}\ffsetX}
+\tryprotected\def\kpvarnoC#1{\if c\kpvarV \else#1\fi}
+
+\def\sans{\slant\ffsetV{subfam}{ss}\ffsetV{wlight}{}\ffsetX}
+\def\ttset{\kpvars{n}\slant\ffsetV{subfam}{tt}%
+ \ffsetV{bext}{}\ffsetV{noflig}{}\ffsetV{wlight}{}\ffsetV{bcaps}{}\ffsetX}
+
+\def\bext{\ffsetV{bext}{x}\ffsetX}
+\def\bcaps{\caps\ffsetV{bcaps}{k}\ffsetX}
+\def\wlight{\ffsetV{wlight}{l}\ffsetX}
+\def\noflig{\ffsetV{noflig}{f}\ffsetX}
+\def\oldn{\ffsetV{old}{osn}\ffsetX}
+\def\olds{\ffsetV{old}{os}\ffsetX}
+\def\oldsv{\ffsetV{old}{vos}\ffsetX}
+\def\kpreset{\kpvars{n}\ffsetV{subfam}{}\ffsetV{wlight}{}\ffsetV{bcaps}{}%
+ \ffsetV{noflig}{}\ffsetV{old}{}\ffsetV{bext}{}\ffsetX}
+
+\def\lr{\wlight\rm} \def\li{\wlight\it} \def\mr{\wlight\bf} \def\mi{\wlight\bi}
+
+\def\subfamV{} \def\wlightV{} \def\bcapsV{} \def\nofligV{} \def\oldV{} \def\bextV{}
+
+\ismacro\fotenc{8t}\ifttrue
+
+ \font\tenrm = jkpmn8t \sizespec
+ \font\tenbf = jkpbn8t \sizespec
+ \font\tenit = jkpmit8t \sizespec
+ \font\tenbi = jkpbit8t \sizespec
+
+ \def\ffnamegen{jkp\subfamV\wlightV\bcapsV\nofligV\oldV\ffvarV 8t}
+
+\fi
+
+\ismacro\fotenc{7t}\ifttrue
+
+ \font\tenrm = jkpmn7t \sizespec
+ \font\tenbf = jkpbn7t \sizespec
+ \font\tenit = jkpmit7t \sizespec
+ \font\tenbi = jkpbit7t \sizespec
+
+ \def\ffnamegen{jkp\subfamV\wlightV\bcapsV\nofligV\oldV\ffvarV 7t}
+
+\fi
+\tenrm
+
+\def\Qtail{{\olds\one Q}}
+
+\input exchars % 7c encoding implemented by exchars.tex macro
+
+\let\euro=\exeuro
+\ifx\mubyte\undefined \else \mubyte\euro ^^e2^^82^^ac\endmubyte \fi
+
+\def\ffnametest#1{% if desired metric is not registered then print warning
+ \expandafter\ifx\csname ex:\ffnamegen/TS1\endcsname \relax
+ \message{WARNING KPfont mods: subfam="\subfamV" wlight="\wlightV"
+ bcaps="\bcapsV", noflig="\nofligV", old="\oldV", bext="\bextV" of
+ variant="\ffvarV" in encoding="\fotenc" (\ffnamegen) unavailable}%
+ \csname iffalse\expandafter\endcsname
+ \else \csname iftrue\expandafter\endcsname \fi
+}
+\def\ffaddtfm #1 {\ifx\relax#1\relax \else
+ \setexfont {jkp#1\fotenc} TS1 \kpsevenc{#1} % register the metric for exchars
+ \expandafter\ffaddtfm\fi
+}
+\def\kpsevenc#1{\kpsevencA #1;f\relax} % does mapping from *8t metric to *7c
+\def\kpsevencA#1f#2\relax{\kpsevencB #1#2k\relax} % strip off irrelevant features
+\def\kpsevencB#1k#2\relax{\kpsevencC #1#2osn\relax}
+\def\kpsevencC#1osn#2\relax{\kpsevencD #1#2vos\relax}
+\def\kpsevencD#1vos#2\relax{\kpsevencE #1#2os\relax}
+\def\kpsevencE#1os#2\relax{\kpsevencF#1#2\relax}
+\def\kpsevencF#1;#2\relax{jkp#17c}
+
+\ffaddtfm % register all metrics from "ls *8t.tfm" output:
+ bit kosbsc lkbsc losnbsc osmscsl sskbxscsl ssosnmsc
+ bn kosbscsl lkbscsl losnbscsl osmsl sskmsc ssosnmscsl
+ bsc kosbxsc lkbxsc losnbsl osnbit sskmscsl ssosnmsl
+ bscsl kosbxscsl lkbxscsl losnbxit osnbn sskosbsc ssvosbn
+ bsl kosmsc lkmsc losnbxn osnbsc sskosbscsl ssvosbsc
+ bxit kosmscsl lkmscsl losnbxsc osnbscsl sskosbxsc ssvosbsl
+ bxn kosnbsc lkosbsc losnbxscsl osnbsl sskosbxscsl ssvosbxn
+ bxsc kosnbscsl lkosbscsl losnbxsl osnbxit sskosmsc ssvosbxsc
+ bxscsl kosnbxsc lkosbxsc losnmit osnbxn sskosmscsl ssvosbxsl
+ bxsl kosnbxscsl lkosbxscsl losnmn osnbxsc sskosnbsc ssvosmn
+ fbit kosnmsc lkosmsc losnmsc osnbxscsl sskosnbscsl ssvosmsc
+ fbn kosnmscsl lkosmscsl losnmscsl osnbxsl sskosnbxsc ssvosmsl
+ fbsl lbit lkosnbsc losnmsl osnmit sskosnbxscsl ttbn
+ fbxit lbn lkosnbscsl lvosbit osnmn sskosnmsc ttbsl
+ fbxn lbsc lkosnbxsc lvosbn osnmsc sskosnmscsl ttmn
+ fbxsl lbscsl lkosnbxscsl lvosbsl osnmscsl ssmn ttmsl
+ fmit lbsl lkosnmsc lvosbxit osnmsl ssmsc ttosbn
+ fmn lbxit lkosnmscsl lvosbxn ssbn ssmscsl ttosbsl
+ fmsl lbxn lmit lvosbxsl ssbsc ssmsl ttosmn
+ fosnbit lbxsc lmn lvosmit ssbscsl ssosbn ttosmsl
+ fosnbn lbxscsl lmsc lvosmn ssbsl ssosbsc ttosnbn
+ fosnbsl lbxsl lmscsl lvosmsl ssbxn ssosbscsl ttosnbsl
+ fosnbxit lfbit lmsl mit ssbxsc ssosbsl ttosnmn
+ fosnbxn lfbn losbit mn ssbxscsl ssosbxn ttosnmsl
+ fosnbxsl lfbsl losbn msc ssbxsl ssosbxsc ttvosbn
+ fosnmit lfbxit losbsc mscsl ssfbn ssosbxscsl ttvosbsl
+ fosnmn lfbxn losbscsl msl ssfbsl ssosbxsl ttvosmn
+ fosnmsl lfbxsl losbsl osbit ssfbxn ssosmn ttvosmsl
+ fssosnbn lfmit losbxit osbn ssfbxsl ssosmsc vosbit
+ fssosnbsl lfmn losbxn osbsc ssfmn ssosmscsl vosbn
+ fssosnbxn lfmsl losbxsc osbscsl ssfmsl ssosmsl vosbsl
+ fssosnbxsl lfosnbit losbxscsl osbsl ssfosnbn ssosnbn vosbxit
+ fssosnmn lfosnbn losbxsl osbxit ssfosnbsl ssosnbsc vosbxn
+ fssosnmsl lfosnbsl losmit osbxn ssfosnbxn ssosnbscsl vosbxsl
+ kbsc lfosnbxit losmn osbxsc ssfosnbxsl ssosnbsl vosmit
+ kbscsl lfosnbxn losmsc osbxscsl ssfosnmn ssosnbxn vosmn
+ kbxsc lfosnbxsl losmscsl osbxsl ssfosnmsl ssosnbxsc vosmsl
+ kbxscsl lfosnmit losmsl osmit sskbsc ssosnbxscsl
+ kmsc lfosnmn losnbit osmn sskbscsl ssosnbxsl
+ kmscsl lfosnmsl losnbn osmsc sskbxsc ssosnmn
+ {}
+
+\ifx\loadmathfonts\relax \endinput \fi
+\ifx\mathpreloaded K\else \input kp-math \fi
+
+\endinput
+