diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/ofs')
30 files changed, 8222 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/ofs/a117.tex b/Master/texmf-dist/tex/generic/ofs/a117.tex new file mode 100644 index 00000000000..cdca5aba8fa --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/a117.tex @@ -0,0 +1,223 @@ +% The file a117.tex (C) Petr Olsak, Jan 2004 +% 117 standard PostScript fonts (level 3) from Adobe declared for OFS macro + +% After "\input a117", you can use +% +% \showfonts ... to show the loaded fontfamilies on terminal +% \fontusage ... to show the usage of new TeX macros on terminal +% \input ofs-8z ... macros for spec. characters and accented sequences +% +% See ofsdoc.tex manual for more details. +% This file is a part of OFS macro package by Petr Olsak. + +\ifx \ofsdeclarefamily\undefined \input ofs \fi +\protectreading a117.tex % This is part of OFS package + +\input a35 % 35 standard PostScript fonts (level 2) + +\ofsputfamlist {^^Ja117.tex:} + +\ofsdeclarefamily [AlbertusMT] {% -------------------- AlbertusMT + \loadtextfam () pabr\fotenc;% + ;% + (Italic) pabri\fotenc;% + ;;% + \newvariant0 \lr (Light) pabl\fotenc;;% +} +\registerenc: 8z + +\ofsdeclarefamily [AntiqueOlive] {% ------------------ AntiqueOlive + \loadtextfam (Roman) paor\fotenc;% + (Bold) paob\fotenc;% + (Italic) paori\fotenc;% + ;;% + \newvariant4 \kr (Compact) paoc\fotenc;;% +} +\registerenc: 8z + +\ofsdeclarefamily [Bodoni] {% ------------------------ Bodoni + \loadtextfam () pbdr\fotenc;% + (Bold) pbdb\fotenc;% + (Italic) pbdri\fotenc;% + (BoldItalic) pbdri\fotenc;;% + \newvariant4 \kr (Poster) pbdp\fotenc;;% + \newvariant6 \crm (PosterCompressed) pbdpc\fotenc;;% +} +\registerenc: 8z + +\ofsdeclarefamily [Carta] {% ------------------------- Carta + \loadtextfam rpcar;% + ;% + ;% + ;;% +} +\registerenc: 8z + +\ofsdeclarefamily [Clarendon] {% --------------------- Clarendon + \loadtextfam () pcdr\fotenc;% + (Bold) pcdb\fotenc;% + ;% + ;;% + \newvariant0 \lr (Light) pcdl\fotenc;;% +} +\registerenc: 8z + +\ofsdeclarefamily [CooperBlack] {% ------------------ CooperBlack + \loadtextfam () pcbr\fotenc;% + ;% + (Italic) pcbri\fotenc;% + ;;% +} +\registerenc: 8z + +\ofsdeclarefamily [Copperplate] {% ------------------ Copperplate + \loadtextfam (ThirtyTwoBC) pcpr\fotenc;% + (ThirtyThreeBC) pcpb\fotenc;% + ;% + ;;% +} +\registerenc: 8z + +\ofsdeclarefamily [Coronet] {% ----------------------- Coronet + \loadtextfam (Regular) pcor\fotenc;% + ;% + ;% + ;;% +} +\registerenc: 8z + +\ofsdeclarefamily [Eurostile] {% --------------------- Eurostile + \loadtextfam () peur\fotenc;% + (Bold) peub\fotenc;% + ;% + ;;% + \newvariant8 \erm (ExtendedTwo) peurx\fotenc;;% + \newvariant9 \ebf (BoldExtendedTwo) peubx\fotenc;;% +} +\registerenc: 8z + +\ofsdeclarefamily [GillSans] {% ---------------------- GillSans + \loadtextfam () pgsr\fotenc;% + (Bold) pgsb\fotenc;% + (Italic) pgsri\fotenc;% + (BoldItalic) pgsbi\fotenc;;% + \newvariant0 \lr (Light) pgsl\fotenc;;% + \newvariant1 \li (LightItalic) pgsli\fotenc;;% + \newvariant4 \kr (ExtraBold) pgsbx\fotenc;;% + \newvariant6 \crm (Condensed) pgsrc\fotenc;;% + \newvariant7 \cbf (BoldCondensed) pgsbc\fotenc;;% +} +\registerenc: 8z + +\ofsdeclarefamily [Goudy] {% ------------------------- Goudy + \loadtextfam () pgyr\fotenc;% + (Bold) pgyb\fotenc;% + (Italic) pgyri\fotenc;% + (BoldItalic) pgybi\fotenc;;% + \newvariant4 \kr (ExtraBold) pgybx\fotenc;;% +} +\registerenc: 8z + +\ofsdeclarefamily [HelveticaCondensed] {% ------------ HelveticaCondensed + \loadtextfam () phvrc\fotenc;% + (Bold) phvbc\fotenc;% + (Oblique) phvoc\fotenc;% + (BoldObl) phvboc\fotenc;;% +} +\registerenc: 8z + +\ofsdeclarefamily [JoannaMT] {% ---------------------- JoannaMT + \loadtextfam () pjmr\fotenc;% + (Bold) pjmb\fotenc;% + (Italic) pjmri\fotenc;% + (BoldItalic) pjmbi\fotenc;;% +} +\registerenc: 8z + +\ofsdeclarefamily [LetterGothic] {% ------------------ LetterGothic + \loadtextfam () plgr\fotenc;% + (Bold) plgb\fotenc;% + (Slanted) plgrs\fotenc;% + (BoldSlanted) plgbs\fotenc;;% +} +\registerenc: 8z + +\ofsdeclarefamily [LubalinGraph] {% ------------------ LubalinGraph + \loadtextfam (Book) plrb\fotenc;% + (Demi) plrd\fotenc;% + (BookOblique) plrbo\fotenc;% + (DemiOblique) plrdo\fotenc;;% +} +\registerenc: 8z + +\ofsdeclarefamily [Marigold] {% ---------------------- Marigold + \loadtextfam () pmrr\fotenc;% + ;% + ;% + ;;% +} +\registerenc: 8z + +\ofsdeclarefamily [MonaLisa] {% ---------------------- MonaLisa + \loadtextfam (Recut) pmlr\fotenc;% + ;% + ;% + ;;% +} +\registerenc: 8z + +\ofsdeclarefamily [Optima] {% ------------------------ Optima + \loadtextfam () popr\fotenc;% + (Bold) popb\fotenc;% + (Italic) popri\fotenc;% + (BoldItalic) popbi\fotenc;;% +} +\registerenc: 8z + +\ofsdeclarefamily [Oxford] {% ------------------------ Oxford + \loadtextfam () poxr\fotenc;% + ;% + ;% + ;;% +} +\registerenc: 8z + +\ofsdeclarefamily [StempelGaramond] {% --------------- StempelGaramond + \loadtextfam (Roman) psgr\fotenc;% + (Bold) psgb\fotenc;% + (Italic) psgri\fotenc;% + (BoldItalic) psgbi\fotenc;;% +} +\registerenc: 8z + +\ofsdeclarefamily [Tekton] {% ------------------------ Tekton + \loadtextfam () ptkr\fotenc;% + ;% + ;% + ;;% +} +\registerenc: 8z + +\ofsdeclarefamily [Univers] {% ----------------------- Univers + \loadtextfam () punr\fotenc;% + (Bold) punb\fotenc;% + (Oblique) punro\fotenc;% + (BoldOblique) punbo\fotenc;;% + \newvariant0 \lr (Light) punl\fotenc;;% + \newvariant1 \li (LightOblique) punlo\fotenc;;% + \newvariant4 \crm (Condensed) punc\fotenc;;% + \newvariant5 \cbf (CondensedBold) puncb\fotenc;;% + \newvariant6 \cit (CondensedOblique) punco\fotenc;;% + \newvariant7 \cbi (CondensedBoldOblique) puncbo\fotenc;;% + \newvariant8 \ebf (BoldExt) punbx\fotenc;;% + \newvariant9 \ebi (BoldExtObl) punbxo\fotenc;;% +} +\registerenc: 8z + +\endinput + + + + + + diff --git a/Master/texmf-dist/tex/generic/ofs/a35.sty b/Master/texmf-dist/tex/generic/ofs/a35.sty new file mode 100644 index 00000000000..1e7d8edc5c1 --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/a35.sty @@ -0,0 +1,25 @@ +%%% OSF-style file, see ofsdoc.tex for more details +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Jul 2001 Petr Olsak + +% See ofsdoc.tex manual for more details. +% This file is a part of OFS macro package by Petr Olsak. + +\ifx\OFSprocessoptions\undefined + \ProvidesPackage {a35} + \RequirePackage {ofs} +\fi + +\OFSputfamlist {a35.sty:} + +\OFSdeclarefamily [AvantGarde] {pag} \OFSnormalvariants +\OFSdeclarefamily [Bookman] {pbk} \OFSnormalvariants +\OFSdeclarefamily [NewCentury] {pnc} \OFSnormalvariants +\OFSdeclarefamily [Palatino] {ppl} \OFSnormalvariants +\OFSdeclarefamily [ZapfChancery] {pzc} +\OFSputfamlist {\string\rm, \space- , \string\it, \space -} +\OFSdeclarefamily [ZapfDingbats] {pzd} +\OFSputfamlist {\string\rm, \space- , \space- , \space -} +\OFSdeclarefamily [Symbol] {psy} +\OFSputfamlist {\string\rm, \space- , \string\it, \space -} + diff --git a/Master/texmf-dist/tex/generic/ofs/a35.tex b/Master/texmf-dist/tex/generic/ofs/a35.tex new file mode 100644 index 00000000000..88bef46c0df --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/a35.tex @@ -0,0 +1,95 @@ +% The file a35.tex (C) Petr Olsak, Jun 2001 +% 35 standard PostScript fonts from Adobe declared for OFS macro + +% After "\input a35", you can use +% +% \showfonts ... to show the loaded fontfamilies on terminal +% \fontusage ... to show the usage of new TeX macros on terminal +% \input ofs-8z ... macros for spec. characters and accented sequences +% +% See ofsdoc.tex manual for more details. +% This file is a part of OFS macro package by Petr Olsak. + +\ifx \ofsdeclarefamily\undefined \input ofs \fi +\protectreading a35.tex % This is part of OFS package + +\ofsputfamlist {^^Ja35.tex:} + +%%% Times, Helvetica, Courier is in OFS defaults + +\ofsdeclarefamily [AvantGarde] {% -------------------- AvantGarde + \loadtextfam (Book) pagk\fotenc;% + (Demi) pagd\fotenc;% + (BookOblique) pagko\fotenc;% + (DemiOblique) pagdo\fotenc;\defaultextraenc;% + \def\TeX{T\kern-.08em\lower.3333ex\hbox{E}\kern-0.09emX}% + \modifyenc 8z:badaccents;% + \modifyenc 8t:losschars;% + \modifyenc 8c:poor;% +} +\registerenc: 8z \registerenc: 8t + +\ofsdeclarefamily [Bookman] {% ----------------------- Bookman + \loadtextfam (Light) pbkl\fotenc;% + (Demi) pbkd\fotenc;% + (LightItalic) pbkli\fotenc;% + (DemiItalic) pbkdi\fotenc;\defaultextraenc;% + \def\TeX{T\kern-.14em\lower.4ex\hbox{E}\kern-.125emX}% + \modifyenc 8z:badaccents;% + \modifyenc 8t:losschars;% + \modifyenc 8c:poor;% +} +\registerenc: 8z \registerenc: 8t + +\ofsdeclarefamily [NewCentury] {% -------------------- NewCenturySchlbk + \loadtextfam (Roman) pncr\fotenc;% + pncb\fotenc;% + pncri\fotenc;% + pncbi\fotenc;\defaultextraenc;% + \def\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX}% + \modifyenc 8z:badaccents;% + \modifyenc 8t:losschars;% + \modifyenc 8c:poor;% +} +\registerenc: 8z \registerenc: 8t + +\ofsdeclarefamily [Palatino] {% ---------------------- Palatino + \loadtextfam (Roman) pplr\fotenc;% + pplb\fotenc;% + pplri\fotenc;% + pplbi\fotenc;\defaultextraenc;% + \def\TeX{T\kern-.1667em\lower.3333ex\hbox{E}\kern-.125emX}% + \modifyenc 8z:badaccents;% + \modifyenc 8t:losschars;% + \modifyenc 8c:poor;% +} +\registerenc: 8z \registerenc: 8t + +%%% The variants of \TeX macros above +%%% was developed by Ivo Jancik + +\ofsdeclarefamily [ZapfChancery] {% ------------------ ZapfChancery + \loadtextfam (MediumItalic) pzcmi\fotenc;% + ;% + (MediumItalic) pzcmi\fotenc;% + ;\defaultextraenc;% + \modifyenc 8z:badaccents;% + \modifyenc 8t:losschars;% + \modifyenc 8c:poor;% +} +\registerenc: 8z \registerenc: 8t + +\ofsdeclarefamily [ZapfDingbats] {% ------------------ ZapfDingbats + \loadtextfam pzdr;% + ;% + ;% + ;;% +} +\ofsdeclarefamily [Symbol] {% ------------------------ Symbol + \loadtextfam psyr;% + ;% + (Slanted) psyro;% slanted geometrically + ;;% +} +\endinput + diff --git a/Master/texmf-dist/tex/generic/ofs/allfonts.sty b/Master/texmf-dist/tex/generic/ofs/allfonts.sty new file mode 100644 index 00000000000..a18d554ae7d --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/allfonts.sty @@ -0,0 +1,20 @@ +% This file may be used by OFS (Olsak Font System) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ifx\OFSprocessoptions\undefined + \ProvidesPackage {allfonts} + \RequirePackage {ofs} +\fi + +% The contents of this file is depend on the fonts installed in your TeX +% system. If you install some fonts supported by OFS (or you write +% the OFS support yourself), add the \RequirePackage {<package>} +% in the following list: + +\RequirePackage{a35} + +% example: +% \RequirePackage {skatalog} +% after you install the fonts from Storm Type Foundry. +% +% See ofsdoc.tex for more information about OFS. diff --git a/Master/texmf-dist/tex/generic/ofs/allfonts.tex b/Master/texmf-dist/tex/generic/ofs/allfonts.tex new file mode 100644 index 00000000000..c45ae0fb450 --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/allfonts.tex @@ -0,0 +1,14 @@ +% This file may be used by OFS (Olsak Font System) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% The contents of this file is depend on the fonts installed in your TeX +% system. If you install some fonts supported by OFS (or you write +% the OFS support yourself), add the \input <file> in the following list: + +\input a35 + +% example: +% \input skatalog +% after you install the fonts from Storm Type Foundry. +% +% See ofsdoc.tex for more information about OFS. diff --git a/Master/texmf-dist/tex/generic/ofs/amsfn.tex b/Master/texmf-dist/tex/generic/ofs/amsfn.tex new file mode 100644 index 00000000000..c3690072147 --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/amsfn.tex @@ -0,0 +1,134 @@ +% OFS: AMS fonts, declaration +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Apr. 2004 Petr Olsak + +%% see more info at the end of this file + +\protectreading amsfn.tex % This is part of OFS package + +\def\loadAMSnormalmath{% + \loadCMnormalmath + \chardef\msamfam 8 + \loadmathfam \msamfam [/msam]% MSAM, symbols from ASMTeX + \chardef\msbmfam 9 + \loadmathfam \msbmfam [/msbm]% MSBM, symbols from AMSTeX + \lastfam =9 +} +\def\loadAMSboldmath{% + \loadCMboldmath + \chardef\msamfam 8 + \loadmathfam \msamfam [/msam]% MSAM, symbols from ASMTeX + \chardef\msbmfam 9 + \loadmathfam \msbmfam [/msbm]% MSBM, symbols from AMSTeX + \lastfam =9 +} +\def\setAMSmathchars{\mathencread ofs-ams;} + +\def\registerAMSfonts #1 {% + \registertfm #1 - #110 % + \registertfm #1 0pt-6pt #15 % + \registertfm #1 6pt-7pt #16 % + \registertfm #1 7pt-8pt #17 % + \registertfm #1 8pt-9pt #18 % + \registertfm #1 9pt-10pt #19 % + \registertfm #1 10pt-* #110 % +} +\registerAMSfonts msam % +\registerAMSfonts msbm % +\registerAMSfonts eufm % +\registerAMSfonts eufb % +\registerAMSfonts eurm % +\registerAMSfonts eurb % +\registerAMSfonts eusm % +\registerAMSfonts eusb % + +\registertfm cmbsy - - % reset +\registerAMSfonts cmbsy % +\registertfm cmex - - % reset +\registerAMSfonts cmex % +\registertfm cmmib - - % reset +\registerAMSfonts cmmib % + +\registertfm euex - euex10 % +\registertfm euex 0pt-8pt euex7 % +\registertfm euex 8pt-9pt euex8 % +\registertfm euex 9pt-10pt euex9 % +\registertfm euex 10pt-* euex10 % + +\endinput + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +You can use all AMS symbol sequences together with CM fonts in +math formulae after: + +\input amsfn +\def\fomenc{AMS} +\setmath[//] + +You can add the Euler Fraktur to the math fonts by the following +commands (before \setmath command): + +\addcmd\mathfonts {\def\tmpa{bold}% + \ifx\mathversion\tmpa \def\tmpa{b}\else\def\tmpa{m}\fi + \newmathfam\frakfam \loadmathfam\frakfam [/euf\tmpa]} +\def\frak#1{{\fam\frakfam#1}} + +You can add the Euler Script to the math fonts: + +\addcmd\mathfonts {\def\tmpa{bold}% + \ifx\mathversion\tmpa \def\tmpa{b}\else\def\tmpa{m}\fi + \newmathfam\scriptfam \loadmathfam\scriptfam [/eus\tmpa]} +\def\script#1{{\fam\scriptfam#1}} + +You can add the Euler Upright italic to the math fonts: + +\addcmd\mathfonts {\def\tmpa{bold}% + \ifx\mathversion\tmpa \def\tmpa{b}\else\def\tmpa{m}\fi + \newmathfam\upitfam \loadmathfam\upitfam [/eur\tmpa]} +\def\upright#1{{\fam\upitfam#1}} + +You can replace standard CM operators \sum, \int, etc. by the +operators from Euler extension font by the following commands: + +\addcmd\mathfonts{\newmathfam\euexfam \loadmathfam\euexfam [/euex]} +\addcmd\mathchars{% + \mathchardef \ointop "1\hex\euexfam 48 + \mathchardef \sum "1\hex\euexfam 50 + \mathchardef \prod "1\hex\euexfam 51 + \mathchardef \intop "1\hex\euexfam 52 + \mathchardef \uprod "1\hex\euexfam 60 + \edef \lbrace {\delimiter "4266\hex\euexfam 08 }% + \edef \rbrace {\delimiter "5267\hex\euexfam 09 }% + \let\{=\lbrace + \let\}=\rbrace + \mathchardef \letfharpoonup "3\hex\euexfam 18 + \mathchardef \leftharpoondown "3\hex\euexfam 19 + \mathchardef \rightharpoonup "3\hex\euexfam 1A + \mathchardef \rightharpoondown "3\hex\euexfam 1B + \mathchardef \leftarrow "3\hex\euexfam 20 + \mathchardef \rightarrow "3\hex\euexfam 21 + \mathchardef \leftrightarrow "3\hex\euexfam 24 + \mathchardef \nearrow "3\hex\euexfam 25 + \mathchardef \searrow "3\hex\euexfam 26 + \mathchardef \Leftarrow "3\hex\euexfam 28 + \mathchardef \Rightarrow "3\hex\euexfam 29 + \mathchardef \Leftrightarrow "3\hex\euexfam 2C + \mathchardef \nwarrow "3\hex\euexfam 2D + \mathchardef \swarrow "3\hex\euexfam 2E + \mathchardef \infty "0\hex\euexfam 31 + \edef \uparrow {\delimiter "3\hex\euexfam 22378 }% + \edef \downarrow {\delimiter "3\hex\euexfam 23379 }% + \edef \Uparrow {\delimiter "3\hex\euexfam 2A37E }% + \edef \Downarrow {\delimiter "3\hex\euexfam 2B37F }% + \edef \updownarrow {\delimiter "3\hex\euexfam 6C33F }% + \edef \Updownarrow {\delimiter "3\hex\euexfam 6D377 }% +} + + + + + + + + diff --git a/Master/texmf-dist/tex/generic/ofs/mtfn.tex b/Master/texmf-dist/tex/generic/ofs/mtfn.tex new file mode 100644 index 00000000000..85c742c3d20 --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/mtfn.tex @@ -0,0 +1,83 @@ +% This file declares the MathTimes fonts using OFS macros +% See ofsdoc.tex (OFS -- Olsak's Font System) for more details +% Remember that the MathTimes fonts is non free package. + +\protectreading mtfn.tex % This is part of OFS package + +\def\Timestext{Times} +\def\iftimes{\ifx\currentfamily\Timestext} + +\def\loadMTnormalmath{% + \loadmathfam 0[-rm/]% Actual Roman font + \iftimes + \fontmessage { \space\space MathTimes used for MathItalics}% + \defaultskewchar=45 + \loadmathfam 1[/mtmi]% MathTimes italic font for variables + \else + \fontmessage { \space\space \currentfamily-it used for MathItalics}% + \loadmathfam 1[-it/]% Actual Italic font for variables + \fi + \defaultskewchar=48 + \loadmathfam 2[/mtsyn]% Symbols from MathTimes + \defaultskewchar=-1 + \noindexsize\loadmathfam 3[/mtex]% Extra symbols from MathTimes + \chardef\mtifam 4 + \defaultskewchar=45 + \loadmathfam \mtifam [/mtmi]% MathTimes italic (for greek) + \defaultskewchar=-1 + \chardef \itfam 5 + \loadmathfam \itfam [-it/]% Actual Italic + \chardef \bffam 6 + \loadmathfam \bffam [-bf/]% Actual Bold font + \chardef \bifam 7 + \loadmathfam \bifam [-bi/]% Actual Bold Italic font + \chardef \gufam 8 + \loadmathfam \gufam [/mtgu]% MathTimes greek unslanted + \chardef \scrfam 9 + \loadmathfam \scrfam [/mtms]% MathTimes script + \lastfam =9 + \let\ttfam=\undefined +} +\def\loadMTboldmath{% + \loadmathfam 0[-bf/]% Actual Bold font + \iftimes + \fontmessage { \space\space MathTimes used for bold MathItalics}% + \defaultskewchar=45 + \loadmathfam 1[/mtmib]% MathTimes Bold-Italic font + \else + \fontmessage { \space\space \currentfamily-bi used for bold MathItalics}% + \loadmathfam 1[-bi/]% Actual Bold-Italic font + \fi + \defaultskewchar=48 + \loadmathfam 2[/mtsyb]% Bold symbols from MathTimes + \defaultskewchar=-1 + \noindexsize\loadmathfam 3[/mtexb]% Extra bold symbols from MathTimes + \chardef\bffam=0 + \chardef \mtifam 4 + \defaultskewchar=45 + \loadmathfam \mtifam [/mtmib]% MathTimes bold italic (for greek) + \defaultskewchar=-1 + \chardef\itfam 5 \chardef\bifam 5 + \loadmathfam \bifam [-bi/]% Actual Bold Italic font + \chardef \itfam 6 + \loadmathfam \bffam [-bf/]% Actual Bold font + \chardef \gufam 8 + \loadmathfam \gufam [/mtgub]% MathTimes greek bold unslanted + \chardef \scrfam 9 + \loadmathfam \scrfam [/mtmsb]% MathTimes script bold + \lastfam =9 + \let\ttfam=\undefined +} +\def\setMTmathchars{\mathencread ofs-mt;} + +\def\cal{\fam\scrfam} + + + + + + + + + + diff --git a/Master/texmf-dist/tex/generic/ofs/ofs-6a.tex b/Master/texmf-dist/tex/generic/ofs/ofs-6a.tex new file mode 100644 index 00000000000..ea20bc0400c --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/ofs-6a.tex @@ -0,0 +1,259 @@ +% OFS: Declaration of Cyrrilic T2A encoding +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Mar 2004 Petr Olsak + +% 6a = T2A encoding + +\protectreading ofs-6a.tex % This is part of OFS package + +\accentdef \` * 6a {\accent 0} +\accentdef \' * 6a {\accent 1} +\accentdef \^ * 6a {\accent 2} +\accentdef \~ * 6a {\accent 3} +\accentdef \" * 6a {\accent 4} +\accentdef \H * 6a {\accent 5} +\accentdef \r * 6a {\accent 6} +\accentdef \v * 6a {\accent 7} +\accentdef \u * 6a {\accent 8} +\accentdef \= * 6a {\accent 9} +\accentdef \. * 6a {\accent 10} +\accentdef \f * 6a {\accent 18} +\accentdef \C * 6a {\accent 19} +\accentdef \U * 6a {\accent 20} +\accentdef \b * 6a {\accentbelow {\char9}{.15ex}} +\accentdef \c * 6a {\accentbelow {\char11}{0pt}} +\accentdef \d * 6a {\accentbelow {.}{.1ex}} +\accentdef \k * 6a {\accentbelow {\char12}{0pt}} + +\let\promile=\relax +\characterdef \promile 6a {\%\char 24 } +\characterdef \pertenthousand 6a {\%\char 24\char 24 } + +\characterdef \textendash 6a 21 +\characterdef \cyrdash 6a 22 +\characterdef \textemdash 6a 22 +\characterdef \textcompwordmark 6a 23 +\characterdef \textvisiblespace 6a 32 +\characterdef \textdollar 6a 36 +\characterdef \textless 6a 60 +\characterdef \textgreater 6a 62 +\characterdef \textbackslash 6a 92 +\characterdef \textasciicircum 6a 94 +\characterdef \textunderscore 6a 95 +\characterdef \textbraceleft 6a 123 +\characterdef \textbar 6a 124 +\characterdef \textbraceright 6a 125 +\characterdef \textasciitilde 6a 126 +\characterdef \textnumero 6a 157 +\characterdef \textcurrency 6a 158 +\characterdef \textsection 6a 159 +\characterdef \textquotedbl 6a 34 +\characterdef \textquoteleft 6a 96 +\characterdef \textquoteright 6a 39 +\characterdef \textquotedblleft 6a 16 +\characterdef \textquotedblright 6a 17 +\characterdef \quotedblbase 6a 189 +\characterdef \CYRpalochka 6a 13 +\characterdef \cyrlangle 6a 14 +\characterdef \cyrrangle 6a 15 +\characterdef \guillemotleft 6a 190 +\characterdef \guillemotright 6a 191 +\characterdef \dotlessi 6a 25 +\characterdef \dotlessj 6a 26 + +\let\i=\dotlessi \let\j=\dotlessj +\accentdef \. i 6a `\i +\accentdef \` i 6a {\accent0 \i} +\accentdef \` {\i} 6a {\accent0 \i} +\accentdef \' i 6a {\accent1 \i} +\accentdef \' {\i} 6a {\accent1 \i} +\accentdef \^ i 6a {\accent2 \i} +\accentdef \^ {\i} 6a {\accent2 \i} +\accentdef \" i 6a {\accent4 \i} +\accentdef \" {\i} 6a {\accent4 \i} + +\characterdef \CYRA 6a 192 +\characterdef \cyra 6a 224 +\characterdef \CYRB 6a 193 +\characterdef \cyrb 6a 225 +\characterdef \CYRV 6a 194 +\characterdef \cyrv 6a 226 +\characterdef \CYRG 6a 195 +\characterdef \cyrg 6a 227 +\characterdef \CYRD 6a 196 +\characterdef \cyrd 6a 228 +\characterdef \CYRE 6a 197 +\characterdef \cyre 6a 229 +\characterdef \CYRZH 6a 198 +\characterdef \cyrzh 6a 230 +\characterdef \CYRZ 6a 199 +\characterdef \cyrz 6a 231 +\characterdef \CYRI 6a 200 +\characterdef \cyri 6a 232 +\characterdef \CYRISHRT 6a 201 +\characterdef \cyrishrt 6a 233 +\characterdef \CYRK 6a 202 +\characterdef \cyrk 6a 234 +\characterdef \CYRL 6a 203 +\characterdef \cyrl 6a 235 +\characterdef \CYRM 6a 204 +\characterdef \cyrm 6a 236 +\characterdef \CYRN 6a 205 +\characterdef \cyrn 6a 237 +\characterdef \CYRO 6a 206 +\characterdef \cyro 6a 238 +\characterdef \CYRP 6a 207 +\characterdef \cyrp 6a 239 +\characterdef \CYRR 6a 208 +\characterdef \cyrr 6a 240 +\characterdef \CYRS 6a 209 +\characterdef \cyrs 6a 241 +\characterdef \CYRT 6a 210 +\characterdef \cyrt 6a 242 +\characterdef \CYRU 6a 211 +\characterdef \cyru 6a 243 +\characterdef \CYRF 6a 212 +\characterdef \cyrf 6a 244 +\characterdef \CYRH 6a 213 +\characterdef \cyrh 6a 245 +\characterdef \CYRC 6a 214 +\characterdef \cyrc 6a 246 +\characterdef \CYRCH 6a 215 +\characterdef \cyrch 6a 247 +\characterdef \CYRSH 6a 216 +\characterdef \cyrsh 6a 248 +\characterdef \CYRSHCH 6a 217 +\characterdef \cyrshch 6a 249 +\characterdef \CYRHRDSN 6a 218 +\characterdef \cyrhrdsn 6a 250 +\characterdef \CYRERY 6a 219 +\characterdef \cyrery 6a 251 +\characterdef \CYRSFTSN 6a 220 +\characterdef \cyrsftsn 6a 252 +\characterdef \CYREREV 6a 221 +\characterdef \cyrerev 6a 253 +\characterdef \CYRYU 6a 222 +\characterdef \cyryu 6a 254 +\characterdef \CYRYA 6a 223 +\characterdef \cyrya 6a 255 +\characterdef \CYRGUP 6a 128 +\characterdef \cyrgup 6a 160 +\characterdef \CYRGHCRS 6a 129 +\characterdef \cyrghcrs 6a 161 +\characterdef \CYRDJE 6a 130 +\characterdef \cyrdje 6a 162 +\characterdef \CYRTSHE 6a 131 +\characterdef \cyrtshe 6a 163 +\characterdef \CYRSHHA 6a 132 +\characterdef \cyrshha 6a 164 +\characterdef \CYRZHDSC 6a 133 +\characterdef \cyrzhdsc 6a 165 +\characterdef \CYRZDSC 6a 134 +\characterdef \cyrzdsc 6a 166 +\characterdef \CYRLJE 6a 135 +\characterdef \cyrlje 6a 167 +\characterdef \CYRYI 6a 136 +\characterdef \cyryi 6a 168 +\characterdef \CYRKDSC 6a 137 +\characterdef \cyrkdsc 6a 169 +\characterdef \CYRKBEAK 6a 138 +\characterdef \cyrkbeak 6a 170 +\characterdef \CYRKVCRS 6a 139 +\characterdef \cyrkvcrs 6a 171 +\characterdef \CYRAE 6a 140 +\characterdef \cyrae 6a 172 +\characterdef \CYRNDSC 6a 141 +\characterdef \cyrndsc 6a 173 +\characterdef \CYRNG 6a 142 +\characterdef \cyrng 6a 174 +\characterdef \CYRDZE 6a 143 +\characterdef \cyrdze 6a 175 +\characterdef \CYROTLD 6a 144 +\characterdef \cyrotld 6a 176 +\characterdef \CYRSDSC 6a 145 +\characterdef \cyrsdsc 6a 177 +\characterdef \CYRUSHRT 6a 146 +\characterdef \cyrushrt 6a 178 +\characterdef \CYRY 6a 147 +\characterdef \cyry 6a 179 +\characterdef \CYRYHCRS 6a 148 +\characterdef \cyryhcrs 6a 180 +\characterdef \CYRHDSC 6a 149 +\characterdef \cyrhdsc 6a 181 +\characterdef \CYRDZHE 6a 150 +\characterdef \cyrdzhe 6a 182 +\characterdef \CYRCHVCRS 6a 151 +\characterdef \cyrchvcrs 6a 183 +\characterdef \CYRCHRDSC 6a 152 +\characterdef \cyrchrdsc 6a 184 +\characterdef \CYRIE 6a 153 +\characterdef \cyrie 6a 185 +\characterdef \CYRSCHWA 6a 154 +\characterdef \cyrschwa 6a 186 +\characterdef \CYRNJE 6a 155 +\characterdef \cyrnje 6a 187 +\characterdef \CYRYO 6a 156 +\characterdef \cyryo 6a 188 +\characterdef \CYRII 6a 73 +\characterdef \cyrii 6a 105 +\characterdef \CYRJE 6a 74 +\characterdef \cyrje 6a 106 +\characterdef \CYRQ 6a 81 +\characterdef \cyrq 6a 113 +\characterdef \CYRW 6a 87 +\characterdef \cyrw 6a 119 + +\accentdef \" \CYRE 6a 156 +\accentdef \" \cyre 6a 188 +\accentdef \U \CYRI 6a 201 +\accentdef \U \cyri 6a 233 +\accentdef \" \CYRII 6a 136 +\accentdef \" \cyrii 6a 168 +\accentdef \c \CYRZ 6a 134 +\accentdef \c \cyrz 6a 166 +\accentdef \k \CYRS 6a 145 +\accentdef \k \cyrs 6a 177 +\accentdef \U \CYRU 6a 146 +\accentdef \U \cyru 6a 178 + +%%% lccodes, uccodes: + +\modifydef 6a:lccodes; {% For \setlang, see langdoc.tex + \skipfirststep + \lccodesloop ^^a0^^bc^^80% from \cyrgup to \cyryo, first cap: \CYRGUP + \lccodesloop ^^e0^^ff^^c0% from \cyra to \cyrya, first cap: \CYRA + \def\lccodesback {\zerolccodes ^^80^^ff}% +} + + +%%% The CM font metric mapping: + +\registerECfont cmr6a larm % +\registerECfont cmbx6a labx % +\registerECfont cmti6a lati % +\registerECfont cmbxti6a labi % +\registerECfont cmsl6a lasl % +\registerECfont cmbxsl6a labl % + +\registerECfont cmss6a lass % +\registerECfont cmssbx6a lasx % +\registerECfont cmssi6a lasi % +\registerECfont cmssbxti6a laso % + +\registerECTTfont cmtt6a latt % +\registerECTTfont cmitt6a lait % +\registerECTTfont cmsltt6a last % + + + + + + + + + + + + + + diff --git a/Master/texmf-dist/tex/generic/ofs/ofs-6c.tex b/Master/texmf-dist/tex/generic/ofs/ofs-6c.tex new file mode 100644 index 00000000000..f3a2ff2230e --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/ofs-6c.tex @@ -0,0 +1,249 @@ +% OFS: Declaration of Cyrrilic T2A encoding +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Mar 2004 Petr Olsak + +% 6c = T2C encoding + +\protectreading ofs-6c.tex % This is part of OFS package + +\accentdef \` * 6c {\accent 0} +\accentdef \' * 6c {\accent 1} +\accentdef \^ * 6c {\accent 2} +\accentdef \~ * 6c {\accent 3} +\accentdef \" * 6c {\accent 4} +\accentdef \H * 6c {\accent 5} +\accentdef \r * 6c {\accent 6} +\accentdef \v * 6c {\accent 7} +\accentdef \u * 6c {\accent 8} +\accentdef \= * 6c {\accent 9} +\accentdef \. * 6c {\accent 10} +\accentdef \f * 6c {\accent 18} +\accentdef \C * 6c {\accent 19} +\accentdef \U * 6c {\accent 20} +\accentdef \b * 6c {\accentbelow {\char9}{.15ex}} +\accentdef \c * 6c {\accentbelow {\char11}{0pt}} +\accentdef \d * 6c {\accentbelow {.}{.1ex}} +\accentdef \k * 6c {\accentbelow {\char12}{0pt}} + +\let\promile=\relax +\characterdef \promile 6c {\%\char 24 } +\characterdef \pertenthousand 6c {\%\char 24\char 24 } + +\characterdef \textendash 6c 21 +\characterdef \cyrdash 6c 22 +\characterdef \textemdash 6c 22 +\characterdef \textcompwordmark 6c 23 +\characterdef \textvisiblespace 6c 32 +\characterdef \textdollar 6c 36 +\characterdef \textless 6c 60 +\characterdef \textgreater 6c 62 +\characterdef \textbackslash 6c 92 +\characterdef \textasciicircum 6c 94 +\characterdef \textunderscore 6c 95 +\characterdef \textbraceleft 6c 123 +\characterdef \textbar 6c 124 +\characterdef \textbraceright 6c 125 +\characterdef \textasciitilde 6c 126 +\characterdef \textnumero 6c 157 +\characterdef \textcurrency 6c 158 +\characterdef \textsection 6c 159 +\characterdef \textquotedbl 6c 34 +\characterdef \textquoteleft 6c 96 +\characterdef \textquoteright 6c 39 +\characterdef \textquotedblleft 6c 16 +\characterdef \textquotedblright 6c 17 +\characterdef \quotedblbase 6c 189 +\characterdef \CYRpalochka 6c 13 +\characterdef \cyrlangle 6c 14 +\characterdef \cyrrangle 6c 15 +\characterdef \guillemotleft 6c 190 +\characterdef \guillemotright 6c 191 +\characterdef \dotlessi 6c 25 +\characterdef \dotlessj 6c 26 + +\let\i=\dotlessi \let\j=\dotlessj +\accentdef \. i 6c `\i +\accentdef \` i 6c {\accent0 \i} +\accentdef \` {\i} 6c {\accent0 \i} +\accentdef \' i 6c {\accent1 \i} +\accentdef \' {\i} 6c {\accent1 \i} +\accentdef \^ i 6c {\accent2 \i} +\accentdef \^ {\i} 6c {\accent2 \i} +\accentdef \" i 6c {\accent4 \i} +\accentdef \" {\i} 6c {\accent4 \i} + +\characterdef \CYRA 6c 192 +\characterdef \cyra 6c 224 +\characterdef \CYRB 6c 193 +\characterdef \cyrb 6c 225 +\characterdef \CYRV 6c 194 +\characterdef \cyrv 6c 226 +\characterdef \CYRG 6c 195 +\characterdef \cyrg 6c 227 +\characterdef \CYRD 6c 196 +\characterdef \cyrd 6c 228 +\characterdef \CYRE 6c 197 +\characterdef \cyre 6c 229 +\characterdef \CYRZH 6c 198 +\characterdef \cyrzh 6c 230 +\characterdef \CYRZ 6c 199 +\characterdef \cyrz 6c 231 +\characterdef \CYRI 6c 200 +\characterdef \cyri 6c 232 +\characterdef \CYRISHRT 6c 201 +\characterdef \cyrishrt 6c 233 +\characterdef \CYRK 6c 202 +\characterdef \cyrk 6c 234 +\characterdef \CYRL 6c 203 +\characterdef \cyrl 6c 235 +\characterdef \CYRM 6c 204 +\characterdef \cyrm 6c 236 +\characterdef \CYRN 6c 205 +\characterdef \cyrn 6c 237 +\characterdef \CYRO 6c 206 +\characterdef \cyro 6c 238 +\characterdef \CYRP 6c 207 +\characterdef \cyrp 6c 239 +\characterdef \CYRR 6c 208 +\characterdef \cyrr 6c 240 +\characterdef \CYRS 6c 209 +\characterdef \cyrs 6c 241 +\characterdef \CYRT 6c 210 +\characterdef \cyrt 6c 242 +\characterdef \CYRU 6c 211 +\characterdef \cyru 6c 243 +\characterdef \CYRF 6c 212 +\characterdef \cyrf 6c 244 +\characterdef \CYRH 6c 213 +\characterdef \cyrh 6c 245 +\characterdef \CYRC 6c 214 +\characterdef \cyrc 6c 246 +\characterdef \CYRCH 6c 215 +\characterdef \cyrch 6c 247 +\characterdef \CYRSH 6c 216 +\characterdef \cyrsh 6c 248 +\characterdef \CYRSHCH 6c 217 +\characterdef \cyrshch 6c 249 +\characterdef \CYRHRDSN 6c 218 +\characterdef \cyrhrdsn 6c 250 +\characterdef \CYRERY 6c 219 +\characterdef \cyrery 6c 251 +\characterdef \CYRSFTSN 6c 220 +\characterdef \cyrsftsn 6c 252 +\characterdef \CYREREV 6c 221 +\characterdef \cyrerev 6c 253 +\characterdef \CYRYU 6c 222 +\characterdef \cyryu 6c 254 +\characterdef \CYRYA 6c 223 +\characterdef \cyrya 6c 255 +\characterdef \CYRPHK 6c 128 +\characterdef \cyrphk 6c 160 +\characterdef \CYRTETSE 6c 129 +\characterdef \cyrtetse 6c 161 +\characterdef \CYRTDSC 6c 130 +\characterdef \cyrtdsc 6c 162 +\characterdef \CYRGHK 6c 131 +\characterdef \cyrghk 6c 163 +\characterdef \CYRSHHA 6c 132 +\characterdef \cyrshha 6c 164 +\characterdef \CYRRDSC 6c 133 +\characterdef \cyrrdsc 6c 165 +\characterdef \CYRRTICK 6c 134 +\characterdef \cyrrtick 6c 166 +\characterdef \CYRABHDZE 6c 135 +\characterdef \cyrabhdze 6c 167 +\characterdef \CYRMDSC 6c 136 +\characterdef \cyrmdsc 6c 168 +\characterdef \CYRKDSC 6c 137 +\characterdef \cyrkdsc 6c 169 +\characterdef \CYRLDSC 6c 138 +\characterdef \cyrldsc 6c 170 +\characterdef \CYRKHCRS 6c 139 +\characterdef \cyrkhcrs 6c 171 +\characterdef \CYRLHK 6c 140 +\characterdef \cyrlhk 6c 172 +\characterdef \CYRNDSC 6c 141 +\characterdef \cyrndsc 6c 173 +\characterdef \CYRMHK 6c 142 +\characterdef \cyrmhk 6c 174 +\characterdef \CYRNHK 6c 143 +\characterdef \cyrnhk 6c 175 +\characterdef \CYROTLD 6c 144 +\characterdef \cyrotld 6c 176 +\characterdef \CYRABHCH 6c 145 +\characterdef \cyrabhch 6c 177 +\characterdef \CYRABHCHDSC 6c 146 +\characterdef \cyrabhchdsc 6c 178 +\characterdef \CYRSEMISFTSN 6c 147 +\characterdef \cyrsemisftsn 6c 179 +\characterdef \CYRISHRTDSC 6c 148 +\characterdef \cyrishrtdsc 6c 180 +\characterdef \CYRHDSC 6c 149 +\characterdef \cyrhdsc 6c 181 +\characterdef \CYRDZHE 6c 150 +\characterdef \cyrdzhe 6c 182 +\characterdef \CYRABHHA 6c 151 +\characterdef \cyrabhha 6c 183 +\characterdef \CYRCHRDSC 6c 152 +\characterdef \cyrchrdsc 6c 184 +\characterdef \CYRNLHK 6c 153 +\characterdef \cyrnlhk 6c 185 +\characterdef \CYRSCHWA 6c 154 +\characterdef \cyrschwa 6c 186 +\characterdef \CYRRHK 6c 155 +\characterdef \cyrrhk 6c 187 +\characterdef \CYRYO 6c 156 +\characterdef \cyryo 6c 188 +\characterdef \CYRII 6c 73 +\characterdef \cyrii 6c 105 +\characterdef \CYRJE 6c 74 +\characterdef \cyrje 6c 106 +\characterdef \CYRQ 6c 81 +\characterdef \cyrq 6c 113 +\characterdef \CYRDZE 6c 83 +\characterdef \cyrdze 6c 115 +\characterdef \CYRW 6c 87 +\characterdef \cyrw 6c 119 + +\accentdef \" \CYRE 6c 156 +\accentdef \" \cyre 6c 188 +\accentdef \U \CYRI 6c 201 +\accentdef \U \cyri 6c 233 +\accentdef \k \CYRABHCH 6c 201 +\accentdef \k \cyrabhch 6c 233 + +%% lccodes, uccodes: + +\modifydef 6c:lccodes; {% For \setlang, see langdoc.tex + \skipfirststep + \lccodesloop ^^a0^^bc^^80% from \cyrgup to \cyryo, first cap: \CYRGUP + \lccodesloop ^^e0^^ff^^c0% from \cyra to \cyrya, first cap: \CYRA + \def\lccodesback {\zerolccodes ^^80^^ff}% +} + + +%%% The CM font metric mapping: + +\registerECfont cmr6c lcrm % +\registerECfont cmbx6c lcbx % +\registerECfont cmti6c lcti % +\registerECfont cmbxti6c lcbi % +\registerECfont cmsl6c lcsl % +\registerECfont cmbxsl6c lcbl % + +\registerECfont cmss6c lcss % +\registerECfont cmssbx6c lcsx % +\registerECfont cmssi6c lcsi % +\registerECfont cmssbxti6c lcso % + +\registerECTTfont cmtt6c lctt % +\registerECTTfont cmitt6c lcit % +\registerECTTfont cmsltt6c lcst % + + + + + + + + diff --git a/Master/texmf-dist/tex/generic/ofs/ofs-6k.tex b/Master/texmf-dist/tex/generic/ofs/ofs-6k.tex new file mode 100644 index 00000000000..4014e4d2e4a --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/ofs-6k.tex @@ -0,0 +1,202 @@ +% OFS: Declaration of Cyrrilic T2A encoding +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Mar 2004 Petr Olsak + +% 6k = Koi8 encoding + Computer Modern + +\protectreading ofs-6k.tex % This is part of OFS package + +\accentdef \` * 6k {\accent 18 } % grave +\accentdef \' * 6k {\accent 19 } % acute +\accentdef \v * 6k {\accent 20 } % caron +\accentdef \u * 6k {\accent 21 } % breve +\accentdef \= * 6k {\accent 22 } % macron +\accentdef \r * 6k {\accent 23 } % ring +\accentdef \^ * 6k {\accent 94 } % circumflex +\accentdef \. * 6k {\accent 95 } % dot-accent +\accentdef \H * 6k {\accent 125 } % hungar-umlaut +\accentdef \~ * 6k {\accent 126 } % tilde +\accentdef \" * 6k {\accent 127 } % dieresis +\accentdef \c * 6k {\accentbelow {\char24}{0pt}} % cedilla +\accentdef \k * 6k {\accentbelow {\char157}{0pt}} % ogonek +\accentdef \m * 6k {\accentbelow {,}{.1ex}} % comma-accent +\accentdef \b * 6k {\accentbelow {\char22}{.15ex}} % underscore +\accentdef \d * 6k {\accentbelow {.}{.1ex}} % dot below + +\def\aa{\r a} +\def\AA{\r A} + +\characterdef \dotlessi 6k 16 +\characterdef \dotlessj 6k 17 +\let\i=\dotlessi \let\j=\dotlessj + +\accentdef \" i 6k {\accent 127 \dotlessi} +\accentdef \" {\i} 6k {\accent 127 \dotlessi} + +\let\SS=\relax \let\AE=\relax \let\OE=\relax \let\O=\relax +\characterdef \SS 6k {SS} +\characterdef \AE 6k 29 +\characterdef \OE 6k 30 +\characterdef \O 6k 31 + +\let\ss=\relax \let\ae=\relax \let\oe=\relax \let\o=\relax +\characterdef \ss 6k 25 +\characterdef \ae 6k 26 +\characterdef \oe 6k 27 +\characterdef \o 6k 28 +\characterdef \ellipsis 6k {\dots} + +\let\elqq=\relax \let\erqq=\relax \let\elq=\relax \let\erq=\relax +\characterdef \elqq 6k 92 +\characterdef \erqq 6k 34 +\characterdef \elq 6k `\` +\characterdef \erq 6k `\' + +\characterdef \exclamdown 6k 60 +\characterdef \questiondown 6k 62 + +\characterdef \CYRA 6k 225 +\characterdef \CYRB 6k 226 +\characterdef \CYRV 6k 247 +\characterdef \CYRG 6k 231 +\characterdef \CYRD 6k 228 +\characterdef \CYRE 6k 229 +\characterdef \CYRYO 6k 179 +\characterdef \CYRZH 6k 246 +\characterdef \CYRZ 6k 250 +\characterdef \CYRI 6k 233 +\characterdef \CYRISHRT 6k 234 +\characterdef \CYRK 6k 235 +\characterdef \CYRL 6k 236 +\characterdef \CYRM 6k 237 +\characterdef \CYRN 6k 238 +\characterdef \CYRO 6k 239 +\characterdef \CYRP 6k 240 +\characterdef \CYRR 6k 242 +\characterdef \CYRS 6k 243 +\characterdef \CYRT 6k 244 +\characterdef \CYRU 6k 245 +\characterdef \CYRF 6k 230 +\characterdef \CYRH 6k 232 +\characterdef \CYRC 6k 227 +\characterdef \CYRCH 6k 254 +\characterdef \CYRSH 6k 251 +\characterdef \CYRSHCH 6k 253 +\characterdef \CYRHRDSN 6k 255 +\characterdef \CYRERY 6k 249 +\characterdef \CYRSFTSN 6k 248 +\characterdef \CYREREV 6k 252 +\characterdef \CYRYU 6k 224 +\characterdef \CYRYA 6k 241 +\characterdef \cyra 6k 193 +\characterdef \cyrb 6k 194 +\characterdef \cyrv 6k 215 +\characterdef \cyrg 6k 199 +\characterdef \cyrd 6k 196 +\characterdef \cyre 6k 197 +\characterdef \cyryo 6k 163 +\characterdef \cyrzh 6k 214 +\characterdef \cyrz 6k 218 +\characterdef \cyri 6k 201 +\characterdef \cyrishrt 6k 202 +\characterdef \cyrk 6k 203 +\characterdef \cyrl 6k 204 +\characterdef \cyrm 6k 205 +\characterdef \cyrn 6k 206 +\characterdef \cyro 6k 207 +\characterdef \cyrp 6k 208 +\characterdef \cyrr 6k 210 +\characterdef \cyrs 6k 211 +\characterdef \cyrt 6k 212 +\characterdef \cyru 6k 213 +\characterdef \cyrf 6k 198 +\characterdef \cyrh 6k 200 +\characterdef \cyrc 6k 195 +\characterdef \cyrch 6k 222 +\characterdef \cyrsh 6k 219 +\characterdef \cyrshch 6k 221 +\characterdef \cyrhrdsn 6k 223 +\characterdef \cyrery 6k 217 +\characterdef \cyrsftsn 6k 216 +\characterdef \cyrerev 6k 220 +\characterdef \cyryu 6k 192 +\characterdef \cyrya 6k 209 + +\modifydef 6k:lccodes; {% For \setlang, see langdoc.tex + \skipfirststep + \lccodesloop ^^c0^^df^^e0% + \lccodes ^^a3^^b3% + \def\lccodesback {\zerolccodes ^^c0^^ff% + \zerolccodes ^^a3^^a3% + \zerolccodes ^^b3^^b3}% +} + +\registertfm cmr6k - kcr10 % +\registertfm cmr6k 0pt-6pt kcr5 % +\registertfm cmr6k 6pt-7pt kcr6 % +\registertfm cmr6k 7pt-8pt kcr7 % +\registertfm cmr6k 8pt-9pt kcr8 % +\registertfm cmr6k 9pt-10pt kcr9 % +\registertfm cmr6k 10pt-12pt kcr10 % +\registertfm cmr6k 12pt-17pt kcr12 % +\registertfm cmr6k 17pt-* kcr17 % + +\registertfm cmbx6k - kcbx10 % +\registertfm cmbx6k 0pt-6pt kcbx5 % +\registertfm cmbx6k 6pt-7pt kcbx6 % +\registertfm cmbx6k 7pt-8pt kcbx7 % +\registertfm cmbx6k 8pt-9pt kcbx8 % +\registertfm cmbx6k 9pt-10pt kcbx9 % +\registertfm cmbx6k 10pt-12pt kcbx10 % +\registertfm cmbx6k 12pt-* kcbx12 % + +\registertfm cmti6k - kcti10 % +\registertfm cmti6k 0pt-8pt kcti7 % +\registertfm cmti6k 8pt-9pt kcti8 % +\registertfm cmti6k 9pt-10pt kcti9 % +\registertfm cmti6k 10pt-12pt kcti10 % +\registertfm cmti6k 12pt-17pt kcti12 % +\registertfm cmti6k 17pt-* kcti17 % + +\registertfm cmbxti6k - kcbxti10 % +\registertfm cmbxti6k 0pt-12pt kcbxti10 % +\registertfm cmbxti6k 12pt-17pt kcbxti12 % +\registertfm cmbxti6k 17pt-* kcbxti17 % + +\registertfm cmsl6k - kcsl10 % +\registertfm cmsl6k 0pt-6pt kcsl5 % +\registertfm cmsl6k 6pt-7pt kcsl6 % +\registertfm cmsl6k 7pt-8pt kcsl7 % +\registertfm cmsl6k 8pt-9pt kcsl8 % +\registertfm cmsl6k 9pt-10pt kcsl9 % +\registertfm cmsl6k 10pt-12pt kcsl10 % +\registertfm cmsl6k 12pt-17pt kcsl12 % +\registertfm cmsl6k 17pt-* kcsl17 % + +\registertfm cmbxsl6k - kcbxsl10 % +\registertfm cmsltt6k - kcsltt10 % + +\registertfm cmss6k - kcss10 % +\registertfm cmss6k 0pt-9pt kcss8 % +\registertfm cmss6k 9pt-10pt kcss9 % +\registertfm cmss6k 10pt-12pt kcss10 % +\registertfm cmss6k 12pt-17pt kcss12 % +\registertfm cmss6k 17pt-* kcss17 % + +\registertfm cmssbx6k - kcssbx10 % + +\registertfm cmssi6k - kcssi10 % +\registertfm cmssi6k 0pt-9pt kcssi8 % +\registertfm cmssi6k 9pt-10pt kcssi9 % +\registertfm cmssi6k 10pt-12pt kcssi10 % +\registertfm cmssi6k 12pt-17pt kcssi12 % +\registertfm cmssi6k 17pt-* kcssi17 % + +\registertfm cmtt6k - kctt10 % +\registertfm cmtt6k 0pt-9pt kctt8 % +\registertfm cmtt6k 9pt-10pt kctt9 % +\registertfm cmtt6k 10pt-12pt kctt10 % +\registertfm cmtt6k 12pt-* kctt12 % + +\registertfm cmitt6k - kcitt10 % + diff --git a/Master/texmf-dist/tex/generic/ofs/ofs-6s.tex b/Master/texmf-dist/tex/generic/ofs/ofs-6s.tex new file mode 100644 index 00000000000..2f41493fd2a --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/ofs-6s.tex @@ -0,0 +1,358 @@ +% Encoding definition of fonts by Storm Type Foundry +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Jun 2001 Petr Olsak +% Feb 2004 + +% See stormtex.html and ofsdoc.tex manuals for more details. + +\ifx \characterdef \undefined \input ofs \fi +\protectreading ofs-6s.tex % This is part of OFS package + +\ifx \characterdef \undefined \input ofs \fi + +\fontmessage {\ofsmessageheader + Characters + accents of fonts by Storm Type Foundry defined.} + +%% Extra encoding, characters %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\characterdef \onesuperior 6s 1 +\characterdef \twosuperior 6s 2 +\characterdef \threesuperior 6s 3 +\characterdef \textleq 6s 4 +\characterdef \textneq 6s 5 +\characterdef \textgeq 6s 6 +\characterdef \textpm 6s 7 +\characterdef \onequarter 6s 8 +\characterdef \onehalf 6s 9 +\characterdef \threequarters 6s 10 +\characterdef \fraction 6s 11 +\characterdef \degree 6s 12 +\characterdef \brokenbar 6s 13 +\characterdef \fullbar 6s 124 +\characterdef \textsum 6s 16 + +\characterdef \textOmega 6s 17 +\characterdef \textminus 6s 0 +\characterdef \textmu 6s 19 +\characterdef \textDelta 6s 20 +\characterdef \textneg 6s 21 +\characterdef \textinfty 6s 22 +\characterdef \textradical 6s 23 +\characterdef \textbackslash 6s 92 +\characterdef \textbraceleft 6s 123 +\characterdef \textbraceright 6s 125 +\characterdef \textless 6s 60 +\characterdef \textgreater 6s 62 +\characterdef \texttimes 6s 14 +\characterdef \textdiv 6s 15 + +\characterdef \quotedbl 6s 34 +\characterdef \asciicircum 6s 94 +\characterdef \underscore 6s 95 +\characterdef \asciitilde 6s 126 +\characterdef \periodcentered 6s 127 + +\characterdef \ordfeminine 6s 24 +\characterdef \ordmasculine 6s 25 + +\characterdef \vargrave 6s 26 +\characterdef \varacute 6s 27 +\characterdef \varcaron 6s 28 +\characterdef \varcircumflex 6s 29 +\characterdef \varbreve 6s 30 +\characterdef \varring 6s 31 +\characterdef \varmacron 6s 35 +\characterdef \vardotaccent 6s 36 +\characterdef \varhungarumlaut 6s 37 +\characterdef \varogonek 6s 38 +\characterdef \varcedilla 6s 39 +\characterdef \vartilde 6s 40 +\characterdef \vardieresis 6s 41 +\characterdef \commaaccent 6s 42 + +\characterdef \euro 6s 136 \let\Euro=\euro + +\characterdef \franc 6s 137 +\characterdef \cent 6s 168 +\characterdef \yen 6s 169 + +\characterdef \varv 6s 18 % This character has a bad internal + % Type1 name: pi, sometimes it looks + % as pi, sometimes as varv :-( +\characterdef \ligct 6s 128 +\characterdef \ligst 6s 129 +\characterdef \ligft 6s 130 +\characterdef \longst 6s 131 +\characterdef \longs 6s 132 +\characterdef \florin 6s 134 + +\characterdef \dag 6s 160 +\characterdef \ddag 6s 161 +\characterdef \textbullet 6s 162 +\characterdef \paragraph 6s 163 +\characterdef \ellipsis 6s 164 +\characterdef \trademark 6s 165 +\let\copyright=\relax +\characterdef \copyright * {\ofscopyright} +\characterdef \copyright 6s 166 +\characterdef \registered 6s 167 +\characterdef \currency 6s 168 % Does not work in Storm fonts + +\characterdef \varzero 6s 48 +\characterdef \varone 6s 49 +\characterdef \vartwo 6s 50 +\characterdef \varthree 6s 51 +\characterdef \varfour 6s 52 +\characterdef \varfive 6s 53 +\characterdef \varsix 6s 54 +\characterdef \varseven 6s 55 +\characterdef \vareight 6s 56 +\characterdef \varnine 6s 57 + +\characterdef \Eth 6s 144 +\characterdef \eth 6s 176 +\characterdef \Thorn 6s 145 +\characterdef \thorn 6s 177 +\characterdef \IJ 6s 156 +\characterdef \ij 6s 188 +\characterdef \O 6s 216 +\characterdef \o 6s 248 + +%%% Extra encoding, accented letters %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\accentdef \~ A 6s 195 +\accentdef \= A 6s 196 +\accentdef \r A 6s 197 +\accentdef \~ a 6s 227 +\accentdef \= a 6s 228 +\accentdef \r a 6s 229 +\accentdef \^ C 6s 198 +\accentdef \. C 6s 199 +\accentdef \^ c 6s 230 +\accentdef \. c 6s 231 +\accentdef \= d 6s 135 +\accentdef \` E 6s 200 +\accentdef \u E 6s 201 +\accentdef \^ E 6s 202 +\accentdef \= E 6s 203 +\accentdef \. E 6s 193 +\accentdef \` e 6s 232 +\accentdef \u e 6s 233 +\accentdef \^ e 6s 234 +\accentdef \= e 6s 235 +\accentdef \. e 6s 225 +\accentdef \u G 6s 154 +\accentdef \^ G 6s 218 +\accentdef \. G 6s 219 +\accentdef \c G 6s 220 +\accentdef \u g 6s 186 +\accentdef \^ g 6s 250 +\accentdef \. g 6s 251 +\accentdef \c g 6s 252 +\accentdef \' g 6s 185 +\accentdef \^ H 6s 222 +\accentdef \= H 6s 223 +\accentdef \^ h 6s 254 +\accentdef \= h 6s 255 +\accentdef \. I 6s 157 +\accentdef \` I 6s 204 +\accentdef \~ I 6s 205 +\accentdef \= I 6s 206 +\accentdef \" I 6s 207 +\accentdef \k I 6s 208 +\accentdef \. i 6s `\i +\accentdef \` i 6s 236 +\accentdef \~ i 6s 237 +\accentdef \= i 6s 238 +\accentdef \" i 6s 239 +\accentdef \k i 6s 240 +\accentdef \^ J 6s 155 +\accentdef \^ j 6s 187 +\accentdef \c K 6s 215 +\accentdef \c k 6s 247 +\accentdef \c L 6s 158 +\accentdef \. L 6s 159 +\accentdef \c l 6s 190 +\accentdef \. l 6s 191 +\accentdef \~ N 6s 209 +\accentdef \c N 6s 214 +\accentdef \m n 6s 184 +\accentdef \~ n 6s 241 +\accentdef \c n 6s 246 +\accentdef \` O 6s 210 +\accentdef \= O 6s 211 +\accentdef \u O 6s 212 +\accentdef \~ O 6s 213 +\accentdef \` o 6s 242 +\accentdef \= o 6s 243 +\accentdef \u o 6s 244 +\accentdef \~ o 6s 245 +\accentdef \c R 6s 147 +\accentdef \c r 6s 179 +\accentdef \m S 6s 221 +\accentdef \^ S 6s 148 +\accentdef \m s 6s 253 +\accentdef \^ s 6s 180 +\accentdef \= T 6s 140 +\accentdef \m T 6s 141 +\accentdef \= t 6s 172 +\accentdef \m t 6s 173 +\accentdef \= U 6s 142 +\accentdef \u U 6s 143 +\accentdef \^ U 6s 149 +\accentdef \k U 6s 150 +\accentdef \~ U 6s 151 +\accentdef \` U 6s 217 +\accentdef \= u 6s 174 +\accentdef \u u 6s 175 +\accentdef \^ u 6s 181 +\accentdef \k u 6s 182 +\accentdef \~ u 6s 183 +\accentdef \` u 6s 249 +\accentdef \^ W 6s 192 +\accentdef \^ w 6s 224 +\accentdef \^ Y 6s 194 +\accentdef \" Y 6s 146 +\accentdef \^ y 6s 226 +\accentdef \" y 6s 178 + +%%% Extra characters from StormL2Encoding (no present in 8z standard) + +\modifydef 8z:storm; {% + \characterdef \degree 8z 176 + \characterdef \euro 8z 134 + \characterdef \trademark 8z 136 + \characterdef \copyright 8z 137 + \characterdef \registered 8z 138 + \characterdef \flq 8z 142 + \characterdef \frq 8z 143 + \characterdef \clq 8z 154 + \characterdef \crq 8z 155 + \characterdef \ligct 8z 145 + \characterdef \ligst 8z 146 + \characterdef \ligft 8z 147 + \characterdef \longst 8z 148 + \characterdef \longs 8z 149 + \characterdef \varv 8z 144 + \characterdef \florin 8z 151 +} + +%%% Differences between StormT1Encoding and standard T1 encoding %%%%% + +\modifydef 8t:storm;{% + \characterdel \promile 8t {\%\char 24 } + \characterdef \promile 8t 24 % the "perzero" is missing in Storm fonts + \characterdel \textpertenthousand 8t {\%\char 24\char 24 } + \characterdel \dotlessj 8t 26 + \characterdef \varv 8t 26 % dotlessj is missing in Storm fonts +} +\modifydef 6s:noligs; {% + \characterdel \ligct 6s 128 + \characterdel \ligst 6s 129 + \characterdel \ligft 6s 130 +} + +\modifydef 6s:vardigits;{% + \characterdef \vardigits * {\setextrafont} +} + +%%% The \CAP? macros %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% variant accents for capital letters + +\def\CAP#1{\csname CAP\string#1\endcsname} +\def\CAPdef #1 {\expandafter\def\csname CAP\string#1\endcsname} + +\def\CAPv {\aboveCAP \varcaron \v} +\def\CAPu {\aboveCAP \varbreve \u} +\def\CAPr {\aboveCAP \varring \r} +\def\CAPH {\aboveCAP \varhungarumlaut \H} +\CAPdef ` {\aboveCAP \vargrave \`} +\CAPdef ' {\aboveCAP \varacute \'} +\CAPdef = {\aboveCAP \varmacron \=} +\CAPdef ^ {\aboveCAP \varcircumflex \^} +\CAPdef . {\aboveCAP \vardotaccent \.} +\CAPdef " {\aboveCAP \vardieresis \"} +\CAPdef ~ {\aboveCAP \vartilde \~} + +\def\aboveCAP #1#2{% + \ifx\expandaction\noexpand + \noexpand\aboveCAP \noexpand#1\noexpand#2% + \else + \csname fragilecommand!\endcsname + \setbox2=\hbox{X}\dimen4=\ht2 + \setbox0=\hbox{#1}\dimen0=\ht0 \advance\dimen0 by-.2ex + \ifdim\dimen4>\dimen0 \def\tmpa{#2}% + \else \def\tmpa{\accentabove {#1}{-\dimen4}}% + \fi \expandafter \tmpa + \fi +} + +%%% \stmath sets some math characters from extra encoding %%%%%% + +% use in this order: \setfonts [Family/] \stmath \setmath[//] + +\def\stmath{\ifx\extraenc\stextraenc + \def\mathfonts{\defaultmathfonts + \csname st\mathversion math\endcsname}% + \def\mathchars{\defaultmathchars \stmathchars \let\mathchars=\relax}% + \else \displaymessage{\ofsmessageheader WARNING. + No extra enc 6s defined. \noexpand\stmath ignored.}% + \fi +} +\def\stextraenc{6s} + +\def\stnormalmath{% + \newmathfam \Xrmfam + \loadmathfam \Xrmfam [Xtenrm/]% +} +\def\stboldmath{% + \newmathfam \Xrmfam + \loadmathfam \Xrmfam [Xtenbf/]% +} +\def\stmathchars{% + \mathcode`\- "2\hex\Xrmfam 00 + \mathcode`\< "3\hex\Xrmfam 3C + \mathcode`\> "3\hex\Xrmfam 3E + % + \edef\lbrace{\delimiter"4\hex\Xrmfam 7B308 }\let\{=\lbrace + \edef\vert {\delimiter"2\hex\Xrmfam 7C30C }\let\|=\vert + \edef\rbrace{\delimiter"5\hex\Xrmfam 7D309 }\let\}=\rbrace + % + \mathchardef \leq "3\hex\Xrmfam 04 \let\le=\leq + \mathchardef \neq "3\hex\Xrmfam 05 \let\ne=\neq + \mathchardef \geq "3\hex\Xrmfam 06 \let\ge=\geq + \mathchardef \neg "3\hex\Xrmfam 15 \let\lnot=\neg + \mathchardef \pm "2\hex\Xrmfam 07 + \mathchardef \times "2\hex\Xrmfam 0E + \mathchardef \div "2\hex\Xrmfam 0F + \mathchardef \infty "2\hex\Xrmfam 16 + % + \safemathchardef \onesuperior "\hex\Xrmfam 01 + \safemathchardef \twosuperior "\hex\Xrmfam 02 + \safemathchardef \threesuperior "\hex\Xrmfam 03 + \safemathchardef \onequarter "\hex\Xrmfam 08 + \safemathchardef \onehalf "\hex\Xrmfam 09 + \safemathchardef \threequarters "\hex\Xrmfam 0A + \safemathchardef \fraction "\hex\Xrmfam 0B + \mathchardef \dagger "2\hex\Xrmfam A0 + \mathchardef \ddagger "2\hex\Xrmfam A1 + \safemathchardef \dag "\hex\Xrmfam A0 + \safemathchardef \ddag "\hex\Xrmfam A1 + \let\bullet=\textbullet + \safemathchardef \bullet "2\hex\Xrmfam A2 +} + +%%% eof + +\endinput %%% the following macros will be included in LANG style files + +%%% Macros for quotes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\singleuv#1{\clq#1\crq} +\def\doubleuv#1{\clqq#1\crqq} +\def\singlefuv#1{\frq#1\flq} +\def\doublefuv#1{\frqq#1\flqq} +\let\uv=\doubleuv +\let\fuv=\doublefuv + diff --git a/Master/texmf-dist/tex/generic/ofs/ofs-6t.tex b/Master/texmf-dist/tex/generic/ofs/ofs-6t.tex new file mode 100644 index 00000000000..ef3c0b0541e --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/ofs-6t.tex @@ -0,0 +1,242 @@ +% OFS: Declaration of Cyrrilic T2A encoding +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Mar 2004 Petr Olsak + +% 6t = T2B encoding + +\protectreading ofs-6t.tex % This is part of OFS package + +\accentdef \` * 6t {\accent 0} +\accentdef \' * 6t {\accent 1} +\accentdef \^ * 6t {\accent 2} +\accentdef \~ * 6t {\accent 3} +\accentdef \" * 6t {\accent 4} +\accentdef \H * 6t {\accent 5} +\accentdef \r * 6t {\accent 6} +\accentdef \v * 6t {\accent 7} +\accentdef \u * 6t {\accent 8} +\accentdef \= * 6t {\accent 9} +\accentdef \. * 6t {\accent 10} +\accentdef \f * 6t {\accent 18} +\accentdef \C * 6t {\accent 19} +\accentdef \U * 6t {\accent 20} +\accentdef \b * 6t {\accentbelow {\char9}{.15ex}} +\accentdef \c * 6t {\accentbelow {\char11}{0pt}} +\accentdef \d * 6t {\accentbelow {.}{.1ex}} +\accentdef \k * 6t {\accentbelow {\char12}{0pt}} + +\let\promile=\relax +\characterdef \promile 6t {\%\char 24 } +\characterdef \pertenthousand 6t {\%\char 24\char 24 } + +\characterdef \textendash 6t 21 +\characterdef \cyrdash 6t 22 +\characterdef \textemdash 6t 22 +\characterdef \textcompwordmark 6t 23 +\characterdef \textvisiblespace 6t 32 +\characterdef \textdollar 6t 36 +\characterdef \textless 6t 60 +\characterdef \textgreater 6t 62 +\characterdef \textbackslash 6t 92 +\characterdef \textasciicircum 6t 94 +\characterdef \textunderscore 6t 95 +\characterdef \textbraceleft 6t 123 +\characterdef \textbar 6t 124 +\characterdef \textbraceright 6t 125 +\characterdef \textasciitilde 6t 126 +\characterdef \textnumero 6t 157 +\characterdef \textcurrency 6t 158 +\characterdef \textsection 6t 159 +\characterdef \textquotedbl 6t 34 +\characterdef \textquoteleft 6t 96 +\characterdef \textquoteright 6t 39 +\characterdef \textquotedblleft 6t 16 +\characterdef \textquotedblright 6t 17 +\characterdef \quotedblbase 6t 189 +\characterdef \CYRpalochka 6t 13 +\characterdef \cyrlangle 6t 14 +\characterdef \cyrrangle 6t 15 +\characterdef \guillemotleft 6t 190 +\characterdef \guillemotright 6t 191 +\characterdef \dotlessi 6t 25 +\characterdef \dotlessj 6t 26 + +\let\i=\dotlessi \let\j=\dotlessj +\accentdef \. i 6t `\i +\accentdef \` i 6t {\accent0 \i} +\accentdef \` {\i} 6t {\accent0 \i} +\accentdef \' i 6t {\accent1 \i} +\accentdef \' {\i} 6t {\accent1 \i} +\accentdef \^ i 6t {\accent2 \i} +\accentdef \^ {\i} 6t {\accent2 \i} +\accentdef \" i 6t {\accent4 \i} +\accentdef \" {\i} 6t {\accent4 \i} + +\characterdef \CYRA 6t 192 +\characterdef \cyra 6t 224 +\characterdef \CYRB 6t 193 +\characterdef \cyrb 6t 225 +\characterdef \CYRV 6t 194 +\characterdef \cyrv 6t 226 +\characterdef \CYRG 6t 195 +\characterdef \cyrg 6t 227 +\characterdef \CYRD 6t 196 +\characterdef \cyrd 6t 228 +\characterdef \CYRE 6t 197 +\characterdef \cyre 6t 229 +\characterdef \CYRZH 6t 198 +\characterdef \cyrzh 6t 230 +\characterdef \CYRZ 6t 199 +\characterdef \cyrz 6t 231 +\characterdef \CYRI 6t 200 +\characterdef \cyri 6t 232 +\characterdef \CYRISHRT 6t 201 +\characterdef \cyrishrt 6t 233 +\characterdef \CYRK 6t 202 +\characterdef \cyrk 6t 234 +\characterdef \CYRL 6t 203 +\characterdef \cyrl 6t 235 +\characterdef \CYRM 6t 204 +\characterdef \cyrm 6t 236 +\characterdef \CYRN 6t 205 +\characterdef \cyrn 6t 237 +\characterdef \CYRO 6t 206 +\characterdef \cyro 6t 238 +\characterdef \CYRP 6t 207 +\characterdef \cyrp 6t 239 +\characterdef \CYRR 6t 208 +\characterdef \cyrr 6t 240 +\characterdef \CYRS 6t 209 +\characterdef \cyrs 6t 241 +\characterdef \CYRT 6t 210 +\characterdef \cyrt 6t 242 +\characterdef \CYRU 6t 211 +\characterdef \cyru 6t 243 +\characterdef \CYRF 6t 212 +\characterdef \cyrf 6t 244 +\characterdef \CYRH 6t 213 +\characterdef \cyrh 6t 245 +\characterdef \CYRC 6t 214 +\characterdef \cyrc 6t 246 +\characterdef \CYRCH 6t 215 +\characterdef \cyrch 6t 247 +\characterdef \CYRSH 6t 216 +\characterdef \cyrsh 6t 248 +\characterdef \CYRSHCH 6t 217 +\characterdef \cyrshch 6t 249 +\characterdef \CYRHRDSN 6t 218 +\characterdef \cyrhrdsn 6t 250 +\characterdef \CYRERY 6t 219 +\characterdef \cyrery 6t 251 +\characterdef \CYRSFTSN 6t 220 +\characterdef \cyrsftsn 6t 252 +\characterdef \CYREREV 6t 221 +\characterdef \cyrerev 6t 253 +\characterdef \CYRYU 6t 222 +\characterdef \cyryu 6t 254 +\characterdef \CYRYA 6t 223 +\characterdef \cyrya 6t 255 +\characterdef \CYRGDSCHCRS 6t 128 +\characterdef \cyrgdschcrs 6t 160 +\characterdef \CYRGHCRS 6t 129 +\characterdef \cyrghcrs 6t 161 +\characterdef \CYRGDSC 6t 130 +\characterdef \cyrgdsc 6t 162 +\characterdef \CYRGHK 6t 131 +\characterdef \cyrghk 6t 163 +\characterdef \CYRSHHA 6t 132 +\characterdef \cyrshha 6t 164 +\characterdef \CYRZHDSC 6t 133 +\characterdef \cyrzhdsc 6t 165 +\characterdef \CYRDELTA 6t 134 +\characterdef \cyrdelta 6t 166 +\characterdef \CYRABHDZE 6t 135 +\characterdef \cyrabhdze 6t 167 +\characterdef \CYRLJE 6t 136 +\characterdef \cyrlje 6t 168 +\characterdef \CYRKDSC 6t 137 +\characterdef \cyrkdsc 6t 169 +\characterdef \CYRLDSC 6t 138 +\characterdef \cyrldsc 6t 170 +\characterdef \CYRKHK 6t 139 +\characterdef \cyrkhk 6t 171 +\characterdef \CYRLHK 6t 140 +\characterdef \cyrlhk 6t 172 +\characterdef \CYRNDSC 6t 141 +\characterdef \cyrndsc 6t 173 +\characterdef \CYRNG 6t 142 +\characterdef \cyrng 6t 174 +\characterdef \CYRNHK 6t 143 +\characterdef \cyrnhk 6t 175 +\characterdef \CYROTLD 6t 144 +\characterdef \cyrotld 6t 176 +\characterdef \CYRSACRS 6t 145 +\characterdef \cyrsacrs 6t 177 +\characterdef \CYRUSHRT 6t 146 +\characterdef \cyrushrt 6t 178 +\characterdef \CYRY 6t 147 +\characterdef \cyry 6t 179 +\characterdef \CYRHHCRS 6t 148 +\characterdef \cyrhhcrs 6t 180 +\characterdef \CYRHDSC 6t 149 +\characterdef \cyrhdsc 6t 181 +\characterdef \CYRHHK 6t 150 +\characterdef \cyrhhk 6t 182 +\characterdef \CYRCHLDSC 6t 151 +\characterdef \cyrchldsc 6t 183 +\characterdef \CYRCHRDSC 6t 152 +\characterdef \cyrchrdsc 6t 184 +\characterdef \CYRNJE 6t 153 +\characterdef \cyrnje 6t 185 +\characterdef \CYRSCHWA 6t 154 +\characterdef \cyrschwa 6t 186 +\characterdef \CYREPS 6t 155 +\characterdef \cyreps 6t 187 +\characterdef \CYRYO 6t 156 +\characterdef \cyryo 6t 188 +\characterdef \CYRII 6t 73 +\characterdef \cyrii 6t 105 +\characterdef \CYRJE 6t 74 +\characterdef \cyrje 6t 106 +\characterdef \CYRQ 6t 81 +\characterdef \cyrq 6t 113 +\characterdef \CYRDZE 6t 83 +\characterdef \cyrdze 6t 115 +\characterdef \CYRW 6t 87 +\characterdef \cyrw 6t 119 + +\accentdef \" \CYRE 6a 156 +\accentdef \" \cyre 6a 188 +\accentdef \U \CYRI 6a 201 +\accentdef \U \cyri 6a 233 +\accentdef \U \CYRU 6a 146 +\accentdef \U \cyru 6a 178 + +%%% lccodes, uccodes: + +\modifydef 6t:lccodes; {% For \setlang, see langdoc.tex + \skipfirststep + \lccodesloop ^^a0^^bc^^80% from \cyrgup to \cyryo, first cap: \CYRGUP + \lccodesloop ^^e0^^ff^^c0% from \cyra to \cyrya, first cap: \CYRA + \def\lccodesback {\zerolccodes ^^80^^ff}% +} + + +%%% The CM font metric mapping: + +\registerECfont cmr6t lbrm % +\registerECfont cmbx6t lbbx % +\registerECfont cmti6t lbti % +\registerECfont cmbxti6t lbbi % +\registerECfont cmsl6t lbsl % +\registerECfont cmbxsl6t lbbl % + +\registerECfont cmss6t lbss % +\registerECfont cmssbx6t lbsx % +\registerECfont cmssi6t lbsi % +\registerECfont cmssbxti6t lbso % + +\registerECTTfont cmtt6t lbtt % +\registerECTTfont cmitt6t lbit % +\registerECTTfont cmsltt6t lbst % + diff --git a/Master/texmf-dist/tex/generic/ofs/ofs-6x.tex b/Master/texmf-dist/tex/generic/ofs/ofs-6x.tex new file mode 100644 index 00000000000..ffdd3c08180 --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/ofs-6x.tex @@ -0,0 +1,289 @@ +% OFS: Declaration of Cyrrilic T2A encoding +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Mar 2004 Petr Olsak + +% 6x = X2 encoding + +\protectreading ofs-6x.tex % This is part of OFS package + +\accentdef \` * 6a {\accent 0} +\accentdef \' * 6a {\accent 1} +\accentdef \^ * 6a {\accent 2} +\accentdef \~ * 6a {\accent 3} +\accentdef \" * 6a {\accent 4} +\accentdef \H * 6a {\accent 5} +\accentdef \r * 6a {\accent 6} +\accentdef \v * 6a {\accent 7} +\accentdef \u * 6a {\accent 8} +\accentdef \= * 6a {\accent 9} +\accentdef \. * 6a {\accent 10} +\accentdef \f * 6a {\accent 18} +\accentdef \C * 6a {\accent 19} +\accentdef \U * 6a {\accent 20} +\accentdef \b * 6a {\accentbelow {\char9}{.15ex}} +\accentdef \c * 6a {\accentbelow {\char11}{0pt}} +\accentdef \d * 6a {\accentbelow {.}{.1ex}} +\accentdef \k * 6a {\accentbelow {\char12}{0pt}} + +\let\promile=\relax +\characterdef \promile 6a {\%\char 24 } +\characterdef \pertenthousand 6a {\%\char 24\char 24 } + +\characterdef \textendash 6x 21 +\characterdef \cyrdash 6x 22 +\characterdef \textemdash 6x 22 +\characterdef \textcompwordmark 6x 23 +\characterdef \textvisiblespace 6x 32 +\characterdef \textdollar 6x 36 +\characterdef \textless 6x 60 +\characterdef \textgreater 6x 62 +\characterdef \textbackslash 6x 92 +\characterdef \textasciicircum 6x 94 +\characterdef \textunderscore 6x 95 +\characterdef \textbraceleft 6x 123 +\characterdef \textbar 6x 124 +\characterdef \textbraceright 6x 125 +\characterdef \textasciitilde 6x 126 +\characterdef \textnumero 6x 157 +\characterdef \textcurrency 6x 158 +\characterdef \textsection 6x 159 +\characterdef \textquotedbl 6x 34 +\characterdef \textquoteleft 6x 96 +\characterdef \textquoteright 6x 39 +\characterdef \textquotedblleft 6x 16 +\characterdef \textquotedblright 6x 17 +\characterdef \quotedblbase 6x 189 +\characterdef \CYRpalochka 6x 13 +\characterdef \cyrlangle 6x 14 +\characterdef \cyrrangle 6x 15 +\characterdef \guillemotleft 6x 190 +\characterdef \guillemotright 6x 191 + +\accentdef \. i 6a `\i + +\characterdef \CYRA 6x 192 +\characterdef \cyra 6x 224 +\characterdef \CYRB 6x 193 +\characterdef \cyrb 6x 225 +\characterdef \CYRV 6x 194 +\characterdef \cyrv 6x 226 +\characterdef \CYRG 6x 195 +\characterdef \cyrg 6x 227 +\characterdef \CYRD 6x 196 +\characterdef \cyrd 6x 228 +\characterdef \CYRE 6x 197 +\characterdef \cyre 6x 229 +\characterdef \CYRZH 6x 198 +\characterdef \cyrzh 6x 230 +\characterdef \CYRZ 6x 199 +\characterdef \cyrz 6x 231 +\characterdef \CYRI 6x 200 +\characterdef \cyri 6x 232 +\characterdef \CYRISHRT 6x 201 +\characterdef \cyrishrt 6x 233 +\characterdef \CYRK 6x 202 +\characterdef \cyrk 6x 234 +\characterdef \CYRL 6x 203 +\characterdef \cyrl 6x 235 +\characterdef \CYRM 6x 204 +\characterdef \cyrm 6x 236 +\characterdef \CYRN 6x 205 +\characterdef \cyrn 6x 237 +\characterdef \CYRO 6x 206 +\characterdef \cyro 6x 238 +\characterdef \CYRP 6x 207 +\characterdef \cyrp 6x 239 +\characterdef \CYRR 6x 208 +\characterdef \cyrr 6x 240 +\characterdef \CYRS 6x 209 +\characterdef \cyrs 6x 241 +\characterdef \CYRT 6x 210 +\characterdef \cyrt 6x 242 +\characterdef \CYRU 6x 211 +\characterdef \cyru 6x 243 +\characterdef \CYRF 6x 212 +\characterdef \cyrf 6x 244 +\characterdef \CYRH 6x 213 +\characterdef \cyrh 6x 245 +\characterdef \CYRC 6x 214 +\characterdef \cyrc 6x 246 +\characterdef \CYRCH 6x 215 +\characterdef \cyrch 6x 247 +\characterdef \CYRSH 6x 216 +\characterdef \cyrsh 6x 248 +\characterdef \CYRSHCH 6x 217 +\characterdef \cyrshch 6x 249 +\characterdef \CYRHRDSN 6x 218 +\characterdef \cyrhrdsn 6x 250 +\characterdef \CYRERY 6x 219 +\characterdef \cyrery 6x 251 +\characterdef \CYRSFTSN 6x 220 +\characterdef \cyrsftsn 6x 252 +\characterdef \CYREREV 6x 221 +\characterdef \cyrerev 6x 253 +\characterdef \CYRYU 6x 222 +\characterdef \cyryu 6x 254 +\characterdef \CYRYA 6x 223 +\characterdef \cyrya 6x 255 +\characterdef \CYRGUP 6x 128 +\characterdef \cyrgup 6x 160 +\characterdef \CYRGHCRS 6x 129 +\characterdef \cyrghcrs 6x 161 +\characterdef \CYRGDSC 6x 130 +\characterdef \cyrgdsc 6x 162 +\characterdef \CYRGHK 6x 131 +\characterdef \cyrghk 6x 163 +\characterdef \CYRSHHA 6x 132 +\characterdef \cyrshha 6x 164 +\characterdef \CYRZHDSC 6x 133 +\characterdef \cyrzhdsc 6x 165 +\characterdef \CYRZDSC 6x 134 +\characterdef \cyrzdsc 6x 166 +\characterdef \CYRABHDZE 6x 135 +\characterdef \cyrabhdze 6x 167 +\characterdef \CYRYI 6x 136 +\characterdef \cyryi 6x 168 +\characterdef \CYRKDSC 6x 137 +\characterdef \cyrkdsc 6x 169 +\characterdef \CYRKBEAK 6x 138 +\characterdef \cyrkbeak 6x 170 +\characterdef \CYRKHK 6x 139 +\characterdef \cyrkhk 6x 171 +\characterdef \CYRLHK 6x 140 +\characterdef \cyrlhk 6x 172 +\characterdef \CYRNDSC 6x 141 +\characterdef \cyrndsc 6x 173 +\characterdef \CYRNG 6x 142 +\characterdef \cyrng 6x 174 +\characterdef \CYRNHK 6x 143 +\characterdef \cyrnhk 6x 175 +\characterdef \CYROTLD 6x 144 +\characterdef \cyrotld 6x 176 +\characterdef \CYRSDSC 6x 145 +\characterdef \cyrsdsc 6x 177 +\characterdef \CYRUSHRT 6x 146 +\characterdef \cyrushrt 6x 178 +\characterdef \CYRY 6x 147 +\characterdef \cyry 6x 179 +\characterdef \CYRYHCRS 6x 148 +\characterdef \cyryhcrs 6x 180 +\characterdef \CYRHDSC 6x 149 +\characterdef \cyrhdsc 6x 181 +\characterdef \CYRHHK 6x 150 +\characterdef \cyrhhk 6x 182 +\characterdef \CYRCHLDSC 6x 151 +\characterdef \cyrchldsc 6x 183 +\characterdef \CYRCHRDSC 6x 152 +\characterdef \cyrchrdsc 6x 184 +\characterdef \CYRIE 6x 153 +\characterdef \cyrie 6x 185 +\characterdef \CYRSCHWA 6x 154 +\characterdef \cyrschwa 6x 186 +\characterdef \CYREPS 6x 155 +\characterdef \cyreps 6x 187 +\characterdef \CYRYO 6x 156 +\characterdef \cyryo 6x 188 +\characterdef \CYRAE 6x 65 +\characterdef \cyrae 6x 97 +\characterdef \CYRDJE 6x 66 +\characterdef \cyrdje 6x 98 +\characterdef \CYRTSHE 6x 67 +\characterdef \cyrtshe 6x 99 +\characterdef \CYRABHCH 6x 68 +\characterdef \cyrabhch 6x 100 +\characterdef \CYRABHCHDSC 6x 69 +\characterdef \cyrabhchdsc 6x 101 +\characterdef \CYRKVCRS 6x 70 +\characterdef \cyrkvcrs 6x 102 +\characterdef \CYRKHCRS 6x 71 +\characterdef \cyrkhcrs 6x 103 +\characterdef \CYRLDSC 6x 72 +\characterdef \cyrldsc 6x 104 +\characterdef \CYRII 6x 73 +\characterdef \cyrii 6x 105 +\characterdef \CYRJE 6x 74 +\characterdef \cyrje 6x 106 +\characterdef \CYRLJE 6x 75 +\characterdef \cyrlje 6x 107 +\characterdef \CYRMDSC 6x 76 +\characterdef \cyrmdsc 6x 108 +\characterdef \CYRNJE 6x 77 +\characterdef \cyrnje 6x 109 +\characterdef \CYRABHHA 6x 78 +\characterdef \cyrabhha 6x 110 +\characterdef \CYRPHK 6x 79 +\characterdef \cyrphk 6x 111 +\characterdef \CYRRDSC 6x 80 +\characterdef \cyrrdsc 6x 112 +\characterdef \CYRQ 6x 81 +\characterdef \cyrq 6x 113 +\characterdef \CYRTDSC 6x 82 +\characterdef \cyrtdsc 6x 114 +\characterdef \CYRDZE 6x 83 +\characterdef \cyrdze 6x 115 +\characterdef \CYRTETSE 6x 84 +\characterdef \cyrtetse 6x 116 +\characterdef \CYRDZHE 6x 85 +\characterdef \cyrdzhe 6x 117 +\characterdef \CYRCHVCRS 6x 86 +\characterdef \cyrchvcrs 6x 118 +\characterdef \CYRW 6x 87 +\characterdef \cyrw 6x 119 +\characterdef \CYRYAT 6x 88 +\characterdef \cyryat 6x 120 +\characterdef \CYRBYUS 6x 89 +\characterdef \cyrbyus 6x 121 +\characterdef \CYRIZH 6x 90 +\characterdef \cyrizh 6x 122 +\characterdef \CYRDELTA 6x 28 +\characterdef \cyrdelta 6x 29 +\characterdef \CYRNLHK 6x 30 +\characterdef \cyrnlhk 6x 31 + +\accentdef \" \CYRE 6x 156 +\accentdef \" \cyre 6x 188 +\accentdef \U \CYRI 6x 201 +\accentdef \U \cyri 6x 233 +\accentdef \" \CYRII 6x 136 +\accentdef \" \cyrii 6x 168 +\accentdef \c \CYRZ 6x 134 +\accentdef \c \cyrz 6x 166 +\accentdef \k \CYRS 6x 145 +\accentdef \k \cyrs 6x 177 +\accentdef \U \CYRU 6x 146 +\accentdef \U \cyru 6x 178 +\accentdef \k \CYRABHCH 6x 69 +\accentdef \k \cyrabhch 6x 101 + +%%% lccodes, uccodes: + +\modifydef 6x:lccodes; {% For \setlang, see langdoc.tex + \skipfirststep + \lccodesloop ^^a0^^bc^^80% from \cyrgup to \cyryo, first cap: \CYRGUP + \lccodesloop ^^e0^^ff^^c0% from \cyra to \cyrya, first cap: \CYRA + \def\lccodesback {\zerolccodes ^^80^^ff}% +} + + +%%% The CM font metric mapping: + +\registerECfont cmr6x rxrm % +\registerECfont cmbx6x rxbx % +\registerECfont cmti6x rxti % +\registerECfont cmbxti6x rxbi % +\registerECfont cmsl6x rxsl % +\registerECfont cmbxsl6x rxbl % + +\registerECfont cmss6x rxss % +\registerECfont cmssbx6x rxsx % +\registerECfont cmssi6x rxsi % +\registerECfont cmssbxti6x rxso % + +\registerECTTfont cmtt6x rxtt % +\registerECTTfont cmitt6x rxit % +\registerECTTfont cmsltt6x rxst % + + + + + diff --git a/Master/texmf-dist/tex/generic/ofs/ofs-6y.tex b/Master/texmf-dist/tex/generic/ofs/ofs-6y.tex new file mode 100644 index 00000000000..dd0dc44a85c --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/ofs-6y.tex @@ -0,0 +1,258 @@ +% OFS: Declaration of Cyrrilic T2A encoding +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Mar 2004 Petr Olsak + +% 6y = LCY encoding (Computer Modern + Cyrrilic) + +\protectreading ofs-6y.tex % This is part of OFS package + +\accentdef \" * 6y {\accent 127} +\accentdef \' * 6y {\accent 19} +\accentdef \. * 6y {\accent 95} +\accentdef \= * 6y {\accent 22} +\accentdef \^ * 6y {\accent 94} +\accentdef \` * 6y {\accent 18} +\accentdef \~ * 6y {\accent 126} +\accentdef \H * 6y {\accent 125} +\accentdef \u * 6y {\accent 21} +\accentdef \v * 6y {\accent 20} +\accentdef \r * 6y {\accent 23} +\accentdef \b * 6y {\accentbelow {\char22}{.15ex}} % underscore +\accentdef \d * 6y {\accentbelow {.}{.1ex}} % dot below + +\def\aa{\r a} +\def\AA{\r A} + +\let\SS=\relax \let\AE=\relax \let\OE=\relax \let\O=\relax +\let\ss=\relax \let\ae=\relax \let\oe=\relax \let\o=\relax +\characterdef \AE 6y 29 +\characterdef \OE 6y 30 +\characterdef \O 6y 31 +\characterdef \ae 6y 26 +\characterdef \dotlessi 6y 16 +\characterdef \dotlessj 6y 17 +\characterdef \oe 6y 27 +\characterdef \o 6y 28 +\characterdef \ss 6y 25 +\characterdef \textemdash 6y 124 +\characterdef \textendash 6y 123 +\characterdef \textexclamdown 6y 60 +\characterdef \textquestiondown 6y 62 +\characterdef \textquotedblleft 6y 92 +\characterdef \textquotedblright 6y `\" +\characterdef \textquoteleft 6y `\` +\characterdef \textquoteright 6y `\' + +\characterdef \Lslash 6y {\plainL} +\characterdef \lslash 6y {\char32l} + +\let\i=\dotlessi \let\j=\dotlessj +\let\L=\Lslash \let\l=\lslash + +\characterdef \CYRA 6y 128 +\characterdef \CYRB 6y 129 +\characterdef \CYRV 6y 130 +\characterdef \CYRG 6y 131 +\characterdef \CYRD 6y 132 +\characterdef \CYRE 6y 133 +\characterdef \CYRZH 6y 134 +\characterdef \CYRZ 6y 135 +\characterdef \CYRI 6y 136 +\characterdef \CYRISHRT 6y 137 +\characterdef \CYRK 6y 138 +\characterdef \CYRL 6y 139 +\characterdef \CYRM 6y 140 +\characterdef \CYRN 6y 141 +\characterdef \CYRO 6y 142 +\characterdef \CYRP 6y 143 +\characterdef \CYRR 6y 144 +\characterdef \CYRS 6y 145 +\characterdef \CYRT 6y 146 +\characterdef \CYRU 6y 147 +\characterdef \CYRF 6y 148 +\characterdef \CYRH 6y 149 +\characterdef \CYRC 6y 150 +\characterdef \CYRCH 6y 151 +\characterdef \CYRSH 6y 152 +\characterdef \CYRSHCH 6y 153 +\characterdef \CYRHRDSN 6y 154 +\characterdef \CYRERY 6y 155 +\characterdef \CYRSFTSN 6y 156 +\characterdef \CYREREV 6y 157 +\characterdef \CYRYU 6y 158 +\characterdef \CYRYA 6y 159 +\characterdef \cyra 6y 160 +\characterdef \cyrb 6y 161 +\characterdef \cyrv 6y 162 +\characterdef \cyrg 6y 163 +\characterdef \cyrd 6y 164 +\characterdef \cyre 6y 165 +\characterdef \cyrzh 6y 166 +\characterdef \cyrz 6y 167 +\characterdef \cyri 6y 168 +\characterdef \cyrishrt 6y 169 +\characterdef \cyrk 6y 170 +\characterdef \cyrl 6y 171 +\characterdef \cyrm 6y 172 +\characterdef \cyrn 6y 173 +\characterdef \cyro 6y 174 +\characterdef \cyrp 6y 175 +\characterdef \cyrr 6y 224 +\characterdef \cyrs 6y 225 +\characterdef \cyrt 6y 226 +\characterdef \cyru 6y 227 +\characterdef \cyrf 6y 228 +\characterdef \cyrh 6y 229 +\characterdef \cyrc 6y 230 +\characterdef \cyrch 6y 231 +\characterdef \cyrsh 6y 232 +\characterdef \cyrshch 6y 233 +\characterdef \cyrhrdsn 6y 234 +\characterdef \cyrery 6y 235 +\characterdef \cyrsftsn 6y 236 +\characterdef \cyrerev 6y 237 +\characterdef \cyryu 6y 238 +\characterdef \cyrya 6y 239 +\characterdef \CYRYO 6y 240 +\characterdef \cyryo 6y 241 +\characterdef \CYRGUP 6y 242 +\characterdef \cyrgup 6y 243 +\characterdef \CYRIE 6y 244 +\characterdef \cyrie 6y 245 +\characterdef \CYRII 6y 246 +\characterdef \cyrii 6y 247 +\characterdef \CYRYI 6y 248 +\characterdef \cyryi 6y 249 +\characterdef \CYRUSHRT 6y 250 +\characterdef \cyrushrt 6y 251 +\characterdef \cyrdash 6y 196 +\characterdef \textcurrency 6y 197 +\characterdef \textnumero 6y 252 +\characterdef \guillemotleft 6y 253 +\characterdef \guillemotright 6y 254 +\characterdef \quotedblbase 6y 255 + +\accentdef \" \CYRE 6y 240 +\accentdef \" \cyre 6y 241 +\accentdef \U \CYRI 6y 137 +\accentdef \U \cyri 6y 169 +\accentdef \" \CYRII 6y 248 +\accentdef \" \cyrii 6y 249 +\accentdef \U \CYRU 6y 250 +\accentdef \U \cyru 6y 251 + +\modifydef 6y:lccodes; {% For \setlang, see langdoc.tex + \skipfirststep + \lccodes ^^80^^a0 + \lccodes ^^81^^a1 + \lccodes ^^82^^a2 + \lccodes ^^83^^a3 + \lccodes ^^84^^a4 + \lccodes ^^85^^a5 + \lccodes ^^86^^a6 + \lccodes ^^87^^a7 + \lccodes ^^88^^a8 + \lccodes ^^89^^a9 + \lccodes ^^8a^^aa + \lccodes ^^8b^^ab + \lccodes ^^8c^^ac + \lccodes ^^8d^^ad + \lccodes ^^8e^^ae + \lccodes ^^8f^^af + \lccodes ^^90^^e0 + \lccodes ^^91^^e1 + \lccodes ^^92^^e2 + \lccodes ^^93^^e3 + \lccodes ^^94^^e4 + \lccodes ^^95^^e5 + \lccodes ^^96^^e6 + \lccodes ^^97^^e7 + \lccodes ^^98^^e8 + \lccodes ^^99^^e9 + \lccodes ^^9a^^ea + \lccodes ^^9b^^ab + \lccodes ^^9c^^ec + \lccodes ^^9d^^ed + \lccodes ^^9e^^ee + \lccodes ^^9f^^ef + \lccodes ^^f0^^f1 + \lccodes ^^f2^^f3 + \lccodes ^^f4^^f5 + \lccodes ^^f6^^f7 + \lccodes ^^f8^^f9 + \lccodes ^^fa^^fb + \def\lccodesback {\zerolccodes^^80^^ff}% +} + +\registertfm cmr6y - lhr10 % +\registertfm cmr6y 0pt-6pt lhr5 % +\registertfm cmr6y 6pt-7pt lhr6 % +\registertfm cmr6y 7pt-8pt lhr7 % +\registertfm cmr6y 8pt-9pt lhr8 % +\registertfm cmr6y 9pt-10pt lhr9 % +\registertfm cmr6y 10pt-12pt lhr10 % +\registertfm cmr6y 12pt-17pt lhr12 % +\registertfm cmr6y 17pt-* lhr17 % + +\registertfm cmbx6y - lhbx10 % +\registertfm cmbx6y 0pt-6pt lhbx5 % +\registertfm cmbx6y 6pt-7pt lhbx6 % +\registertfm cmbx6y 7pt-8pt lhbx7 % +\registertfm cmbx6y 8pt-9pt lhbx8 % +\registertfm cmbx6y 9pt-10pt lhbx9 % +\registertfm cmbx6y 10pt-12pt lhbx10 % +\registertfm cmbx6y 12pt-* lhbx12 % + +\registertfm cmti6y - lhti10 % +\registertfm cmti6y 0pt-8pt lhti7 % +\registertfm cmti6y 8pt-9pt lhti8 % +\registertfm cmti6y 9pt-10pt lhti9 % +\registertfm cmti6y 10pt-12pt lhti10 % +\registertfm cmti6y 12pt-17pt lhti12 % +\registertfm cmti6y 17pt-* lhti17 % + +\registertfm cmbxti6y - lhbxti10 % +\registertfm cmbxti6y 0pt-12pt lhbxti10 % +\registertfm cmbxti6y 12pt-17pt lhbxti12 % +\registertfm cmbxti6y 17pt-* lhbxti17 % + +\registertfm cmsl6y - lhsl10 % +\registertfm cmsl6y 0pt-6pt lhsl5 % +\registertfm cmsl6y 6pt-7pt lhsl6 % +\registertfm cmsl6y 7pt-8pt lhsl7 % +\registertfm cmsl6y 8pt-9pt lhsl8 % +\registertfm cmsl6y 9pt-10pt lhsl9 % +\registertfm cmsl6y 10pt-12pt lhsl10 % +\registertfm cmsl6y 12pt-17pt lhsl12 % +\registertfm cmsl6y 17pt-* lhsl17 % + +\registertfm cmbxsl6y - lhbxsl10 % +\registertfm cmsltt6y - lhsltt10 % + +\registertfm cmss6y - lhss10 % +\registertfm cmss6y 0pt-9pt lhss8 % +\registertfm cmss6y 9pt-10pt lhss9 % +\registertfm cmss6y 10pt-12pt lhss10 % +\registertfm cmss6y 12pt-17pt lhss12 % +\registertfm cmss6y 17pt-* lhss17 % + +\registertfm cmssbx6y - lhssbx10 % + +\registertfm cmssi6y - lhssi10 % +\registertfm cmssi6y 0pt-9pt lhssi8 % +\registertfm cmssi6y 9pt-10pt lhssi9 % +\registertfm cmssi6y 10pt-12pt lhssi10 % +\registertfm cmssi6y 12pt-17pt lhssi12 % +\registertfm cmssi6y 17pt-* lhssi17 % + +\registertfm cmtt6y - lhtt10 % +\registertfm cmtt6y 0pt-9pt lhtt8 % +\registertfm cmtt6y 9pt-10pt lhtt9 % +\registertfm cmtt6y 10pt-12pt lhtt10 % +\registertfm cmtt6y 12pt-* lhtt12 % + +\registertfm cmitt6y - lhitt10 % + + + + diff --git a/Master/texmf-dist/tex/generic/ofs/ofs-8c.tex b/Master/texmf-dist/tex/generic/ofs/ofs-8c.tex new file mode 100644 index 00000000000..8106f46d895 --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/ofs-8c.tex @@ -0,0 +1,332 @@ +% OFS: Declaration of TS1 extra encoding +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Feb 2004 Petr Olsak + +% See ofsdoc.tex manual for more details. + +\protectreading ofs-8c.tex % This is part of OFS package + +\ifx \characterdef \undefined \input ofs \fi + +\fontmessage {\ofsmessageheader + Extra characters + accents of 8c encoding defined.} + +\accentdef \capitalgrave * 8c {\accent0 } +\accentdef \capitalacute * 8c {\accent1 } +\accentdef \capitalcircumflex * 8c {\accent2 } +\accentdef \capitaltilde * 8c {\accent3 } +\accentdef \capitaldieresis * 8c {\accent4 } +\accentdef \capitalhungarumlaut * 8c {\accent5 } +\accentdef \capitalring * 8c {\accent6 } +\accentdef \capitalcaron * 8c {\accent7 } +\accentdef \capitalbreve * 8c {\accent8 } +\accentdef \capitalmacron * 8c {\accent9 } +\accentdef \capitaldotaccent * 8c {\accent10 } +\accentdef \t * 8c {\accent26 } +\accentdef \capitaltie * 8c {\accent27 } +\accentdef \newtie * 8c {\accent28 } +\accentdef \capitalnewtie * 8c {\accent29 } + +% the \text... prefix is used only for names where math-character +% with the same name is defined in plain.tex + +\characterdef \capitalcompwordmark 8c 23 +\characterdef \ascendercompwordmark 8c 31 +\characterdef \quotestraightbase 8c 13 +\characterdef \quotestraightdblbase 8c 18 +\characterdef \twelveudash 8c 21 +\characterdef \threequartersemdash 8c 22 +\characterdef \textleftarrow 8c 24 +\characterdef \textrightarrow 8c 25 +\characterdef \blank 8c 32 +\characterdef \dollar 8c 36 +\characterdef \quotesingle 8c 39 +\characterdef \asteriskcentered 8c 42 +\characterdef \dblhyphen 8c 45 +\characterdef \fractionsolidus 8c 47 +\characterdef \textlangle 8c 60 +\characterdef \textminus 8c 61 +\characterdef \textrangle 8c 62 +\characterdef \mho 8c 77 +\characterdef \bigcircle 8c 79 +\characterdef \ohm 8c 87 +\characterdef \lbrackdbl 8c 91 +\characterdef \rbrackdbl 8c 93 +\characterdef \textuparrow 8c 94 +\characterdef \textdownarrow 8c 95 +\characterdef \asciigrave 8c 96 +\characterdef \born 8c 98 +\characterdef \divorced 8c 99 +\characterdef \died 8c 100 +\characterdef \leaf 8c 108 +\characterdef \married 8c 109 +\characterdef \musicalnote 8c 110 +\characterdef \tildelow 8c 126 +\characterdef \dblhyphenchar 8c 127 +\characterdef \asciibreve 8c 128 +\characterdef \asciicaron 8c 129 +\characterdef \acutedbl 8c 130 +\characterdef \gravedbl 8c 131 +\let\dag=\relax \let\ddag=\relax +\characterdef \dag 8c 132 +\characterdef \ddag 8c 133 +\characterdef \bardbl 8c 134 +\characterdef \perthousand 8c 135 +\characterdef \textbullet 8c 136 +\characterdef \celsius 8c 137 +\characterdef \dollaroldstyle 8c 138 +\characterdef \centoldstyle 8c 139 +\characterdef \florin 8c 140 +\characterdef \colonmonetary 8c 141 +\characterdef \won 8c 142 +\characterdef \naira 8c 143 +\characterdef \guarani 8c 144 +\characterdef \peso 8c 145 +\characterdef \lira 8c 146 +\characterdef \recipe 8c 147 +\characterdef \interrobang 8c 148 +\characterdef \interrobangdown 8c 149 +\characterdef \dong 8c 150 +\characterdef \trademark 8c 151 +\characterdef \pertenthousand 8c 152 +\characterdef \pilcrow 8c 153 +\characterdef \baht 8c 154 +\characterdef \numero 8c 155 +\characterdef \discount 8c 156 +\characterdef \estimated 8c 157 +\characterdef \openbullet 8c 158 +\characterdef \servicemark 8c 159 +\characterdef \lquill 8c 160 +\characterdef \rquill 8c 161 +\characterdef \cent 8c 162 +\characterdef \sterling 8c 163 +\characterdef \currency 8c 164 +\characterdef \yen 8c 165 +\characterdef \brokenbar 8c 166 +\characterdef \section 8c 167 +\characterdef \asciidieresis 8c 168 +\let\copyright=\relax +\characterdef \copyright * {\ofscopyright} +\characterdef \copyright 8c 169 +\characterdef \ordfeminine 8c 170 +\characterdef \copyleft 8c 171 +\characterdef \textlnot 8c 172 +\characterdef \circledP 8c 173 +\characterdef \registered 8c 174 +\characterdef \asciimacron 8c 175 +\characterdef \degree 8c 176 +\characterdef \textpm 8c 177 +\characterdef \twosuperior 8c 178 +\characterdef \threesuperior 8c 179 +\characterdef \asciiacute 8c 180 +\characterdef \textmu 8c 181 % micro sign +\characterdef \paragraph 8c 182 +\characterdef \periodcentered 8c 183 +\characterdef \referencemark 8c 184 +\characterdef \onesuperior 8c 185 +\characterdef \ordmasculine 8c 186 +\characterdef \textsurd 8c 187 +\characterdef \onequarter 8c 188 +\characterdef \onehalf 8c 189 +\characterdef \threequarters 8c 190 +\characterdef \euro 8c 191 +\characterdef \texttimes 8c 214 +\characterdef \textdiv 8c 246 + +%%% Commands: + +\characterdef \circled 8c {\aftergroup\circledcmd} +\characterdef \capitalcedilla 8c {\aftergroup\capitalcedillacmd} +\characterdef \capitalogonek 8c {\aftergroup\capitalogonekcmd} + +\def \circledcmd #1{{% + \ooalign{% + \hfil \raise .07ex\hbox {#1}\hfil \crcr + {\setextrafont\char 79}% '117 = "4F + }% +}} +\def \capitalcedillacmd #1{{\ooalign{\null#1\crcr + \hidewidth{\setextrafont\char11}\hidewidth}}} +\def \capitalogonekcmd #1{{\ooalign{\null#1\crcr + \hidewidth\setextrafont{\char12}\hidewidth}}} + +%%% Extensions / reductions + +\modifydef 8c:vardigits;{% + \characterdef \vardigits * {\setextrafont} + \characterdef \zerooldstyle 8c 48 + \characterdef \oneoldstyle 8c 49 + \characterdef \twooldstyle 8c 50 + \characterdef \threeoldstyle 8c 51 + \characterdef \fouroldstyle 8c 52 + \characterdef \fiveoldstyle 8c 53 + \characterdef \sixoldstyle 8c 54 + \characterdef \sevenoldstyle 8c 55 + \characterdef \eightoldstyle 8c 56 + \characterdef \nineoldstyle 8c 57 +} +\modifydef 8c:poor;{% + \characterdel \capitalcompwordmark 8c 23 + \characterdel \ascendercompwordmark 8c 31 + \characterdel \twelveudash 8c 21 + \characterdel \textleftarrow 8c 24 + \characterdel \textrightarrow 8c 25 + \characterdel \blank 8c 32 + \characterdel \asteriskcentered 8c 42 + \characterdel \dblhyphen 8c 45 + \characterdel \fractionsolidus 8c 47 + \characterdel \textlangle 8c 60 + \characterdel \textminus 8c 61 + \characterdel \textrangle 8c 62 + \characterdel \mho 8c 77 + \characterdel \bigcircle 8c 79 + \characterdel \ohm 8c 87 + \characterdel \lbrackdbl 8c 91 + \characterdel \rbrackdbl 8c 93 + \characterdel \textuparrow 8c 94 + \characterdel \textdownarrow 8c 95 + \characterdel \asciigrave 8c 96 + \characterdel \born 8c 98 + \characterdel \divorced 8c 99 + \characterdel \died 8c 100 + \characterdel \leaf 8c 108 + \characterdel \married 8c 109 + \characterdel \musicalnote 8c 110 + \characterdel \dblhyphenchar 8c 127 + \characterdel \asciibreve 8c 128 + \characterdel \textbullet 8c 136 + \characterdel \dollaroldstyle 8c 138 + \characterdel \centoldstyle 8c 139 + \characterdel \colonmonetary 8c 141 + \characterdel \won 8c 142 + \characterdel \naira 8c 143 + \characterdel \guarani 8c 144 + \characterdel \peso 8c 145 + \characterdel \lira 8c 146 + \characterdel \recipe 8c 147 + \characterdel \interrobang 8c 148 + \characterdel \interrobangdown 8c 149 + \characterdel \dong 8c 150 + \characterdel \pertenthousand 8c 152 + \characterdel \pilcrow 8c 153 + \characterdel \baht 8c 154 + \characterdel \numero 8c 155 + \characterdel \discount 8c 156 + \characterdel \estimated 8c 157 + \characterdel \openbullet 8c 158 + \characterdel \servicemark 8c 159 + \characterdel \lquill 8c 160 + \characterdel \rquill 8c 161 + \characterdel \copyleft 8c 171 + \characterdel \circledP 8c 173 + \characterdel \referencemark 8c 184 + \characterdel \textsurd 8c 187 + \characterdel \euro 8c 191 + \characterdel \circled 8c {\aftergroup\circledcmd} + % + \accentdel \t * 8c 26 + \accentdel \capitaltie * 8c 27 + \accentdel \newtie * 8c 28 + \accentdel \capitalnewtie * 8c 29 +} + +% For LaTeX name space compatibility: + +\let \textcapitalcompwordmark \capitalcompwordmark +\let \textascendercompwordmark \ascendercompwordmark +\let \textquotestraightbase \quotestraightbase +\let \textquotestraightdblbase \quotestraightdblbase +\let \texttwelveudash \twelveudash +\let \textthreequartersemdash \threequartersemdash +\let \textblank \blank +\let \textdollar \dollar +\let \textquotesingle \quotesingle +\let \textasteriskcentered \asteriskcentered +\let \textdblhyphen \dblhyphen +\let \textfractionsolidus \fractionsolidus +\let \textzerooldstyle \zerooldstyle +\let \textoneoldstyle \oneoldstyle +\let \texttwooldstyle \twooldstyle +\let \textthreeoldstyle \threeoldstyle +\let \textfouroldstyle \fouroldstyle +\let \textfiveoldstyle \fiveoldstyle +\let \textsixoldstyle \sixoldstyle +\let \textsevenoldstyle \sevenoldstyle +\let \texteightoldstyle \eightoldstyle +\let \textnineoldstyle \nineoldstyle +\let \textmho \mho +\let \textbigcircle \bigcircle +\let \textohm \ohm +\let \textlbrackdbl \lbrackdbl +\let \textrbrackdbl \rbrackdbl +\let \textasciigrave \asciigrave +\let \textborn \born +\let \textdivorced \divorced +\let \textdied \died +\let \textleaf \leaf +\let \textmarried \married +\let \textmusicalnote \musicalnote +\let \texttildelow \tildelow +\let \textdblhyphenchar \dblhyphenchar +\let \textasciibreve \asciibreve +\let \textasciicaron \asciicaron +\let \textacutedbl \acutedbl +\let \textgravedbl \gravedbl +\let \textdagger \dag +\let \textdaggerdbl \ddag +\let \textbardbl \bardbl +\let \textperthousand \perthousand +\let \textcelsius \celsius +\let \textdollaroldstyle \dollaroldstyle +\let \textcentoldstyle \centoldstyle +\let \textflorin \florin +\let \textcolonmonetary \colonmonetary +\let \textwon \won +\let \textnaira \naira +\let \textguarani \guarani +\let \textpeso \peso +\let \textlira \lira +\let \textrecipe \recipe +\let \textinterrobang \interrobang +\let \textinterrobangdown \interrobangdown +\let \textdong \dong +\let \texttrademark \trademark +\let \textpertenthousand \pertenthousand +\let \textpilcrow \pilcrow +\let \textbaht \baht +\let \textnumero \numero +\let \textdiscount \discount +\let \textestimated \estimated +\let \textopenbullet \openbullet +\let \textservicemark \servicemark +\let \textlquill \lquill +\let \textrquill \rquill +\let \textcent \cent +\let \textsterling \sterling +\let \textcurrency \currency +\let \textyen \yen +\let \textbrokenbar \brokenbar +\let \textsection \section +\let \textasciidieresis \asciidieresis +\let \textcopyright \copyright +\let \textordfeminine \ordfeminine +\let \textcopyleft \copyleft +\let \textcircledP \circledP +\let \textregistered \registered +\let \textasciimacron \asciimacron +\let \textdegree \degree +\let \texttwosuperior \twosuperior +\let \textthreesuperior \threesuperior +\let \textasciiacute \asciiacute +\let \textparagraph \paragraph +\let \textperiodcentered \periodcentered +\let \textreferencemark \referencemark +\let \textonesuperior \onesuperior +\let \textordmasculine \ordmasculine +\let \textonequarter \onequarter +\let \textonehalf \onehalf +\let \textthreequarters \threequarters +\let \texteuro \euro + +\endinput + diff --git a/Master/texmf-dist/tex/generic/ofs/ofs-8t.tex b/Master/texmf-dist/tex/generic/ofs/ofs-8t.tex new file mode 100644 index 00000000000..75946ad1629 --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/ofs-8t.tex @@ -0,0 +1,251 @@ +% OFS: Declaration of Cork (alias T1) encoding +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Jun 2001 Petr Olsak +% Feb 2004 + +% See ofsdoc.tex manual for more details. + +\protectreading ofs-8t.tex % This is part of OFS package + +\fontmessage {\ofsmessageheader + Characters + accents of 8t encoding defined.} + +%%% Default accents + +\accentdef \` * 8t {\accent 0 } +\accentdef \' * 8t {\accent 1 } +\accentdef \^ * 8t {\accent 2 } +\accentdef \~ * 8t {\accent 3 } +\accentdef \" * 8t {\accent 4 } +\accentdef \H * 8t {\accent 5 } +\accentdef \r * 8t {\accent 6 } +\accentdef \v * 8t {\accent 7 } +\accentdef \u * 8t {\accent 8 } +\accentdef \= * 8t {\accent 9 } +\accentdef \. * 8t {\accent 10 } +\accentdef \c * 8t {\accentbelow {\char11}{0pt}} +\accentdef \k * 8t {\accentbelow {\char12}{0pt}} +\accentdef \m * 8t {\accentbelow {,}{.1ex}} +\accentdef \b * 8t {\accentbelow {\char9}{.15ex}} +\accentdef \d * 8t {\accentbelow {.}{.1ex}} + +%%% Standard characters in plain (redefined here) + +\def\aa{\r a} +\def\AA{\r A} + +\characterdef \dotlessi 8t 25 +\characterdef \dotlessj 8t 26 +\let\i=\dotlessi \let\j=\dotlessj + +\let\SS=\relax \let\AE=\relax \let\OE=\relax \let\O=\relax +\characterdef \SS 8t 223 +\characterdef \AE 8t 198 +\characterdef \OE 8t 215 +\characterdef \O 8t 216 + +\let\ss=\relax \let\ae=\relax \let\oe=\relax \let\o=\relax +\characterdef \ss 8t 255 +\characterdef \ae 8t 230 +\characterdef \oe 8t 247 +\characterdef \o 8t 248 + +%%% Extra characters from Cork encoding + +\let\promile=\relax +\characterdef \promile 8t {\%\char 24 } +\characterdef \pertenthousand 8t {\%\char 24\char 24 } + +\characterdef \Eth 8t 208 +\characterdef \NG 8t 141 +\characterdef \Thorn 8t 222 +\characterdef \eth 8t 240 +\characterdef \ng 8t 173 +\characterdef \thorn 8t 254 +\characterdef \Lslash 8t 138 \let\L=\Lslash +\characterdef \lslash 8t 170 \let\l=\lslash + +\let\flqq=\relax \let\frqq=\relax \let\flq=\relax \let\frq=\relax +\characterdef \flqq 8t 19 +\characterdef \frqq 8t 20 +\characterdef \flq 8t 14 +\characterdef \frq 8t 15 + +\let\clqq=\relax \let\crqq=\relax \let\clq=\relax \let\crq=\relax +\characterdef \clqq 8t 18 +\characterdef \crqq 8t 16 +\characterdef \clq 8t 13 +\characterdef \crq 8t `\` + +\let\elqq=\relax \let\erqq=\relax \let\elq=\relax \let\erq=\relax +\characterdef \elqq 8t 16 +\characterdef \erqq 8t 17 +\characterdef \elq 8t `\` +\characterdef \erq 8t `\' + +\characterdef \asciicircum 8t `\^ +\characterdef \asciitilde 8t `\~ +\characterdef \textbackslash 8t `\\ +\characterdef \fullbar 8t `\| +\characterdef \textbraceleft 8t `\{ +\characterdef \textbraceright 8t `\} +\characterdef \textcompwordmark 8t 23 +\characterdef \exclamdown 8t 189 +\characterdef \questiondown 8t 190 +\characterdef \textgreater 8t `\> +\characterdef \textless 8t `\< +\characterdef \section 8t 159 +\characterdef \sterling 8t 191 +\characterdef \underscore 8t 95 +\characterdef \quotedbl 8t 34 + +\let\pound=\sterling +\let\S=\section + +%%% Accented letters from Cork encoding + +\accentdef \. i 8t `\i +\accentdef \u A 8t 128 +\accentdef \k A 8t 129 +\accentdef \' C 8t 130 +\accentdef \v C 8t 131 +\accentdef \v D 8t 132 +\accentdef \v E 8t 133 +\accentdef \k E 8t 134 +\accentdef \u G 8t 135 +\accentdef \' L 8t 136 +\accentdef \v L 8t 137 +\accentdef \' N 8t 139 +\accentdef \v N 8t 140 +\accentdef \H O 8t 142 +\accentdef \' R 8t 143 +\accentdef \v R 8t 144 +\accentdef \' S 8t 145 +\accentdef \v S 8t 146 +\accentdef \c S 8t 147 +\accentdef \v T 8t 148 +\accentdef \c T 8t 149 +\accentdef \H U 8t 150 +\accentdef \r U 8t 151 +\accentdef \" Y 8t 152 +\accentdef \' Z 8t 153 +\accentdef \v Z 8t 154 +\accentdef \. Z 8t 155 +\accentdef \. I 8t 157 +\accentdef \= d 8t 158 +\accentdef \u a 8t 160 +\accentdef \k a 8t 161 +\accentdef \' c 8t 162 +\accentdef \v c 8t 163 +\accentdef \v d 8t 164 +\accentdef \v e 8t 165 +\accentdef \k e 8t 166 +\accentdef \u g 8t 167 +\accentdef \' l 8t 168 +\accentdef \v l 8t 169 +\accentdef \' n 8t 171 +\accentdef \v n 8t 172 +\accentdef \H o 8t 174 +\accentdef \' r 8t 175 +\accentdef \v r 8t 176 +\accentdef \' s 8t 177 +\accentdef \v s 8t 178 +\accentdef \c s 8t 179 +\accentdef \v t 8t 180 +\accentdef \c t 8t 181 +\accentdef \H u 8t 182 +\accentdef \r u 8t 183 +\accentdef \" y 8t 184 +\accentdef \' z 8t 185 +\accentdef \v z 8t 186 +\accentdef \. z 8t 187 +\accentdef \` A 8t 192 +\accentdef \' A 8t 193 +\accentdef \^ A 8t 194 +\accentdef \~ A 8t 195 +\accentdef \" A 8t 196 +\accentdef \r A 8t 197 +\accentdef \c C 8t 199 +\accentdef \` E 8t 200 +\accentdef \' E 8t 201 +\accentdef \^ E 8t 202 +\accentdef \" E 8t 203 +\accentdef \` I 8t 204 +\accentdef \' I 8t 205 +\accentdef \^ I 8t 206 +\accentdef \" I 8t 207 +\accentdef \~ N 8t 209 +\accentdef \` O 8t 210 +\accentdef \' O 8t 211 +\accentdef \^ O 8t 212 +\accentdef \~ O 8t 213 +\accentdef \" O 8t 214 +\accentdef \` U 8t 217 +\accentdef \' U 8t 218 +\accentdef \^ U 8t 219 +\accentdef \" U 8t 220 +\accentdef \' Y 8t 221 +\accentdef \` a 8t 224 +\accentdef \' a 8t 225 +\accentdef \^ a 8t 226 +\accentdef \~ a 8t 227 +\accentdef \" a 8t 228 +\accentdef \r a 8t 229 +\accentdef \c c 8t 231 +\accentdef \` e 8t 232 +\accentdef \' e 8t 233 +\accentdef \^ e 8t 234 +\accentdef \" e 8t 235 +\accentdef \` i 8t 236 +\accentdef \` {\i} 8t 236 +\accentdef \' i 8t 237 +\accentdef \' {\i} 8t 237 +\accentdef \^ i 8t 238 +\accentdef \^ {\i} 8t 238 +\accentdef \" i 8t 239 +\accentdef \" {\i} 8t 239 +\accentdef \~ n 8t 241 +\accentdef \` o 8t 242 +\accentdef \' o 8t 243 +\accentdef \^ o 8t 244 +\accentdef \~ o 8t 245 +\accentdef \" o 8t 246 +\accentdef \` u 8t 249 +\accentdef \' u 8t 250 +\accentdef \^ u 8t 251 +\accentdef \" u 8t 252 +\accentdef \' y 8t 253 + +%%% Times etc.: + +\modifydef 8t:losschars; {% + \characterdel \dotlessj 8t 26 + \characterdel \promile 8t {\%\char 24 } + \characterdel \NG 8t 141 + \characterdel \ng 8t 173 +} +\modifydef 8t:ienc; {% For \ienc, see iencdoc.tex + \skipfirststep + \csname 8t:losschars\endcsname +} +\modifydef 8t:lccodes; {% For \setlang, see langdoc.tex + \skipfirststep + \lccodesloop ^^a0^^bc^^80% from a-breve to ij, first cap: A-breve + \lccodesloop ^^e0^^ff^^c0% from a-grave to ss, first cap: A-grave + \def\lccodesback {\zerolccodes ^^80^^ff}% +} + +\endinput %%% the following macros will be included in LANG style files + +%%% Macros for quotes + +\def\singleuv#1{\clq#1\crq} +\def\doubleuv#1{\clqq#1\crqq} +\def\singlefuv#1{\frq#1\flq} +\def\doublefuv#1{\frqq#1\flqq} +\def\singleauv#1{\elq#1\erq} +\def\doubleauv#1{\elqq#1\erqq} +\let\uv=\doubleuv +\let\fuv=\doublefuv +\let\auv=\doubleauv + diff --git a/Master/texmf-dist/tex/generic/ofs/ofs-8x.tex b/Master/texmf-dist/tex/generic/ofs/ofs-8x.tex new file mode 100644 index 00000000000..ec2ca3e9813 --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/ofs-8x.tex @@ -0,0 +1,229 @@ +% Encoding definition of expert encoding of AntykwaTorunska +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% May 2004 Petr Olsak + +% See stormtex.html and ofsdoc.tex manuals for more details. + +\protectreading ofs-8x.tex % This is part of OFS package + +\characterdef \minusalt 8x 1 +\characterdef \plusalt 8x 2 +\characterdef \equalalt 8x 3 +\characterdef \dividealt 8x 4 +\characterdef \multiplyalt 8x 5 +\characterdef \plusminusalt 8x 6 +\characterdef \minusplusalt 8x 7 +\characterdef \lessalt 8x 8 +\characterdef \greateralt 8x 9 +\characterdef \greaterequalaltpl 8x 10 +\characterdef \lessequalaltpl 8x 11 +\characterdef \textminusplus 8x 12 +\characterdef \textless 8x 13 +\characterdef \textgreater 8x 14 +\characterdef \textlessequal 8x 15 +\characterdef \textgreaterequal 8x 16 +\characterdef \lessequalalt 8x 17 +\characterdef \greaterequalalt 8x 18 +\characterdef \dotlessisuperior 8x 19 +\characterdef \onehalf 8x 20 +\characterdef \onequarter 8x 21 +\characterdef \onethird 8x 22 +\characterdef \oneeighth 8x 23 +\characterdef \threeeighths 8x 24 +\characterdef \fiveeighths 8x 25 +\characterdef \seveneighths 8x 26 +\characterdef \threequarters 8x 27 +\characterdef \twothirds 8x 28 +\characterdef \ligfj 8x 29 +\characterdef \ligffj 8x 30 +\characterdef \ligst 8x 33 +\characterdef \ligct 8x 34 +\characterdef \ligTh 8x 35 +\characterdef \dollarsuperior 8x 36 +\characterdef \parenleftsuperior 8x 40 +\characterdef \parenrightsuperior 8x 41 +\characterdef \commasuperior 8x 44 +\characterdef \hyphensuperior 8x 45 +\characterdef \periodsuperior 8x 46 +\characterdef \fraction 8x 47 +\characterdef \zerosuperior 8x 48 +\characterdef \onesuperior 8x 49 +\characterdef \twosuperior 8x 50 +\characterdef \threesuperior 8x 51 +\characterdef \foursuperior 8x 52 +\characterdef \fivesuperior 8x 53 +\characterdef \sixsuperior 8x 54 +\characterdef \sevensuperior 8x 55 +\characterdef \eightsuperior 8x 56 +\characterdef \ninesuperior 8x 57 +\characterdef \sterlingsuperior 8x 91 +\characterdef \yensuperior 8x 92 +\characterdef \dotaccentsuperior 8x 95 +\characterdef \asuperior 8x 97 +\characterdef \bsuperior 8x 98 +\characterdef \csuperior 8x 99 +\characterdef \dsuperior 8x 100 +\characterdef \esuperior 8x 101 +\characterdef \fsuperior 8x 102 +\characterdef \hsuperior 8x 104 +\characterdef \isuperior 8x 105 +\characterdef \lsuperior 8x 108 +\characterdef \msuperior 8x 109 +\characterdef \nsuperior 8x 110 +\characterdef \osuperior 8x 111 +\characterdef \rsuperior 8x 114 +\characterdef \ssuperior 8x 115 +\characterdef \tsuperior 8x 116 +\characterdef \centsuperior 8x 124 +\characterdef \florinsuperior 8x 125 +\characterdef \euro 8x 128 +\characterdef \eurosuperior 8x 129 +\characterdef \zeronumr 8x 130 +\characterdef \onenumr 8x 131 +\characterdef \twonumr 8x 132 +\characterdef \threenumr 8x 133 +\characterdef \fournumr 8x 134 +\characterdef \fivenumr 8x 135 +\characterdef \sixnumr 8x 136 +\characterdef \sevennumr 8x 137 +\characterdef \eightnumr 8x 138 +\characterdef \ninenumr 8x 139 +\characterdef \zerodnom 8x 140 +\characterdef \onednom 8x 141 +\characterdef \twodnom 8x 142 +\characterdef \threednom 8x 143 +\characterdef \fourdnom 8x 144 +\characterdef \fivednom 8x 145 +\characterdef \sixdnom 8x 146 +\characterdef \sevendnom 8x 147 +\characterdef \eightdnom 8x 148 +\characterdef \ninednom 8x 149 +\characterdef \zeroinferior 8x 150 +\characterdef \oneinferior 8x 151 +\characterdef \twoinferior 8x 152 +\characterdef \threeinferior 8x 153 +\characterdef \fourinferior 8x 154 +\characterdef \fiveinferior 8x 155 +\characterdef \sixinferior 8x 156 +\characterdef \seveninferior 8x 157 +\characterdef \eightinferior 8x 158 +\characterdef \nineinferior 8x 159 +\characterdef \equivasymptotic 8x 160 +\characterdef \equivalence 8x 161 +\characterdef \precedes 8x 162 +\characterdef \precedesequal 8x 163 +\characterdef \lessmuch 8x 164 +\characterdef \greatermuch 8x 165 +\characterdef \follows 8x 166 +\characterdef \followsequal 8x 167 +\characterdef \element 8x 168 +\characterdef \owner 8x 169 +\characterdef \propersubset 8x 170 +\characterdef \reflexsubset 8x 171 +\characterdef \propersuperset 8x 172 +\characterdef \reflexsuperset 8x 173 +\characterdef \arrowsouthwest 8x 174 +\characterdef \arrowsoutheast 8x 175 +\characterdef \arrownorthwest 8x 176 +\characterdef \arrownortheast 8x 177 +\characterdef \arrowleft 8x 178 +\characterdef \arrowright 8x 179 +\characterdef \arrowboth 8x 180 +\characterdef \arrowup 8x 181 +\characterdef \arrowdown 8x 182 +\characterdef \arrowdblleft 8x 183 +\characterdef \arrowdblright 8x 184 +\characterdef \arrowdblup 8x 185 +\characterdef \arrowdbldown 8x 186 +\characterdef \arrowdblboth 8x 187 +\characterdef \arrowlefttophalf 8x 188 +\characterdef \arrowrighttophalf 8x 189 +\characterdef \arrowleftbothalf 8x 190 +\characterdef \arrowrightbothalf 8x 191 +\characterdef \similar 8x 192 +\characterdef \asymptoticallyequal 8x 193 +\characterdef \union 8x 194 +\characterdef \intersection 8x 195 +\characterdef \unionmulti 8x 196 +\characterdef \unionsq 8x 197 +\characterdef \intersectionsq 8x 198 +\characterdef \subsetsqequal 8x 199 +\characterdef \supersetsqequal 8x 200 +\characterdef \openbullet 8x 201 +\characterdef \circleminus 8x 202 +\characterdef \circleplus 8x 203 +\characterdef \circledivide 8x 204 +\characterdef \circlemultiply 8x 205 +\characterdef \circledot 8x 206 +\characterdef \circlecopyrt 8x 207 +\characterdef \diamondmath 8x 208 +\characterdef \asteriskmath 8x 209 +\characterdef \latticetop 8x 210 +\characterdef \perpendicular 8x 211 +\characterdef \turnstileleft 8x 212 +\characterdef \turnstileright 8x 213 +\characterdef \floorleft 8x 214 +\characterdef \floorright 8x 215 +\characterdef \ceilingleft 8x 216 +\characterdef \ceilingright 8x 217 +\characterdef \textlangle 8x 218 +\characterdef \textrangle 8x 219 +\characterdef \dblverticalbar 8x 220 +\characterdef \arrowupdndbl 8x 221 +\characterdef \arrowupdn 8x 222 +\characterdef \universal 8x 223 +\characterdef \existential 8x 224 +\characterdef \wreathproduct 8x 225 +\characterdef \club 8x 226 +\characterdef \spade 8x 227 +\characterdef \heart 8x 228 +\characterdef \diamond 8x 229 +\characterdef \logicaland 8x 230 +\characterdef \logicalor 8x 231 +\characterdef \triangle 8x 232 +\characterdef \triangleinv 8x 233 +\characterdef \triangleright 8x 234 +\characterdef \triangleleft 8x 235 +\characterdef \proportional 8x 236 +\characterdef \arrowhookleft 8x 237 +\characterdef \arrowhookright 8x 238 +\characterdef \flat 8x 239 +\characterdef \vector 8x 240 +\characterdef \tie 8x 241 +\characterdef \nabla 8x 242 +\characterdef \dollarinferior 8x 243 +\characterdef \euroinferior 8x 244 +\characterdef \sterlinginferior 8x 245 +\characterdef \yeninferior 8x 246 +\characterdef \centinferior 8x 247 +\characterdef \parenleftinferior 8x 248 +\characterdef \periodinferior 8x 249 +\characterdef \hypheninferior 8x 250 +\characterdef \commainferior 8x 251 +\characterdef \parenrightinferior 8x 252 +\characterdef \trademark 8x 253 +\characterdef \estimated 8x 254 + +\modifydef 8z:antt; {% + \characterdef \degree 8z 176 + \characterdef \euro 8z 134 + \characterdef \trademark 8z 136 + \characterdef \copyright 8z 137 + \characterdef \registered 8z 138 + \characterdef \flq 8z 142 + \characterdef \frq 8z 143 + \characterdef \clq 8z 154 + \characterdef \crq 8z 155 + \characterdef \longs 8z 149 + \characterdef \florin 8z 151 + \accentdel \c T 8z 222 + \accentdel \c t 8z 189 +} + + + + + + + + diff --git a/Master/texmf-dist/tex/generic/ofs/ofs-8z.tex b/Master/texmf-dist/tex/generic/ofs/ofs-8z.tex new file mode 100644 index 00000000000..1fc65b8c72a --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/ofs-8z.tex @@ -0,0 +1,362 @@ +% OFS: Declaration of CS-fonts encoding +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Jun 2001 Petr Olsak +% Feb 2004 + +% See ofsdoc.tex manual for more details. + +\ifx \characterdef \undefined \input ofs \fi +\protectreading ofs-8z.tex % This is part of OFS package + +\fontmessage {\ofsmessageheader + Characters + accents of 8z encoding defined.} + +%%% Default accents + +\accentdef \` * 8z {\accent 18 } % grave +\accentdef \' * 8z {\accent 19 } % acute +\accentdef \v * 8z {\accent 20 } % caron +\accentdef \u * 8z {\accent 21 } % breve +\accentdef \= * 8z {\accent 22 } % macron +\accentdef \r * 8z {\accent 23 } % ring +\accentdef \^ * 8z {\accent 94 } % circumflex +\accentdef \. * 8z {\accent 95 } % dot-accent +\accentdef \H * 8z {\accent 125 } % hungar-umlaut +\accentdef \~ * 8z {\accent 126 } % tilde +\accentdef \" * 8z {\accent 127 } % dieresis +\accentdef \c * 8z {\accentbelow {\char24}{0pt}} % cedilla +\accentdef \k * 8z {\accentbelow {\char157}{0pt}} % ogonek +\accentdef \m * 8z {\accentbelow {,}{.1ex}} % comma-accent +\accentdef \b * 8z {\accentbelow {\char22}{.15ex}} % underscore +\accentdef \d * 8z {\accentbelow {.}{.1ex}} % dot below + +%%% Standard characters in plain (redefined here) + +\def\aa{\r a} +\def\AA{\r A} + +\characterdef \dotlessi 8z 16 +\characterdef \dotlessj 8z 17 +\let\i=\dotlessi \let\j=\dotlessj + +\accentdef \" i 8z {\accent 127 \dotlessi} +\accentdef \" {\i} 8z {\accent 127 \dotlessi} + +\let\SS=\relax \let\AE=\relax \let\OE=\relax \let\O=\relax +\characterdef \SS 8z {SS} +\characterdef \AE 8z 29 +\characterdef \OE 8z 30 +\characterdef \O 8z 31 + +\let\ss=\relax \let\ae=\relax \let\oe=\relax \let\o=\relax +\characterdef \ss 8z 25 +\characterdef \ae 8z 26 +\characterdef \oe 8z 27 +\characterdef \o 8z 28 +\characterdef \ellipsis 8z {\dots} + +%%% Characters available only in math fonts + +%\characterdef \dag 8z {\ofshexbox279} +%\characterdef \ddag 8z {\ofshexbox27A} +%\characterdef \section 8z {\ofshexbox278} +%\characterdef \paragraph 8z {\ofshexbox27B} +% defined as single characters in 8z by Z. Wagner + +%%% Extra characters from CS-fonts + +\let\promile=\relax +\characterdef \promile 8z 141 +\characterdef \varhyphen 8z 156 + +\let\flqq=\relax \let\frqq=\relax +\characterdef \flqq 8z 158 +\characterdef \frqq 8z 159 + +\let\clqq=\relax \let\crqq=\relax +\characterdef \clqq 8z 254 +\characterdef \crqq 8z 255 +\characterdef \clq 8z `\, +\characterdef \crq 8z `\` + +\let\elqq=\relax \let\erqq=\relax \let\elq=\relax \let\erq=\relax +\characterdef \elqq 8z 92 +\characterdef \erqq 8z 34 +\characterdef \elq 8z `\` +\characterdef \erq 8z `\' + +\characterdef \exclamdown 8z 60 +\characterdef \questiondown 8z 62 + +%%% Extra characters defined in XL2Encoding vector by Z. Wagner + +\let\dag=\relax \let\ddag=\relax +\characterdef \dag 8z 129 +\characterdef \ddag 8z 130 + +\characterdef \section 8z 167 \let\S=\section +\characterdef \paragraph 8z 133 \let\P=\paragraph +\characterdef \ellipsis 8z 128 +\characterdef \textbullet 8z 131 +\characterdef \sterling 8z 132 \let\pound=\sterling +\characterdef \currency 8z 164 +\characterdef \Lslash 8z 163 \let\L=\Lslash +\characterdef \lslash 8z 179 \let\l=\lslash +\characterdef \Eth 8z 208 +\characterdef \eth 8z 240 +\characterdef \texttimes 8z 215 +\characterdef \textdiv 8z 247 + +%%% Accented letters from CS fonts + +\accentdef \` A 8z 152 +\accentdef \' A 8z 193 +\accentdef \" A 8z 196 +\accentdef \` a 8z 184 +\accentdef \' a 8z 225 +\accentdef \" a 8z 228 +\accentdef \v C 8z 200 +\accentdef \v c 8z 232 +\accentdef \v D 8z 207 +\accentdef \v d 8z 239 +\accentdef \' E 8z 201 +\accentdef \v E 8z 204 +\accentdef \' e 8z 233 +\accentdef \v e 8z 236 +\accentdef \' I 8z 205 +\accentdef \' i 8z 237 +\accentdef \' {\i} 8z 237 +\accentdef \v L 8z 165 +\accentdef \' L 8z 197 +\accentdef \v l 8z 181 +\accentdef \' l 8z 229 +\accentdef \v N 8z 210 +\accentdef \v n 8z 242 +\accentdef \' O 8z 211 +\accentdef \^ O 8z 212 +\accentdef \" O 8z 214 +\accentdef \' o 8z 243 +\accentdef \^ o 8z 244 +\accentdef \" o 8z 246 +\accentdef \' R 8z 192 +\accentdef \v R 8z 216 +\accentdef \' r 8z 224 +\accentdef \v r 8z 248 +\accentdef \v S 8z 169 +\accentdef \v s 8z 185 +\accentdef \v T 8z 171 +\accentdef \v t 8z 187 +\accentdef \r U 8z 217 +\accentdef \' U 8z 218 +\accentdef \" U 8z 220 +\accentdef \r u 8z 249 +\accentdef \' u 8z 250 +\accentdef \" u 8z 252 +\accentdef \' Y 8z 221 +\accentdef \' y 8z 253 +\accentdef \v Z 8z 174 +\accentdef \v z 8z 190 + +%%% Accented letters added in XL2Encoding vector by Z. Wagner + +\accentdef \k A 8z 161 +\accentdef \^ A 8z 194 +\accentdef \u A 8z 195 +\accentdef \k a 8z 177 +\accentdef \^ a 8z 226 +\accentdef \u a 8z 227 +\accentdef \' C 8z 198 +\accentdef \c C 8z 199 +\accentdef \' c 8z 230 +\accentdef \c c 8z 231 +\accentdef \k E 8z 202 +\accentdef \" E 8z 203 +\accentdef \k e 8z 234 +\accentdef \" e 8z 235 +\accentdef \^ I 8z 206 +\accentdef \^ i 8z 238 +\accentdef \^ {\i} 8z 238 +\accentdef \' N 8z 209 +\accentdef \' n 8z 241 +\accentdef \H O 8z 213 +\accentdef \H o 8z 245 +\accentdef \' S 8z 166 +\accentdef \c S 8z 170 +\accentdef \' s 8z 182 +\accentdef \c s 8z 186 +\accentdef \c T 8z 222 +\accentdef \c t 8z 189 +\accentdef \H U 8z 219 +\accentdef \H u 8z 251 +\accentdef \' Z 8z 172 +\accentdef \. Z 8z 175 +\accentdef \' z 8z 188 +\accentdef \. z 8z 191 + +%%% Accents uavailable in CSfonts + +%%% Characters unavailable in CSfonts :-( + +\modifydef 8z:csfont; {% + % available in 8c: + \characterdel \dag 8z 129 + \characterdel \ddag 8z 130 + \characterdel \section 8z 167 + \characterdel \paragraph 8z 133 + \characterdel \textbullet 8z 131 + \characterdel \texttimes 8z 215 + \characterdel \sterling 8z 132 + \characterdel \currency 8z 164 + \characterdel \textdiv 8z 247 + % unavailable in 8c nor 8z: + \characterdel \Eth 8z 208 + \characterdel \eth 8z 240 + % unavailable in 8c, we can re-define these characters: + \characterdel \Lslash 8z 163 + \characterdef \Lslash 8z {\plainL} + \characterdel \lslash 8z 179 + \characterdef \lslash 8z {\char32l} + \characterdel \ellipsis 8z 128 + \characterdef \ellipsis 8z {\dots} + % accents: + \accentdel \k A 8z 161 + \accentdel \^ A 8z 194 + \accentdel \u A 8z 195 + \accentdel \k a 8z 177 + \accentdel \^ a 8z 226 + \accentdel \u a 8z 227 + \accentdel \' C 8z 198 + \accentdel \c C 8z 199 + \accentdel \' c 8z 230 + \accentdel \c c 8z 231 + \accentdel \k E 8z 202 + \accentdel \" E 8z 203 + \accentdel \k e 8z 234 + \accentdel \" e 8z 235 + \accentdel \^ I 8z 206 + \accentdel \^ i 8z 238 + \accentdel \^ ^^10 8z 238 + \accentdel \' N 8z 209 + \accentdel \' n 8z 241 + \accentdel \H O 8z 213 + \accentdel \H o 8z 245 + \accentdel \' S 8z 166 + \accentdel \c S 8z 170 + \accentdel \' s 8z 182 + \accentdel \c s 8z 186 + \accentdel \c T 8z 222 + \accentdel \c t 8z 189 + \accentdel \H U 8z 219 + \accentdel \H u 8z 251 + \accentdel \' Z 8z 172 + \accentdel \. Z 8z 175 + \accentdel \' z 8z 188 + \accentdel \. z 8z 191 +} + +%%%% Cross for polish L is in TT fonts unavalable: + +\modifydef 8z:nocrossL; {% + \characterdel \Lslash 8z 163 + \characterdel \lslash 8z 179 + \characterdef \spacechar 8z 32 +} + +%%% Times etc.: + +\modifydef 8z:badaccents; {% + \accentdel \k A 8z 161 + \accentdel \u A 8z 195 + \accentdel \k a 8z 177 + \accentdel \u a 8z 227 + \accentdel \' C 8z 198 + \accentdel \c C 8z 199 + \accentdel \' c 8z 230 + \accentdel \c c 8z 231 + \accentdel \k E 8z 202 + \accentdel \k e 8z 234 + \accentdel \' N 8z 209 + \accentdel \' n 8z 241 + \accentdel \H O 8z 213 + \accentdel \H o 8z 245 + \accentdel \' S 8z 166 + \accentdel \c S 8z 170 + \accentdel \' s 8z 182 + \accentdel \c s 8z 186 + \accentdel \c T 8z 222 + \accentdel \c t 8z 189 + \accentdel \H U 8z 219 + \accentdel \H u 8z 251 + \accentdel \' Z 8z 172 + \accentdel \. Z 8z 175 + \accentdel \' z 8z 188 + \accentdel \. z 8z 191 + % + \characterdel \dotelssj 8z 17 + \characterdel \texttimes 8z 215 + \characterdel \textdiv 8z 247 +} + +%%% + +\modifydef 8z:ienc; {% For \ienc, see iencdoc.tex + \skipfirststep + \csname 8z:badaccents\endcsname + \csname 8z:csfonts\endcsname +} + +\modifydef 8z:lccodes; {% For \setlang, see langdoc.tex + \skipfirststep + \lccodes ^^e1^^c1% a-acute + \lccodes ^^e4^^c4% a-diaeresis + \lccodes ^^e8^^c8% c-caron + \lccodes ^^ef^^cf% d-caron + \lccodes ^^e9^^c9% e-acute + \lccodes ^^ec^^cc% e-caron + \lccodes ^^ed^^cd% i-acute + \lccodes ^^e5^^c5% l-acute + \lccodes ^^b5^^a5% l-caron + \lccodes ^^f2^^d2% n-caron + \lccodes ^^f3^^d3% o-acute + \lccodes ^^f4^^d4% o-circumflex + \lccodes ^^f6^^d6% o-diaeresis + \lccodes ^^e0^^c0% r-acute + \lccodes ^^f8^^d8% r-caron + \lccodes ^^b9^^a9% s-caron + \lccodes ^^bb^^ab% t-caron + \lccodes ^^fa^^da% u-acute + \lccodes ^^f9^^d9% u-ring + \lccodes ^^fc^^dc% u-diaeresis + \lccodes ^^fd^^dd% y-acute + \lccodes ^^be^^ae% z-caron + \lccodes ^^b1^^a1% a-ogonek + \lccodes ^^e2^^c2% a-circumflex + \lccodes ^^e3^^c3% a-breve + \lccodes ^^e6^^c6% c-acute + \lccodes ^^e7^^c7% c-cedilla + \lccodes ^^ea^^ca% e-ogonek + \lccodes ^^eb^^cb% e-dieresis + \lccodes ^^ee^^ce% i-circumflex + \lccodes ^^f1^^d1% n-acute + \lccodes ^^f5^^d5% o-hungarumlaut + \lccodes ^^b6^^a6% s-acute + \lccodes ^^ba^^aa% s-cedilla + \lccodes ^^de^^bd% t-cedilla + \lccodes ^^fb^^db% u-hungarumlaut + \lccodes ^^bc^^ac% z-acute + \lccodes ^^bf^^af% z-dotaccatcent + \def\lccodesback {\zerolccodes^^80^^ff}% +} + +\endinput %%% the following macros will be included in LANG style files + +%%% Macros for quotes + +\def\doubleuv#1{\clqq#1\crqq} +\def\doublefuv#1{\frqq#1\flqq} +\def\doubleauv#1{\elqq#1\erqq} +\def\singleauv#1{\elq#1\erq} +\let\uv=\doubleuv +\let\fuv=\doublefuv +\let\auv=\doubleauv + diff --git a/Master/texmf-dist/tex/generic/ofs/ofs-ams.tex b/Master/texmf-dist/tex/generic/ofs/ofs-ams.tex new file mode 100644 index 00000000000..1398da632ee --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/ofs-ams.tex @@ -0,0 +1,237 @@ +% OFS: AMS fonts, math encoding declaration +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Apr. 2004 Petr Olsak + +\protectreading ofs-ams.tex % This is part of OFS package + +\mathencdef\MSAMmathchars{% + \fontmessage{\ofsmessageheader Math symbols are set for AMS encoding.}% + \mathchardef\boxdot "2\hex\msamfam 00 + \mathchardef\boxplus "2\hex\msamfam 01 + \mathchardef\boxtimes "2\hex\msamfam 02 + \mathchardef\square "0\hex\msamfam 03 + \mathchardef\blacksquare "0\hex\msamfam 04 + \mathchardef\centerdot "2\hex\msamfam 05 + \mathchardef\lozenge "0\hex\msamfam 06 + \mathchardef\blacklozenge "0\hex\msamfam 07 + \mathchardef\circlearrowright "3\hex\msamfam 08 + \mathchardef\circlearrowleft "3\hex\msamfam 09 + \mathchardef\rightleftharpoons "3\hex\msamfam 0A + \mathchardef\leftrightharpoons "3\hex\msamfam 0B + \mathchardef\boxminus "2\hex\msamfam 0C + \mathchardef\Vdash "3\hex\msamfam 0D + \mathchardef\Vvdash "3\hex\msamfam 0E + \mathchardef\vDash "3\hex\msamfam 0F + \mathchardef\twoheadrightarrow "3\hex\msamfam 10 + \mathchardef\twoheadleftarrow "3\hex\msamfam 11 + \mathchardef\leftleftarrows "3\hex\msamfam 12 + \mathchardef\rightrightarrows "3\hex\msamfam 13 + \mathchardef\upuparrows "3\hex\msamfam 14 + \mathchardef\downdownarrows "3\hex\msamfam 15 + \mathchardef\upharpoonright "3\hex\msamfam 16 + \let\restriction\upharpoonright + \mathchardef\downharpoonright "3\hex\msamfam 17 + \mathchardef\upharpoonleft "3\hex\msamfam 18 + \mathchardef\downharpoonleft "3\hex\msamfam 19 + \mathchardef\rightarrowtail "3\hex\msamfam 1A + \mathchardef\leftarrowtail "3\hex\msamfam 1B + \mathchardef\leftrightarrows "3\hex\msamfam 1C + \mathchardef\rightleftarrows "3\hex\msamfam 1D + \mathchardef\Lsh "3\hex\msamfam 1E + \mathchardef\Rsh "3\hex\msamfam 1F + \mathchardef\rightsquigarrow "3\hex\msamfam 20 + \mathchardef\leftrightsquigarrow "3\hex\msamfam 21 + \mathchardef\looparrowleft "3\hex\msamfam 22 + \mathchardef\looparrowright "3\hex\msamfam 23 + \mathchardef\circeq "3\hex\msamfam 24 + \mathchardef\succsim "3\hex\msamfam 25 + \mathchardef\gtrsim "3\hex\msamfam 26 + \mathchardef\gtrapprox "3\hex\msamfam 27 + \mathchardef\multimap "3\hex\msamfam 28 + \mathchardef\therefore "3\hex\msamfam 29 + \mathchardef\because "3\hex\msamfam 2A + \mathchardef\doteqdot "3\hex\msamfam 2B + \let\Doteq\doteqdot + \mathchardef\triangleq "3\hex\msamfam 2C + \mathchardef\precsim "3\hex\msamfam 2D + \mathchardef\lesssim "3\hex\msamfam 2E + \mathchardef\lessapprox "3\hex\msamfam 2F + \mathchardef\eqslantless "3\hex\msamfam 30 + \mathchardef\eqslantgtr "3\hex\msamfam 31 + \mathchardef\curlyeqprec "3\hex\msamfam 32 + \mathchardef\curlyeqsucc "3\hex\msamfam 33 + \mathchardef\preccurlyeq "3\hex\msamfam 34 + \mathchardef\leqq "3\hex\msamfam 35 + \mathchardef\leqslant "3\hex\msamfam 36 + \mathchardef\lessgtr "3\hex\msamfam 37 + \mathchardef\backprime "0\hex\msamfam 38 + \mathchardef\risingdotseq "3\hex\msamfam 3A + \mathchardef\fallingdotseq "3\hex\msamfam 3B + \mathchardef\succcurlyeq "3\hex\msamfam 3C + \mathchardef\geqq "3\hex\msamfam 3D + \mathchardef\geqslant "3\hex\msamfam 3E + \mathchardef\gtrless "3\hex\msamfam 3F + \mathchardef\sqsubset "3\hex\msamfam 40 + \mathchardef\sqsupset "3\hex\msamfam 41 + \mathchardef\vartriangleright "3\hex\msamfam 42 + \mathchardef\vartriangleleft "3\hex\msamfam 43 + \mathchardef\trianglerighteq "3\hex\msamfam 44 + \mathchardef\trianglelefteq "3\hex\msamfam 45 + \mathchardef\bigstar "0\hex\msamfam 46 + \mathchardef\between "3\hex\msamfam 47 + \mathchardef\blacktriangledown "0\hex\msamfam 48 + \mathchardef\blacktriangleright "3\hex\msamfam 49 + \mathchardef\blacktriangleleft "3\hex\msamfam 4A + \mathchardef\vartriangle "3\hex\msamfam 4D + \mathchardef\blacktriangle "0\hex\msamfam 4E + \mathchardef\triangledown "0\hex\msamfam 4F + \mathchardef\eqcirc "3\hex\msamfam 50 + \mathchardef\lesseqgtr "3\hex\msamfam 51 + \mathchardef\gtreqless "3\hex\msamfam 52 + \mathchardef\lesseqqgtr "3\hex\msamfam 53 + \mathchardef\gtreqqless "3\hex\msamfam 54 + \mathchardef\Rrightarrow "3\hex\msamfam 56 + \mathchardef\Lleftarrow "3\hex\msamfam 57 + \mathchardef\veebar "2\hex\msamfam 59 + \mathchardef\barwedge "2\hex\msamfam 5A + \mathchardef\doublebarwedge "2\hex\msamfam 5B + \mathchardef\angle "0\hex\msamfam 5C + \mathchardef\measuredangle "0\hex\msamfam 5D + \mathchardef\sphericalangle "0\hex\msamfam 5E + \mathchardef\varpropto "3\hex\msamfam 5F + \mathchardef\smallsmile "3\hex\msamfam 60 + \mathchardef\smallfrown "3\hex\msamfam 61 + \mathchardef\Subset "3\hex\msamfam 62 + \mathchardef\Supset "3\hex\msamfam 63 + \mathchardef\Cup "2\hex\msamfam 64 + \let\doublecup\Cup + \mathchardef\Cap "2\hex\msamfam 65 + \let\doublecap\Cap + \mathchardef\curlywedge "2\hex\msamfam 66 + \mathchardef\curlyvee "2\hex\msamfam 67 + \mathchardef\leftthreetimes "2\hex\msamfam 68 + \mathchardef\rightthreetimes "2\hex\msamfam 69 + \mathchardef\subseteqq "3\hex\msamfam 6A + \mathchardef\supseteqq "3\hex\msamfam 6B + \mathchardef\bumpeq "3\hex\msamfam 6C + \mathchardef\Bumpeq "3\hex\msamfam 6D + \mathchardef\lll "3\hex\msamfam 6E + \let\llless\lll + \mathchardef\ggg "3\hex\msamfam 6F + \let\gggtr\ggg + \edef\ulcorner{\delimiter "4\hex\msamfam 70\hex\msamfam 70 }% + \edef\urcorner{\delimiter "5\hex\msamfam 71\hex\msamfam 71 }% + \mathchardef\circledS "0\hex\msamfam 73 + \mathchardef\pitchfork "3\hex\msamfam 74 + \mathchardef\dotplus "2\hex\msamfam 75 + \mathchardef\backsim "3\hex\msamfam 76 + \mathchardef\backsimeq "3\hex\msamfam 77 + \edef\llcorner{\delimiter "4\hex\msamfam 78\hex\msamfam 78 }% + \edef\lrcorner{\delimiter "5\hex\msamfam 79\hex\msamfam 79 }% + \mathchardef\complement "0\hex\msamfam 7B + \mathchardef\intercal "2\hex\msamfam 7C + \mathchardef\circledcirc "2\hex\msamfam 7D + \mathchardef\circledast "2\hex\msamfam 7E + \mathchardef\circleddash "2\hex\msamfam 7F + \mathchardef\rhd "2\hex\msamfam 42 + \mathchardef\lhd "2\hex\msamfam 43 + \mathchardef\unrhd "2\hex\msamfam 44 + \mathchardef\unlhd "2\hex\msamfam 45 +} +\mathencdef\MSBMmathchars {% + \mathchardef\lvertneqq "3\hex\msbmfam 00 + \mathchardef\gvertneqq "3\hex\msbmfam 01 + \mathchardef\nleq "3\hex\msbmfam 02 + \mathchardef\ngeq "3\hex\msbmfam 03 + \mathchardef\nless "3\hex\msbmfam 04 + \mathchardef\ngtr "3\hex\msbmfam 05 + \mathchardef\nprec "3\hex\msbmfam 06 + \mathchardef\nsucc "3\hex\msbmfam 07 + \mathchardef\lneqq "3\hex\msbmfam 08 + \mathchardef\gneqq "3\hex\msbmfam 09 + \mathchardef\nleqslant "3\hex\msbmfam 0A + \mathchardef\ngeqslant "3\hex\msbmfam 0B + \mathchardef\lneq "3\hex\msbmfam 0C + \mathchardef\gneq "3\hex\msbmfam 0D + \mathchardef\npreceq "3\hex\msbmfam 0E + \mathchardef\nsucceq "3\hex\msbmfam 0F + \mathchardef\precnsim "3\hex\msbmfam 10 + \mathchardef\succnsim "3\hex\msbmfam 11 + \mathchardef\lnsim "3\hex\msbmfam 12 + \mathchardef\gnsim "3\hex\msbmfam 13 + \mathchardef\nleqq "3\hex\msbmfam 14 + \mathchardef\ngeqq "3\hex\msbmfam 15 + \mathchardef\precneqq "3\hex\msbmfam 16 + \mathchardef\succneqq "3\hex\msbmfam 17 + \mathchardef\precnapprox "3\hex\msbmfam 18 + \mathchardef\succnapprox "3\hex\msbmfam 19 + \mathchardef\lnapprox "3\hex\msbmfam 1A + \mathchardef\gnapprox "3\hex\msbmfam 1B + \mathchardef\nsim "3\hex\msbmfam 1C + \mathchardef\ncong "3\hex\msbmfam 1D + \mathchardef\diagup "0\hex\msbmfam 1E + \mathchardef\diagdown "0\hex\msbmfam 1F + \mathchardef\varsubsetneq "3\hex\msbmfam 20 + \mathchardef\varsupsetneq "3\hex\msbmfam 21 + \mathchardef\nsubseteqq "3\hex\msbmfam 22 + \mathchardef\nsupseteqq "3\hex\msbmfam 23 + \mathchardef\subsetneqq "3\hex\msbmfam 24 + \mathchardef\supsetneqq "3\hex\msbmfam 25 + \mathchardef\varsubsetneqq "3\hex\msbmfam 26 + \mathchardef\varsupsetneqq "3\hex\msbmfam 27 + \mathchardef\subsetneq "3\hex\msbmfam 28 + \mathchardef\supsetneq "3\hex\msbmfam 29 + \mathchardef\nsubseteq "3\hex\msbmfam 2A + \mathchardef\nsupseteq "3\hex\msbmfam 2B + \mathchardef\nparallel "3\hex\msbmfam 2C + \mathchardef\nmid "3\hex\msbmfam 2D + \mathchardef\nshortmid "3\hex\msbmfam 2E + \mathchardef\nshortparallel "3\hex\msbmfam 2F + \mathchardef\nvdash "3\hex\msbmfam 30 + \mathchardef\nVdash "3\hex\msbmfam 31 + \mathchardef\nvDash "3\hex\msbmfam 32 + \mathchardef\nVDash "3\hex\msbmfam 33 + \mathchardef\ntrianglerighteq "3\hex\msbmfam 34 + \mathchardef\ntrianglelefteq "3\hex\msbmfam 35 + \mathchardef\ntriangleleft "3\hex\msbmfam 36 + \mathchardef\ntriangleright "3\hex\msbmfam 37 + \mathchardef\nleftarrow "3\hex\msbmfam 38 + \mathchardef\nrightarrow "3\hex\msbmfam 39 + \mathchardef\nLeftarrow "3\hex\msbmfam 3A + \mathchardef\nRightarrow "3\hex\msbmfam 3B + \mathchardef\nLeftrightarrow "3\hex\msbmfam 3C + \mathchardef\nleftrightarrow "3\hex\msbmfam 3D + \mathchardef\divideontimes "2\hex\msbmfam 3E + \mathchardef\varnothing "0\hex\msbmfam 3F + \mathchardef\nexists "0\hex\msbmfam 40 + \mathchardef\Finv "0\hex\msbmfam 60 + \mathchardef\Game "0\hex\msbmfam 61 + \mathchardef\mho "0\hex\msbmfam 66 + \mathchardef\eth "0\hex\msbmfam 67 + \mathchardef\eqsim "3\hex\msbmfam 68 + \mathchardef\beth "0\hex\msbmfam 69 + \mathchardef\gimel "0\hex\msbmfam 6A + \mathchardef\daleth "0\hex\msbmfam 6B + \mathchardef\lessdot "2\hex\msbmfam 6C + \mathchardef\gtrdot "2\hex\msbmfam 6D + \mathchardef\ltimes "2\hex\msbmfam 6E + \mathchardef\rtimes "2\hex\msbmfam 6F + \mathchardef\shortmid "3\hex\msbmfam 70 + \mathchardef\shortparallel "3\hex\msbmfam 71 + \mathchardef\smallsetminus "2\hex\msbmfam 72 + \mathchardef\thicksim "3\hex\msbmfam 73 + \mathchardef\thickapprox "3\hex\msbmfam 74 + \mathchardef\approxeq "3\hex\msbmfam 75 + \mathchardef\succapprox "3\hex\msbmfam 76 + \mathchardef\precapprox "3\hex\msbmfam 77 + \mathchardef\curvearrowleft "3\hex\msbmfam 78 + \mathchardef\curvearrowright "3\hex\msbmfam 79 + \mathchardef\digamma "0\hex\msbmfam 7A + \mathchardef\varkappa "0\hex\msbmfam 7B + \mathchardef\Bbbk "0\hex\msbmfam 7C + \mathchardef\hslash "0\hex\msbmfam 7D + \mathchardef\hbar "0\hex\msbmfam 7E + \mathchardef\backepsilon "3\hex\msbmfam 7F +} + + diff --git a/Master/texmf-dist/tex/generic/ofs/ofs-cm.tex b/Master/texmf-dist/tex/generic/ofs/ofs-cm.tex new file mode 100644 index 00000000000..478bfe7ae65 --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/ofs-cm.tex @@ -0,0 +1,285 @@ +% OFS: CM fonts, math encoding declaration +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Apr. 2004 Petr Olsak + +\protectreading ofs-cm.tex % This is part of OFS package + +\mathencdef\doPLAINmathchars {% + \fontmessage{\ofsmessageheader Math codes are reset by plainTeX.}% + \mathcode`\ ="8000 + \mathcode`\!="5021 + \mathcode`\'="8000 + \mathcode`\(="4028 + \mathcode`\)="5029 + \mathcode`\*="2203 + \mathcode`+="202B + \mathcode`\,="613B + \mathcode`\-="2200 + \mathcode`\.="013A + \mathcode`\/="013D + \mathcode`\:="303A + \mathcode`\;="603B + \mathcode`\<="313C + \mathcode`\=="303D + \mathcode`\>="313E + \mathcode`\?="503F + \mathcode`\[="405B + \mathcode`\\="026E + \mathcode`\]="505D + \mathcode`\_="8000 + \mathcode`\{="4266 + \mathcode`\|="026A + \mathcode`\}="5267 + % + \delcode`\(="028300 + \delcode`\)="029301 + \delcode`\[="05B302 + \delcode`\]="05D303 + \delcode`\<="26830A + \delcode`\>="26930B + \delcode`\/="02F30E + \delcode`\|="26A30C + \delcode`\\="26E30F + % + \mathchardef\alpha="010B + \mathchardef\beta="010C + \mathchardef\gamma="010D + \mathchardef\delta="010E + \mathchardef\epsilon="010F + \mathchardef\zeta="0110 + \mathchardef\eta="0111 + \mathchardef\theta="0112 + \mathchardef\iota="0113 + \mathchardef\kappa="0114 + \mathchardef\lambda="0115 + \mathchardef\mu="0116 + \mathchardef\nu="0117 + \mathchardef\xi="0118 + \mathchardef\pi="0119 + \mathchardef\rho="011A + \mathchardef\sigma="011B + \mathchardef\tau="011C + \mathchardef\upsilon="011D + \mathchardef\phi="011E + \mathchardef\chi="011F + \mathchardef\psi="0120 + \mathchardef\omega="0121 + \mathchardef\varepsilon="0122 + \mathchardef\vartheta="0123 + \mathchardef\varpi="0124 + \mathchardef\varrho="0125 + \mathchardef\varsigma="0126 + \mathchardef\varphi="0127 + \mathchardef\Gamma="7000 + \mathchardef\Delta="7001 + \mathchardef\Theta="7002 + \mathchardef\Lambda="7003 + \mathchardef\Xi="7004 + \mathchardef\Pi="7005 + \mathchardef\Sigma="7006 + \mathchardef\Upsilon="7007 + \mathchardef\Phi="7008 + \mathchardef\Psi="7009 + \mathchardef\Omega="700A + % + \mathchardef\aleph="0240 + \def\hbar{{\mathchar'26\mkern-9muh}} + \mathchardef\imath="017B + \mathchardef\jmath="017C + \mathchardef\ell="0160 + \mathchardef\wp="017D + \mathchardef\Re="023C + \mathchardef\Im="023D + \mathchardef\partial="0140 + \mathchardef\infty="0231 + \mathchardef\prime="0230 + \mathchardef\emptyset="023B + \mathchardef\nabla="0272 + \def\surd{{\mathchar"1270}} + \mathchardef\top="023E + \mathchardef\bot="023F + \def\angle{{\vbox{\ialign{$\m@th\scriptstyle####$\crcr + \not\mathrel{\mkern14mu}\crcr + \noalign{\nointerlineskip} + \mkern2.5mu\leaders\hrule height.34pt\hfill\mkern2.5mu\crcr}}}} + \mathchardef\triangle="0234 + \mathchardef\forall="0238 + \mathchardef\exists="0239 + \mathchardef\neg="023A \let\lnot=\neg + \mathchardef\flat="015B + \mathchardef\natural="015C + \mathchardef\sharp="015D + \mathchardef\clubsuit="027C + \mathchardef\diamondsuit="027D + \mathchardef\heartsuit="027E + \mathchardef\spadesuit="027F + % + \mathchardef\coprod="1360 + \mathchardef\bigvee="1357 + \mathchardef\bigwedge="1356 + \mathchardef\biguplus="1355 + \mathchardef\bigcap="1354 + \mathchardef\bigcup="1353 + \mathchardef\intop="1352 \def\int{\intop\nolimits} + \mathchardef\prod="1351 + \mathchardef\sum="1350 + \mathchardef\bigotimes="134E + \mathchardef\bigoplus="134C + \mathchardef\bigodot="134A + \mathchardef\ointop="1348 \def\oint{\ointop\nolimits} + \mathchardef\bigsqcup="1346 + \mathchardef\smallint="1273 + % + \mathchardef\triangleleft="212F + \mathchardef\triangleright="212E + \mathchardef\bigtriangleup="2234 + \mathchardef\bigtriangledown="2235 + \mathchardef\wedge="225E \let\land=\wedge + \mathchardef\vee="225F \let\lor=\vee + \mathchardef\cap="225C + \mathchardef\cup="225B + \mathchardef\ddagger="227A + \mathchardef\dagger="2279 + \mathchardef\sqcap="2275 + \mathchardef\sqcup="2274 + \mathchardef\uplus="225D + \mathchardef\amalg="2271 + \mathchardef\diamond="2205 + \mathchardef\bullet="220F + \mathchardef\wr="226F + \mathchardef\div="2204 + \mathchardef\odot="220C + \mathchardef\oslash="220B + \mathchardef\otimes="220A + \mathchardef\ominus="2209 + \mathchardef\oplus="2208 + \mathchardef\mp="2207 + \mathchardef\pm="2206 + \mathchardef\circ="220E + \mathchardef\bigcirc="220D + \mathchardef\setminus="226E + \mathchardef\cdot="2201 + \mathchardef\ast="2203 + \mathchardef\times="2202 + \mathchardef\star="213F + % + \mathchardef\propto="322F + \mathchardef\sqsubseteq="3276 + \mathchardef\sqsupseteq="3277 + \mathchardef\parallel="326B + \mathchardef\mid="326A + \mathchardef\dashv="3261 + \mathchardef\vdash="3260 + \mathchardef\nearrow="3225 + \mathchardef\searrow="3226 + \mathchardef\nwarrow="322D + \mathchardef\swarrow="322E + \mathchardef\Leftrightarrow="322C + \mathchardef\Leftarrow="3228 + \mathchardef\Rightarrow="3229 + \def\neq{\not=} + \let\ne=\neq + \mathchardef\leq="3214 \let\le=\leq + \mathchardef\geq="3215 \let\ge=\geq + \mathchardef\succ="321F + \mathchardef\prec="321E + \mathchardef\approx="3219 + \mathchardef\succeq="3217 + \mathchardef\preceq="3216 + \mathchardef\supset="321B + \mathchardef\subset="321A + \mathchardef\supseteq="3213 + \mathchardef\subseteq="3212 + \mathchardef\in="3232 + \mathchardef\ni="3233 + \let\owns=\ni + \mathchardef\gg="321D + \mathchardef\ll="321C + \mathchardef\not="3236 + \mathchardef\leftrightarrow="3224 + \mathchardef\leftarrow="3220 + \let\gets=\leftarrow + \mathchardef\rightarrow="3221 + \let\to=\rightarrow + \mathchardef\mapstochar="3237 + \def\mapsto{\mapstochar\rightarrow} + \mathchardef\sim="3218 + \mathchardef\simeq="3227 + \mathchardef\perp="323F + \mathchardef\equiv="3211 + \mathchardef\asymp="3210 + \mathchardef\smile="315E + \mathchardef\frown="315F + \mathchardef\leftharpoonup="3128 + \mathchardef\leftharpoondown="3129 + \mathchardef\rightharpoonup="312A + \mathchardef\rightharpoondown="312B + % + \def\Relbar{\mathrel=} + \mathchardef\lhook="312C \def\hookrightarrow{\lhook\joinrel\rightarrow} + \mathchardef\rhook="312D \def\hookleftarrow{\leftarrow\joinrel\rhook} + \def\bowtie{\mathrel\triangleright\joinrel\mathrel\triangleleft} + \def\models{\mathrel|\joinrel=} + \def\Longrightarrow{\Relbar\joinrel\Rightarrow} + \def\longrightarrow{\relbar\joinrel\rightarrow} + \def\longleftarrow{\leftarrow\joinrel\relbar} + \def\Longleftarrow{\Leftarrow\joinrel\Relbar} + \def\longmapsto{\mapstochar\longrightarrow} + \def\longleftrightarrow{\leftarrow\joinrel\rightarrow} + \def\Longleftrightarrow{\Leftarrow\joinrel\Rightarrow} + \def\iff{\;\Longleftrightarrow\;} + % + \mathchardef\ldotp="613A % ldot as a punctuation mark + \mathchardef\cdotp="6201 % cdot as a punctuation mark + \mathchardef\colon="603A % colon as a punctuation mark + \def\ldots{\mathinner{\ldotp\ldotp\ldotp}} + \def\cdots{\mathinner{\cdotp\cdotp\cdotp}} + \def\vdots{\vbox{\baselineskip4\p@ \lineskiplimit\z@ + \kern6\p@\hbox{.}\hbox{.}\hbox{.}}} + \def\ddots{\mathinner{\mkern1mu\raise7\p@\vbox{\kern7\p@\hbox{.}}\mkern2mu + \raise4\p@\hbox{.}\mkern2mu\raise\p@\hbox{.}\mkern1mu}} + % + \def\acute{\mathaccent"7013 } + \def\grave{\mathaccent"7012 } + \def\ddot{\mathaccent"707F } + \def\tilde{\mathaccent"707E } + \def\bar{\mathaccent"7016 } + \def\breve{\mathaccent"7015 } + \def\check{\mathaccent"7014 } + \def\hat{\mathaccent"705E } + \def\vec{\mathaccent"017E } + \def\dot{\mathaccent"705F } + \def\widetilde{\mathaccent"0365 } + \def\widehat{\mathaccent"0362 } + % + \def\lmoustache{\delimiter"437A340 }% top from (, bottom from ) + \def\rmoustache{\delimiter"537B341 }% top from ), bottom from ( + \def\lgroup{\delimiter"4\hex\bffam 2833A }% extensible ( with sharper tips + \def\rgroup{\delimiter"5\hex\bffam 2933B }% extensible ) with sharper tips + \def\arrowvert{\delimiter"26A33C }% arrow without arrowheads + \def\Arrowvert{\delimiter"26B33D }% double arrow without arrowheads + \def\bracevert{\delimiter"\hex\ttfam 7C33E }% the vertical bar that extends braces + \def\Vert{\delimiter"26B30D }\let\|=\Vert + \def\vert{\delimiter"26A30C } + \def\uparrow{\delimiter"3222378 } + \def\downarrow{\delimiter"3223379 } + \def\updownarrow{\delimiter"326C33F } + \def\Uparrow{\delimiter"322A37E } + \def\Downarrow{\delimiter"322B37F } + \def\Updownarrow{\delimiter"326D377 } + \def\backslash{\delimiter"26E30F }% for double coset G\backslash H + \def\rangle{\delimiter"526930B } + \def\langle{\delimiter"426830A } + \def\rbrace{\delimiter"5267309 }\let\}=\rbrace + \def\lbrace{\delimiter"4266308 }\let\{=\lbrace + \def\rceil{\delimiter"5265307 } + \def\lceil{\delimiter"4264306 } + \def\rfloor{\delimiter"5263305 } + \def\lfloor{\delimiter"4262304 } +} +\endinput + + + + + diff --git a/Master/texmf-dist/tex/generic/ofs/ofs-mt.tex b/Master/texmf-dist/tex/generic/ofs/ofs-mt.tex new file mode 100644 index 00000000000..a10b15cf1c8 --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/ofs-mt.tex @@ -0,0 +1,122 @@ +% OFS: MathTime fonts, math encoding declaration +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Apr. 2004 Petr Olsak + +\protectreading ofs-mt.tex % This is part of OFS package + +\mathencdef\MTmathchars {% + \fontmessage{\ofsmessageheader Math codes are set for MT encoding}% + \mathcode`\,="602C + \mathcode`\.="002E + \mathchardef\ldotp="602E + \mathcode`\/="002F + \mathcode`\<="3\hex\mtifam 3C + \mathcode`\>="3\hex\mtifam 3E + \mathcode`+="2243 + \mathcode`=="3244 + % + \def\tmpa{8z}\ifx\fotenc\tmpa + \mathaccentdef \acute "7013 + \mathaccentdef \bar "7016 + \mathaccentdef \breve "7015 + \mathaccentdef \check "7014 + \mathaccentdef \ddot "707F + \mathaccentdef \dot "705F + \mathaccentdef \grave "7012 + \mathaccentdef \hat "705E + \mathaccentdef \tilde "707E + \else + \mathaccentdef \acute "7001 + \mathaccentdef \bar "7009 + \mathaccentdef \breve "7008 + \mathaccentdef \check "7007 + \mathaccentdef \ddot "7004 + \mathaccentdef \dot "700A + \mathaccentdef \grave "7000 + \mathaccentdef \hat "7002 + \mathaccentdef \tilde "7003 + \fi + \mathaccentdef \vec "0245 + % + \mathchardef\alpha "0\hex\mtifam 0B + \mathchardef\beta "0\hex\mtifam 0C + \mathchardef\gamma "0\hex\mtifam 0D + \mathchardef\delta "0\hex\mtifam 0E + \mathchardef\epsilon "0\hex\mtifam 0F + \mathchardef\zeta "0\hex\mtifam 10 + \mathchardef\eta "0\hex\mtifam 11 + \mathchardef\theta "0\hex\mtifam 12 + \mathchardef\iota "0\hex\mtifam 13 + \mathchardef\kappa "0\hex\mtifam 14 + \mathchardef\lambda "0\hex\mtifam 15 + \mathchardef\mu "0\hex\mtifam 16 + \mathchardef\nu "0\hex\mtifam 17 + \mathchardef\xi "0\hex\mtifam 18 + \mathchardef\pi "0\hex\mtifam 19 + \mathchardef\rho "0\hex\mtifam 1A + \mathchardef\sigma "0\hex\mtifam 1B + \mathchardef\tau "0\hex\mtifam 1C + \mathchardef\upsilon "0\hex\mtifam 1D + \mathchardef\phi "0\hex\mtifam 1E + \mathchardef\chi "0\hex\mtifam 1F + \mathchardef\psi "0\hex\mtifam 20 + \mathchardef\omega "0\hex\mtifam 21 + \mathchardef\varepsilon "0\hex\mtifam 22 + \mathchardef\vartheta "0\hex\mtifam 23 + \mathchardef\varpi "0\hex\mtifam 24 + \mathchardef\varrho "0\hex\mtifam 25 + \mathchardef\varsigma "0\hex\mtifam 26 + \mathchardef\varphi "0\hex\mtifam 27 + % + \mathchardef\Gamma "0\hex\gufam 47 + \mathchardef\Delta "0\hex\gufam 44 + \mathchardef\Theta "0\hex\gufam 27 + \mathchardef\Lambda "0\hex\gufam 4C + \mathchardef\Xi "0\hex\gufam 58 + \mathchardef\Pi "0\hex\gufam 50 + \mathchardef\Sigma "0\hex\gufam 53 + \mathchardef\Upsilon "0\hex\gufam 57 + \mathchardef\Phi "0\hex\gufam 28 + \mathchardef\Psi "0\hex\gufam 29 + \mathchardef\Omega "0\hex\gufam 32 + % + \mathchardef\imath "0\hex\mtifam 7B + \mathchardef\jmath "0\hex\mtifam 7C + % + \mathchardef\partial "0\hex\mtifam 40 + \mathchardef\star "2\hex\mtifam 3F + \mathchardef\ell "0\hex\mtifam 60 + \mathchardef\wp "0\hex\mtifam 7D + \mathchardef\flat "0\hex\mtifam 5B + \mathchardef\frown "3\hex\mtifam 5F + \mathchardef\smile "3\hex\mtifam 5E + \mathchardef\lhook "3\hex\mtifam 2C + \mathchardef\rhook "3\hex\mtifam 2D + \mathchardef\natural "0\hex\mtifam 5C + \mathchardef\sharp "0\hex\mtifam 5D + \mathchardef\leftharpoonup "3\hex\mtifam 28 + \mathchardef\leftharpoondown "3\hex\mtifam 29 + \mathchardef\rightharpoonup "3\hex\mtifam 2A + \mathchardef\rightharpoondown "3\hex\mtifam 2B + % + \mathchardef\triangleleft "2247 + \mathchardef\triangleright "2246 + \def\tmpa{8z}\ifx\fotenc\tmpa + \mathchardef\ddagger "2082 + \mathchardef\dagger "2081 + \fi + \def\lgroup{\delimiter"4\hex\bffam 2833A }% extensible ( with sharper tips + \def\rgroup{\delimiter"5\hex\bffam 2933B }% extensible ) with sharper tips + \def\bracevert{\delimiter"\hex\ttfam 7C33E }% the vertical bar that extends braces + % + \def\mathcharsback{\mathencread ofs-cm;}% +} + + + + + + + + + diff --git a/Master/texmf-dist/tex/generic/ofs/ofs-ps.tex b/Master/texmf-dist/tex/generic/ofs/ofs-ps.tex new file mode 100644 index 00000000000..0d358ffca21 --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/ofs-ps.tex @@ -0,0 +1,207 @@ +% OFS: PS fonts + math encoding declaration for \def\fomenc{PS} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Apr. 2004 Petr Olsak + +\protectreading ofs-ps.tex % This is part of OFS package + +\mathencdef\PSmathchars {% + \fontmessage{\ofsmessageheader Math codes are set for PS encoding.}% + \mathcode`\,="602C + \mathcode`\.="002E + \mathchardef\ldotp="602E + \mathcode`\/="002F + \mathcode`\-="2\hex\symbfam 2D + \mathcode`\<="3\hex\symbfam 3C + \mathcode`\>="3\hex\symbfam 3E + \mathcode`\|="0\hex\symbfam 7C + % + \delcode`\<="\hex\symbfam E130A + \delcode`\>="\hex\symbfam F130B + \delcode`\|="\hex\symbfam 7C30C + % + \edef\langle{\delimiter"4\hex\symbfam E130A }% + \edef\rangle{\delimiter"5\hex\symbfam F130B }% + \edef\lbrace{\delimiter"4\hex\symbfam 7B308 }\let\{=\lbrace + \edef\vert {\delimiter"2\hex\symbfam 7C30C }\let\|=\vert + \edef\rbrace{\delimiter"5\hex\symbfam 7D309 }\let\}=\rbrace + % \bffam, \ttfam can be allocated with non-plain values + \def\lgroup{\delimiter"4\hex\bffam 2833A }% extensible ( with sharper tips + \def\rgroup{\delimiter"5\hex\bffam 2933B }% extensible ) with sharper tips + \def\bracevert{\delimiter"\hex\ttfam 7C33E }% the vertical bar that extends braces + % + \def\tmpa{8z}\ifx\fotenc\tmpa + \mathaccentdef \acute "7013 + \mathaccentdef \bar "7016 + \mathaccentdef \breve "7015 + \mathaccentdef \check "7014 + \mathaccentdef \ddot "707F + \mathaccentdef \dot "705F + \mathaccentdef \grave "7012 + \mathaccentdef \hat "705E + \mathaccentdef \tilde "707E + \else + \mathaccentdef \acute "7001 + \mathaccentdef \bar "7009 + \mathaccentdef \breve "7008 + \mathaccentdef \check "7007 + \mathaccentdef \ddot "7004 + \mathaccentdef \dot "700A + \mathaccentdef \grave "7000 + \mathaccentdef \hat "7002 + \mathaccentdef \tilde "7003 + \fi + \let\vec=\overrightarrow % rightarrow accent is not present in Symbol + % + \mathchardef\alpha "0\hex\symbofam 61 + \mathchardef\beta "0\hex\symbofam 62 + \mathchardef\gamma "0\hex\symbofam 67 + \mathchardef\delta "0\hex\symbofam 64 + \mathchardef\epsilon "0\hex\symbofam 65 + \mathchardef\zeta "0\hex\symbofam 7A + \mathchardef\eta "0\hex\symbofam 68 + \mathchardef\theta "0\hex\symbofam 71 + \mathchardef\iota "0\hex\symbofam 69 + \mathchardef\kappa "0\hex\symbofam 6B + \mathchardef\lambda "0\hex\symbofam 6C + \mathchardef\mu "0\hex\symbofam 6D + \mathchardef\nu "0\hex\symbofam 6E + \mathchardef\xi "0\hex\symbofam 78 + \mathchardef\pi "0\hex\symbofam 70 + \mathchardef\rho "0\hex\symbofam 72 + \mathchardef\sigma "0\hex\symbofam 73 + \mathchardef\tau "0\hex\symbofam 74 + \mathchardef\upsilon "0\hex\symbofam 75 + \mathchardef\phi "0\hex\symbofam 66 + \mathchardef\chi "0\hex\symbofam 63 + \mathchardef\psi "0\hex\symbofam 79 + \mathchardef\omega "0\hex\symbofam 77 + \let\varepsilon \epsilon + \let\vartheta \theta + \mathchardef\varpi "0\hex\symbofam 76 + \let\varrho \rho + \let\varsigma \sigma + \let\varphi \phi + \mathchardef\Gamma "0\hex\symbfam 47 + \mathchardef\Delta "0\hex\symbfam 44 + \mathchardef\Theta "0\hex\symbfam 51 + \mathchardef\Lambda "0\hex\symbfam 4C + \mathchardef\Xi "0\hex\symbfam 58 + \mathchardef\Pi "0\hex\symbfam 50 + \mathchardef\Sigma "0\hex\symbfam 53 + \mathchardef\Upsilon "0\hex\symbfam A1 + \mathchardef\Phi "0\hex\symbfam 46 + \mathchardef\Psi "0\hex\symbfam 59 + \mathchardef\Omega "0\hex\symbfam 57 + % + \mathchardef\aleph "0\hex\symbfam C0 + \def\tmpa{8z}\ifx\fotenc\tmpa + \mathchardef\imath "0110 + \else + \mathchardef\imath "0169 + \fi + \mathchardef\Re "0\hex\symbfam C2 + \mathchardef\Im "0\hex\symbfam C1 + \mathchardef\partial "0\hex\symbfam B6 + \mathchardef\infty "0\hex\symbfam A5 + \mathchardef\emptyset "0\hex\symbfam C6 + \mathchardef\nabla "0\hex\symbfam D1 + \mathchardef\bot "0\hex\symbfam 5E + \mathchardef\forall "0\hex\symbfam 22 + \mathchardef\exists "0\hex\symbfam 24 + \mathchardef\neg "0\hex\symbfam D8 \let\lnot \neg + \mathchardef\clubsuit "0\hex\symbfam A7 + \mathchardef\diamondsuit "0\hex\symbfam A8 + \mathchardef\heartsuit "0\hex\symbfam A9 + \mathchardef\spadesuit "0\hex\symbfam AA + % + \mathchardef\intopinternal "1\hex\symbfam F2 + \mathchardef\prodinternal "1\hex\symbfam D5 + \mathchardef\suminternal "1\hex\symbfam E5 + % + \def\intop {\mathop{\let\oriop=\intopinternal + \mathpalette\setop{\char"F2}\kern.06em}}% + \def\prod {\mathop{\let\oriop=\prodinternal + \mathpalette\setop{\char"F2}}}% + \def\sum {\mathop{\let\oriop=\suminternal + \mathpalette\setop{\char"E5}}}% + \def\setop ##1##2{\ifx##1\displaystyle % Bigger \int, \prod, \sum + \vcenter{\hbox{\bigsymbofont##2}}% % in \displaystyle + \else ##1\oriop\fi} + % + \mathchardef\wedge "2\hex\symbfam D9 \let\land \wedge + \mathchardef\vee "2\hex\symbfam DA \let\lor \vee + \mathchardef\cap "2\hex\symbfam C7 + \mathchardef\cup "2\hex\symbfam C8 + \def\tmpa{8z}\ifx\fotenc\tmpa + \mathchardef\ddagger "2082 + \mathchardef\dagger "2081 + \fi + \mathchardef\bullet "2\hex\symbfam B7 + \mathchardef\div "2\hex\symbfam B8 + \mathchardef\oslash "2\hex\symbfam C6 + \mathchardef\otimes "2\hex\symbfam C4 + \mathchardef\oplus "2\hex\symbfam C5 + \mathchardef\pm "2\hex\symbfam B1 + \mathchardef\cdot "2\hex\symbfam D7 + \mathchardef\ast "2\hex\symbfam 2A + \mathchardef\times "2\hex\symbfam B4 + \let\star \ast + % + \mathchardef\propto "3\hex\symbfam B5 + \mathchardef\mid "3\hex\symbfam EF + \mathchardef\Leftrightarrow "3\hex\symbfam DB + \mathchardef\Leftarrow "3\hex\symbfam DC + \mathchardef\Rightarrow "3\hex\symbfam DE + \mathchardef\neq "3\hex\symbfam B9 \let\ne \neq + \mathchardef\leq "3\hex\symbfam A3 \let\le \leq + \mathchardef\geq "3\hex\symbfam B3 \let\ge \geq + \mathchardef\approx "3\hex\symbfam BB + \mathchardef\supset "3\hex\symbfam C9 + \mathchardef\subset "3\hex\symbfam CC + \mathchardef\supseteq "3\hex\symbfam CA + \mathchardef\subseteq "3\hex\symbfam CD + \mathchardef\in "3\hex\symbfam CE + \mathchardef\ni "3\hex\symbfam 27 \let\owns \ni + \mathchardef\leftrightarrow "3\hex\symbfam AB + \mathchardef\leftarrow "3\hex\symbfam AC \let\gets \leftarrow + \mathchardef\rightarrow "3\hex\symbfam AE \let\to \rightarrow + \mathchardef\sim "3\hex\symbfam 7E + \mathchardef\simeq "3\hex\symbfam 40 + \mathchardef\perp "3\hex\symbfam 5E + \mathchardef\equiv "3\hex\symbfam BA + % + \def\longrightarrow{\mathrel{\smash{\mathchar"200}}\joinrel\mathchar"3221 }% + \def\longleftarrow{\mathchar"3220\joinrel\mathrel{\smash{\mathchar"200}}}% + \def\Longrightarrow{\mathrel{\pickmathfont{cmr8z}=}\joinrel\mathchar"3229 }% + \def\Longleftarrow{\mathchar"3228\joinrel\mathrel{\pickmathfont{cmr8z}=}}% + \def\mapsto{\mapstochar\mathchar"3221 }% + \def\longleftrightarrow{\mathchar"3220\joinrel\mathchar"3221 }% + \def\Longleftrightarrow{\mathchar"3228\joinrel\mathchar"3229 }% + \def\rightarrowfill{$\mathsurround0pt\smash{\mathchar"200}\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash{\mathchar"200}\mkern-2mu$}\hfill + \mkern-7mu\mathchar"221$}% + \def\leftarrowfill{$\mathsurround0pt\mathchar"220\mkern-7mu% + \cleaders\hbox{$\mkern-2mu\smash{\mathchar"200}\mkern-2mu$}\hfill + \mkern-7mu\smash{\mathchar"200}$}% + % + % The following characters are not present im psyr: + % + \def\jmath{{\pickmathfont{cmmi}{\char"7C}}}% + \def\ell{{\pickmathfont{cmmi}{\char"60}}}% + \def\wp{{\pickmathfont{cmmi}{\char"7D}}}% + \def\flat{{\pickmathfont{cmmi}{\char"5B}}}% + \def\natural{{\pickmathfont{cmmi}{\char"5C}}}% + \let\sharp \natural + \def\triangleleft{\mathbin{\pickmathfont{cmmi}{\char"2F}}}% + \def\triangleright{\mathbin{\pickmathfont{cmmi}{\char"2E}}}% + \def\smile{\mathrel{\pickmathfont{cmmi}{\char"5E}}}% + \def\frown{\mathrel{\pickmathfont{cmmi}{\char"5F}}}% + \def\leftharpoonup{\mathrel{\pickmathfont{cmmi}{\char"28}}}% + \def\leftharpoondown{\mathrel{\pickmathfont{cmmi}{\char"29}}}% + \def\rightharpoonup{\mathrel{\pickmathfont{cmmi}{\char"2A}}}% + \def\rightharpoondown{\mathrel{\pickmathfont{cmmi}{\char"2B}}}% + % + \def\mathcharsback{\mathencread ofs-cm;}% +} + + diff --git a/Master/texmf-dist/tex/generic/ofs/ofs-px.tex b/Master/texmf-dist/tex/generic/ofs/ofs-px.tex new file mode 100644 index 00000000000..e464f080f75 --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/ofs-px.tex @@ -0,0 +1,98 @@ +% OFS: TX fonts + math encoding declaration for \def\fomenc{PX} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Apr. 2004 Petr Olsak + +\protectreading ofs-px.tex % This is part of OFS package + +\mathencdef\PXmathchars {% + \fontmessage{\ofsmessageheader Math codes are set for PX encoding.}% + \mathcode`\, "602C + \mathcode`\. "002E + \mathchardef\ldotp "602E + \mathcode`\/ "002F + \mathcode`\< "3\hex\mifam 3C + \mathcode`\> "3\hex\mifam 3E + % + \mathchardef\alpha "0\hex\mifam 0B + \mathchardef\beta "0\hex\mifam 0C + \mathchardef\gamma "0\hex\mifam 0D + \mathchardef\delta "0\hex\mifam 0E + \mathchardef\epsilon "0\hex\mifam 0F + \mathchardef\zeta "0\hex\mifam 10 + \mathchardef\eta "0\hex\mifam 11 + \mathchardef\theta "0\hex\mifam 12 + \mathchardef\iota "0\hex\mifam 13 + \mathchardef\kappa "0\hex\mifam 14 + \mathchardef\lambda "0\hex\mifam 15 + \mathchardef\mu "0\hex\mifam 16 + \mathchardef\nu "0\hex\mifam 17 + \mathchardef\xi "0\hex\mifam 18 + \mathchardef\pi "0\hex\mifam 19 + \mathchardef\rho "0\hex\mifam 1A + \mathchardef\sigma "0\hex\mifam 1B + \mathchardef\tau "0\hex\mifam 1C + \mathchardef\upsilon "0\hex\mifam 1D + \mathchardef\phi "0\hex\mifam 1E + \mathchardef\chi "0\hex\mifam 1F + \mathchardef\psi "0\hex\mifam 20 + \mathchardef\omega "0\hex\mifam 21 + \mathchardef\varepsilon "0\hex\mifam 22 + \mathchardef\vartheta "0\hex\mifam 23 + \mathchardef\varpi "0\hex\mifam 24 + \mathchardef\varrho "0\hex\mifam 25 + \mathchardef\varsigma "0\hex\mifam 26 + \mathchardef\varphi "0\hex\mifam 27 + % + \mathchardef\Gamma "0\hex\rmsyfam 00 + \mathchardef\Delta "0\hex\rmsyfam 01 + \mathchardef\Theta "0\hex\rmsyfam 02 + \mathchardef\Lambda "0\hex\rmsyfam 03 + \mathchardef\Xi "0\hex\rmsyfam 04 + \mathchardef\Pi "0\hex\rmsyfam 05 + \mathchardef\Sigma "0\hex\rmsyfam 06 + \mathchardef\Upsilon "0\hex\rmsyfam 07 + \mathchardef\Phi "0\hex\rmsyfam 08 + \mathchardef\Psi "0\hex\rmsyfam 09 + \mathchardef\Omega "0\hex\rmsyfam 0A + % + \mathchardef\imath "0\hex\mifam 7B + \mathchardef\jmath "0\hex\mifam 7C + \mathchardef\ell "0\hex\mifam 60 + \mathchardef\wp "0\hex\mifam 7D + \mathchardef\partial "0\hex\mifam 40 + \mathchardef\flat "0\hex\mifam 5B + \mathchardef\natural "0\hex\mifam 5C + \mathchardef\sharp "0\hex\mifam 5D + \mathchardef\triangleleft "2\hex\mifam 2F + \mathchardef\triangleright "2\hex\mifam 2E + \mathchardef\star "2\hex\mifam 3F + \mathchardef\smile "3\hex\mifam 5E + \mathchardef\frown "3\hex\mifam 5F + \mathchardef\leftharpoonup "3\hex\mifam 28 + \mathchardef\leftharpoondown "3\hex\mifam 29 + \mathchardef\rightharpoonup "3\hex\mifam 2A + \mathchardef\rightharpoondown "3\hex\mifam 2B + \mathchardef\lhook "3\hex\mifam 2C + \mathchardef\rhook "3\hex\mifam 2D + \mathchardef\ldotp "6\hex\mifam 3A + % + \def\acute {\mathaccent"0\hex\rmsyfam 13 }% + \def\grave {\mathaccent"0\hex\rmsyfam 12 }% + \def\ddot {\mathaccent"0\hex\rmsyfam 7F }% + \def\tilde {\mathaccent"0\hex\rmsyfam 7E }% + \def\bar {\mathaccent"0\hex\rmsyfam 16 }% + \def\breve {\mathaccent"0\hex\rmsyfam 15 }% + \def\check {\mathaccent"0\hex\rmsyfam 14 }% + \def\hat {\mathaccent"0\hex\rmsyfam 5E }% + \def\vec {\mathaccent"0\hex\mifam 7E }% + \def\dot {\mathaccent"0\hex\rmsyfam 5F }% +} + + + + + + + + + diff --git a/Master/texmf-dist/tex/generic/ofs/ofs-slt.tex b/Master/texmf-dist/tex/generic/ofs/ofs-slt.tex new file mode 100644 index 00000000000..ffee32f6955 --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/ofs-slt.tex @@ -0,0 +1,1004 @@ +\chyph % pou¾ijte csplain + +% Pøimlovám se k tomu nepøeznaèkovávat èlánek do LaTeXu +% Na èlánku toti¾ demonstruji vlastnosti OFS a opírám se +% o OFS z plainu. Pøechod na LaTeX se zachováním tìchto vlastností +% by nebyl jednoduchý. Mù¾ete rozbalit metriky +% a virtuální fonty k Charteru (pøilo¾ený charter8z.zip) do +% pracovního adresáøe a zpracovat csplainem na instalaci TeXu, +% která obsahuje OFS. Pøed spu¹tìním dvips je pak potøeba doplnit +% do psfonts.map ètyøi øádky uvedené v souboru mapfile. Mù¾ete mì také +% informovat o tom, na kterých stránkách se dokument bude ve sborníku +% nacházet, já opravím údaj \firstpage, zplainuji to, zdvipsuji a +% po¹lu obratem zpátky. + +\newcount\firstpage \firstpage=79 +\newcount\numpages \numpages=14 + +\def\addcmd #1#2{\expandafter\def\expandafter\tmpa\expandafter{#1}% + \def\tmpb{#1}% + \ifx\tmpa\tmpb % the #1 is not a macro + \expandafter\let\csname \string#1-original\endcsname =#1% + \expandafter\def\expandafter #1\expandafter{% + \csname\string#1-original\endcsname #2}% + \else % the #1 is a macro + \expandafter\def\expandafter #1\expandafter{#1#2}% + \fi} + +\input ofs [ffonts] % Charter je ve skupinì free fonts +\setfonts [Charter/10pt] % výchozí rodina +\setmath[//] % inicializace matematiky +\fontdef\tt [CMTypewriter/mag1.1] % strojopis, korekce støední vý¹ky +\fontdef\verbtt [CMTypewriter-rm/8] % strojopis pro display ukázky +\fontdef\small [!/9] % zmen¹ení pro abstrakt a záhlaví +\addcmd \small {\baselineskip11pt \rm \def\mathversion{normal}\setmath[//]} +\fontdef\fontsekce [!/12] % pro nadpisy sekcí +\addcmd \fontsekce {\bf \let\it=\bi \def\mathversion{bold}\setmath[//]} +\fontdef\fonttitul [!-bf/14.4] % titul + +\hsize=12,2cm +\vsize=19,3cm +\hoffset=63pt +\voffset=43pt +\parindent=14pt + +\lineskiplimit=-10pt +\raggedbottom + +\exhyphenpenalty=10000 +\widowpenalty=10000 +\clubpenalty=10000 + +\showboxdepth=10 \showboxbreadth=50 + +\def\starthead{\global\headline= + {\small \ifodd\pageno \hfil \thetitul \headspace \the\pageno + \else \the\pageno \headspace \theauthor \hfil \fi}} +\headline={\hfil\starthead} +\def\headspace{\hskip2.5em\relax} +\def\makeheadline{\vbox to0pt{\vskip-25pt + \line{\vbox to8.5pt{}\the\headline}\vss}\nointerlineskip} +\footline={\setfonts[/7]\setmath[//]\baselineskip=9pt + \vbox{\hbox{\copytext}\hbox{\copykonvoj}}\hfil + \global\footline={}} +\def\lastpage{\advance\firstpage by\numpages \advance\firstpage by-1 + \the\firstpage} + +\def\copytext{Jan Kasprzak, Petr Sojka (editoøi): \SLT~2002 -- sborník + semináøe o~Linuxu a \TeX{}u, str. \the\firstpage--\lastpage, 2002.} +\def\copykonvoj{\copyright~Konvoj, CSTUG, CZLUG 2002} + +\newcount\subnum + +\def\kap #1\par{\advance\subnum by1 + \removelastskip %\goodbreak + \vskip17pt plus2pt minus1pt\noindent{\fontsekce + \ifnum\subnum>1 \the\subnum\enspace\enspace\fi #1}% + \par\nobreak\vskip11pt plus2pt minus1pt + \everypar{\setbox0=\lastbox \everypar={}}} +\def\reference {\subnum=-1 \kap Reference\par \small} +\def\bib{\par\advance\subnum by1 \leftskip=\parindent + \noindent\llap{\the\subnum.\enspace}\ignorespaces} + +\let\orifootnote=\footnote +\newcount\footnotenum +\def\footnote#1{\global\advance\footnotenum by1 + \orifootnote{$\setmath[//]^\the\footnotenum$}{\small + \hangindent=\parindent #1\par}} +\def\footnoterule{\kern-3pt \hrule width 2cm \kern2.6pt } + +\def\titul #1 \par{\def\thetitul{#1}\pageno=\firstpage + \centerline{\fonttitul #1}\vskip20pt\relax} +\def\autor #1 \par{\def\theauthor{#1} + \centerline{#1}\vskip10pt\relax} +\def\institut #1 \par{\centerline{\small #1}} +\def\email #1 \par{\centerline{\small Email: \tt #1}\vskip20pt\relax} +\def\abstrakt #1\par{\bgroup \small + \leftskip=3em \rightskip=3em + \noindent{\bf Abstrakt:}\enspace #1\par \egroup\bigskip} +\def\url#1{{\tt#1}} + +\font\mflogo=logo10 % METAFONT logo +\font\boldsy=cmbsy10 at12pt % Tuèné \CS, \AMS. +\font\bboldsy=cmbsy10 scaled\magstep2 % Tuèné \CS v titulu + +\def\CS{$\cal C\kern-.1667em\lower.5ex\hbox{$\cal S$}\kern-.075em $} +\def\bCS{{\boldsy C\kern-.1667em\lower.5ex\hbox{S}\kern-.04em}} +\def\CSTeX{\CS\TeX} +\def\CSTUG{\CS TUG} +\def\CSfont{\CS\kern.1em font} +\def\csplain{\CS\kern.1em plain} \let\CSplain=\csplain +\def\mf{{\mflogo META}\-{\mflogo FONT}} +\def\mp{{\mflogo META}\-{\mflogo POST}} +\def\LaTeX{L\kern-.2em\raise.45ex\hbox{\setfonts[/mag.7] A}\kern-.05em\TeX} +\def\twoe{$2_{\textstyle\varepsilon}$} +\def\LaTeXe{\LaTeX\thinspace\twoe} +\def\cslatex{\CS\kern.05em\LaTeX} \let\CSLaTeX=\cslatex +\def\twoe{$2_{\textstyle\varepsilon}$} +\def\LaTeXe{\LaTeX\thinspace\twoe} +\def\AMS{$\cal A\kern-.166em\lower.5ex\hbox{$\cal M$}\kern-.075em S$} +\def\bAMS{{\boldsy A\kern-.166em\lower.5ex\hbox{M}\kern-.075em S}} +\def\ps{Post\-Script} +\def\SLT{S\kern-0.025em\lower.5ex\hbox{L}\kern-.2emT} +\def\DOS{\hbox{DOS}} + +%% Definice verbatim prostøedí %% !verb. +\catcode`\"=13 +\def"{\hbox\bgroup\let"=\egroup\setverb\tt} +\def\setverb{\def\do##1{\catcode`##1=12}\dospecials\obeyspaces} +\def\begtt{\medskip\bgroup + \nobreak\setverb \parskip=0pt %\parindent=0pt + \catcode`\"=12\catcode`\~=13 \obeylines + \baselineskip=10pt + \let\tt=\verbtt \startverb} +{\catcode`\|=0 \catcode`\\=12 + |gdef|startverb#1\endtt{% + |tt#1|nobreak|egroup|penalty0|medskip|scannexttoken}} +{\obeyspaces\gdef {\ }} +\long\def\scannexttoken#1{\ifx#1\par\else\noindent#1\fi} + +\def\citeref #1 #2 {\expandafter\def\csname cit:#1\endcsname{#2}} +\citeref pismolijna 1 +\citeref ofsftp 2 +\citeref ofsdoc 3 +\citeref stormcl 4 +\def\cite#1{\expandafter\ifx \csname cit:#1\endcsname\relax + \message{Warning: cite{#1} is not defined}[??]% + \else [\csname cit:#1\endcsname]\fi} + +%------------------------------------------------------------------------- + +\titul Makro OFS + %%%%%%%%% + +\autor Petr Ol¹ák + +\institut Elektrotechnická fakulta ÈVUT, Praha + +\email olsak@math.feld.cvut.cz + +\abstrakt + OFS (Ol¹ákùv fontový systém) je balíèek TeXových maker, který + umo¾ní získat vìt¹í pøehled nad rozsáhlými kolekcemi fontù a umo¾ní + s~nimi pomìrnì snadnou manipulaci. Balík byl vyvinut pro získání + pøehledu nad fonty z~Typokatalogu Støe¹ovické písmolijny~\cite{pismolijna}. + Na základì poptávky \LaTeX{}ových u¾ivatelù byl balík + napsán je¹tì jednou pro \LaTeX, kde vyu¾ívá NFSS a pokou¹í se je + tro¹ièku vylep¹it. Základní u¾ivatelské pøíkazy OFS jsou pak v~obou + prostøedích (plain i \LaTeX) stejné. Na pøedná¹ce pøedvedu pou¾ití + OFS na u¾ivatelské i konfiguraèní úrovni. + +\kap Úvodem +%---------- + +Makro OFS jsem si napsal hlavnì proto, abych se vyznal ve stovkách +fontù, které pocházely ze Støe¹ovické písmolijny a pro které jsem +pøed rokem udìlal \TeX{}ovou podporu. Proto¾e jsem plainista, ¹lo mi +hlavnì o~to udìlat makro co nejvíce srozumitelné u¾ivateli plainu, +který potøebuje pøesnì vìdìt, co to makro dìlá. Tento po¾adavek +napøíklad \LaTeX{}ové NFSS nesplòuje. + +Pozdìji se zaèali o~OFS zajímat té¾ nìkteøí u¾ivatelé \LaTeX{}u. To¾ +jsem se pøemohl a pokusil OFS napsat je¹tì jednou, tentokrát pod +\LaTeX{}em s~vyu¾itím~NFSS. Cílem tohoto pøepsání bylo hlavnì to, aby +se u¾ivatelské pøíkazy pro vyhledávání a pøepínání rodin fontù +zcela shodovaly v~\LaTeX{}ové verzi s~verzí plainovou. \LaTeX{}ová +verze pøesto umí podstatnì ménì vìcí, ne¾ plainová, proto¾e pokud by +mìla umìt v¹e, musel bych NFSS zcela odmítnout a fontový modul +\LaTeX{}u si napsat po svém. Tím bych ale popøel \LaTeX{} jako +takový, tak¾e jsem zùstal u~respektování principù NFSS. Vìci, které +se v~NFSS dají dìlat velmi tì¾ko, jsem radìji nedìlal. + +Z~tìchto dùvodù jsem se v~\LaTeX{}u nepou¹tìl ani do podpory +matematických fontù. Koncepce matematiky v~NFSS mi pøipadá jako +plainistovi ponìkud nesrozumitelná. Navíc velké kolekce fontù, které byly +hlavní motivací OFS, jsou vìt¹inou textové. Pokud chce nìkdo +pou¾ít matematickou sadu fontù v~\LaTeX{}u, pou¾ije +"\usepackage{styl}" a ten styl je k~té matematické sadì vìt¹inou +dodáván. Nepova¾oval jsem tedy øe¹ení matematiky +v~\LaTeX{}u za prioritní. Na druhou stranu matematické rodiny v~plainu +se pomocí OFS doplòují a zavádìjí ve v¹ech velikostech velmi +elegantnì. Vìøím, ¾e alespoò nìjakému plainistovi (kromì mì) se toto +øe¹ení bude hodit. + +Makro OFS jsem zveøejnil na \cite{ofsftp} pod \TeX-like licencí, +tj. je volnì k~mání, ale zmìny pod stejným názvem nesmí dále ¹íøit nikdo +jiný, ne¾ autor. Do \TeX{}ových distribucí jsem makro zatím +neprosadil, proto¾e bohu¾el chybí anglická dokumentace. Domnívám se, +¾e kdyby anglická dokumentace byla, nebyl by se zaøazením do \TeX{}ových +distribucí problém a makro by mohlo vyu¾ít daleko více lidí. Bohu¾el, +nejsem v~angliètinì natolik zdatný, abych tento problém rychle pøekonal. +Pro leto¹ní letní prázdniny jsem sice plánoval, ¾e se pokusím anglickou +dokumentaci napsat, jen¾e pøi¹la voda\dots + +K~OFS existuje samozøejmì èeská dokumentace~\cite{ofsdoc} podrobì +popisující chování makra. Navíc jsem se o~OFS zmínil u¾ v~èlánku +o~\TeX{}ové podpoøe ©tormových fontù~\cite{stormcl}. Dovolil jsem si +zde pøesto znovu k~tomuto tématu vrátit. Nechci být nyní +tak technicky exaktní, jako v~manuálu~\cite{ofsdoc}, ale zase mám zde +více místa k~rozepsání mo¾ností makra, ne¾ jsem mìl ve +èlánku~\cite{stormcl}, který byl pøedev¹ím o~©tormových fontech. + + +\kap Základy u¾ivatelského rozhraní +%---------------------------------- + +U¾ivatelské rozhraní je shodné v~\LaTeX{}ové verzi OFS i +v~plainové s~výjimkou snad zavedení makra OFS, které v~plainu +provedeme jednodu¹e pomocí "\input ofs [kolekce, fontù]", zatímco +v~záhlaví \LaTeX{}ového dokumentu pí¹eme +"\usepackage [kolekce, fontù] {ofs}". + +Abych v~tomto textu nemusel ka¾dou chvíli vìtvit svùj výklad na situaci +vhodnou pro plain a pro \LaTeX{}, rozhodl jsem se zde pøedpokládat, ¾e +pracujeme pouze s~plainem (napøíklad s~\csplain{}em). +\LaTeX{}ový u¾ivatel si bude muset dohledat specifika verze OFS pro +svùj formát v~dokumentaci~\cite{ofsdoc}. + +\bigskip + +Pøíkazem "\fontusage" dostaneme na terminál a do logu základní +informace o~u¾ivatelských pøíkazech: + +\begtt +$ tex ofs \\fontusage +This is TeX, Version 3.14159 (Web2C 7.3beta5) +(/usr/local/share/texmf/tex/csplain/ofs.tex +OFS (Olsak's Font System) based on plain initialized. <Oct. 2002> +(/usr/local/share/texmf/tex/csplain/ofsdef.tex)) +\fontusage: ============== Olsak's Font System, usage: ================= +\input ofs [sjannon, sdynamo, a35] ... for example +\showfonts ... shows all loaded font families (by previous \input) +\setfonts [Family/] ... local switch to the new family, after this, the + \rm, \bf, \it, bi will switch to the variants. The current size is used. +\setfonts [/size] ... local switch to the new size of fonts, the family is + not changed. The "size" has the following possible formats: + at<dimen> ... the same as \font\something=file at<dimen> + <dimen> ... the same as at<dimen> + <number> ... the same as at<number>pt + scaled<number> ... the same as \font\something=file scaled<number> + mag<decimal-number> fonts will be magnified by given coefficient + depend on current size of the fonts. +\setfonts [Family/size] ... switch to the new family at given size +\setfonts [Family-vr/] ... switch to the specified font, the current size + is used. The "vr" is acronym for variant (bf for example). +\setfonts [Family-vr/size] ... switch to the specified font. +\fontdef\name [Family/size] ... same as \gdef\name{\setfonts[Family/size]} + The "Family" or "size" parameter may be empty. +\fontdef\name [Family-vr/size] ... \name is fixed-font switch iff: + "size" is no empty and no mag<dec-number>. + Fixed-font switch "\name" is implemented as \global\font\name=file. +\setmath [size/size/size] ... set math it/rm as current it/rm + use PS Symbol +\nofontmessages, \logfontmessages, \displayfontmessages, \detailfontmessages + ... the levels of log. +* +\endtt + +Vidíme, ¾e pøíkaz "\showfonts" nám uká¾e kolekce fontù. Pokud jsme +nepou¾ili \uv{previous "\input"}, dopadne základní kolekce +(implementovaná pøímo uvnitø OFS) takto: + +\begtt +*\showfonts +OFS (l.0): The list of known font families: +defaults: + [CMRoman/] \rm, \bf, \it, \bi, \sl + [CMSans/] \rm, \bf, \it, - + [CMTypewriter/] \rm, - , \it, - , \sl + [Times/] \rm, \bf, \it, \bi + [Helvetica/] \rm, \bf, \it, \bi, \nrm, \nbf, \nit, \nbi + [Courier/] \rm, \bf, \it, \bi +\endtt + +Názvy fontových rodin jsou zde uvedeny v~hranatých závorkách a vedle jsou +uvedeny pøepínaèe variant, které pro danou rodinu je mo¾né pou¾ít. + +Vidíme, ¾e nejbì¾nìj¹í textové fonty Computer Modern jsou zaneseny +v~OFS do tøí rodin "CMRoman", "CMSans" a "CMTypewriter". Myslím, ¾e +netøeba dodávat, co to znamená. V~rodinách "CMSans" a "CMTypewriter" +není k~dispozici jinak obvyklá varianta "BoldItalic", pro kterou je +vyhrazen pøepínaè "\bi". V~rodinì "CMTypewriter" nenajdeme ani +pøepínaè "\bf" pro tuènou variantu, ale zato mù¾eme pou¾ít +\uv{nadstandardní} variantu "\sl" (slanted), která je k~dispozici i +v~rodinì "CMRoman". + +%OFS také pøímo pracuje s~rodinami "Times", "Helvetica" a +%"Courier". +%Rodina "Helvetica" má kromì bì¾ných variant je¹tì varianty +%zú¾ené, napøíklad "\nbf" znamená "NarrowBold". Pokud písmová rodina +%nemá skuteènou kurzívu, ale jen sklonìnou variantu, je pøesto tato +%varianta vymezena pøepínaèem "\it". +%Vìt¹ina písmových rodin toti¾ +%dodr¾uje \uv{logiku ètyø variant}, pro které jsou v~OFS vyhrazeny +%právì pøepínaèe "\rm", "\bf", "\it", "\bi". + +Deklarace dal¹ích písmových rodin jsou zaná¹eny do deklaraèních +souborù s~pøíponou "tex"% +\footnote{V \LaTeX{}ovém OFS se jedná o~pøíponu {\tt sty}.}. +V~ka¾dém distribuci \TeX{}u +doporuèuji udr¾ovat soubor volající v¹echny deklaraèní soubory +"allfonts.tex". Napøíklad na mém poèítaèi vypadá tento soubor takto: + +\begtt +$ cat `kpsewhich allfonts.tex` +%%% All OFS families declared on this TeX +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% Petr Olsak +\input a35 % PostScript 35 +\input ffonts % Another free fonts +\input btfonts % Bitstream fonts +\input skatalog % Stromtype foundry, 89 families +\endtt +% +Kdy¾ tedy napí¹u "$ tex allfonts \\showfonts \\end | less"~, dostanu +na svém poèítaèi výpis zhruba tøí set písmových rodin, ka¾dá obvykle +ve ètyøech variantách. Dùle¾ité je, ¾e se v tom vyznám a nemusím +vzpomínat, jak se která metrika jmenuje. Následuje jen èást výpisu. + +\begtt +OFS (l.0): The list of known font families: +defaults: + [CMRoman/] \rm, \bf, \it, \bi, \sl + [CMSans/] \rm, \bf, \it, - + [CMTypewriter/] \rm, - , \it, - , \sl + [Times/] \rm, \bf, \it, \bi + [Helvetica/] \rm, \bf, \it, \bi, \nrm, \nbf, \nit, \nbi + [Courier/] \rm, \bf, \it, \bi +a35.tex: + [AvantGarde/] \rm, \bf, \it, \bi + [Bookman/] \rm, \bf, \it, \bi + [NewCentury/] \rm, \bf, \it, \bi + [Palatino/] \rm, \bf, \it, \bi + [ZapfChancery/] \rm, - , \it, - + [ZapfDingbats/] \rm, - , - , - + [Symbol/] \rm, - , \it, - +ffonts.tex: + [Charter/] \rm, \bf, \it, \bi +... +sjannon.tex: + [JannonAntikva/] \rm, \bf, \it, \bi, \mr, \mi + [JannonText/] \rm, \bf, \it, \bi, \mr, \mi + [JannonCaps/] \rm, \bf, \it, \bi +... +sdynamo.tex: +... + [DynaGroteskLE/] \rm, \bf, \it, \bi + [DynaGroteskD/] \rm, \bf, \it, \bi + [DynaGroteskR/] \rm, \bf, \it, \bi +... +stitul.tex: + [Alcoholica/] \rm, \bf, \it, - + [Monarchia/] \rm, \bf, - , - + [MonarchiaText/] \rm, \bf, - , - + [Clichee/] \rm, \bf, \it, \bi + [Regula/] \rm, - , \it, - + [Splendid/] \rm, \bf, \it, - , \script, \sans + [Cobra/] \rm, \bf, - , - + [ExcelScript/] \rm, - , - , - , \ext + [ExcelScriptText/] \rm, - , - , - , \ext + [Zeppelin/] \rm, \bf, - , - , \lr, \coll + [Negro/] \rm, - , - , - + [Farao/] \rm, \bf, - , - , \kr, \coll +... +slido.tex: + [Lido/] \rm, \bf, \it, \bi, \crm, \cbf +\endtt + +Ve výpisu je uveden i \TeX{}ový soubor, kde se deklarace odpovídajících +rodin skuteènì nachází. Vidíme tedy, ¾e "a35.tex" u¾ obsahuje +deklarace rodin, ale napøíklad soubor "skatalog.tex" zøejmì obsahuje jen dal¹í +"\input sjannon", "\input sdynamo", "\input stitul" atd. +Kdy¾ si pro svùj dokument vyberu tøeba rodiny "JannonText", +"DynaGroteskR" a "Farao", pak místo toho, abych psal + +\begtt +\input ofs [allfonts] +\endtt +% +si vystaèím~s +\begtt +\input ofs [sjannon, sdynamo, stitul] +\endtt +% +co¾ zpùsobí naèítání podstatnì ménì souborù s~deklaracemi fontových rodin. + +Pokud potøebuji vìdìt, jak ty fonty vypadají, napí¹u napøíklad: + +\begtt +$ pdfcsplain ofscatal [sjannon, sdynamo, stitul] ; acroread ofscatal.pdf +\endtt +% +Soubor "ofscatal.tex", který vytvoøí katalog, byl zaøazen do balíku +OFS od verze~"Oct 2002". + +\kap Pøepínaè rodin a velikostí + +Hlavním pøíkazem OFS na u¾ivatelské úrovni je "\setfonts". Jedná se +pøedev¹ím o~pøepínaè rodin, viz výpis "\fontusage" v~pøedchozí sekci. +Pøepínaè má dva parametry v~hranaté závorce oddìlené lomítkem. Prvním +parametrem je název rodiny a druhým po¾adovaná velikost fontù. Pokud +nìkterý parametr chybí, pøepínaè nebude jeho nastavení mìnit. Pøepínaè +samozøejmì funguje lokálnì ve skupinách, jako bývá u~fontových +pøepínaèù obvyklé. Po pøepnutí rodiny pracují pøepínaèe variant +(obvykle "\rm", "\bf", "\it", "\bi") pro novou rodinu. Varianta se po +pøepnutí rodiny inicializuje stejná, jako byla pøed pøepnutím, +tj. jsme-li zrovna v~kurzívì rodiny Times a pøepneme do Helveticy, +zùstáváme ve variantì "\it" rodiny Helvetica, tj. sklonìné +písmo. Pokud ale pøi pøepnutí rodiny aktuální varianta v~nové rodinì +neexistuje, inicializuje se varianta "\rm", kterou musí obsahovat +ka¾dá rodina. + +Pøíklady + +\begtt +\setfonts [JannonText/10.5] % nastavím na zaèátku dokumentu +\setfonts [/14]\bf % napøíklad pro nadpisy +\setfonts [/8]\rm % pro poznámky pod èarou +\setfonts [DynagroteskR/]\it % tøeba pro citáty +\setfonts [CMTypewriter/] % pro strojopis. + % tento pøepínaè napø. v kurzívì nastaví automaticky + % variantu kurzíva-strojopis. +\endtt + +Výhodou tedy je, ¾e si nemusím pamatovat názvy matrik (v~\LaTeX{}u pak +nesrozumitelné zkratky rodin pou¾ívané v~NFSS), ale pí¹u název rodiny +do dokumentu stejným zpùsobem, jak jej vidím v~písmovém katalogu. +Pokud udìlám v~názvu rodiny pøeklep (tøeba nedodr¾ím velká a malá +písmena), pøíkaz "\setfonts" spustí "\showfonts", tj. na obrazovce +a v~logu vidím seznam v¹ech rodin, které mohu pou¾ít. + +Velikost fontù mohu nastavit pøímo udáním v~jednotce "pt", nebo +pøipsáním jiné jednotky (napø. "mm"), nebo jako u~primitivu "\font" +pomocí slova "scaled" (koeficient zvìt¹ení se vá¾e k~základní +velikosti fontu) a koneènì i pomocí zcela nového prefixu "mag", který +udává zvìt¹ení vzhledem ke zrovna pou¾ité velikosti fontù, napøíklad: + +\begtt +\def\maly{\setfonts [/mag0.8]} +stanu se {\maly men¹ím a {\maly men¹ím a {\maly je¹tì men¹ím}}} +a u¾ jsem se z toho dostal. +\endtt +% +dopadne takto: + +\medskip +\def\maly{\setfonts[/mag0.8]} +stanu se {\maly men¹ím a {\maly men¹ím a {\maly je¹tì men¹ím}}} a +u¾ jsem se z~toho dostal. +\medskip + +Prefix "mag" pro velikost vyu¾ijeme napøíklad v~logu \LaTeX{}, které +jsem si v~plainu definoval jako + +\begtt +\def\LaTeX{L\kern-.2em\raise.45ex\hbox{\setfonts[/mag.7] A}\kern-.05em\TeX} +\endtt +% +a funguje to v~nadpisech (je tam tuèné vyvý¹ené A~odpovídající +velikosti) i v~poznámkách pod èarou. V~\LaTeX{}u samotném mají toto +logo definováno tak, ¾e se pro vyvý¹ené A~pou¾ije font v~indexové +velikosti. No jo, zde jim to náhodou prochází, ale co kdyby se +(napøíklad v~jiném v~logu) hodilo pro nìkteré písmeno pou¾ít +velikost "mag.8", která není jako indexová velikost pou¾ita? +Bez OFS bychom to pak dìlali dost obtí¾nì, proto¾e NFSS nám øe¹ení +nenabízí. + +Dal¹ím vyu¾itím prefixu "mag" je mo¾nost korigovat nestejné støední +vý¹ky písma. Napøíklad v~tomto sborníku je pro strojopis pou¾it +"CMTypewriter". Pokud si v¹imnete v~jiných pøíspìvcích, ne¾ tento, +vidíte, ¾e uvnitø odstavcù ten strojopis s~fontem Charter moc nesedí, proto¾e +strojopis má men¹í støední vý¹ku písma. Staèí ale pro pøepínaè "\tt" +pou¾ít "\setfonts [CMTypewriter/mag1.1]", a støední vý¹ka je +v~lati. To vidíme napøíklad v~tomto pøíspìvku. +A~funguje to vèetnì zmen¹ených variant, které jsou +v~pøíspìvcích pro \SLT{} pou¾ity v~abstaktu, poznámce pod èarou, +nebo tøeba v~údaji \uv{Email}, uvedeném v~záhlaví pøíspìvku. + +Pøíkaz "\setfonts" mù¾e obsahovat i specifikaci varianty (viz výpis +pøíkazu "\fontusage"). Pak se u¾ nejedná o~pøepínaè rodiny, ale fontu +samotného. V~takovém pøípadì pøepínaè "\setfonts" neovlivní pøepínaèe +variant "\rm", "\bf" a dal¹ích, ale nastaví jen po¾adovaný jediný +font. Napøíklad pro nadpisy by ¹lo psát "\setfonts[-bf/14]" místo +"\setfonts[/14]\bf", ale museli bychom mít jistotu, ¾e v~nadpisu +nepou¾ijeme pøepínaè varianty, proto¾e ten by vrátil font do velikosti +aktuální rodiny. Tou velikostí je tøeba 10pt. + +Abychom v~nadpisu mohli pou¾ít pøepínaè "\it", a pøitom se dostali do +varianty "\bi" (co¾ je ¾ádoucí), je potøeba pøepínaè fontu v~makru +pro nadpis naprogramovat zhruba takto: + +\begtt +\def\nadpis #1{{\setfonts[/14]\bf \let\it=\bi #1}} +\endtt +% +Kvùli tomuto jednoduchému obratu, který zvládne snad ka¾dý plainista, +jsem se rozhodl nekomplikovat jádro OFS podobným zpùsobem jako NFSS a +nezavádìt tedy dal¹í \uv{nezávislou souøadnici} popisující duktus fontu. +Pro speciální rodiny fontù (jako je tøeba rodina +"DynaGrotesk") jsem ale snadno pomocí doplòujících maker vytvoøil +pøepínaè, který respektuje je¹tì o~jednu \uv{nezávislou souøadnici} +více, ne¾ zvládá NFSS. V~tomto pøípadì to nebyl jen duktus, ale +i stupeò zú¾ení písma. Navíc tento pøepínaè doká¾e \uv{poskakovat} po +jednotkách vpøed a vzad podél zvolené souøadnice. To také NFSS +nezvládá. + +Èasto se hodí vytváøet zkratky pro pøepínaèe rodin. K~tomu slou¾í +makro "\fontdef\pøepínaè[Rodina/velikost]", které funguje podobnì, +jako pou¾ití konstrukce "\gdef\pøepínaè{\setfonts[Rodina/velikost]}". +V~záhlaví tohoto dokumentu mám napøíklad uvedeno: + +\begtt +\input ofs [ffonts] % Charter je ve skupinì free fonts +\setfonts [Charter/10pt] % výchozí rodina +\fontdef\tt [CMTypewriter/mag1.1] % strojopis, korekce støední vý¹ky +\fontdef\verbtt [CMTypewriter/8] % strojopis pro display ukázky +\fontdef\small [Charter/9] % zmen¹ení pro abstrakt a záhlaví +\endtt + +Mo¾ná ètenáøe napadne, ¾e jsem nemusel psát podruhé slovo "Charter" +v~deklaraci pøepínaèe "\small". Pøi kompletní zmìnì základní rodiny +dokumentu na jinou bych pak mohl zmìnit slovo "Charter" jen na +jediném místì (u~pøíkazu "\setfonts") a byl bych hotov. +Bohu¾el, vynechání rodiny v~pøíkazu "\small" vede +k~problémùm, proto¾e tento pøíkaz je pou¾it v~záhlaví dokumentu, +tj. ~v~"\output" rutinì. Pokud zde neuvedeme explicitnì rodinu, dìdí se +rodina aktuálnì pou¾itá, která ov¹em mù¾e být jakákoli, proto¾e +"\output" rutina je vyvolávaná z~rùzných míst pøi zpracování +dokumentu. Mít záhlaví jednou strojopisem a podruhé Charterem podle +toho, odkud byla "\output" rutina zavolána, je samozøejmì ne¾ádoucí. + +Tento problém se dá øe¹it \uv{vykøièníkovou} konvencí, kterou umí +zpracovat pøíkaz "\fontdef": + +\begtt +\fontdef\small [!/9] \addcmd\small {\rm} % pro abstrakt a záhlaví +\endtt +% +Vykøièník je nahrazen aktuální rodinou u¾ v~dobì èinnosti pøíkazu +"\fontdef", nikoli tedy a¾ v~dobì provádìní pøepínaèe. V~"\output" +rutinì se musíme je¹tì postarat o~potlaèení dìdiènosti aktuální +varianty. Proto jsem pou¾il je¹tì pøíkaz "\addcmd" (zaveden novì od +verze OFS "Oct 2002"), který k~existujícímu makru pøidá dal¹í pøíkazy +na jeho konec. Celá deklarace fontù v~tomto dokumentu tedy vypadá +zhruba takto: + +\begtt +\input ofs [ffonts] % Charter je ve skupinì free fonts +\setfonts [Charter/10pt] % výchozí rodina +\fontdef\tt [CMTypewriter/mag1.1] % strojopis, korekce støední vý¹ky +\fontdef\verbtt [CMTypewriter-rm/8] % strojopis pro display ukázky +\fontdef\small [!/9] +\addcmd \small {\baselineskip11pt\rm} % zmen¹ení pro abstrakt a záhlaví +\fontdef\fontsekce [!/12] +\addcmd \fontsekce {\bf \let\it=\bi} % pro nadpisy sekcí +\fontdef\fonttitul [!-bf/14.4] % v titulu nebudeme pøepínat varianty +\endtt + +Povedlo se tedy ve¹keré aktivity související s~výbìrem fontù +soustøedit na jedno místo dokumentu bez nutnosti pou¾ívat názvy +metrik. + + +\kap Kódování fontù +%------------------ + +OFS pro plain implicitnì pracuje v~kódování \CSfont{}ù, ale mù¾ete +jej pøepnout do jiného kódování. +\footnote{OFS pro \LaTeX{} pøenechává starost o~kódování zcela na~NFSS.} + +Základem informace o~kódování v~OFS pro plain je makro "\fotenc", +které má implicitnì hodnotu "8z". To znamená, ¾e rodiny "CMRoman", +"CMTypewriter" a "CMSans" budou pracovat s~\CSfont{}y. +Kdyby u¾ivatel nastavil "\def\fotenc{8t}", zaèalo by OFS pracovat +v~pøípadì tìchto rodin s~DC nebo EC fonty. Jaké je technické pozadí +vysvìtlíme v~následující sekci. + +Vìt¹ina metrik \ps{}ových fontù má varianty "*8t" (pro +kódování podle Corku) a "*8z" (pro kódování podle \CSfont{}ù). +Makro "\fotenc" tedy musí obsahovat koncovku metrik, které chceme +pou¾ít. Tím volíme kódování. Pøíklad: + +\begtt +\input ofs +\setfonts [Times/] text 1 % metrika: ptmr8z, tj. kódování CSfontù +\def\fotenc{8t} +\setfonts [/] text 2 % metrika: ptmr8t tj. kódování podle Corku +\endtt +% +Máte-li své fonty v~nìjakém dal¹ím kódování a koncovky metrik máte +s~názvy tøeba "*8x", pak není problém napsat "\def\fotenc{8x}" +a mù¾ete zaèít pou¾ívat své vlastní metriky. + +Pokud pou¾íváte kódování podle Corku, doporuèuji definovat makro +"\fotenc" jako "8t" pøed zavedením makra OFS. Pøi pou¾ití slo¾itìji +deklarovaných rodin se to hodí. + +V~balíku OFS jsou soubory "ofs-8z.tex" a "ofs-8t.tex", ve kterých je +deklarace akcentù a nìkterých na kódování závislých maker, jako +napøíklad "\promile". Implicitnì není naèten ani jeden z~tìchto +souborù, tj.~jsou respektována makra pro akcenty z~originálního +plainu, která expandují na "\accent" podle kódování CMfontù. + +Pokud je toto chování nevyhovující, mù¾ete naèíst pomocí "\input" +jeden nebo oba dva vý¹e zmínìné soubory (v~libovolném poøadí -- jejich +definice se nehádají). Pokud naètete oba soubory, pak makra pro +akcenty expandují na znaky podle kódování, které je aktuálnì nastaveno +v~makru "\fotenc" ("8z" nebo "8t"). + +Podívejme se do souborù "ofs-8z.tex" a "ofs-8t.tex" (výraznì kráceno): + +\begtt +%%% Default accents in CM +\accentdef \` * 8z {\accent 18 } % grave +\accentdef \' * 8z {\accent 19 } % acute +\accentdef \v * 8z {\accent 20 } % caron +\accentdef \u * 8z {\accent 21 } % breve +... +%%% Standard characters in plain (redefined here) +\def\aa{\r a} +\def\AA{\r A} +\characterdef \i 8z 16 +\characterdef \j 8z 17 +\characterdef \SS 8z {SS} +\characterdef \AE 8z 29 +... +%%% Extra characters from CS-fonts +\characterdef \promile 8z 141 +\characterdef \varhyphen 8z 156 +\characterdef \flqq 8z 158 +\characterdef \frqq 8z 159 +\characterdef \clqq 8z 254 +\characterdef \crqq 8z 255 +... +%%% Accented letters from CS fonts +\accentdef \` A 8z 152 +\accentdef \' A 8z 193 +\accentdef \" A 8z 196 +\accentdef \` a 8z 184 +\accentdef \' a 8z 225 +... +%%% Default accents in Cork +\accentdef \` * 8t {\accent 0 } +\accentdef \' * 8t {\accent 1 } +\accentdef \^ * 8t {\accent 2 } +\accentdef \~ * 8t {\accent 3 } +\accentdef \" * 8t {\accent 4 } +... +%%% Standard characters in plain (redefined here) +\def\aa{\r a} +\def\AA{\r A} +\characterdef \i 8t 25 +\characterdef \j 8t 26 +\characterdef \SS 8t 223 +\characterdef \AE 8t 198 +... +\characterdef \promile 8t {\%\char 24 } +\characterdef \textpertenthousand 8t {\%\char 24\char 24 } +... +%%% Accented letters from Cork encoding +\accentdef \. i 8t `\i +\accentdef \u A 8t 128 +\accentdef \k A 8t 129 +\accentdef \' C 8t 130 +\accentdef \v C 8t 131 +... +\endtt + +Myslím, ¾e syntaxe a význam pøíkazù "\characterdef" a "\accentdef" je +v~této ukázce samovysvìtlující. Pokud ne, odkazuji ètenáøe do +dokumentace~\cite{ofsdoc}, která do posledního detailu (vèetnì popisu +jednotlivých fází expanze) vysvìtluje èinnost tìchto pøíkazù. + +\LaTeX{}ovému u¾ivateli to mù¾e pøipomínat pøíkazy +"\DeclareTextSymbol" a "\DeclareTextComposite" a jim podobné, které +dìlají zhruba toté¾ (jen ponìkud komplikovanìji, nepøehlednìji a +tì¾kopádnìji). + +OFS také poèítá s~mo¾ností, ¾e nìkteré znaky jsou pøidány do extra +fontu, který s~pùvodním fontem vytváøí uspoøádanou dvojici. Takové +dvojice metrik jsou pou¾ity napøíklad pro fonty ©tormovy písmolijny, +proto¾e obsahují více ne¾ 256 znakù. Pøitom by bylo ¹koda nìkteré +znaky nevyu¾ít. Ke ka¾dé metrice tìchto fontù ("*8z" i "*8t") je +pøiøazena extra metrika "*6s", obsahující zbylé znaky. +Pomocí "\characterdef" a "\accentdef" mù¾eme deklarovat pøítomnost +tìchto znakù v~kódování "6s" (viz soubor "stormenc.tex"). Pokud +aktuální metrika má k~sobì extra font v~kódování "6s" a je po¾adován +znak z~tohoto fontu, OFS jej automaticky \uv{vyloví} pomocí +pøechodného pøepnutí na extra metriku. + + +\kap Deklarace rodin +%------------------- + +Podívejme se nyní do souboru "a35.tex", který deklaruje rodiny pro +základních 35 \ps{}ových fontù (kráceno): + +\begtt +%%% Times, Helvetica, Courier is in OFS defaults + +\ofsdeclarefamily [AvantGarde] {% -------------------- AvantGarde + \loadtextfam (Book) pagk\fotenc;% + (Demi) pagd\fotenc;% + (BookOblique) pagko\fotenc;% + (DemiOblique) pagdo\fotenc;;% + \def\TeX{T\kern-.08em\lower.3333ex\hbox{E}\kern-0.09emX}% +} +\ofsdeclarefamily [NewCentury] {% -------------------- NewCenturySchlbk + \loadtextfam (Roman) pncr\fotenc;% + pncb\fotenc;% + pncri\fotenc;% + pncbi\fotenc;;% + \def\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX}% +} +... +\endtt + +Zde je tedy deklarováno zobrazení mezi názvy rodin a metrikami.% +\footnote{ + V~OFS pro \LaTeX{} takové soubory neexistují; tam se pouze + deklaruje zobrazení mezi (dlouhými) názvy rodin v~OFS a zkratkami + rodin v~NFSS. +} +Ka¾dá rodina má ètyøi povinné metriky (pro bì¾né ètyøi +varianty). Metriky jsou zapsány pomocí "\fotenc", aby fungovalo +pøepínání kódování. Mezi pøedposledním a posledním støedníkem mù¾e být +uvedeno extra kódování, pokud je font rozlo¾en do dvou metrik (v~tomto +pøíkladì není). Pøíkazy uvedené v~parametru "\ofsdeclarefamily" se +provedou pøi ka¾dém pøepnutí rodiny pøíkazem "\setfonts". +V~ukázce tam máme alternativní definice loga "\TeX", aby toto logo pìknì +vypadalo v~ka¾dém fontu. + +Od verze OFS "Oct 2002" je pøidána mo¾nost pou¾ít nepovinné parametry +v~argumentech pøíkazu "\loadtextfam". Tyto parametry pí¹eme do kulaté +závorky a znaèí název varianty, pokud je odli¹ný od bì¾ného názvu. +Tato informace se pou¾ije v logu a pøi tisku katalogu. + +Podívejme se je¹tì do souboru "sjannon.tex" z~podpory ©tormových fontù +(výpis je zde neúplný): + +\begtt +\ofsdeclarefamily [JannonAntikva] {% -------- Jannon Antikva + \loadtextfam sjnr\fotenc;% + sjnb\fotenc;% + sjnri\fotenc;% + sjnbi\fotenc;6s;% + \newvariant2 \mr (Medium) sjnm\fotenc;6s;% + \newvariant3 \mi (MediumItalic) sjnmi\fotenc;6s;% +} +\ofsdeclarefamily [JannonText] {% ------------ Jannon Text + \loadtextfam sjnrg\fotenc;% + sjnbg\fotenc;% + sjnrig\fotenc;% + sjnbig\fotenc;6s;% + \newvariant2 \mr (Medium) sjnmg\fotenc;6s;% + \newvariant3 \mi (MediumItalic) sjnmig\fotenc;6s;% +} +... +\endtt +% +Vidíme, ¾e navíc je zde deklarována extra metrika v~kódování~"6s" a ¾e +se zde deklarují doplòující pøepínaèe variant "\mr" a "\mi" mimo +základní ètyøi varianty. Podrobnìj¹í vysvìtlení pou¾itých pøíkazù +ètenáø opìt najde v~dokumentaci~\cite{ofsdoc}. + +Jak jsou pomocí expanze "\fotenc" mapovány metriky \CSfont{}ù +resp. DC~fontù, které v~názvech koncovku "8z" ani "8t" nemají? +To souvisí rovnì¾ s~tím, ¾e tyto fonty mají pro rùzné velikosti rùzné +metriky. V~deklaraèních souborech je pak tento problém vyøe¹en +zpùsobem \uv{dvì mouchy jednou ranou} (viz soubor "ofsdef.tex"): + +\begtt +\registertfm cmr8z - csr10 % metrika pro v¹echny velikosti +\registertfm cmr8z 0pt-6pt csr5 +\registertfm cmr8z 6pt-7pt csr6 +\registertfm cmr8z 7pt-8pt csr7 +\registertfm cmr8z 8pt-9pt csr8 +\registertfm cmr8z 9pt-10pt csr9 +\registertfm cmr8z 10pt-12pt csr10 +\registertfm cmr8z 12pt-17pt csr12 +\registertfm cmr8z 17pt-* csr17 +... +\registertfm cmr8t - dcr10 % metrika pro v¹echny velikosti +... +\ofsdeclarefamily [CMRoman] {% ------------ Computer Modern Roman + \loadtextfam cmr\fotenc;% + cmbx\fotenc;% + cmti\fotenc;% + cmbxti\fotenc;;% + \newvariant8 \sl (Slanted) cmsl\fotenc;;% +} +\endtt +% +Centrálním pøíkazem je zde makro "\registertfm", které mapuje +neexistující metriky formálnì vytvoøené pomocí expanze "\fotenc" do +skuteèných metrik. Toto makro také umí registrovat rùzné metriky +pro rùzné velikosti. Pokud tedy budeme chtít font daný pomocí +"\setfonts[CMRoman-rm/12.5]", vyvolá se pøi "\fotenc" +s~hodnotou "8z" metrika "csr12 at12.5pt". \uv{Metrika pro v¹echny +velikosti} se pou¾ije v~pøípadì, ¾e je velikost fontu deklarovaná +s~\hbox{prefixem} "scaled", tak¾e "\setfonts[CMRoman-rm/scaled1250]" vyvolá +metriku "csr10 scaled1250". Ztrácíte-li pøehled o~tom, jaká metrika se +ve skuteènosti pou¾ila, mù¾ete zapnout logovací pøepínaè +"\detailfontmessages". + +Podíváte-li se do souboru "ofsdef.tex" podrobnìji, mù¾ete si v¹imnout, ¾e +jsem metriky rodiny "CMRoman" a dal¹ích "CM"~rodin pro kódování~"8t" ponìkud +odbyl. Registroval jsem je jako metriky DC fontù bez støídání metrik pro +rùzné velikosti. Nechtìlo se mi to toti¾ vypisovat a nevìdìl jsem, zda +u¾ivatel tohoto kódování radìji nepou¾ije EC fonty místo DC fontù. +Ve zmínìném souboru jsou pøíklady, jak by se ta deklarace mìla +provést. Pokud ji nìkdo dopí¹e (napøíklad pro DC i EC fonty do zvlá¹tních +souborù), rád ji do balíku OFS zaøadím. Osobnì ale fonty kódované +v~"8t" nepou¾ívám, tak¾e mì zatím nic nemotivuje to udìlat. + + +\kap Matematické fonty +%--------------------- + +Ka¾dý plainista ví, ¾e fonty pro matematiku se sdru¾ují do matematických +rodin obsahující font pro základní, indexovou a index-indexovou +velikost. Rovnì¾ ví, ¾e první ètyøi matematické rodiny (s~èíslem 0 a¾~3) +jsou s~\TeX{}em jistým zpùsobem pevnì významovì svázány a dal¹í rodiny +se dají deklarovat. + +Aby plainista pøi deklarování matematických rodin nemusel psát tøikrát +za sebou "\font" a potom je¹tì +"\textfont\rodina=...", "\scriptfont...", atd, je v~OFS k~tomu +vytvoøena zkratka "\loadmathfam", jak uká¾u za chvíli. + +Inicializaci matematických fontù v~OFS pro plain provedeme pomocí +pøíkazu "\setmath". Dokud tento pøíkaz nepou¾ijeme, jsou matematické +fonty ve stavu, jak je inicializoval plain. Ve tøech parametrech +pøíkazu "\setmath" (oddìlených lomítky) dáváme najevo, jakou chceme +základní velikost, jakou pro indexy a jakou pro indexy +indexù. Jsou-li tyto parametry prázdné, je pou¾ito relativní zmen¹ení +podle aktuální velikosti textového fontu pomocí prefixu "mag" takto: + +\begtt +\setmath [//] je toté¾ jako \setmath [mag1.0/mag.7/mag.5] +\endtt + +Pøíkaz "\setmath" vypoèítá po¾adované velikosti a startuje makro pro +zavedení fontù "\mathfonts". Dále tento pøíkaz startuje makro pro +inicializaci matematického kódování "\mathchars". Tato makra si mù¾e +plainista definovat jak chce, nicménì vìt¹inou vyu¾ije ji¾ +pøipravených maker "\defaultmathfonts" a "\defaultmathchars", která +jsou udìlána tak, ¾e spou¹tìjí rùzné varianty kódu podle hodnoty maker +"\fomenc" a "\mathversion". + +Pøi "\def\fomenc{PS}" (imlicitní hodnota: PostScriptové fonty) se zavedou +fonty tak, ¾e matematická kurzíva se ztoto¾ní s~aktuální textovou +kurzívou a podobnì rodina~0 pro èíslice a textové symboly zùstává +nastavena podle aktuální textové rodiny varianty "\rm". +Matematické symboly se berou +(pokud to je mo¾né) z~bì¾nì dostupného \ps{}ového fontu +"Symbol". Zbytek (napø. natahovací závorky) pak zùstává v~Computer +Modern. Matematické kódování je pro tuto situaci výraznì +pozmìnìno obvyklými primitivy "\mathchardef" a podobnými, aby byly +dosa¾itelné v¹echny znaky plainu. Napøíklad pro øecká písmena musela být +zavedena nová rodina se sklonìným fontem "Symbol" a pøíkazy typu "\alpha" jsou +pøekódovány z~pùvodní matematické rodiny~1 na tuto novou rodinu. + +Nastavíte-li "\def\fomenc{CM}", pak pøíkaz "\setmath" zavede +stejné matematické fonty z~rodiny Computer Modern, jako +v~plainu. Pøíkaz "\setmath[//]" pak pouze aktualizuje velikosti tìchto fontù +podle velikosti aktuálního textového fontu. + +Nakoupíte-li fonty MathTimes, dále naètete soubor "ofsmtdef.tex" (souèástí +OFS od verze "Jun. 2002") a definujete "\def\fomenc{MT}", pak pøíkaz +"\setmath" zavede kurzívu a rodinu~0 stejnì jako pøi +"\def\fomenc{PS}", ale navíc pou¾ije pro {\it v¹echny\/} symboly vèetnì +natahovacích závorek fonty MathTimes. + +Kromì hodnoty "\fomenc" se pøíkaz "\setmath" vìtví i vzhledem +k~hodnotì makra "\mathversion". Implicitnì OFS poèítá se dvìma +hodnotami tohoto mak\-ra: "\def\mathversion{normal}" nebo "bold". +Pøi verzi "bold" jsou naèteny do matematických rodin tuèné alternativy +fontù, pokud to jde. V¹e názornì vysvìtlí pohled do souboru +"ofsdef.tex": + +\begtt +\def\defaultmathfonts{\csname load\fomenc\mathversion math\endcsname} +\def\defaultmathchars{\csname set\fomenc mathchars\endcsname} +\def\mathfonts{\defaultmathfonts} +\def\mathchars{\defaultmathchars + \let\mathchars=\relax % to protect the twice math-setting +} +\def\loadPSnormalmath{% + \loadmathfam 0[tenrm/]% Actual Roman font + \loadmathfam 1[tenit/]% Actual Italic font + \loadmathfam 2[/cmsy]% Standard symbols from CM + \noindexsize\loadmathfam 3[tenex/]% Standard extra symbols from CM + \chardef\itfam=1 \chardef\bifam=5 + \loadmathfam \bffam [tenbf/]% Actual Bold font + \loadmathfam \bifam [tenbi/]% Actual Bold Italic + \newmathfam\symbfam + \loadmathfam \symbfam [/psyr]% PostScript Symbol + \newmathfam\symbofam + \loadmathfam \symbofam [/psyro]% PostScript Symbol Oblique +} +\def\loadPSboldmath{% + \loadmathfam 0[tenbf/]% Actual Bold font + \loadmathfam 1[tenbi/]% Actual Bold-Italic font +... +} +\def\loadCMnormalmath{% + \loadmathfam 0[/cmr8z]% Roman font + \loadmathfam 1[/cmmi]% Math Italic font + \loadmathfam 2[/cmsy]% Standard symbols from CM + \noindexsize\loadmathfam 3[/cmex10]% Standard extra symbols from CM +... +} +\def\loadCMboldmath{% + \loadmathfam 0[/cmbx8z]% Roman font + \loadmathfam 1[/cmmib10]% Math Italic font +... +} +\def\setPSmathchars{% + \fontmessage{\ofsmessageheader Math codes are set for PS encoding}% + \mathcode`\,="602C + \mathcode`\.="002E + \delcode`\<="\hex\symbfam E130A + \delcode`\>="\hex\symbfam F130B + \delcode`\|="\hex\symbfam 7C30C + \edef\langle{\delimiter"4\hex\symbfam E130A }% + \edef\rangle{\delimiter"5\hex\symbfam F130B }% + \mathchardef\alpha "0\hex\symbofam 61 + \mathchardef\beta "0\hex\symbofam 62 + \mathchardef\gamma "0\hex\symbofam 67 +... +} +\endtt + +Chceme-li pøidat nìjaké dal¹í matematické rodiny (v~terminologii NFSS +matematické abecedy), pak mù¾eme postupovat tøeba takto: + +\begtt +\def\mathfonts{\defaultmathfonts + \newmathfam\bbfam + \loadmathfam \bbfam [/bbold12]% Dvojitá vertikální kresba + \def\bb{\fam\bbfam}% +} +\def\mathchars{\defaultmathchars + \mathchardef\balpha "0\hex\bbfam 0B + \mathchardef\bbeta "0\hex\bbfam 0C + ... +} +\endtt + +Pøíklad z~konce sekce~3 nyní obohatíme o~mo¾nost práce +s~matematikou v~libovolných velikostech: + +\begtt +\input ofs [ffonts] % Charter je ve skupinì free fonts +\setfonts [Charter/10pt] % výchozí rodina +\setmath[//] % inicializace matematiky +\fontdef\tt [CMTypewriter/mag1.1] % strojopis, korekce støední vý¹ky +\fontdef\verbtt [CMTypewriter-rm/8] % strojopis pro display ukázky +\fontdef\small [!/9] % zmen¹ení pro abstrakt a záhlaví +\addcmd \small {\baselineskip11pt \rm \def\mathversion{normal}\setmath[//]} +\fontdef\fontsekce [!/12] % pro nadpisy sekcí +\addcmd \fontsekce {\bf \let\it=\bi \def\mathversion{bold}\setmath[//]} +\fontdef\fonttitul [!-bf/14.4] % titul +\endtt + +Nyní i v~abstraktech, poznámkách pod èarou a záhlavích je matematika +ve v¹ech velikostech v¹ech mo¾ných indexù zmen¹ená odpovídajícím +zpùsobem. Pokud by se matematika mìla pou¾ít v~názvu sekce, pak bude +také tuèná a správnì veliká. + + +\reference + +\bib \url{www.pismolijna.cz}, \url{www.cstug.cz/stormtype}. + +\bib \url{ftp://math.feld.cvut.cz/pub/olsak/ofs}. + +\bib Petr Ol¹ák. {\it OFS: Ol¹ákùv fontový systém}. 2001. + Dokumentace k~balíku je v~souborech "ofsdoc.tex", "ofsdoc.pdf". + +\bib Petr Ol¹ák. {\it Jak \TeX{} k~fontùm ze Støe¹ovic pøi¹el}. Zpravodaj + Èeskoslovenského sdru¾ení u¾ivatelù \TeX{}u, 4/2001, pp~153--180. + +\bye + diff --git a/Master/texmf-dist/tex/generic/ofs/ofs-tx.tex b/Master/texmf-dist/tex/generic/ofs/ofs-tx.tex new file mode 100644 index 00000000000..b9d184569d9 --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/ofs-tx.tex @@ -0,0 +1,357 @@ +% OFS: TX fonts, math encoding declaration +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Apr. 2004 Petr Olsak + +\protectreading ofs-tx.tex % This is part of OFS package + +\mathencdef\TXSYCmathchars {% + \fontmessage{\ofsmessageheader Math symbols are set for TX encoding.}% + \mathchardef\mappedfromchar "3\hex\txsycfam 00 + \def\mappedfrom{\leftarrow\mappedfromchar}% + \def\longmappedfrom{\longleftarrow\mappedfromchar}% + \mathchardef\Mapstochar "3\hex\txsycfam 01 + \def\Mapsto{\Mapstochar\Rightarrow}% + \def\Longmapsto{\Mapstochar\Longrightarrow}% + \mathchardef\Mappedfromchar "3\hex\txsycfam 02 + \def\Mappedfrom{\Leftarrow\Mappedfromchar}% + \def\Longmappedfrom{\Longleftarrow\Mappedfromchar}% + \mathchardef\mmapstochar "3\hex\txsycfam 03 + \def\mmapsto{\mmapstochar\rightarrow}% + \def\longmmapsto{\mmapstochar\longrightarrow}% + \mathchardef\mmappedfromchar "3\hex\txsycfam 04 + \def\mmappedfrom{\leftarrow\mmappedfromchar}% + \def\longmmappedfrom{\longleftarrow\mmappedfromchar}% + \mathchardef\Mmapstochar "3\hex\txsycfam 05 + \def\Mmapsto{\Mmapstochar\Rightarrow}% + \def\Longmmapsto{\Mmapstochar\Longrightarrow}% + \mathchardef\Mmappedfromchar "3\hex\txsycfam 06 + \def\Mmappedfrom{\Leftarrow\Mmappedfromchar}% + \def\Longmmappedfrom{\Longleftarrow\Mmappedfromchar}% + \mathchardef\medcirc "2\hex\txsycfam 07 + \mathchardef\medbullet "2\hex\txsycfam 08 + \mathchardef\varparallel "3\hex\txsycfam 09 + \mathchardef\varparallelinv "3\hex\txsycfam 0A + \mathchardef\nvarparallel "3\hex\txsycfam 0B + \mathchardef\nvarparallelinv "3\hex\txsycfam 0C + \mathchardef\colonapprox "3\hex\txsycfam 0D + \mathchardef\colonsim "3\hex\txsycfam 0E + \mathchardef\Colonapprox "3\hex\txsycfam 0F + \mathchardef\Colonsim "3\hex\txsycfam 10 + \mathchardef\doteq "3\hex\txsycfam 11 + \mathchardef\multimapinv "3\hex\txsycfam 12 + \mathchardef\multimapboth "3\hex\txsycfam 13 + \mathchardef\multimapdot "3\hex\txsycfam 14 + \mathchardef\multimapdotinv "3\hex\txsycfam 15 + \mathchardef\multimapdotboth "3\hex\txsycfam 16 + \mathchardef\multimapdotbothA "3\hex\txsycfam 17 + \mathchardef\multimapdotbothB "3\hex\txsycfam 18 + \mathchardef\VDash "3\hex\txsycfam 19 + \mathchardef\VvDash "3\hex\txsycfam 1A + \mathchardef\cong "3\hex\txsycfam 1B + \mathchardef\preceqq "3\hex\txsycfam 1C + \mathchardef\succeqq "3\hex\txsycfam 1D + \mathchardef\nprecsim "3\hex\txsycfam 1E + \mathchardef\nsuccsim "3\hex\txsycfam 1F + \mathchardef\nlesssim "3\hex\txsycfam 20 + \mathchardef\ngtrsim "3\hex\txsycfam 21 + \mathchardef\nlessapprox "3\hex\txsycfam 22 + \mathchardef\ngtrapprox "3\hex\txsycfam 23 + \mathchardef\npreccurlyeq "3\hex\txsycfam 24 + \mathchardef\nsucccurlyeq "3\hex\txsycfam 25 + \mathchardef\ngtrless "3\hex\txsycfam 26 + \mathchardef\nlessgtr "3\hex\txsycfam 27 + \mathchardef\nbumpeq "3\hex\txsycfam 28 + \mathchardef\nBumpeq "3\hex\txsycfam 29 + \mathchardef\nbacksim "3\hex\txsycfam 2A + \mathchardef\nbacksimeq "3\hex\txsycfam 2B + \mathchardef\neq "3\hex\txsycfam 2C + \let\ne=\neq + \mathchardef\nasymp "3\hex\txsycfam 2D + \mathchardef\nequiv "3\hex\txsycfam 2E + \mathchardef\nsim "3\hex\txsycfam 2F + \mathchardef\napprox "3\hex\txsycfam 30 + \mathchardef\nsubset "3\hex\txsycfam 31 + \mathchardef\nsupset "3\hex\txsycfam 32 + \mathchardef\nll "3\hex\txsycfam 33 + \mathchardef\ngg "3\hex\txsycfam 34 + \mathchardef\nthickapprox "3\hex\txsycfam 35 + \mathchardef\napproxeq "3\hex\txsycfam 36 + \mathchardef\nprecapprox "3\hex\txsycfam 37 + \mathchardef\nsuccapprox "3\hex\txsycfam 38 + \mathchardef\npreceqq "3\hex\txsycfam 39 + \mathchardef\nsucceqq "3\hex\txsycfam 3A + \mathchardef\nsimeq "3\hex\txsycfam 3B + \mathchardef\notin "3\hex\txsycfam 3C + \mathchardef\notni "3\hex\txsycfam 3D + \let\notowns=\notni + \mathchardef\nSubset "3\hex\txsycfam 3E + \mathchardef\nSupset "3\hex\txsycfam 3F + \mathchardef\nsqsubseteq "3\hex\txsycfam 40 + \mathchardef\nsqsupseteq "3\hex\txsycfam 41 + \mathchardef\coloneqq "3\hex\txsycfam 42 + \mathchardef\eqqcolon "3\hex\txsycfam 43 + \mathchardef\coloneq "3\hex\txsycfam 44 + \mathchardef\eqcolon "3\hex\txsycfam 45 + \mathchardef\Coloneqq "3\hex\txsycfam 46 + \mathchardef\Eqqcolon "3\hex\txsycfam 47 + \mathchardef\Coloneq "3\hex\txsycfam 48 + \mathchardef\Eqcolon "3\hex\txsycfam 49 + \mathchardef\strictif "3\hex\txsycfam 4A + \mathchardef\strictfi "3\hex\txsycfam 4B + \mathchardef\strictiff "3\hex\txsycfam 4C + \mathchardef\invamp "2\hex\txsycfam 4D + \edef\lbag{\delimiter "4\hex\txsycfam 4E\hex\txexafam 30 }% + \edef\rbag{\delimiter "5\hex\txsycfam 4F\hex\txexafam 31 }% + \mathchardef\Lbag "4\hex\txsycfam 50 + \mathchardef\Rbag "5\hex\txsycfam 51 + \mathchardef\circledless "3\hex\txsycfam 52 + \mathchardef\circledgtr "3\hex\txsycfam 53 + \mathchardef\circledwedge "2\hex\txsycfam 54 + \mathchardef\circledvee "2\hex\txsycfam 55 + \mathchardef\circledbar "2\hex\txsycfam 56 + \mathchardef\circledbslash "2\hex\txsycfam 57 + \mathchardef\lJoin "3\hex\txsycfam 58 + \mathchardef\rJoin "3\hex\txsycfam 59 + \mathchardef\Join "3\hex\txsycfam 5A + \let\lrJoin=\Join + \mathchardef\openJoin "3\hex\txsycfam 5B + \mathchardef\lrtimes "3\hex\txsycfam 5C + \mathchardef\opentimes "3\hex\txsycfam 5D + \mathchardef\Diamond "0\hex\txsycfam 5E + \mathchardef\Diamondblack "0\hex\txsycfam 5F + \mathchardef\nplus "2\hex\txsycfam 60 + \mathchardef\nsqsubset "3\hex\txsycfam 61 + \mathchardef\nsqsupset "3\hex\txsycfam 62 + \mathchardef\dashleftarrow "3\hex\txsycfam 63 + \mathchardef\dashrightarrow "3\hex\txsycfam 64 + \let\dasharrow\dashrightarrow + \mathchardef\dashleftrightarrow "3\hex\txsycfam 65 + \mathchardef\leftsquigarrow "3\hex\txsycfam 66 + \mathchardef\ntwoheadrightarrow "3\hex\txsycfam 67 + \mathchardef\ntwoheadleftarrow "3\hex\txsycfam 68 + \mathchardef\boxast "2\hex\txsycfam 69 + \mathchardef\boxbslash "2\hex\txsycfam 6A + \mathchardef\boxbar "2\hex\txsycfam 6B + \mathchardef\boxslash "2\hex\txsycfam 6C + \mathchardef\Wr "2\hex\txsycfam 6D + \mathchardef\lambdaslash "0\hex\txsycfam 6E + \mathchardef\lambdabar "0\hex\txsycfam 6F + \mathchardef\varclubsuit "0\hex\txsycfam 70 + \mathchardef\vardiamondsuit "0\hex\txsycfam 71 + \mathchardef\varheartsuit "0\hex\txsycfam 72 + \mathchardef\varspadesuit "0\hex\txsycfam 73 + \mathchardef\Nearrow "3\hex\txsycfam 74 + \mathchardef\Searrow "3\hex\txsycfam 75 + \mathchardef\Nwarrow "3\hex\txsycfam 76 + \mathchardef\Swarrow "3\hex\txsycfam 77 + \mathchardef\Top "0\hex\txsycfam 78 + \mathchardef\Bot "0\hex\txsycfam 79 + \mathchardef\Perp "3\hex\txsycfam 79 + \mathchardef\leadstoext "3\hex\txsycfam 7A + \mathchardef\leadsto "3\hex\txsycfam 7B + \mathchardef\sqcupplus "2\hex\txsycfam 7C + \mathchardef\sqcapplus "2\hex\txsycfam 7D + \edef\llbracket{\delimiter "4\hex\txsycfam 7E\hex\txexafam 12 }% + \edef\rrbracket{\delimiter "5\hex\txsycfam 7F\hex\txexafam 13 }% + \mathchardef\boxright "3\hex\txsycfam 80 + \mathchardef\boxleft "3\hex\txsycfam 81 + \mathchardef\boxdotright "3\hex\txsycfam 82 + \mathchardef\boxdotleft "3\hex\txsycfam 83 + \mathchardef\Diamondright "3\hex\txsycfam 84 + \mathchardef\Diamondleft "3\hex\txsycfam 85 + \mathchardef\Diamonddotright "3\hex\txsycfam 86 + \mathchardef\Diamonddotleft "3\hex\txsycfam 87 + \mathchardef\boxRight "3\hex\txsycfam 88 + \mathchardef\boxLeft "3\hex\txsycfam 89 + \mathchardef\boxdotRight "3\hex\txsycfam 8A + \mathchardef\boxdotLeft "3\hex\txsycfam 8B + \mathchardef\DiamondRight "3\hex\txsycfam 8C + \mathchardef\DiamondLeft "3\hex\txsycfam 8D + \mathchardef\DiamonddotRight "3\hex\txsycfam 8E + \mathchardef\DiamonddotLeft "3\hex\txsycfam 8F + \mathchardef\Diamonddot "0\hex\txsycfam 90 + \mathchardef\circleright "3\hex\txsycfam 91 + \mathchardef\circleleft "3\hex\txsycfam 92 + \mathchardef\circleddotright "3\hex\txsycfam 93 + \let\circledotright\circleddotright + \mathchardef\circleddotleft "3\hex\txsycfam 94 + \let\circledotleft\circleddotleft + \mathchardef\multimapbothvert "3\hex\txsycfam 95 + \mathchardef\multimapdotbothvert "3\hex\txsycfam 96 + \mathchardef\multimapdotbothBvert "3\hex\txsycfam 97 + \mathchardef\multimapdotbothAvert "3\hex\txsycfam 98 +} +\mathencdef\TXMIAmathchars {% + \mathchardef\alphaup "0\hex\txmiafam 0B + \mathchardef\betaup "0\hex\txmiafam 0C + \mathchardef\gammaup "0\hex\txmiafam 0D + \mathchardef\deltaup "0\hex\txmiafam 0E + \mathchardef\epsilonup "0\hex\txmiafam 0F + \mathchardef\zetaup "0\hex\txmiafam 10 + \mathchardef\etaup "0\hex\txmiafam 11 + \mathchardef\thetaup "0\hex\txmiafam 12 + \mathchardef\iotaup "0\hex\txmiafam 13 + \mathchardef\kappaup "0\hex\txmiafam 14 + \mathchardef\lambdaup "0\hex\txmiafam 15 + \mathchardef\muup "0\hex\txmiafam 16 + \mathchardef\nuup "0\hex\txmiafam 17 + \mathchardef\xiup "0\hex\txmiafam 18 + \mathchardef\piup "0\hex\txmiafam 19 + \mathchardef\rhoup "0\hex\txmiafam 1A + \mathchardef\sigmaup "0\hex\txmiafam 1B + \mathchardef\tauup "0\hex\txmiafam 1C + \mathchardef\upsilonup "0\hex\txmiafam 1D + \mathchardef\phiup "0\hex\txmiafam 1E + \mathchardef\chiup "0\hex\txmiafam 1F + \mathchardef\psiup "0\hex\txmiafam 20 + \mathchardef\omegaup "0\hex\txmiafam 21 + \mathchardef\varepsilonup "0\hex\txmiafam 22 + \mathchardef\varthetaup "0\hex\txmiafam 23 + \mathchardef\varpiup "0\hex\txmiafam 24 + \mathchardef\varrhoup "0\hex\txmiafam 25 + \mathchardef\varsigmaup "0\hex\txmiafam 26 + \mathchardef\varphiup "0\hex\txmiafam 27 + % + \mathchardef\varg "0\hex\txmiafam 31 + \mathchardef\vary "0\hex\txmiafam 32 + \mathchardef\varv "0\hex\txmiafam 33 + \mathchardef\varw "0\hex\txmiafam 34 + % + \mathchardef\varBbbk "0\hex\txmiafam AB +} +\mathencdef\TXEXAmathchars {% + \mathchardef\bignplus "1\hex\txexafam 00 + \mathchardef\bigsqcupplus "1\hex\txexafam 02 + \mathchardef\bigsqcapplus "1\hex\txexafam 04 + \mathchardef\bigsqcap "1\hex\txexafam 06 + \mathchardef\oiintop "1\hex\txexafam 08 + \def\oiint{\oiintop\nolimits} + \mathchardef\ointctrclockwiseop "1\hex\txexafam 0A + \def\ointctrclockwise{\ointctrclockwiseop\nolimits} + \mathchardef\ointclockwiseop "1\hex\txexafam 0C + \def\ointclockwise{\ointclockwiseop\nolimits} + \mathchardef\sqintop "1\hex\txexafam 0E + \def\sqint{\sqintop\nolimits} + \mathchardef\varprod "1\hex\txexafam 10 + %\edef\llbracket{\delimiter "4\hex\txsycfam 7E\hex\txexafam 12 }% + %\edef\rrbracket{\delimiter "5\hex\txsycfam 7F\hex\txexafam 13 }% + \mathchardef\brecext "0\hex\txexafam 20 + \mathchardef\iintop "1\hex\txexafam 21 + \def\iint{\iintop\nolimits} + \mathchardef\iiintop "1\hex\txexafam 23 + \def\iiint{\iiintop\nolimits} + \mathchardef\iiiintop "1\hex\txexafam 25 + \def\iiiint{\iiiintop\nolimits} + \mathchardef\idotsintop "1\hex\txexafam 27 + \def\idotsint{\idotsintop\nolimits} + \mathchardef\oiiintop "1\hex\txexafam 29 + \def\oiiint{\oiiintop\nolimits} + \mathchardef\varointctrclockwiseop "1\hex\txexafam 2B + \def\varointctrclockwise{\varointctrclockwiseop\nolimits} + \mathchardef\varointclockwiseop "1\hex\txexafam 2D + \def\varointclockwise{\varointclockwiseop\nolimits} + \mathchardef\fintop "1\hex\txexafam 3E + \def\fint{\fintop\nolimits} + \mathchardef\oiintctrclockwiseop "1\hex\txexafam 40 + \def\oiintctrclockwise{\oiintctrclockwiseop\nolimits} + \mathchardef\varoiintclockwiseop "1\hex\txexafam 42 + \def\varoiintclockwise{\varoiintclockwiseop\nolimits} + \mathchardef\oiintclockwiseop "1\hex\txexafam 48 + \def\oiintclockwise{\oiintclockwiseop\nolimits} + \mathchardef\varoiintctrclockwiseop "1\hex\txexafam 4A + \def\varoiintctrclockwise{\varoiintctrclockwiseop\nolimits} + \mathchardef\oiiintctrclockwiseop "1\hex\txexafam 44 + \def\oiiintctrclockwise{\oiiintctrclockwiseop\nolimits} + \mathchardef\varoiiintclockwiseop "1\hex\txexafam 46 + \def\varoiiintclockwise{\varoiiintclockwiseop\nolimits} + \mathchardef\oiiintclockwiseop "1\hex\txexafam 4C + \def\oiiintclockwise{\oiiintclockwiseop\nolimits} + \mathchardef\varoiiintctrclockwiseop "1\hex\txexafam 4E + \def\varoiiintctrclockwise{\varoiiintctrclockwiseop\nolimits} + \mathchardef\sqiintop "1\hex\txexafam 50 + \def\sqiint{\sqiintop\nolimits} + \mathchardef\sqiiintop "1\hex\txexafam 52 + \def\sqiiint{\sqiiintop\nolimits} +} +\mathencdef\TXmathmacros {% + \def\lgroup{\delimiter"4\hex\bffam 2833A }% extensible ( with sharper tips + \def\rgroup{\delimiter"5\hex\bffam 2933B }% extensible ) with sharper tips + \def\bracevert{\delimiter"\hex\ttfam 7C33E }% the vertical bar that extends braces + \let\ori@joinrel=\joinrel + \def\joinrel{\mathrel{\mkern-2.5mu}}% -3mu in plain TeX + % + \def\varmathbb ##1{% \varmathbb {ABC..} use bb symbols from txmia + \ifx\expandaction\noexpand + \noexpand\varmathbb{##1}% + \else + \csname fragilecommand!\endcsname + \bgroup + \count2=`A \count3="0\hex\txmiafam 81 + \loop \mathcode \count2=\count3 \relax + \csname ifnum\endcsname \count2<`Z + \advance\count2 by1 \advance\count3 by1 \repeat + ##1% + \egroup + \fi + }% + \def\mathfrak ##1{{\fam\txmiafam ##1}}% + % + \def\ori@not=\not + \def\not ##1{% % \not\XXX expands to \notXXX or \nXXX or \mathchar"3236 \XXX + \ifx ##1=\ne\else + \ifx ##1<\nless\else + \ifx ##1>\ngtr\else + \runtxnot ##1\fi\fi\fi + }% + \def\runtxnot {\ifx\expandaction\noexpand \noexpand\not + \else \csname fragilecommand!\endcsname + \expandafter \trytxnot + \fi + }% + \def\trytxnot ##1{\savetokenname ##1\tmpa + \expandafter \ifx \csname n\tmpa\endcsname \relax + \expandafter \ifx \csname not\tmpa\endcsname \relax + \mathchar"3236 \expandafter \expandafter \expandafter ##1% + \else + \csname not\tmpa\endcsname + \fi + \else + \csname n\tmpa\endcsname + \fi + }% + % re-definitions of math versions of \ddots, \vdots + \def\vdots{\vbox{\baselineskip4\p@ \lineskiplimit\z@ + \kern6\p@\hbox{$\m@th.$}\hbox{$\m@th.$}\hbox{$\m@th.$}}}% + \def\ddots{\mathinner{\mkern1mu\raise7\p@ + \vbox{\kern7\p@\hbox{$\m@th.$}}\mkern2mu + \raise4\p@\hbox{$\m@th.$}\mkern2mu\raise\p@\hbox{$\m@th.$}\mkern1mu}}% + % re-definition of \root macro + \let\ori@r@@t=\r@@t + \def\r@@t##1##2{\setbox\z@\hbox{$\m@th##1\sqrt{##2}$}\dimen@\ht\z@ + \advance\dimen@-\dp\z@ + \mkern6mu\raise.68\dimen@\copy\rootbox \mkern-9mu\box\z@}% + % re-definitions of \downbracefill, \upbracefill to use \bracext from txexa + \let\ori@downbracefill=\downbracefill \let\ori@upbracefill=\upbracefill + \def\downbracefill{$\m@th + \braceld\mkern-1mu\cleaders\hbox{$\mkern-.5mu\bracext\mkern-.5mu$}\hfill\mkern-1mu% + \braceru\bracelu + \mkern-1mu\cleaders\hbox{$\mkern-.5mu\bracext\mkern-.5mu$}\hfill\mkern-1mu\bracerd$}% + \def\upbracefill{$\m@th + \bracelu\mkern-1mu\cleaders\hbox{$\mkern-.5mu\bracext\mkern-.5mu$}\hfill\mkern-1mu% + \bracerd\braceld + \mkern-1mu\cleaders\hbox{$\mkern-.5mu\bracext\mkern-.5mu$}\hfill\mkern-1mu\braceru$}% + \def\mathcharsback{% + \let\joinrel \ori@joinrel + \let\not \ori@not + \let\r@@t \ori@r@@t + \let\downbracefill \ori@downbracefill + \let\upbracefill \ori@upbracefill}% +} +\endinput + + + + + + + diff --git a/Master/texmf-dist/tex/generic/ofs/ofs.sty b/Master/texmf-dist/tex/generic/ofs/ofs.sty new file mode 100644 index 00000000000..6bac96bbc5f --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/ofs.sty @@ -0,0 +1,301 @@ + +%%% OFS: Olsak's Font System based on NFSS + LaTeX macros +%%% Jul 2001 Petr Olsak +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%% see ofsdoc.tex for more details + +\NeedsTeXFormat{LaTeX2e} % I don't like LaTeX, the plain macro is more clean. + % See the variant of my macros ofs.tex for plain. + % But, some users ask for LaTeX style files :-(( + +%\ProvidesPackage{ofs}[2001/07/01 OFS based on NFSS] +%\ProvidesPackage{ofs}[2002/10/24 OFS based on NFSS] +% \addcmd added +\ProvidesPackage{ofs}[2003/02/25 OFS based on NFSS] +% \setfonts {\bgroup \catcode`\-=12 ... by Z. Wagner added + +\def\OFSversion{Oct. 2002} +\typeout{OFS (Olsak's Font System) based on NFSS initialized. + <\OFSversion>} + +%%%% \fontusage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\bgroup \catcode`\#=12 + \catcode`\{=12 \catcode`}=12 \catcode`\X=1 \catcode`\Z=2 + \catcode`\^^M=14 \catcode`\ =12 \catcode`\|=0\catcode`\\=12% +|gdef|fontusageX +|begingroup +|typeoutX%--------------------------------------------------------------- +\fontusage: ============ Olsak's Font System, usage: ===============^^J +\usepackage [sjannon, sdynamo] {ofs} ... for example^^J +\showfonts ... shows all loaded font families (by previous \usepackage)^^J +\setfonts [Family/] ... local switch to the new family, after this, the^^J + \rm, \bf, \it, bi will switch to the variants. The current size is used.^^J +\setfonts [/size] ... local switch to the new size of fonts, the family is^^J + not changed. The "size" has the following possible formats:^^J + at<dimen> ... the same as \font\something=file at<dimen>^^J + <dimen> ... the same as at<dimen>^^J + <number> ... the same as at<number>pt^^J + scaled<number> ... the same as \font\something=file scaled<number>^^J + mag<decimal-number> fonts will be magnified by given coefficient^^J + depend on current size of the fonts.^^J +\setfonts [Family/size] ... switch to the new family at given size^^J +\setfonts [Family-vr/] ... switch to the specified font, the current size^^J + is used. The "vr" is two-letter acronym for variants: rm, bf, it, bi.^^J +\setfonts [Family-vr/size] ... switch to the specified font.^^J +\fontdef\name [Family/size] ... same as \gdef\name{\setfonts[Family/size]}^^J + The "Family" or "size" parameter may be empty.^^J +\OFSfamily [Family] ... expands to internal NFSS family name.^^J +\OFSfamilydefault [Family] ... same as \edef\familydefault{\OFSfamily[Family]} +Z%----------------------------------------------------------------------- +|endgroup +Z +|egroup + + +%%%% \rm, \bf, \it, bi %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\bi{\fontseries{b}\fontshape{it}\selectfont} +\def\bf{\fontseries{b}\fontshape{n}\selectfont} +\def\it{\fontseries{m}\fontshape{it}\selectfont} +\def\rm{\fontseries{m}\fontshape{n}\selectfont} +\def\bfdefault{b} + +%%%% Macros used in declaration files %%%%%%%%%%%%%%%%%% + +\def\ofs@listfamilies{} +\def\ofs@messageheader{OFS (l.\the\inputlineno): } +\def\ofs@unknownfam{undefined} + +\def\OFSdeclarefamily [#1] #2{% + \OFSputfamlist {^^J \space\space[#1/]}% + \expandafter \gdef\csname ofs-fam:#1\endcsname {#2}% + \expandafter \gdef\csname ofs-fam:#2\endcsname {#2}% + \bgroup + \count2=18 + \def\tmpa ##1{\if:##1\let\tmpa=\relax + \else\advance\count2 by-1 \fi\tmpa}\tmpa #1:% + \def\tmpa {\ifnum\count2>0 \advance\count2 by-1 \OFSputfamlist{ }% + \else\let\tmpa=\relax \fi\tmpa}\tmpa + \egroup +} +\def\OFSfamily [#1]{% + \expandafter \ifx\csname ofs-fam:#1\endcsname \relax + \ofs@unknownfam + \else \csname ofs-fam:#1\endcsname + \fi +} +\def\OFSfamilydefault [#1]{% + \edef\tmpa{\OFSfamily[#1]}% + \ifx\tmpa\ofs@unknownfam + \typeout{\ofs@messageheader WARNING. The family is not set.^^J + The family name [#1] is not known in the list: + \ofs@listfamilies}% + \else + \edef\familydefault{\tmpa}% + \fi +} +\def\OFSputfamlist #1{% + \xdef\ofs@listfamilies {\ofs@listfamilies #1}% +} +\def\OFSextraencoding #1{% + \expandafter \ifx \csname ofs-enc:#1\endcsname \relax + \edef\ofs@extraencoding{#1}% + \lowercase{\input{#1ini.def}}\relax + \expandafter \def \csname ofs-enc:#1\endcsname {}% + \fi +} +\def\OFSnormalvariants{\OFSputfamlist{% + \string\rm, \string\bf, \string\it, \string\bi}} + +%%%% Defaults %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\OFSputfamlist {^^Jdefaults:} +\OFSdeclarefamily [CMRoman] {cmr} \OFSnormalvariants +\OFSputfamlist {, \string\sl} + +\OFSdeclarefamily [CMSans] {cmss} +\OFSputfamlist {\string\rm, \string\bf, \string\it, \space-} + +\OFSdeclarefamily [CMTypewriter] {cmtt} +\OFSputfamlist {\string\rm, \space- , \string\it, \space- , \string\sl} + +\OFSdeclarefamily [Times] {ptm} \OFSnormalvariants + +\OFSdeclarefamily [Helvetica] {phv} \OFSnormalvariants +\OFSputfamlist{, \string\nrm, \string\nbf, \string\nit, \string\nbi} + +\OFSdeclarefamily [Courier] {pcr} \OFSnormalvariants + +\def\sl{\fontseries{m}\fontshape{sl}\selectfont} +\def\nrm{\fontseries{mc}\fontshape{n}\selectfont} +\def\nbf{\fontseries{bc}\fontshape{n}\selectfont} +\def\nit{\fontseries{mc}\fontshape{it}\selectfont} +\def\nbi{\fontseries{bc}\fontshape{it}\selectfont} + + +%%%% \showfonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\showfonts{\typeout{\ofs@messageheader + The list of known font families:\ofs@listfamilies}} + +%%%% \setfonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\setfonts {\bgroup \catcode`\-=12 \ofs@setfonts} +\def\ofs@setfonts [#1/#2]{\egroup \OFSsetfonts{#1}{#2}} +\DeclareRobustCommand \OFSsetfonts [2]{% + \edef\tmpa{#1}\expandafter \ofs@readfamvariant\tmpa--:% + \ifx\famvariant\empty + \ofs@setfontfamily [#1/#2]% + \else + \ofs@setsinglefont [#1/#2]% + \fi + \ignorespaces +} +\def\ofs@readfamvariant #1-#2-#3:{\def\tmpb{#1}\def\famvariant{#2}} + +\def\ofs@setfontfamily [#1/#2]{% + \if |#1|\else + \edef\tmpa{\OFSfamily[#1]}% + \ifx\tmpa\ofs@unknownfam + \typeout{\ofs@messageheader WARNING. The family is not set.^^J + The family name [#1/] is not known in the list: + \ofs@listfamilies}% + \else + \fontfamily{\tmpa}% + \fi + \fi + \if |#2|\else + \edef\tmpa{#2}\expandafter\ofs@readfontsize \tmpa:% + \fontsize{\tmpa}{\f@baselineskip}% + \fi + \ofs@selectfont +} +\let\ofs@selectfont=\selectfont + +\def\ofs@setsinglefont [#1-#2/#3]{% + \let\ofs@selectfont=\relax + \ofs@setfontfamily [#1/#3]\let\ofs@selectfont=\selectfont + \csname #2\endcsname +} +\def\ofs@readfontsize #1#2:{\if a#1\ofs@readfontsizeat #1#2:% + \else \if s#1\ofs@readfontsizescaled #1#2:% + \else \if m#1\ofs@readfontsizemag #1#2..:% + \fi\fi\fi +} +\def\ofs@readfontsizeat at#1:{\def\tmpa{#1}} +\def\ofs@readfontsizescaled scaled#1:{\dimen0=0.01pt \dimen0=#1\dimen0 + \edef\tmpa{\the\dimen0}} +\def\ofs@readfontsizemag mag#1.#2.#3:{\dimen0=\f@size pt + \if|#2|\if|#3|% + \errmessage{OFS: "mag" need the decimal parameter with decimal point}% + \fi\fi + \dimen0 =#1.#2 \dimen0 + \advance\dimen0 by7sp % rounding to three digits after decimal point + \ifdim\dimen0<10pt \edef\tmpa{+\the\dimen0}\else \edef\tmpa{\the\dimen0}\fi + \dimen0 =\expandafter \ofs@readsixdigits \tmpa :::::|pt + \edef\tmpa{\the\dimen0}% +} +\def\ofs@readsixdigits #1#2#3#4#5#6#7#8#9|{% + \if:#5#1#2\else\if:#6#1#2#3\else\if:#7#1#2#3#4\else + \if:#8#1#2#3#4#5\else#1#2#3#4#5#6\fi\fi\fi\fi +} + +%%%% \fontdef %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\fontdef #1[#2/#3]{\def\tmpc{!}% + \edef\tmpa{#3}\ifx \tmpa\tmpc \edef\tmpa{\f@size}\fi + \edef\tmpb{#2}\expandafter \ofs@readfamvariant\tmpb--:% + \ifx \tmpb\tmpc + \ifx\famvariant\empty + \xdef #1{\noexpand\setfonts [\f@family/\tmpa]}% + \else + \xdef #1{\noexpand\setfonts [\f@family-\famvariant/\tmpa]}% + \fi + \else + \xdef #1{\noexpand\setfonts [#2/\tmpa]}% + \fi +} + +%%%% \ifknownfam %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newif \ifofs@familypresent + +\def\ifknownfam [#1]{% + \expandafter \ifx\csname ofs-fam:#1\endcsname \relax + \expandafter \ofs@familypresentfalse + \else + \expandafter \ofs@familypresenttrue + \fi + \ifofs@familypresent +} + +%%%% \addcmd %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\addcmd #1#2{\expandafter\def\expandafter\tmpa\expandafter{#1}% + \def\tmpb{#1}% + \ifx\tmpa\tmpb % the #1 is not a macro + \expandafter\let\csname \string#1-original\endcsname =#1% + \expandafter\def\expandafter #1\expandafter{% + \csname\string#1-original\endcsname #2}% + \else % the #1 is a macro + \expandafter\def\expandafter #1\expandafter{#1#2}% + \fi +} + +%%%% Extra encoding %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\setextrafont{\ifx\ofs@extraencoding\undefined + \typeout{\ofs@messageheader WARNING. Extra encoding is no declared by + \string\OFSextraencoding.}% + \else \fontencoding{\ofs@extraencoding}\selectfont \fi +} +\def\extchar{\afterassignment\ofs@doextchar \chardef\tmpa=} +\def\ofs@doextchar{{\setextrafont\tmpa}} + + +%%%% Accents %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\DeclareRobustCommand \accentabove [3]{% + \def\tmpa{#3}% + \ifx \tmpa\empty #1\else + \leavevmode\vbox{% + \setbox0=\hbox{#3}\setbox2=\hbox{#1}% + \dimen0=\ht0 \advance\dimen0 by\dp2 \advance\dimen0 by#2\relax + \offinterlineskip + \halign {##\cr + \hidewidth\slantcorrection{\dimen0}\box2 \hidewidth\cr + \noalign{\kern#2}\box0 \cr}}% + \fi +} +\DeclareRobustCommand \accentbelow [3]{% + \def\tmpa{#3}% + \ifx \tmpa\empty #1\else + \leavevmode\vtop{% + \setbox0=\hbox{#3}\setbox2=\hbox{#1}% + \dimen0=-\dp0 \advance\dimen0 by-\ht2 \advance\dimen0 by-#2\relax + \offinterlineskip + \halign {##\cr \box0 \cr\noalign{\kern#2}% + \hidewidth \slantcorrection{\dimen0}% + \dimen0=\dp2 \ifdim\dimen0<.2ex \dimen0=.2ex \fi + \vbox to\dimen0{\hbox{\box2}\vss}\hidewidth\cr}}% + \fi +} +\def\slantcorrection #1{\dimen0=#1\relax + \dimen0 =\strip@pt \fontdimen1\the\font \dimen0 + \kern 2\dimen0 +} + + +%%%% Options = OFS-style files %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\let\OFSprocessoptions=\relax +\DeclareOption *{\input{\CurrentOption.sty}} +\ProcessOptions\relax +\let\OFSprocessoptions=\undefined + + + + diff --git a/Master/texmf-dist/tex/generic/ofs/ofs.tex b/Master/texmf-dist/tex/generic/ofs/ofs.tex new file mode 100644 index 00000000000..e925feb0f97 --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/ofs.tex @@ -0,0 +1,1184 @@ +%%%% OFS: Olsak's Font System based on plain macros +%%%% Jun 2001 Petr Olsak +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%% See the ofsdoc.tex for more details + +\ifx\setfonts\undefined\else \expandafter\endOFSmacro \fi + +%\def\OFSversion{Nov. 2001} % First version released +%\def\OFSversion{Jun. 2002} % The \savefontid \restorefontid added +%\def\OFSversion{Oct. 2002} % The (Variant) in \loadtextfam introduced + % \addcmd introduced + % \def\relax{} in \setfosize macro added + % \ifx\sgfamily\newfamily added in \setfontfamily +%\def\OFSversion{Feb. 2004} % The encoding-dependend macros improved + % -- see new section 3.5 in ofsdoc.tex + % \bigsymbofont used for \fomenc PS in ofsdef.tex + % \ofshexbox introduced + % \registerenc introduced + % Fam-var: "var" can be in in arbitrary catcode + % \ofsremovefromlist introduced +%\def\OFSversion{Mar. 2004} % \characterdef keeps sequences defined already + % \tryloadenc is called from \loadtextfam now + % \listfamilies re-implemented -> \ofslistfamilies +\def\OFSversion{May 2004} % \ofscopyright defined in ofsdef.tex + % \plaincatcodes defined and used in \input ofs-* + % \safelet introduced + % space not required after <char> in \accentdef + % \showfonts lists only registered families + % \loadmathfam allows [-<variant>/] parameter + % \registertfm <name> - - introduced + % \lastfam + \mathencread + \mathencdef introduced + % \protectreading introduced + +%%%% Basic settings %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newlinechar=`^^J +\def\ofslistfamilies{} + +\message{OFS (Olsak's Font System) based on plain initialized. + <\OFSversion>} +\def\fosize{at10pt} % default font size +\def\currentfamily{CMRoman} % default font family +\ifx\fotenc\undefined \def\fotenc{8z}\fi % default font encoding +\def\extraenc{} % default extra encoding + +\chardef\bifam=5 % \slfam=5, but it is not usuall math. family + +\def\rm {\fam0 \let\currentvariant M\tenrm} +\def\bf {\fam\bffam \let\currentvariant F\tenbf} +\def\it {\fam\itfam \let\currentvariant T\tenit} +\def\bi {\fam\bifam \let\currentvariant I\tenbi} \let\tenbi=\relax +\let\currentvariant=M + +%%%% The \fontusage macro %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\bgroup \catcode`\#=12 + \catcode`\{=12 \catcode`}=12 \catcode`\X=1 \catcode`\Z=2 + \catcode`\^^M=14 \catcode`\ =12 \catcode`\|=0\catcode`\\=12 +|gdef|fontusageX +|begingroup +|immediate|write16X%--------------------------------------------------- +\fontusage: ============== Olsak's Font System, usage: =================^^J +\input ofs [sjannon, sdynamo, a35] \loadingenc=1 ... for example^^J +\showfonts ... shows all loaded font families (by previous \input)^^J +\setfonts [Family/] ... local switch to the new family, after this, the^^J + \rm, \bf, \it, bi will switch to the variants. The current size is used.^^J +\setfonts [/size] ... local switch to the new size of fonts, the family is^^J + not changed. The "size" has the following possible formats:^^J + at<dimen> ... the same as \font\something=file at<dimen>^^J + <dimen> ... the same as at<dimen>^^J + <number> ... the same as at<number>pt^^J + scaled<number> ... the same as \font\something=file scaled<number>^^J + mag<decimal-number> fonts will be magnified by given coefficient^^J + depend on current size of the fonts.^^J +\setfonts [Family/size] ... switch to the new family at given size^^J +\setfonts [Family-bf/size] ... switch to the specified font.^^J +\fontdef\name [Family/size] ... same as \gdef\name{\setfonts[Family/size]}^^J + The "Family" or "size" parameter may be empty.^^J +\fontdef\name [Family-vr/size] ... \name is fixed-font switch iff:^^J + "size" is no empty and no mag<dec-number>.^^J + Fixed-font switch "\name" is implemented as \global\font\name=file.^^J +\setmath [size/size/size] ... set math it/rm as current it/rm + use PS Symbol^^J +\nofontmessages, \logfontmessages, \displayfontmessages, \detailfontmessages^^J + ... the levels of log. +Z%----------------------------------------------------------------------- +|endgroup +Z +|egroup + + +%%%% The fragile/robust story %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\bgroup \catcode`\#=12 \catcode`\|=0 \catcode`\\=12 +|gdef|fragilecommand{% + |begingroup + |def|spc{|space|space|space|space|space}% + |message + { ERROR !! The fragile command in the toc/ind/aux or similar file.^^J + You can solve this problem by the following steps:^^J + 1. Remove the auxiliary file with this command.^^J + 2. Include the following macro code into your document header:^^J + |spc \let\orishipout=\shipout^^J + |spc \def\shipout#1#2{\setbox0=#1{#2}\bgroup^^J + |spc |spc \let\expandaction=\noexpand \orishipout\box0 \egroup}^^J + 3. TeX your document again and again...^^J + See the OFS documentation for more info.^^J}% + |errmessage{The fragile command in auxiliary file}% + |endgroup +} +|egroup + +\edef\tmpc{\the\catcode`\|}\catcode`\|=12 %% ConTeXt sets \catcode`\|=13 +% but we need it nonactive because of \if|#2| constructions below. + +%%%% The macros used in declaration files %%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\ofsputfamlist #1{% + \expandafter \gdef\expandafter \ofslistfamilies + \expandafter{\ofslistfamilies \ofslisttext{#1}}% +} +\def\ofsdeclarefamily [#1] #2{% + \expandafter \ifx \csname fam!.#1\endcsname \relax \else + \ofsremovefromlist {#1}\fi + \expandafter \gdef \csname fam!.#1\endcsname {#2}% + \expandafter\expandafter\expandafter \gdef + \expandafter\expandafter\expandafter \ofslistfamilies + \expandafter\expandafter\expandafter {\expandafter\ofslistfamilies + \expandafter \ofslistfamily \csname fam!.#1\endcsname}% + \edef\declaredfamily{#1}% +} +% \ofslistfamilies includes (without spaces): +% \ofslisttext {text1} \ofslistfamily \fam!.Family1 \ofslistfamily \fam!.Family2 +% ... etc. \ofslisttext {text2} \ofslistfamily \fam!.Family ... etc. + +\def\loadtextfam #1;#2;#3;#4;#5;{\tryloadenc{#5}% + \def\ofslistvariants{}% + \ofsloadfont {\currentfamily-rm}{tenrm}{#1}{M}{#5}{}% + \ofsloadfont {\currentfamily-bf}{tenbf}{#2}{F}{#5}{Bold}% + \ofsloadfont {\currentfamily-it}{tenit}{#3}{T}{#5}{Italic}% + \ofsloadfont {\currentfamily-bi}{tenbi}{#4}{I}{#5}{BoldItalic}% + \fontmessage{\ofsmessageheader\ofslistvariants}% + \def\ofslistvariants{}% +} +\def\savefontid #1{% % The font identifier is stored in TeX by + % the last \font primitive used for this font + \expandafter \gdef % but I need to store the first one. + \csname fn:\expandafter\fontname\csname#1\endcsname\endcsname{#1}% +} +\def\restorefontid #1{\expandafter + \ifx \csname fn:\expandafter\fontname\csname#1\endcsname\endcsname \relax + \else + {\expandafter \font \csname + \csname fn:\expandafter\fontname\csname#1\endcsname\endcsname + \endcsname =\fontname\csname#1\endcsname\relax}% + \fi +} +\def\ofsloadfont #1#2#3#4#5#6{% #1:famname #2:seqname, #3:(variant) file, + \if|#3|\fontprefix % #4:variant, #5:extraenc, #6: defaultvar + \missingofsvariant #1;#2;#4;% + \else + \separeofsvariant #1;#2;#3;#4;#5;#6;% + \fi +} +\def\missingofsvariant #1-#2;#3;#4;{% + \expandafter\let \csname #3\expandafter \endcsname + \csname warn#4\endcsname + \expandafter\let \csname var!.the#4\endcsname = \relax + \expandafter\let \csname fm:-#2\endcsname = \relax +} +\def\separeofsvariant #1-#2;#3;#4#5;#6;#7;#8;{% + \if(#4% + \storeofsvariant #1-#2;#3;#4#5;#6;#7;% + \else + \expandafter \ifx \csname reg!.#4#5\endcsname \empty + \missingofsvariant #1-#2;#3;#6;% + \else + \ifx \userfontname#3\else + \edef\ofslistvariants {\ofslistvariants + \space \expandafter\string\csname#2\endcsname\space (#8)}% + \fi + \expandafter \def \csname fm:-#2\endcsname {#4#5}% formal metric + \ofsloadfontori {#1-#2}{#3}{#4#5}{#6}{#7}% + \fi\fi +} +\def\storeofsvariant #1-#2;#3;(#4) #5;#6;#7;{% + \expandafter \ifx \csname reg!.#5\endcsname \empty + \missingofsvariant #1-#2;#3;#6;% + \else + \ifx \userfontname#3\else + \edef\ofslistvariants{\ofslistvariants + \space \expandafter\string\csname#2\endcsname\space (#4)}% + \fi + \expandafter \def \csname fm:-#2\endcsname {#5}% formal metric + \ofsloadfontori {#1-#2}{#3}{#5}{#6}{#7}% + \fi +} +\def\ofsloadfontori #1#2#3#4#5{% #1:famname #2:seqname, #3:file, + % #4: variant-letter #5: extraenc + \calculatemetricfile {#3}\fosize + \fontprefix \expandafter\font\csname #1/\fosize\endcsname + =\metricfile\fosize\relax + \savefontid{#1/\fosize}% + \fontprefix \expandafter \let \csname #2\expandafter\endcsname + \csname #1/\fosize\endcsname + \fontloadmessage{#2}{\metricfile\fosize}% + \expandafter\edef \csname var!.the#4\endcsname {% + \csname #2\endcsname}% + \if|#5|\else + \let\tmpa=\fotenc \edef\fotenc{#5}% + \calculatemetricfile {#3}\fosize + \let\fotenc=\tmpa + \fontprefix \expandafter \edef + \csname eXfont!.\fontname \csname #2\endcsname\endcsname + {\metricfile\fosize}% + \fontprefix \expandafter \edef + \csname eXenc!.\fontname \csname #2\endcsname\endcsname {#5}% + \fi +} +\def\fontprefix{} % on another place will be: \let\fontprefix=\global + +\def\newvariant #1 #2(#3) #4;#5;{% #1:number #2:\sequence, #3:comment + \savetokenname #2\tmpb % #4:file, #5:extraenc + \edef\ofslistvariants {\ofslistvariants \space \string#2 (#3)}% + \ofsloadfontori {\currentfamily-\tmpb}{ten\tmpb}{#4}{#1}{#5}% + \edef #2{\let\currentvariant #1% + \expandafter\noexpand \csname ten\tmpb\endcsname}% + \expandafter\let \csname var!.the#1\endcsname =#2% +} +\def\registertfm #1 #2-#3 #4 {% + \if -#4\relax + \expandafter \def \csname reg!.#1\endcsname {}% + \else + \expandafter \ifx \csname reg!.#1\endcsname \relax + \expandafter \def \csname reg!.#1\endcsname {}\fi + \let\testtfmsize=\relax + \def\tmpa{*}\def\tmpb{#3}% + \ifx \tmpa\tmpb \def\tmpb{\maxdimen}\fi + \expandafter \edef \csname reg!.#1\endcsname {% + \csname reg!.#1\endcsname \testtfmsize #2-\tmpb:#4 }% + \fi +} +\def\addcmd #1#2{\expandafter\def\expandafter\tmpa\expandafter{#1}% + \def\tmpb{#1}% + \ifx\tmpa\tmpb % the #1 is not a macro + \expandafter\let\csname \string#1-original\endcsname =#1% + \expandafter\def\expandafter #1\expandafter{% + \csname\string#1-original\endcsname #2}% + \else % the #1 is a macro + \expandafter\def\expandafter #1\expandafter{#1#2}% + \fi +} + +%%%% Logging %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\displaymessage{\immediate\write16 } +\def\ofsmessageheader{OFS (l.\the\inputlineno): } + +\def\displayfontmessages{\let\fontmessage=\displaymessage + \def\fontloadmessage##1##2{}} +\def\logfontmessages{\let\fontmessage=\wlog + \def\fontloadmessage##1##2{}} +\def\nofontmessages{\def\fontmessage##1{}\def\fontloadmessage##1##2{}} +\def\detailfontmessages{\displayfontmessages + \def\fontloadmessage##1##2{\displaymessage{\ofsmessageheader + \space\space \ifx\fontprefix\global\string\global\fi\string\font + \csname##1\endcsname= ##2}}} +\logfontmessages % default OFS logging + +%%%% \showfonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\showfonts{\bgroup \def\displaymessage{\immediate\write16 }% + \displaymessage{\ofsmessageheader + The list of known font families (encoding \fotenc):}\ofslistfamilies + \egroup +} +\def\ofslistfamily #1{% + \bgroup + \def\tmpa ##1!.##2/{##2}% + \edef\tmpa{\expandafter\tmpa\string #1/}% + \registeredfam\tmpa?\iftrue + \edef\tmpc {[\tmpa/]}% + \count2=21 + \def\tmpa ##1{\if:##1\else\advance\count2 by-1 \expandafter\tmpa\fi}% + \expandafter\tmpa \tmpc:% + \def\tmpa {\ifnum\count2>0 \advance\count2 by-1 \edef\tmpc{\tmpc\space}% + \expandafter \tmpa\fi}\tmpa + \def\loadtextfam ##1;##2;##3;##4;##5;{% + \if|##1|\edef\tmpc{\tmpc\space\space- }% + \else \edef\tmpc{\tmpc\space\string\rm}\fi + \if|##2|\edef\tmpc{\tmpc, \space- }% + \else \edef\tmpc{\tmpc, \string\bf}\fi + \if|##3|\edef\tmpc{\tmpc, \space- }% + \else \edef\tmpc{\tmpc, \string\it}\fi + \if|##4|\edef\tmpc{\tmpc, \space- }% + \else \edef\tmpc{\tmpc, \string\bi}\fi} + \def\newvariant ##1 ##2(##3) ##4;##5;{\edef\tmpc{\tmpc, \string##2}}% + \def\modifyread ##1;{} + #1% + \displaymessage{ \space\space\tmpc}% + \fi + \egroup +} +\def\ofslisttext #1{\if^^J\readfirsttoken #1:\end + \immediate\write16{\readothertokens #1:\end}% + \else \displaymessage{#1}\fi} + +\def\ofsremovefromlist #1{% removes family #1 from \ofslistfamilies + \edef\act{\def\noexpand\tmpa + ####1\noexpand\ofslistfamily + \expandafter\noexpand\csname fam!.#1\endcsname + ####2^^X{\gdef\noexpand\ofslistfamilies{####1####2}}}\act + \expandafter \tmpa\ofslistfamilies^^X% + \expandafter \let \csname ffe?#1:\endcsname =\relax + \fontmessage{\ofsmessageheader The family [#1/] is redeclared.}% +} + +%%%% Auxiliary macros %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\warnmissingfont #1#2{% + \ifx\expandaction\noexpand + \expandafter \noexpand \csname ten#1\endcsname + \else + \csname fragilecommand!\endcsname + \displaymessage{\ofsmessageheader WARNING. + Variant #2-#1 is unknown. No font is set.}% + \fi +} +\def\warnM{\warnmissingfont {rm}\currentfamily} +\def\warnT{\warnmissingfont {it}\currentfamily} +\def\warnF{\warnmissingfont {bf}\currentfamily} +\def\warnI{\warnmissingfont {bi}\currentfamily} + +\def\setfosize #1#2#3:{\if a#2\def#1{#2#3}% + \else\if s#2\let\tmpc=\relax \def\relax{}\edef#1{#2#3}\let\relax=\tmpc% + \else\if m#2\expandafter\readfosize\fosize:% + \readmag #2#3..:#1% + \else\isunitpresent #2#3.?\edef#1{at#2#3\tmpa}% + \fi \fi \fi} +\def\readfosize #1{% + \if a#1\def\tmpc t##1:{\dimen0=##1\relax}% + \else \if s#1\def\tmpc caled##1:{\dimen0=.01pt + {\def\relax{}\xdef\tmpc{##1}}\dimen0=\tmpc\dimen0\relax}% + \else \errmessage{OFS: readfosize: something wrong??}% + \fi\fi \tmpc +} +\def\readmag mag#1.#2.#3:#4{% + \if|#2|\if|#3|% + \errmessage{OFS: "mag" needs the decimal parameter with decimal point}% + \fi\fi + \dimen0 =#1.#2 \dimen0 + \advance\dimen0 by7sp % rounding to three digits after decimal point + \ifdim\dimen0<10pt \edef\tmpa{+\the\dimen0}\else \edef\tmpa{\the\dimen0}\fi + \dimen0 =\expandafter \readsixdigits \tmpa :::::|pt + \edef#4{at\the\dimen0}% +} +\def\readsixdigits #1#2#3#4#5#6#7#8#9|{% + \if:#5#1#2\else\if:#6#1#2#3\else\if:#7#1#2#3#4\else + \if:#8#1#2#3#4#5\else#1#2#3#4#5#6\fi\fi\fi\fi +} +\def\isunitpresent #1.#2?{\bgroup + \if |#2|\afterassignment\defpttotmpa \count2=#1.:% + \else \afterassignment\defpttotmpa \count2=0#2:\fi +} +\def\defpttotmpa #1.:{\if|#1|\gdef\tmpa{pt}\else\gdef\tmpa{}\fi\egroup} + +\def\savetokenname #1#2{% + \edef\tmpa{\escapechar=\the\escapechar}% + \escapechar=-1 + \edef#2{\string#1\expandafter}\tmpa \relax +} +\def\readfamvariant #1-#2-#3:{\def\tmpb{#1}\def\famvariant{#2}} +\long\def\readfirsttoken #1#2:\end{#1} +\long\def\readothertokens #1#2:\end{#2} +% TBN, page 80 +{\catcode`p=12 \catcode`t=12 + \gdef\noPT #1pt{#1}} + +\def\calculatemetricfile #1#2{% #1: name or metric file, #2: fosize + \expandafter \ifx \csname reg!.#1\endcsname \relax + \edef\metricfile{#1 }% + \else + \let\metricfile=\empty + \expandafter \readfosize #2:% \dimen0 = fosize + \if s\expandafter \readfirsttoken #2:\end + \let\testtfmsize=\testtfmsizescaled + \else + \let\testtfmsize=\testtfmsizeat + \fi + \csname reg!.#1\endcsname + \ifx \metricfile\empty + \let\testtfmsize=\testtfmsizescaled + \csname reg!.#1\endcsname + \ifx \metricfile\empty + \displaymessage {\ofsmessageheader WARNING. + The name "#1" is not registered for size #2.}% + \edef\metricfile{#110 }% + \fi\fi\fi +} +\def\testtfmsizeat #1-#2:#3 {% + \if|#1|\else + \ifdim #1>\dimen0 \else\ifdim #2<\dimen0 \else + \def\metricfile{#3 }% + \fi\fi\fi +} +\def\testtfmsizescaled #1-#2:#3 {% + \if|#1|\def\metricfile{#3 }\fi +} +\def\metrictmpa{\expandafter\singlefontname + \fontname\expandafter\tmpa\space:} + +\def\singlefontname #1 #2:{#1} +\def\ofsmeaning #1 #2 {the} + +%%%% The \setfonts macro %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\setfonts [#1/#2]{% + \ifx\expandaction\noexpand + \noexpand\setfonts [#1/#2]% + \else + \csname fragilecommand!\endcsname + \let\setfontsOK=\relax + \edef\tmpa{#1}\expandafter \readfamvariant\tmpa--:% + \ifx\famvariant\empty + \if|#1|\let\tmpa=\currentfamily \else\def\tmpa{#1}\fi + \registeredfam \tmpa?\iftrue + \def\newmodifylist{}% + \setfontfamily [#1/#2]% + \ifx\setfontsOK\relax \runmodifylist \fi + \else \warnunregistered\tmpa \let\setfontsOK=\undefined + \fi + \else + \if|#2|\ifx\tmpb\empty + \let\tmpb=\relax \csname\famvariant\endcsname + \fi\fi + \ifx\tmpb\relax \else + \registeredfam \tmpb?\iftrue + \def\newmodifylist{}% + \edef\userfontname{singlefont}% + \setsinglefont [\tmpb-\famvariant/#2]% + \ifx\setfontsOK\relax \runmodifylist \fi + \else \warnunregistered\tmpb \let\setfontsOK=\undefined + \fi\fi\fi + \ignorespaces + \fi +} +\def\setfontfamily [#1/#2]{% + \if|#1|\let\newfamily=\currentfamily + \else \edef\newfamily{#1}\fi + \if|#2|\else \setfosize\fosize #2:\fi + \expandafter\ifx \csname fam!.\newfamily\endcsname \relax + \displaymessage{\ofsmessageheader WARNING. No font family is set.^^J% + The family name [\newfamily/] is not known in the list:}\ofslistfamilies + \let\setfontsOK=\undefined + \else + \let\currentfamily=\newfamily + \fontmessage{\ofsmessageheader Font family + \currentfamily\space\fosize \space (enc=\fotenc) activated:}% + \def\tmpa##1{\expandafter \let \csname var!.the##1\endcsname \relax}% + \tmpa0\tmpa1\tmpa2\tmpa3\tmpa4\tmpa5\tmpa6\tmpa7\tmpa8\tmpa9% + \setfontshook + \csname fam!.\newfamily\endcsname + \ifx \ofslistvariants \empty \else + \fontmessage{\ofsmessageheader\ofslistvariants}\fi + % restoring current variant: + \ifx G\currentvariant + \ifx \sgfamily\newfamily \if |#2|\else + \setsinglefont[\sgfamily-\sgvariant/#2]% + \fi + \else \tenrm + \fi + \else + \expandafter + \ifx \csname var!.\expandafter\ofsmeaning\meaning + \currentvariant\endcsname \relax + \tenrm + \else + \csname var!.\expandafter\ofsmeaning\meaning + \currentvariant\endcsname + \fi\fi\fi +} + +\def\setsinglefont [#1-#2/#3]{% + \edef\newfamily{#1}% + \expandafter\savetokenname \csname#2\endcsname \sgvariant + \ifx\newfamily\empty \let\newfamily=\currentfamily \fi + \edef\tmpa{#3}% + \let\orifosize=\fosize + \let\oriloadfam=\loadtextfam + \let\orinewvariant=\newvariant + \ifx\tmpa\empty \let\tmpa=\fosize + \else \expandafter\setfosize\expandafter\fosize\tmpa:% + \fi + \expandafter\ifx \csname fam!.\newfamily\endcsname \relax + \displaymessage{\ofsmessageheader WARNING. No font is set.^^J% + The family name [\newfamily/] is not known in the list:}\ofslistfamilies + \let\setfontsOK=\undefined + \else + \fontmessage{\ofsmessageheader Loading single font + \newfamily-#2 \fosize \space (enc=\fotenc).}% + \expandafter\savetokenname \csname rm\endcsname \tmpa + \ifx\sgvariant\tmpa + \def\loadtextfam ##1;##2;##3;##4;##5;{\tryloadenc{##5}% + \ofsloadfont {\newfamily-rm}{\userfontname}{##1}{M}{##5}{}}% + \fi + \expandafter\savetokenname \csname bf\endcsname \tmpa + \ifx\sgvariant\tmpa + \def\loadtextfam ##1;##2;##3;##4;##5;{\tryloadenc{##5}% + \ofsloadfont {\newfamily-bf}{\userfontname}{##2}{F}{##5}{}}% + \fi + \expandafter\savetokenname \csname it\endcsname \tmpa + \ifx\sgvariant\tmpa + \def\loadtextfam ##1;##2;##3;##4;##5;{\tryloadenc{##5}% + \ofsloadfont {\newfamily-it}{\userfontname}{##3}{T}{##5}{}}% + \fi + \expandafter\savetokenname \csname bi\endcsname \tmpa + \ifx\sgvariant\tmpa + \def\loadtextfam ##1;##2;##3;##4;##5;{\tryloadenc{##5}% + \ofsloadfont {\newfamily-bi}{\userfontname}{##4}{I}{##5}{}}% + \fi + \ifx\loadtextfam\oriloadfam + \def\loadtextfam ##1;##2;##3;##4;##5;{\tryloadenc{##5}}% + \def\newvariant ##1 ##2(##3) ##4;##5;{\savetokenname ##2\tmpa + \ifx \tmpa\sgvariant + \ofsloadfont {\newfamily-\tmpa}{\userfontname}{##4}{##1}{##5}{}% + \fi}% + \else + \def\newvariant ##1 ##2(##3) ##4;##5;{}% + \fi + \fontprefix \expandafter \let \csname \userfontname \endcsname =\relax + \setfontshook + \csname fam!.\newfamily\endcsname + \expandafter \ifx \csname \userfontname \endcsname \relax + \displaymessage{\ofsmessageheader WARNING. + Variant \newfamily-\sgvariant\space is unknown. + No font is set.}% + \let\setfontsOK=\undefined + \else + \csname \userfontname \endcsname + \let\sgfamily=\newfamily + \let\currentvariant=G% + \fi + \fi + \let\fosize=\orifosize + \let\loadtextfam=\oriloadfam + \let\orinewvariant=\newvariant +} +\let\orifosize=\relax \let\oriloadfam=\relax \let\orinewvariant=\relax +\let\newfamily=\relax \let\sgfamily=\relax \let\sgvariant=\relax + +\def\fontdef #1[#2/#3]{\def\tmpc{!}% + \edef\tmpa{#3}% + \ifx\tmpa\tmpc \let\tmpa=\fosize \fi + \edef\tmpb{#2}\expandafter \readfamvariant\tmpb--:% + \ifx\tmpb\tmpc \let\tmpb=\currentfamily \fi + \ifx\famvariant\empty + \fontmessage{\ofsmessageheader Define \string#1 + as \noexpand\setfonts[\tmpb/\tmpa].}% + \xdef #1{\noexpand\setfonts [\tmpb/\tmpa]}% + \else + \ifx\tmpa\empty \def\tmpa{mag1.0}\fi + \expandafter \if m\expandafter \readfirsttoken \tmpa:\end + \fontmessage{\ofsmessageheader Define \string#1 + as \noexpand\setfonts[\tmpb-\famvariant/\tmpa].}% + \xdef #1{\noexpand\setfonts [\tmpb-\famvariant/\tmpa]}% + \else + \ifx\tmpb\empty + \fontmessage{\ofsmessageheader Define \string#1 + as \noexpand\setfonts[-\famvariant/\tmpa].}% + \xdef #1{\noexpand\setfonts [-\famvariant/\tmpa]}% + \else + \registeredfam \tmpb?\iftrue + \fontmessage{\ofsmessageheader Define \string#1 + as fixed font [\tmpb-\famvariant/\tmpa].}% + {\let\fontprefix=\global \let\tmpc=\tmpa + \savetokenname #1\userfontname + \setsinglefont [\tmpb-\famvariant/\tmpc]}% + \else + \warnunregistered \tmpb + \displaymessage{ \space \string\fontdef\string#1 + [#2/#3] ignored. \string#1=\string\nullfont}% + \global\let #1=\nullfont + \fi\fi\fi\fi +} + + +%%%% \knownfam \registeredfam \knownchar %%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\knownfam #1?#2{% usage: \knownfam Times? \iftrue ...\else...\fi + \expandafter\ifx \csname fam!.#1\endcsname \relax + \csname iffalse\expandafter\endcsname + \else + \csname iftrue\expandafter\endcsname + \fi +} +\def\ifknownfam [#1]{\knownfam #1?!} % for bacward compatibility + +\def \registeredfam #1?#2{% usage: \registeredfam Times?\iftrue...\else...\fi + \expandafter \ifx\csname ffe?#1:\endcsname \relax + \def\tmpc{iftrue}% + \else \edef\act{\def\noexpand\tmpc####1 \fotenc,####2^^X% + {\def\noexpand\tmpc{####2}}}\act + \edef\act{\noexpand\tmpc \space + \csname ffe?#1:\expandafter\endcsname, \fotenc,^^X}\act + \ifx\tmpc\empty \def\tmpc{iffalse}% + \else \def\tmpc{iftrue}\fi + \fi \csname\tmpc\endcsname +} +\def\knownchar #1?#2{% usage: \knownchar \euro? \iftrue...\else...\fi + \if u\expandafter \readfirsttoken \meaning #1:\end % undefined + \let\tmpa=\relax \let\tmpb=\relax + \else + {\def\printcharacterwarn##1{\relax}\def\printcharacteraccent##1##2{\relax}% + \def\setextrafont{}\xdef\tmpa{#1}\gdef\tmpb{\relax}}% + \fi + \ifx \tmpa\tmpb \csname iffalse\expandafter\endcsname \else + \csname iftrue\expandafter\endcsname \fi +} + + +%%%% Extra encodings %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\setextrafont{% + \ifx\expandaction\noexpand + \noexpand\setextrafont + \else + \csname fragilecommand!\endcsname + \expandafter \ifx \csname eXfont!.\fontname\the\font\endcsname \relax + \expandafter\let\expandafter\tmpa \the\font + \displaymessage{\ofsmessageheader WARNING. + \string\setextrafont: No extra metric for \metrictmpa.}% + \else + \font\extrafont=\csname eXfont!.\fontname\the\font\endcsname + \relax + \fontloadmessage{extrafont}% + {\csname eXfont!.\fontname\the\font\endcsname}% + \extrafont + \fi + \fi +} +\let\currentextrafont=\relax + +\def\characterdef #1#2#3 {\relax \savetokenname #1\tmpa + \edef \tmpb{\noexpand\printcharacter {\tmpa}}% + \expandafter \ifx \csname\tmpa\endcsname \relax \let#1=\tmpb \fi + \let\tmpc=\tmpa + \edef \tmpa {\tmpa:-#2#3}% + \ifx #1\tmpb \else + \expandafter \ifx \csname\tmpa\endcsname \relax + \fontmessage{\ofsmessageheader "\string#1" is + defined already, \noexpand\characterdef ignored.}% + \fi\fi + \futurelet \tmpb \docharacterdef +} +\def\characterdel #1#2#3 {\relax \savetokenname #1\tmpa + \ifx\tmpc\tmpa \else + \expandafter \let \csname\tmpa:-#2#3\endcsname =\relax \fi + \let\tmpc=\relax + \def \tmpa {tmpa}% + \futurelet \tmpb \docharacterdef +} +\def\characternodef #1#2#3 {\relax \savetokenname #1\tmpa + \edef \tmpb{\noexpand\printcharacter {\tmpa}}% + \expandafter \ifx \csname\tmpa\endcsname \relax \let#1=\tmpb \fi + \edef \tmpa {tmpa}% + \futurelet \tmpb \docharacterdef +} +\def\docharacterdef {% + \ifx\tmpb\bgroup + \afterassignment \ignorespaces + \expandafter \def \csname \tmpa \expandafter\endcsname + \else + \afterassignment \donumbercharacterdef + \uccode`\^^@= + \fi +} +{\catcode`\^^@=12 +\gdef\donumbercharacterdef {% + \uppercase{\expandafter \def\csname \tmpa\endcsname {^^@}}% + \uccode`\^^@=0 +}} +\def\printcharacter #1{% + \ifx\expandaction\noexpand + \expandafter\noexpand \csname #1\endcsname + \else + \expandafter\ifx\csname #1:-\fotenc\endcsname \relax + \expandafter \ifx \csname eXfont!.\fontname\the\font\endcsname \relax + \expandafter\ifx\csname #1:-*\endcsname \relax + \printcharacterwarn{#1}% + \else \csname #1:-*\endcsname + \fi + \else + \expandafter \ifx \csname + #1:-\csname eXenc!.\fontname\the\font\endcsname + \endcsname \relax + \expandafter\ifx\csname #1:-*\endcsname \relax + \printcharacterwarn{#1}% + \else \csname #1:-*\endcsname + \fi + \else + {\expandafter \setextrafont \csname + #1:-\csname eXenc!.\fontname\the\font\endcsname \endcsname}% + \fi + \fi + \else + \csname #1:-\fotenc\endcsname + \fi + \fi +} +\def\printcharacterwarn #1{% + \csname fragilecommand!\expandafter\endcsname + % \printcharacter may be first token in \halign data + \expandafter\def\expandafter\tmpa\expandafter{\currentfamily}% + \displaymessage{\ofsmessageheader WARNING. + Command \expandafter\noexpand\csname#1\endcsname + is unavailable in \tmpa.}% +} + +\def\extchar{\afterassignment\doextchar \chardef\tmpc=} +\def\doextchar{{\setextrafont\tmpc}} + +\def\accentdef #1#2#3#4 {\relax \savetokenname #1\tmpa + \edef #1##1{\noexpand\printaccent {\tmpa}{##1}}% + \if *#2\edef \tmpa {\tmpa:#2--#3#4}% + \else \edef \tmpa {\tmpa:#2:-#3#4}% + \fi + \futurelet \tmpb \docharacterdef +} +\def\accentdel #1#2#3#4 {\relax \savetokenname #1\tmpa + \if *#2\expandafter \let \csname\tmpa:#2--#3#4\endcsname =\relax + \else \expandafter \let \csname\tmpa:#2:-#3#4\endcsname =\relax + \fi + \def \tmpa {tmpa}% + \futurelet \tmpb \docharacterdef +} +\def\accentnodef #1#2#3#4 {\relax \savetokenname #1\tmpa + \edef #1##1{\noexpand\printaccent {\tmpa}{##1}}% + \edef \tmpa {tmpa}% + \futurelet \tmpb \docharacterdef +} +\def\printaccent #1#2{% + \ifx\expandaction\noexpand + \expandafter\noexpand \csname #1\endcsname {#2}% + \else + \expandafter \ifx \csname #1:#2:-\fotenc\endcsname \relax + \expandafter \ifx \csname eXfont!.\fontname\the\font\endcsname\relax + \expandafter \ifx \csname #1:*--\fotenc\endcsname \relax + \expandafter \ifx \csname #1:#2:-*\endcsname \relax + \expandafter \ifx \csname #1:*--*\endcsname \relax + \printaccentwarn{#1}{#2}% + \else + \if ^^X#2^^X\csname #1:*--*\endcsname {}% + \else \csname #1:*--*\endcsname #2% + \fi + \fi + \else \csname #1:#2:-*\endcsname + \fi + \else + \if ^^X#2^^X\csname #1:*--\fotenc\endcsname {}% + \else \csname #1:*--\fotenc\endcsname #2% + \fi + \fi + \else + \expandafter \ifx \csname + #1:#2:-\csname eXenc!.\fontname\the\font\endcsname + \endcsname \relax + \expandafter \ifx \csname #1:*--\fotenc\endcsname \relax + \expandafter \ifx \csname + #1:*--\csname eXenc!.\fontname\the\font\endcsname + \endcsname \relax + \expandafter \ifx \csname #1:#2:-*\endcsname \relax + \expandafter \ifx \csname #1:*--*\endcsname \relax + \printaccentwarn{#1}{#2}% + \else + \if ^^X#2^^X\csname #1:*--*\endcsname {}% + \else \csname #1:*--*\endcsname #2% + \fi + \fi + \else \csname #1:#2:-*\endcsname + \fi + \else + \expandafter \let \expandafter \tmpb \the\font + {\if ^^X#2^^X\expandafter \setextrafont \csname + #1:*--\csname eXenc!.\fontname\tmpb\endcsname + \endcsname \tmpb {}% + \else \expandafter \setextrafont \csname + #1:*--\csname eXenc!.\fontname\tmpb\endcsname + \endcsname \tmpb #2% + \fi}% + \fi + \else + \if ^^X#2^^X\csname #1:*--\fotenc\endcsname {}% + \else \csname #1:*--\fotenc\endcsname #2% + \fi + \fi + \else + {\expandafter \setextrafont \csname + #1:#2:-\csname eXenc!.\fontname\the\font\endcsname + \endcsname}% + \fi + \fi + \else + \csname #1:#2:-\fotenc\endcsname + \fi + \fi +} +\def\printaccentwarn #1#2{% + \csname fragilecommand!\expandafter\endcsname + % \printaccent may be first token in \halign data + \expandafter\def\expandafter\tmpa\expandafter{\currentfamily}% + \displaymessage{\ofsmessageheader WARNING. + Accent \expandafter\string\csname#1\endcsname{#2} + is unavailable in \tmpa.}% +} +\def\accentabove #1#2#3{% + \ifx\expandaction\noexpand + \noexpand\accentabove {#1}{#2}{#3}% + \else + \csname fragilecommand!\endcsname + \if ^^X#3^^X#1\else + \leavevmode\vbox{% + \setbox0=\hbox{#3}\setbox2=\hbox{#1}% + \dimen0=\ht0 \advance\dimen0 by\dp2 \advance\dimen0 by#2\relax + \offinterlineskip + \halign {##\cr + \hidewidth\slantcorrection{\dimen0}\box2 \hidewidth\cr + \noalign{\kern#2}\box0 \cr}}% + \fi\fi +} +\def\accentbelow #1#2#3{% + \ifx\expandaction\noexpand + \noexpand\accentbelow {#1}{#2}{#3}% + \else + \csname fragilecommand!\endcsname + \if ^^X#3^^X#1\else + \leavevmode\vtop{% + \setbox0=\hbox{#3}\setbox2=\hbox{#1}% + \dimen0=-\dp0 \advance\dimen0 by-\ht2 \advance\dimen0 by-#2\relax + \offinterlineskip + \halign {##\cr \box0 \cr\noalign{\kern#2}% + \hidewidth \slantcorrection{\dimen0}% + \dimen0=\dp2 \ifdim\dimen0<.2ex \dimen0=.2ex \fi + \vbox to\dimen0{\hbox{\box2}\vss}\hidewidth\cr}}% + \fi\fi +} +\def\slantcorrection #1{\dimen0=#1\relax + \dimen0 =\expandafter \noPT\the\fontdimen1\the\font \dimen0 + \kern 2\dimen0 +} + +%%%% \modifyenc, \modifydef, \tryloadenc, \registerenc %%%%%%%%%%%%%% + %% news in version Feb. 2004 +\newcount\loadingenc \loadingenc=0 + +\def\modifyenc #1:#2;{\def\tmpa{#1}% encoding + \ifx\tmpa\fotenc \ofsaddenctolist #1:#2;\fi + \ifx\tmpa\extraenc \ofsaddenctolist #1:#2;\fi +} +\def\ofsaddenctolist #1;{\expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter \newmodifylist + \expandafter\expandafter\expandafter {\expandafter \newmodifylist + \csname #1\expandafter\endcsname}} +\def\modifylist{} \def\newmodifylist{} + +\def\modifydef #1;#2{% + \expandafter \def \csname#1\endcsname {#2}% + \let\characterdef=\characternodef \let\accentdef=\accentnodef + \let\characterdel=\characternodef \let\accentdel=\accentnodef + \def\skipfirststep##1\relax\empty\empty{}% + #2\relax\empty\empty + \let\characterdef=\characterdefori \let\accentdef=\accentdefori + \let\characterdel=\characterdelori \let\accentdel=\accentdelori + \let\skipfirststep=\relax + \ignorespaces +} +\def\modifyread #1;{% + \ifnum\loadingenc>0 + \expandafter \ifx \csname m:>#1\endcsname \relax + \fontmessage{\ofsmessageheader \string\modifyread: + file read from \string\modifytext}% + {\plaincatcodes \catcode`@=11 \endlinechar=-1 \globaldefs=1 + \def\tmpa ##1\modifytext{}% + \expandafter \tmpa \input #1 + \expandafter \gdef \csname m:>#1\endcsname {}}% + \fi\fi +} +\def\tryloadenc #1{\edef\extraenc{#1}% + \ifnum\loadingenc>0 + \ofsinput ofs-\fotenc.tex + \ifx\extraenc\empty \else \ofsinput ofs-\extraenc.tex \fi + \fi +} +\def\runmodifylist {% + \ifx \modifylist\relax \else + \ifx \modifylist\newmodifylist \else + \let\tmpc=\relax + \switchdeftodel \modifylist + \switchdeftodel \newmodifylist + \let \modifylist=\newmodifylist + \fi + \fi +} +\def\switchdeftodel{% + \let\tmpa=\characterdef \let\characterdef=\characterdel \let\characterdel=\tmpa + \let\tmpa=\accentdef \let\accentdef=\accentdel \let\accentdel=\tmpa +} +\let\characterdefori=\characterdef +\let\characterdelori=\characterdel +\let\accentdefori=\accentdef +\let\accentdelori=\accentdel +\let\skipfirststep=\relax + +\def\registerenc #1:#2#3 {% + \edef\tmpa{#1}\ifx\tmpa\empty \edef\tmpa{\declaredfamily}\fi + \if*#2\expandafter \let \csname ffe?\tmpa:\endcsname =\relax + \else \expandafter \edef \csname ffe?\tmpa:\endcsname {% + \expandafter\ifx \csname ffe?\tmpa:\endcsname\relax + \else \csname ffe?\tmpa:\endcsname, \fi#2#3}% + \fi +} +\def\warnunregistered #1{\displaymessage{\ofsmessageheader WARNING. + Unregistered enc \fotenc\space for #1. No font is set.^^J + \space Use \noexpand\registerenc #1: \fotenc\space\space + if you have got appropriate tfm's.}} + +%%%% \plaincatcodes, \safelet, \protectreading %%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\plaincatcodes {\catcode`\\0\catcode`\{1\catcode`\}2% + \catcode`\$3\catcode`\&4\catcode`\^^M5\catcode`\#6% + \catcode`\^7\catcode`\_8\catcode`\ 10\catcode`\~13% + \catcode`\^^I10\catcode`\%14\catcode`!12\catcode`"12% + \catcodesloop '.{12}\catcodesloop 0@{12}\catcodesloop AZ{11}% + \catcode`[12\catcode`]12\catcode``12\catcodesloop az{11}% + \catcode`|12\relax +} +\def\catcodesloop #1#2#3{\countdef\tmpa2 \chardef\tmpb\tmpa + \tmpa=`#1\relax + \loop + \catcode\tmpa=#3\relax + \ifnum\tmpa <`#2 \advance\tmpa by1 + \repeat + \tmpa=\tmpb % original value of \count2 +} +\def\safelet #1{\ifx#1\undefined + \expandafter \let \expandafter #1% + \else \ifx#1\relax + \expandafter\expandafter\expandafter \let + \expandafter\expandafter\expandafter #1% + \else + \def\tmpa{\let\tmpa}\safeletwarn#1% + \expandafter\expandafter\expandafter \tmpa + \fi\fi +} +\def\safeletwarn #1{\displaymessage{\ofsmessageheader WARNING. + \noexpand#1 is defined already, \noexpand \safelet does nothing.}} + +\def\protectreading #1 {\expandafter + \ifx \csname f:>#1\endcsname \relax + \expandafter \def \csname f:>#1\endcsname {}% + \else \expandafter \endinput + \fi +} +\def\ofsinput #1 {\expandafter + \ifx \csname f:>#1\endcsname \relax + {\plaincatcodes \catcode`@=11 \endlinechar=-1 \globaldefs=1 \input #1 + \let\tmpa \relax + \expandafter \gdef \csname f:>#1\endcsname {}}\fi +} + +%%%% Math %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\loadmathfam #1[#2/#3]{% #1: fam, [#2/#3]: basic font [switch/file] + % basic font is used in three sizes: \textfosize, \scriptfosize, + % \scsriptscriptfosize. The basic font is given by its font-switch + % (control sequence without backslash) XOR its filename. + \relax + \ifnum #1<16 + \if |#2|\edef\tmpa{#3}\edef\tmpb{#3}% + \else + \edef\tmpb{#2}% + \edef \tmpa {\expandafter \readfirsttoken \tmpb:\end}% + \if -\tmpa + \expandafter \ifx \csname fm:\tmpb\endcsname \relax + \expandafter \ifx \csname fv:\tmpb\endcsname \empty % -bi => -bf + \displaymessage{\ofsmessageheader WARNING. loadmathfam: + no "\tmpb" in "\currentfamily", I try "-bf".}% + \def\tmpb{-bf}% + \fi\fi + \expandafter \ifx \csname fm:\tmpb\endcsname \relax + \ofsmissingmathfont {no "\tmpb" in "\currentfamily"}% + \else + \edef\tmpa {\csname fm:\tmpb\endcsname}% + \fi + \else + \if X\tmpa + \edef\tmpa {\expandafter\readothertokens\tmpb:\end}% + \if s\expandafter\expandafter\expandafter \readfirsttoken + \expandafter \meaning \csname \tmpa \endcsname:\end + \expandafter \ifx \csname eXfont!.\fontname + \csname\tmpa\endcsname \endcsname \relax + \ofsmissingmathfont {"\tmpa" has no extra metric}% + \else \edef \tmpa {\csname eXfont!.\fontname + \csname\tmpa\endcsname \endcsname \space}% + \edef\tmpa{\expandafter\singlefontname\tmpa:}% gobble at<dimen> + \fi + \else + \ofsmissingmathfont {"\tmpa" is no font selector}% + \fi + \else + \if s\expandafter\expandafter\expandafter \readfirsttoken + \expandafter \meaning \csname #2\endcsname:\end + \edef\tmpa{\expandafter\fontname\csname#2\endcsname\space}% + \edef\tmpa{\expandafter\singlefontname\tmpa:}% gobble at<dimen> + \else + \ofsmissingmathfont {"\tmpb" is no font selector}% + \fi\fi\fi\fi + \calculatemetricfile \tmpa \textfosize + \expandafter\font \csname\tmpb-Mt\endcsname + =\metricfile\textfosize \relax \restorefontid{\tmpb-Mt}% + \fontloadmessage{\tmpb-Mt}{\metricfile\textfosize + \space\space (fam:\string#1\if#1\relax=\the#1\fi)}% + \ifx \noindexsize \relax + \expandafter \let \csname\tmpb-Mss\expandafter\endcsname + \csname\tmpb-Mt\endcsname + \expandafter \let \csname\tmpb-Ms\expandafter\endcsname + \csname\tmpb-Mt\endcsname + \else + \calculatemetricfile \tmpa \scriptfosize + \expandafter\font \csname\tmpb-Ms\endcsname + =\metricfile\scriptfosize \relax \restorefontid{\tmpb-Ms}% + \fontloadmessage{\tmpb-Ms}{\metricfile\scriptfosize + \space\space (fam:\string#1\if#1\relax=\the#1\fi)}% + \calculatemetricfile \tmpa \scriptscriptfosize + \expandafter\font \csname\tmpb-Mss\endcsname + =\metricfile\scriptscriptfosize \relax \restorefontid{\tmpb-Mss}% + \fontloadmessage{\tmpb-Mss}{\metricfile\scriptscriptfosize + \space\space (fam:\string#1\if#1\relax=\the#1\fi)}% + \fi + \textfont #1=\csname\tmpb-Mt\endcsname + \scriptfont #1=\csname\tmpb-Ms\endcsname + \scriptscriptfont #1=\csname\tmpb-Mss\endcsname + \else + \displaymessage{\ofsmessageheader WARNING. + \noexpand\loadmathfam \string#1[#2/#3] ignored (\string#1 >= 16).}% + \fi + \def\noindexsize {\let\noindexsize \relax}% +} +\def\ofsmissingmathfont #1{% + \displaymessage{\ofsmessageheader WARNING. + loadmathfam: #1, \csname fm:-rm\endcsname\space used.}% + \edef\tmpa{\csname fm:-rm\endcsname}% + \def\tmpb{-rm}% +} +\expandafter\def \csname fm:-rm\endcsname {cmr10} +\expandafter\def \csname fv:-bi\endcsname {} + +\def\noindexsize {\let\noindexsize \relax} +\def\hex#1{\ifcase#10\or1\or2\or3\or4\or5\or6\or7\or8\or9\or + A\or B\or C\or D\or E\or F\else0\fi}% +\def\newmathfam #1{\advance\lastfam by1 \chardef #1=\lastfam\relax} +\countdef\lastfam=18 + +\def\setmath [#1/#2/#3]{% + \ifx\expandaction\noexpand + \noexpand\setmath [#1/#2/#3]% + \else + \csname fragilecommand!\endcsname + \if|#1|\def\tmpa{mag1.0}\else\edef\tmpa{#1}\fi + \expandafter \setfosize \expandafter \textfosize \tmpa:% + \if|#2|\def\tmpa{mag0.7}\else\edef\tmpa{#2}\fi + \expandafter \setfosize \expandafter \scriptfosize \tmpa:% + \if|#3|\def\tmpa{mag0.5}\else\edef\tmpa{#3}\fi + \expandafter \setfosize \expandafter \scriptscriptfosize \tmpa:% + \fontmessage{\ofsmessageheader \noexpand\setmath + [\textfosize/\scriptfosize/\scriptscriptfosize] + (enc=\fomenc, version=\mathversion)}% + \mathfonts + \ifx \currentfomenc\fomenc \else + \mathcharsback \let\mathcharsback=\relax + \mathchars \let\currentfomenc=\fomenc + \fi + \ignorespaces + \fi +} +\def\setsimplemath{\setmath[//]} % for backward compatibility + +\def\safemathchardef{\dosafemathdef\mathchardef} +\def\safemathaccentdef{\dosafemathdef\mathaccentdef} + +\def\dosafemathdef #1#2{\relax + \ifx #2\undefined \expandafter #1\expandafter#2% + \else + \savetokenname #2\tmpb + \expandafter \ifx \csname M\tmpb\endcsname \relax + \expandafter \let \csname T\tmpb\endcsname =#2% + \edef #2{\noexpand\ifmmode \noexpand\expandafter + \expandafter\noexpand \csname M\tmpb\endcsname + \noexpand\else \noexpand\expandafter + \expandafter\noexpand \csname T\tmpb\endcsname + \noexpand\fi}% + \expandafter #1\csname M\tmpb + \expandafter\expandafter\expandafter\endcsname + \else \mathchardef \tmpb + \fi\fi +} +\def\mathaccentdef #1{\def\tmpa{\edef#1{\mathaccent\the\tmpb\space}}% + \afterassignment \tmpa \mathchardef\tmpb +} + + +\def\pickmathfont #1#2{% We need "=" in \Long/right/left/arrow macros + \mathchoice % but we need not allocate new mathfam + {\hbox{\calculatemetricfile{#1}\textfosize + \font\tmpa=\metricfile \textfosize \tmpa#2% + \fontloadmessage{tmpa}{\metricfile\textfosize + \space\space\space T: {\noexpand\tmpa#2}}}}% + {\hbox{\calculatemetricfile{#1}\textfosize + \font\tmpa=\metricfile \textfosize \tmpa#2% + \fontloadmessage{tmpa}{\metricfile\textfosize + \space\space\space D: {\noexpand\tmpa#2}}}}% + {\hbox{\calculatemetricfile{#1}\scriptfosize + \font\tmpa=\metricfile \scriptfosize \tmpa#2% + \fontloadmessage{tmpa}{\metricfile\scriptfosize + \space\space\space S: {\noexpand\tmpa#2}}}}% + {\hbox{\calculatemetricfile{#1}\scriptscriptfosize + \font\tmpa=\metricfile \scriptscriptfosize \tmpa#2% + \fontloadmessage{tmpa}{\metricfile\scriptscriptfosize + \space\space\space SS: {\noexpand\tmpa#2}}}}% +} +\def\ofshexbox#1#2#3{% + \ifx\expandaction\noexpand + \noexpand \ofshexbox{#1}#2#3% + \else + \csname fragilecommand!\endcsname + {\ifx F\currentvariant \def\tmpa{#1:-bf!}% + \else \ifx T\currentvariant \def\tmpa{#1:-it!}% + \else \ifx I\currentvariant \def\tmpa{#1:-bi!}% + \else \def\tmpa{#1:-rm!}\fi\fi\fi + \expandafter \ifx \csname\tmpa\endcsname \relax + \displaymessage{\ofsmessageheader WARNING. + \string\ofsboxhex#1#2#3: fam#1 is undeclared, + use \string\ofshexboxdef}% + \else + \expandafter \calculatemetricfile \csname\tmpa\endcsname \fosize + \font\fn=\metricfile\fosize \relax + \fontloadmessage{fn}{\metricfile\fosize \space\space(ofshexbox)}% + \fn + \fi \char"#2#3}% + \fi} + +\def\ofshexboxdef #1#2#3#4#5{% + \expandafter\def\csname #1:-rm!\endcsname {#2}% + \expandafter\def\csname #1:-bf!\endcsname {#3}% + \expandafter\def\csname #1:-it!\endcsname {#4}% + \expandafter\def\csname #1:-bi!\endcsname {#5}% +} +\def\mathencread#1;{\ofsinput #1.tex \global \expandafter + \let \csname f:>#1.tex\endcsname=\relax} +\def\mathencdef#1{\aftergroup\runplusforget \aftergroup#1\gdef#1} +\def\runplusforget#1{#1\global\let#1=\relax} + +\catcode`\|=\tmpc\relax % original catcode of | + +%%% default math sizes: +\def\textfosize{at10pt} +\def\scriptfosize{at7pt} \def\scriptscriptfosize{at5pt} + +%%%% \endOFSmacro : reads [options] after \input ofs %%%%%%%%%%%%%%%% + +\def\endOFSmacro {\expandafter \futurelet \expandafter + \tmpa \expandafter \testOFSoptions \endinput} +\def\testOFSoptions {\ifx [\tmpa \expandafter \readOFSoptions \fi} +\def\readOFSoptions [#1]{\let\next=\processOFSoption \next #1,^^X,} +\def\processOFSoption #1,{\if ^^X#1\let\next=\relax + \else \input #1 \fi \next} + + +%%%% Default text + math families %%%%%%%%%%%%%%%%%%%%%%%%%%% + +\input ofsdef + +%%%% End of OFS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\endOFSmacro diff --git a/Master/texmf-dist/tex/generic/ofs/ofsdef.tex b/Master/texmf-dist/tex/generic/ofs/ofsdef.tex new file mode 100644 index 00000000000..c207308e2c0 --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/ofsdef.tex @@ -0,0 +1,414 @@ +% OFS: The default text families + math families +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Jun 2001 Petr Olsak + +% You cannot \input this file because this file is \inputted automatically. +% See ofsdoc.tex for more details + +\ifx\ofsdeclarefamily\undefined + \errmessage{You can't \string\input\space the file ofssdef.tex + directly from your document% + } + \endinput \fi + +\protectreading ofsdef.tex % This is part of OFS package + +%%% Computer Roman family %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\def\defaultextraenc{8c} % You can re-define this macro before + % \setfonts in order to change + % extra encoding of default families + +\ofsputfamlist {^^Jdefaults:} + +\ofsdeclarefamily [CMRoman] {% ------------ Computer Modern Roman + \loadtextfam cmr\fotenc;% + cmbx\fotenc;% + cmti\fotenc;% + cmbxti\fotenc;\defaultextraenc;% + \newvariant8 \sl (Slanted) cmsl\fotenc;\defaultextraenc;% + \newvariant9 \bxsl (BoldSlanted) cmbxsl\fotenc;\defaultextraenc;% + \modifyenc 8z:csfont;% +} +\registerenc: 8z \registerenc: 8t +\registerenc: 6a + +\ofsdeclarefamily [CMSans] {% ------------- Computer Modern Sans Serif + \loadtextfam cmss\fotenc;% + cmssbx\fotenc;% + cmssi\fotenc;% + cmssbxti\fotenc;\defaultextraenc;% + \modifyenc 8z:csfont;% +} +\registerenc: 8z \registerenc: 8t +\registerenc: 6a + +\ofsdeclarefamily [CMTypewriter] {% ------- Computer Modern Typewriter + \loadtextfam cmtt\fotenc;% + cmttbx\fotenc;% + cmitt\fotenc;% + cmttbxti\fotenc;\defaultextraenc;% + \newvariant8 \sl (Slanted) cmsltt\fotenc;\defaultextraenc;% + \modifyenc 8z:csfont;% + \modifyenc 8z:nocrossL;% +} +\registerenc: 8z \registerenc: 8t +\registerenc: 6a + + +%%%% Math fonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\registertfm cmsy - cmsy10 +\registertfm cmsy 0pt-6pt cmsy5 +\registertfm cmsy 6pt-7pt cmsy6 +\registertfm cmsy 7pt-8pt cmsy7 +\registertfm cmsy 8pt-9pt cmsy8 +\registertfm cmsy 9pt-10pt cmsy9 +\registertfm cmsy 10pt-* cmsy10 + +\registertfm cmmi - cmmi10 +\registertfm cmmi 0pt-6pt cmmi5 +\registertfm cmmi 6pt-7pt cmmi6 +\registertfm cmmi 7pt-8pt cmmi7 +\registertfm cmmi 8pt-9pt cmmi8 +\registertfm cmmi 9pt-10pt cmmi9 +\registertfm cmmi 10pt-12pt cmmi10 +\registertfm cmmi 12pt-* cmmi12 + +%%%% CSfonts (encoding: 8z) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\registertfm cmr8z - csr10 +\registertfm cmr8z 0pt-6pt csr5 +\registertfm cmr8z 6pt-7pt csr6 +\registertfm cmr8z 7pt-8pt csr7 +\registertfm cmr8z 8pt-9pt csr8 +\registertfm cmr8z 9pt-10pt csr9 +\registertfm cmr8z 10pt-12pt csr10 +\registertfm cmr8z 12pt-17pt csr12 +\registertfm cmr8z 17pt-* csr17 + +\registertfm cmbx8z - csbx10 +\registertfm cmbx8z 0pt-6pt csbx5 +\registertfm cmbx8z 6pt-7pt csbx6 +\registertfm cmbx8z 7pt-8pt csbx7 +\registertfm cmbx8z 8pt-9pt csbx8 +\registertfm cmbx8z 9pt-10pt csbx9 +\registertfm cmbx8z 10pt-12pt csbx10 +\registertfm cmbx8z 12pt-* csbx12 + +\registertfm cmti8z - csti10 +\registertfm cmti8z 0pt-8pt csti7 +\registertfm cmti8z 8pt-9pt csti8 +\registertfm cmti8z 9pt-10pt csti9 +\registertfm cmti8z 10pt-12pt csti10 +\registertfm cmti8z 12pt-17pt csti12 +\registertfm cmti8z 17pt-* csti17 + +\registertfm cmbxti8z - csbxti10 +\registertfm cmbxti8z 0pt-12pt csbxti10 +\registertfm cmbxti8z 12pt-17pt csbxti12 +\registertfm cmbxti8z 17pt-* csbxti17 + +\registertfm cmsl8z - cssl10 +\registertfm cmsl8z 0pt-6pt cssl5 +\registertfm cmsl8z 6pt-7pt cssl6 +\registertfm cmsl8z 7pt-8pt cssl7 +\registertfm cmsl8z 8pt-9pt cssl8 +\registertfm cmsl8z 9pt-10pt cssl9 +\registertfm cmsl8z 10pt-12pt cssl10 +\registertfm cmsl8z 12pt-17pt cssl12 +\registertfm cmsl8z 17pt-* cssl17 + +\registertfm cmbxsl8z - csbxsl10 +\registertfm cmsltt8z - cssltt10 + +\registertfm cmss8z - csss10 +\registertfm cmss8z 0pt-9pt csss8 +\registertfm cmss8z 9pt-10pt csss9 +\registertfm cmss8z 10pt-12pt csss10 +\registertfm cmss8z 12pt-17pt csss12 +\registertfm cmss8z 17pt-* csss17 + +\registertfm cmssbx8z - csssbx10 + +\registertfm cmssi8z - csssi10 +\registertfm cmssi8z 0pt-9pt csssi8 +\registertfm cmssi8z 9pt-10pt csssi9 +\registertfm cmssi8z 10pt-12pt csssi10 +\registertfm cmssi8z 12pt-17pt csssi12 +\registertfm cmssi8z 17pt-* csssi17 + +\registertfm cmtt8z - cstt10 +\registertfm cmtt8z 0pt-9pt cstt8 +\registertfm cmtt8z 9pt-10pt cstt9 +\registertfm cmtt8z 10pt-12pt cstt10 +\registertfm cmtt8z 12pt-* cstt12 + +\registertfm cmitt8z - csitt10 + +%%% unavailable in cm*8z :-( + +\registertfm cmssbxti8z - - +\registertfm cmttbx8z - - +\registertfm cmttbxti8z - - + + +%%%% EC fonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\registerECfont #1 #2 {% + \registertfm #1 - #21000 + \registertfm #1 0pt-6pt #20500 + \registertfm #1 6pt-7pt #20600 + \registertfm #1 7pt-8pt #20700 + \registertfm #1 8pt-9pt #20800 + \registertfm #1 9pt-10pt #20900 + \registertfm #1 10pt-10.95pt #21000 + \registertfm #1 10.95pt-12pt #21095 + \registertfm #1 12pt-14.4pt #21200 + \registertfm #1 14.4pt-17.28pt #21440 + \registertfm #1 17.28pt-20.74pt #21728 + \registertfm #1 20.74pt-24.88pt #22074 + \registertfm #1 24.88pt-29.86pt #22488 + \registertfm #1 29.86pt-35.83pt #22986 + \registertfm #1 35.83pt-* #23583 +} +\def\registerECTTfont #1 #2 {% + \registertfm #1 - #21000 + \registertfm #1 0pt-9pt #20800 + \registertfm #1 9pt-10pt #20900 + \registertfm #1 10pt-10.95pt #21000 + \registertfm #1 10.95pt-12pt #21095 + \registertfm #1 12pt-14.4pt #21200 + \registertfm #1 14.4pt-17.28pt #21440 + \registertfm #1 17.28pt-20.74pt #21728 + \registertfm #1 20.74pt-24.88pt #22074 + \registertfm #1 24.88pt-29.86pt #22488 + \registertfm #1 29.86pt-35.83pt #22986 + \registertfm #1 35.83pt-* #23583 +} + +\registerECfont cmr8t ecrm +\registerECfont cmbx8t ecbx +\registerECfont cmti8t ecti +\registerECfont cmbxti8t ecbi +\registerECfont cmsl8t ecsl +\registerECfont cmbxsl8t ecbl + +\registerECfont cmss8t ecss +\registerECfont cmssbx8t ecsx +\registerECfont cmssi8t ecsi +\registerECfont cmssbxti8t ecso + +\registerECTTfont cmtt8t ectt +\registerECTTfont cmitt8t ecit +\registerECTTfont cmsltt8t ecst + +\registertfm cmttbx8t - - +\registertfm cmttbxti8t - - + +\registerECfont cmr8c tcrm +\registerECfont cmbx8c tcbx +\registerECfont cmti8c tcti +\registerECfont cmbxti8c tcbi +\registerECfont cmsl8c tcsl +\registerECfont cmbxsl8c tcbl + +\registerECfont cmss8c tcss +\registerECfont cmssbx8c tcsx +\registerECfont cmssi8c tcsi +\registerECfont cmssbxti8c tcso + +\registerECTTfont cmtt8c tctt +\registerECTTfont cmitt8c tcit +\registerECTTfont cmsltt8c tcst + + +%%%% Times, Helvetica, Courier %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\setfontshook {\let\TeX=\origTeX} +\let\origTeX=\TeX +\let\plainL=\L % used in ofs-8z.tex + +\ofsdeclarefamily [Times] {% -------------- Times Roman + \loadtextfam (Roman) ptmr\fotenc;% + ptmb\fotenc;% + ptmri\fotenc;% + ptmbi\fotenc;\defaultextraenc;% + \def\TeX{T\kern-.1667em\lower.3333ex\hbox{E}\kern-.125emX}% + \modifyenc 8z:badaccents;% + \modifyenc 8t:losschars;% + \modifyenc 8c:poor;% +} +\registerenc: 8z \registerenc: 8t + +\ofsdeclarefamily [Helvetica] {% ---------- Helvetica + \loadtextfam phvr\fotenc;% + phvb\fotenc;% + (Oblique) phvro\fotenc;% + (BoldOblique) phvbo\fotenc;\defaultextraenc;% + \newvariant0 \nrm (Narrow) phvr\fotenc n;;% + \newvariant1 \nbf (NarrowBold) phvb\fotenc n;;% + \newvariant2 \nit (NarrowOblique) phvro\fotenc n;;% + \newvariant3 \nbi (NarrowBoldOblique) phvbo\fotenc n;;% + \def\TeX{T\kern-.12em\lower.4ex\hbox{E}\kern-0.09emX}% + \modifyenc 8z:badaccents;% + \modifyenc 8t:losschars;% + \modifyenc 8c:poor;% +} +\registerenc: 8z \registerenc: 8t + +\registertfm phvr8zn - phvrn8z %% There is a bug in cspsfonts: +\registertfm phvb8zn - phvbn8z %% standard metric name: phvr8zn +\registertfm phvro8zn - phvron8z %% real metric name: phvrn8z +\registertfm phvbo8zn - phvbon8z + +\ofsdeclarefamily [Courier] {% ------------ Courier + \loadtextfam pcrr\fotenc;% + pcrb\fotenc;% + (Oblique) pcrro\fotenc;% + (BoldOblique) pcrbo\fotenc;\defaultextraenc;% + \let\TeX=\origTeX + \modifyenc 8z:badaccents;% + \modifyenc 8t:losschars;% + \modifyenc 8c:poor;% +} +\registerenc: 8z \registerenc: 8t + +\registertfm pcrr8z - pcrr8u +\registertfm pcrb8z - pcrb8u +\registertfm pcrro8z - pcrro8u +\registertfm pcrbo8z - pcrbo8u + + +%%%% Math families %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\loadPSnormalmath{% + \loadmathfam 0[-rm/]% Actual Roman font + \loadmathfam 1[-it/]% Actual Italic font + \defaultskewchar=48 + \loadmathfam 2[/cmsy]% Standard symbols from CM + \defaultskewchar=-1 + \noindexsize\loadmathfam 3[tenex/]% Standard extra symbols from CM + \chardef\symbfam 4 + \loadmathfam \symbfam [/psyr]% PostScript Symbol + \chardef\symbofam 5 + \loadmathfam \symbofam [/psyro]% PostScript Symbol Oblique + \chardef\bffam 6 + \loadmathfam \bffam [-bf/]% Actual Bold font + \chardef\bifam 7 + \loadmathfam \bifam [-bi/]% Actual Bold Italic + \lastfam = 7 + \chardef\itfam 1 + \let\slfam\undefined \let\ttfam\undefined + \setfosize \tmpa mag1.44:% + \font \bigsymbofont=psyr \tmpa% Big variant for \displaysize + \fontloadmessage{bigsymbofont}{psyr\space\tmpa}% +} +\def\loadPSboldmath{% + \loadmathfam 0[-bf/]% Actual Bold font + \loadmathfam 1[-bi/]% Actual Bold-Italic font + \defaultskewchar=48 + \loadmathfam 2[/cmbsy]% Bold symbols from CM + \defaultskewchar=-1 + \noindexsize\loadmathfam 3[tenex/]% Standard extra symbols from CM + \chardef\symbfam 4 + \loadmathfam \symbfam [/psyr]% PostScript Symbol + \chardef\symbofam 5 + \loadmathfam \symbofam [/psyro]% PostScript Symbol Oblique + \lastfam = 7 % needs to be the same as in normal version + \chardef\itfam 1 + \chardef\bifam 1 + \chardef\bffam 0 + \let\slfam\undefined \let\ttfam\undefined + \setfosize \tmpa mag1.44:% + \font \bigsymbofont=psyr \tmpa% Big variant for \displaysize + \fontloadmessage{bigsymbofont}{psyr\space\tmpa}% +} +\def\loadCMnormalmath{% + \loadmathfam 0[/cmr8z]% Roman font + \defaultskewchar=128 + \loadmathfam 1[/cmmi]% Math Italic font + \defaultskewchar=48 + \loadmathfam 2[/cmsy]% Standard symbols from CM + \defaultskewchar=-1 + \noindexsize\loadmathfam 3[/cmex]% Standard extra symbols from CM + \chardef\itfam 4 + \noindexsize\loadmathfam \itfam [/cmti\fotenc]% Text Italic + \chardef\slfam 5 + \noindexsize\loadmathfam \slfam [/cmsl\fotenc]% Slanted + \chardef\bffam 6 + \loadmathfam \bffam [/cmbx\fotenc]% Bold font + \chardef\ttfam 7 + \noindexsize\loadmathfam \ttfam [/cmtt\fotenc]% TypeWriter + \lastfam =7 +} +\def\loadCMboldmath{% + \loadmathfam 0[/cmbx8z]% Roman font + \defaultskewchar=127 + \loadmathfam 1[/cmmib]% Math Italic font + \defaultskewchar=48 + \loadmathfam 2[/cmbsy]% Standard symbols from CM + \defaultskewchar=-1 + \noindexsize\loadmathfam 3[/cmex]% Standard extra symbols from CM + \chardef\itfam 4 + \noindexsize\loadmathfam \itfam [/cmbxti\fotenc]% Text Italic + \chardef\slfam 5 + \noindexsize\loadmathfam \slfam [/cmbxsl\fotenc]% Slanted + \chardef\bffam 6 + \loadmathfam \bffam [/cmbx\fotenc]% Bold font + \chardef\ttfam 7 + \noindexsize\loadmathfam \ttfam [/cmtt\fotenc]% TypeWriter + \lastfam =7 +} +\def\setPSmathchars{\mathencread ofs-ps;} +\let\setCMmathchars=\relax % We need not do any work + +%% No size differences in standard CM fonts: + +\registertfm cmbsy - cmbsy10 +\registertfm cmex - cmex10 +\registertfm cmmib - cmmib10 + +%%%% Math defaults %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ifx \fomenc\undefined \def\fomenc{PS}\fi +\def\mathversion{normal} +\def\defaultmathfonts{% + \expandafter \ifx \csname load\fomenc\mathversion math\endcsname \relax + \message{\ofsmessageheader WARNING: + \string\fomenc=\fomenc\space -- undeclared font-set, + I use \string\def\string\fomenc{PS}} + \def\fomenc{PS}% + \fi + \csname load\fomenc\mathversion math\endcsname} +\def\defaultmathchars{\csname set\fomenc mathchars\endcsname} +\let\mathcharsback=\relax +\def\mathfonts{\defaultmathfonts} +\def\mathchars{\defaultmathchars} + +%%%% \ofshexbox is more intelligent alternative to \mathhexbox + +\ofshexboxdef 2 {cmsy}{cmbsy10}{cmsy}{cmbsy10} + % only fam2 is declared because only \mathhexbox2.. is used in plain + +\def\ofscopyright{{\ooalign{\hfil\raise.07ex\hbox{c}\hfil\crcr\ofshexbox20D}}} + + +%%%% \dots macro (is defined via math mode in original plain) %%%% + +\def\dots{.% this dot may be kerned with previous character and it + \ifmmode % protects the \dots macro in \halign data + \mathinner{\ldotp\ldotp}% + \else + \ifdim\fontdimen3\font=0pt % may be non-proporcional font + ..% + \else + \kern.5\fontdimen2\font + .\kern.5\fontdimen2\font + .\kern.5\fontdimen2\font + \fi\fi +} + +\endinput + diff --git a/Master/texmf-dist/tex/generic/ofs/pantyk.tex b/Master/texmf-dist/tex/generic/ofs/pantyk.tex new file mode 100644 index 00000000000..b147801e338 --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/pantyk.tex @@ -0,0 +1,126 @@ +% The file pantyk.tex (C) Petr Olsak, May 2004 +% Polish Antykwa ... OFS declaration file + +% After "\input pantyk", you can use +% +% \showfonts ... to show the loaded fontfamilies on terminal +% \fontusage ... to show the usage of new TeX macros on terminal + +\ifx \ofsdeclarefamily\undefined \input ofs \fi +\protectreading pantyk.tex % This is part of OFS package + +\ofsputfamlist {^^Jpantyk.tex:} + +\ofsdeclarefamily [AntykwaTorunska] {% --------------- AntykwaTorunska + \loadtextfam (Regular) \nowackienc-anttr;% + (Bold) \nowackienc-anttb;% + (Italic) \nowackienc-anttri;% + (BoldItalic) \nowackienc-anttbi;8x;% + \newvariant0 \lr (Light) \nowackienc-anttl;8x;% + \newvariant1 \li (LightItalic) \nowackienc-anttli;8x;% + \newvariant2 \mr (Medium) \nowackienc-anttm;8x;% + \newvariant3 \mi (MediumItalic) \nowackienc-anttmi;8x;% + \modifyenc 8z:antt;% + \def\TeX{T\kern-.08em\lower.3333ex\hbox{E}\kern-0.09emX}% +} +\registerenc: 8t \registerenc: 8z \registerenc: 7k \registerenc: 6w +\registerenc: 8a + +\ofsdeclarefamily [AntykwaTorunskaCaps] {% ------- AntykwaTorunskaCaps + \loadtextfam (Regular) \nowackienc-anttrcap;% + (Bold) \nowackienc-anttbcap;% + (Italic) \nowackienc-anttricap;% + (BoldItalic) \nowackienc-anttbicap;8x;% + \newvariant0 \lr (Light) \nowackienc-anttlcap;8x;% + \newvariant1 \li (LightItalic) \nowackienc-anttlicap;8x;% + \newvariant2 \mr (Medium) \nowackienc-anttmcap;8x;% + \newvariant3 \mi (MediumItalic) \nowackienc-anttmicap;8x;% + \modifyenc 8z:antt;% + \def\TeX{T\kern-.08em\lower.3333ex\hbox{E}\kern-0.09emX}% +} +\registerenc: 8t \registerenc: 8z \registerenc: 7k \registerenc: 6w +\registerenc: 8a + +\ofsdeclarefamily [AntykwaTorunskaCond] {% ------- AntykwaTorunskaCond + \loadtextfam (Regular) \nowackienc-anttcr;% + (Bold) \nowackienc-anttcb;% + (Italic) \nowackienc-anttcri;% + (BoldItalic) \nowackienc-anttcbi;8x;% + \newvariant0 \lr (Light) \nowackienc-anttcl;8x;% + \newvariant1 \li (LightItalic) \nowackienc-anttcli;8x;% + \newvariant2 \mr (Medium) \nowackienc-anttcm;8x;% + \newvariant3 \mi (MediumItalic) \nowackienc-anttcmi;8x;% + \modifyenc 8z:antt;% + \def\TeX{T\kern-.08em\lower.3333ex\hbox{E}\kern-0.09emX}% +} +\registerenc: 8t \registerenc: 8z \registerenc: 7k \registerenc: 6w +\registerenc: 8a + +\ofsdeclarefamily [AntykwaTorunskaCondCaps] {% ---- AntykwaTorunskaCondCaps + \loadtextfam (Regular) \nowackienc-anttcrcap;% + (Bold) \nowackienc-anttcbcap;% + (Italic) \nowackienc-anttcricap;% + (BoldItalic) \nowackienc-anttcbicap;8x;% + \newvariant0 \lr (Light) \nowackienc-anttclcap;8x;% + \newvariant1 \li (LightItalic) \nowackienc-anttclicap;8x;% + \newvariant2 \mr (Medium) \nowackienc-anttcmcap;8x;% + \newvariant3 \mi (MediumItalic) \nowackienc-anttcmicap;8x;% + \modifyenc 8z:antt;% + \def\TeX{T\kern-.08em\lower.3333ex\hbox{E}\kern-0.09emX}% +} +\registerenc: 8t \registerenc: 8z \registerenc: 7k \registerenc: 6w +\registerenc: 8a + +% Janusz Nowacki use a non standard tfm names. We need +% to define a conversion table: + +\def\nowackienc{\csname nowacki:\fotenc\endcsname} +\expandafter \def \csname nowacki:8t\endcsname {cork} +\expandafter \def \csname nowacki:8z\endcsname {cs} +\expandafter \def \csname nowacki:6w\endcsname {1251} +\expandafter \def \csname nowacki:7k\endcsname {wncyr} +\expandafter \def \csname nowacki:8a\endcsname {texansi} +\expandafter \def \csname nowacki:8x\endcsname {exp} + +% The expert fonts are the same for Caps and Normal: + +\registertfm exp-anttrcap - exp-anttr +\registertfm exp-anttbcap - exp-anttb +\registertfm exp-anttricap - exp-anttri +\registertfm exp-anttbicap - exp-anttbi +\registertfm exp-anttlcap - exp-anttl +\registertfm exp-anttlicap - exp-anttli +\registertfm exp-anttmcap - exp-anttm +\registertfm exp-anttmicap - exp-anttmi + +\registertfm exp-anttcrcap - exp-anttcr +\registertfm exp-anttcbcap - exp-anttcb +\registertfm exp-anttcricap - exp-anttcri +\registertfm exp-anttcbicap - exp-anttcbi +\registertfm exp-anttclcap - exp-anttcl +\registertfm exp-anttclicap - exp-anttcli +\registertfm exp-anttcmcap - exp-anttcm +\registertfm exp-anttcmicap - exp-anttcmi + +\ofsdeclarefamily [AntykwaPoltawskiego] {% --------------- AntykwaPoltawskiego + \loadtextfam (Regular) \nowackienc-antpr;% + (Bold) \nowackienc-antpb;% + (Italic) \nowackienc-antpri;% + (BoldItalic) \nowackienc-antpbi;;% + \def\TeX{T\kern-.08em\lower.3333ex\hbox{E}\kern-0.09emX}% +} +\registerenc: 8t \registerenc: 8z + +\endinput + + + + + + + + + + + + diff --git a/Master/texmf-dist/tex/generic/ofs/txfn.tex b/Master/texmf-dist/tex/generic/ofs/txfn.tex new file mode 100644 index 00000000000..eb17ae6dd1e --- /dev/null +++ b/Master/texmf-dist/tex/generic/ofs/txfn.tex @@ -0,0 +1,262 @@ +% OFS: TX fonts, declaration +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Apr. 2004 Petr Olsak + +%% see end of this file for more informations + +\protectreading txfn.tex % This is part of OFS package + +\ofsputfamlist {^^Jtxfn.tex:} + +\ofsdeclarefamily [TXRoman] {% ---------- TX fonts: Times Roman + \loadtextfam (Upright) txr\fotenc;% + txb\fotenc;% + txi\fotenc;% + txbi\fotenc;8c;% + \newvariant6 \sl (Slanted) txsl\fotenc;8c;% + \newvariant7 \bsl (BoldSlanted) txbsl\fotenc;8c;% + \newvariant8 \csc (Cap+SmallCap) txsc\fotenc;8c;% + \newvariant9 \bcsc (BoldCap+SmallCap) txbsc\fotenc;8c;% + \def\TeX{T\kern-.1667em\lower.3333ex\hbox{E}\kern-.125emX}% +} +\registerenc: 8t + +\ofsdeclarefamily [TXSans] {% ---------- TX fonts: Helvetica + \loadtextfam (Upright) txss\fotenc;% + txbss\fotenc;% + (Slanted) txsssl\fotenc;% + (BoldSlanted) txbsssl\fotenc;8c;% + \newvariant8 \csc (Cap+SmallCap) txsssc\fotenc;8c;% + \newvariant9 \bcsc (BoldCap+SmallCap) txbsssc\fotenc;8c;% + \def\TeX{T\kern-.12em\lower.4ex\hbox{E}\kern-0.09emX}% +} +\registerenc: 8t + +\ofsdeclarefamily [TXTypewriter] {% ------ TX fonts: Typewriter + \loadtextfam (Upright) txtt\fotenc;% + txbtt\fotenc;% + (Slanted) txttsl\fotenc;% + (BoldSlanted) txbttsl\fotenc;8c;% + \newvariant8 \csc (Cap+SmallCap) txttsc\fotenc;8c;% + \newvariant9 \bcsc (BoldCap+SmallCap) txbttsc\fotenc;8c;% + \let\TeX=\origTeX +} +\registerenc: 8t + +\registertfm txr8t - t1xr % +\registertfm txb8t - t1xb % +\registertfm txi8t - t1xi % +\registertfm txbi8t - t1xbi % +\registertfm txsl8t - t1xsl % +\registertfm txbsl8t - t1xbsl % +\registertfm txsc8t - t1xsc % +\registertfm txbsc8t - t1xbsc % + +\registertfm txss8t - t1xss % +\registertfm txbss8t - t1xbss % +\registertfm txsssl8t - t1xsssl % +\registertfm txbsssl8t - t1xbsssl % +\registertfm txsssc8t - t1xsssc % +\registertfm txbsssc8t - t1xbsssc % + +\registertfm txtt8t - t1xtt % +\registertfm txbtt8t - t1xbtt % +\registertfm txttsl8t - t1xttsl % +\registertfm txbttsl8t - t1xbttsl % +\registertfm txttsc8t - t1xttsc % +\registertfm txbttsc8t - t1xbttsc % + +\registertfm txr8c - tcxr % +\registertfm txb8c - tcxb % +\registertfm txi8c - tcxi % +\registertfm txbi8c - tcxbi % +\registertfm txsl8c - tcxsl % +\registertfm txbsl8c - tcxbsl % +\registertfm txsc8c - tcxr % +\registertfm txbsc8c - tcxb % + +\registertfm txss8c - tcxss % +\registertfm txbss8c - tcxbss % +\registertfm txsssl8c - tcxsssl % +\registertfm txbsssl8c - tcxbsssl % +\registertfm txsssc8c - tcxss % +\registertfm txbsssc8c - tcxbss % + +\registertfm txtt8c - tcxtt % +\registertfm txbtt8c - tcxbtt % +\registertfm txttsl8c - tcxttsl % +\registertfm txbttsl8c - tcxbttsl % +\registertfm txttsc8c - tcxtt % +\registertfm txbttsc8c - tcxbtt % + +\def\loadTXnormalmath{% + \loadmathfam 0[/txr]% Roman font + \defaultskewchar=128 + \loadmathfam 1[/txmi]% Math Italic font + \defaultskewchar=48 + \loadmathfam 2[/txsy]% Standard symbols + \defaultskewchar=-1 + \noindexsize\loadmathfam 3[/txex]% Standard extra symbols + \chardef\itfam 4 + \loadmathfam \itfam [/txi]% Text Italic + \chardef\bffam 5 + \loadmathfam \bffam [/txb]% Bold font + \chardef\bifam 6 + \loadmathfam \bifam [/txbi]% Bold Italic + \chardef\msamfam 7 + \loadmathfam \msamfam [/txsya]% MSAM, symbols from ASMTeX + \chardef\msbmfam 8 + \loadmathfam \msbmfam [/txsyb]% MSBM, symbols from AMSTeX + \chardef\txsycfam 9 + \loadmathfam \txsycfam [/txsyc]% New symbols from TX fonts + \chardef\txmiafam 10 + \loadmathfam \txmiafam [/txmia]% Upright math italic + \chardef\txexafam 11 + \loadmathfam \txexafam [/txexa]% Extra extra symbols + \let\slfam\undefined \let\ttfam\undefined + \lastfam =11 % four families for user +} +\def\loadTXboldmath{% + \loadmathfam 0[/txb]% Roman font + \defaultskewchar=127 + \loadmathfam 1[/txbmi]% Math Italic font + \defaultskewchar=48 + \loadmathfam 2[/txbsy]% Standard symbols + \defaultskewchar=-1 + \noindexsize\loadmathfam 3[/txbex]% Standard extra symbols + \chardef\itfam 4 + \loadmathfam \itfam [/txbi]% Text Italic + \chardef\msamfam 7 + \loadmathfam \msamfam [/txbsya]% MSAM, symbols from ASMTeX + \chardef\msbmfam 8 + \loadmathfam \msbmfam [/txbsyb]% MSBM, symbols from AMSTeX + \chardef\txsycfam 9 + \loadmathfam \txsycfam [/txbsyc]% New symbols from TX fonts + \chardef\txmiafam 10 + \loadmathfam \txmiafam [/txbmia]% Upright math italic + \chardef\txexafam 11 + \loadmathfam \txexafam [/txbexa]% Extra extra symbols + \chardef\bffam=0 \let\bifam=\itfam + \let\slfam\undefined \let\ttfam\undefined + \lastfam =11 % needs to be the same as in normalmath +} +\def\loadPXnormalmath{% + \loadmathfam 0[-rm/]% Roman font + \loadmathfam 1[-it/]% Math Italic font + \defaultskewchar=48 + \loadmathfam 2[/txsy]% Standard symbols + \defaultskewchar=-1 + \noindexsize\loadmathfam 3[/txex]% Standard extra symbols + \chardef\mifam 4 + \loadmathfam \mifam [/txmi]% Math Italic (greek symbols) + \chardef\bffam 5 + \loadmathfam \bffam [-bf/]% Bold font + \chardef\bifam 6 + \loadmathfam \bifam [-bi/]% Bold Italic + \chardef\msamfam 7 + \loadmathfam \msamfam [/txsya]% MSAM, symbols from ASMTeX + \chardef\msbmfam 8 + \loadmathfam \msbmfam [/txsyb]% MSBM, symbols from AMSTeX + \chardef\txsycfam 9 + \loadmathfam \txsycfam [/txsyc]% New symbols from TX fonts + \chardef\txmiafam 10 + \loadmathfam \txmiafam [/txmia]% Upright math italic + \chardef\txexafam 11 + \loadmathfam \txexafam [/txexa]% Extra extra symbols + \chardef\rmsyfam 12 + \loadmathfam \rmsyfam [/txr]% TX Roman font (for uppercase greek) + \let\slfam\undefined \let\ttfam\undefined + \lastfam =12 % three families for user +} +\def\loadPXboldmath{% + \loadmathfam 0[-bf/]% Roman font + \loadmathfam 1[-bi/]% Math Italic font + \defaultskewchar=48 + \loadmathfam 2[/txbsy]% Standard symbols + \defaultskewchar=-1 + \noindexsize\loadmathfam 3[/txbex]% Standard extra symbols + \chardef\mifam 4 + \loadmathfam \mifam [/txbmi]% Math Italic (greek symbols) + \chardef\msamfam 7 + \loadmathfam \msamfam [/txbsya]% MSAM, symbols from ASMTeX + \chardef\msbmfam 8 + \loadmathfam \msbmfam [/txbsyb]% MSBM, symbols from AMSTeX + \chardef\txsycfam 9 + \loadmathfam \txsycfam [/txbsyc]% New symbols from TX fonts + \chardef\txmiafam 10 + \loadmathfam \txmiafam [/txbmia]% Upright math italic + \chardef\txexafam 11 + \loadmathfam \txexafam [/txbexa]% Extra extra symbols + \chardef\rmsyfam 12 + \loadmathfam \rmsyfam [/txb]% TX Roman font (for uppercase greek) + \chardef\bffam=0 \chardef\bifam=1 + \let\slfam\undefined \let\ttfam\undefined + \lastfam =12 % needs to be the same as in normalmath +} +\def\setTXmathchars{% + \mathencread ofs-ams;% + \mathencread ofs-tx;% +} +\def\setPXmathchars{% + \mathencread ofs-px;% + \mathencread ofs-ams;% + \mathencread ofs-tx;% + \addcmd \mathcharsback {\mathencread ofs-cm;}% +} +\endinput + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +After: + +\input txfn + +the new text families TXRoman, TXSans and TXTypewriter +are declared and new math encodings TX and PX are declared. + +TXRoman: the same as Times, but more variants \sl, \bsl, \csc and + \bcsc are defined and extension font is used from TXfonts + (all text-companion symbols are available). +TXSans: the same as Helvetica, but more variants \csc and \bcsc + are defined and extension font is used from TXfonts. +TXTypewriter: Special typewriter-like family from TXfonts. + +TX: TXfonts will be used in all families of math fonts. +PX: fam0 (roman) will be the same as current text roman variant, + fam1 (math-italic) will be the same as current text italic, + other math symbols will be used from TXfonts. + +Control sequences of all TX symbols (many hunderds) are available +in math mode after \setmath[//] if \def\fomenc{TX} or +\def\fomenc{PX} is used. See TX documentation for more information +about names of these sequences and symbols shapes. + +Not all possible math alphabets are allocated. For example, typewriter +and slanted variants are not allocated by default in order to keep the +space of math families. You can add math alphabets by hand: + +* Sans serif bold slanted variant for math (usable for vectors): + +\addcmd\mathfonts {\newmathfam\vecfam \loadmathfam\vecfam [/txbsssl]} +\addcmd\mathchars {\def\vec##1{{\fam\vecfam##1}}} + +* \sl variant for math (I don't know how it is usable): + +\addcmd\mathfonts {\def\tmpa{bold}% + \ifx\mathversion\tmpa \def\tmpa{b}\else\def\tmpa{}\fi + \newmathfam\slfam \loadmathfam\slfam [/tx\tmpa sl]} + +* \tt variant for math (I don't know how it is usable): + +\addcmd\mathfonts {\def\tmpa{bold}% + \ifx\mathversion\tmpa \def\tmpa{b}\else\def\tmpa{}\fi + \newmathfam\ttfam \loadmathfam\ttfam [/tx\tmpa tt]} + +See end of amsfn.tex file for more examples of math alphabets +(Euler Fraktur, Euler Script etc.). + + + + + + |