summaryrefslogtreecommitdiff
path: root/tex/context/base/type-ini.tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/type-ini.tex')
-rw-r--r--tex/context/base/type-ini.tex135
1 files changed, 31 insertions, 104 deletions
diff --git a/tex/context/base/type-ini.tex b/tex/context/base/type-ini.tex
index 580dde7e4..342fe59b9 100644
--- a/tex/context/base/type-ini.tex
+++ b/tex/context/base/type-ini.tex
@@ -1,6 +1,3 @@
-% wat te doen met casual, evt `cs', danwel een manier om te
-% mappen (zie showcase)
-
%D \module
%D [ file=type-ini,
%D version=2001.03.05,
@@ -14,6 +11,9 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
+% wat te doen met casual, evt `cs', danwel een manier om te
+% mappen (zie showcase)
+
\writestatus{loading}{Context Typescript Macros (ini)}
\unprotect
@@ -43,8 +43,12 @@
\let\@@typescripttwo \empty \let\typescripttwo \empty
\let\@@typescriptthree\empty \let\typescriptthree\empty
-\unexpanded\def\usetypescript
- {\dotripleempty\dousetypescript}
+% method 2 is for Hans van der Meer
+
+\chardef\typescriptmethod\plusone % 1: empty==all==true 2: empty==false
+
+\unexpanded\def\usetypescript {\chardef\typescriptmethod\plusone\dotripleempty\dousetypescript}
+\unexpanded\def\usetypescriptexact{\chardef\typescriptmethod\plustwo\dotripleempty\dousetypescript}
\def\dousetypescript[#1][#2][#3]%
{\expanded{\dodousetypescript[#1][#2][#3]}}
@@ -56,12 +60,14 @@
\pushmacro\typescriptone
\pushmacro\typescripttwo
\pushmacro\typescriptthree
+ \pushmacro\typescriptmethod
\pushmacro\stoptypescript
\typescriptfoundfalse
\writestatus\m!fonts{[\@@typescriptone] [\@@typescripttwo] [\@@typescriptthree]}%
\processcommacommand[\typescriptfiles]\dododousetypescript
\firsttypescriptpassfalse % testen
\popmacro\stoptypescript
+ \popmacro\typescriptmethod
\popmacro\typescriptthree
\popmacro\typescripttwo
\popmacro\typescriptone
@@ -98,9 +104,7 @@
\def\truetypescript#1%
{\expandafter\ifx\csname\??tm#1\endcsname\relax
- #1%
- \else
- \@EA\truetypescript\csname\??tm#1\endcsname
+ #1\else\@EA\truetypescript\csname\??tm#1\endcsname
\fi}
\endTEX
@@ -109,9 +113,7 @@
\def\truetypescript#1%
{\ifcsname\??tm#1\endcsname
- \@EA\truetypescript\csname\??tm#1\endcsname
- \else
- #1%
+ \@EA\truetypescript\csname\??tm#1\endcsname\else#1%
\fi}
\endETEX
@@ -126,100 +128,25 @@
\prependtoks\firsttypescriptpasstrue\to\everyjob
-% \def\dochecktypescript#1#2#3% script use value
-% {\donefalse
-% \doifelsenothing{#1}\donetrue
-% {\doifelse{#2}{all}\donetrue
-% {\doifelse{#1}{all}\donetrue
-% {\fullexpandtwoargsafter\doifcommonelse{#1}{#2}\donetrue\donefalse
-% \ifdone\let#3\commalistelement\fi}}}}
-%
-% \def\starttypescript%
-% {\dotripleempty\dostarttypescript}
-%
-% \long\def\dostarttypescript[#1][#2][#3]#4\stoptypescript
-% {\iffirstargument
-% \let\typescriptone \@@typescriptone
-% \let\typescripttwo \@@typescripttwo
-% \let\typescriptthree\@@typescriptthree
-% \dochecktypescript{#1}\@@typescriptone \typescriptone \ifdone
-% \dochecktypescript{#2}\@@typescripttwo \typescripttwo \ifdone
-% \dochecktypescript{#3}\@@typescriptthree\typescriptthree \ifdone
-% %\writestatus
-% \debuggerinfo
-% {typescript}
-% {\currenttypefile: use=scr (val)
-% [\@@typescriptone =#1 (\typescriptone)]
-% [\@@typescripttwo =#2 (\typescripttwo)]
-% [\@@typescriptthree=#3 (\typescriptthree)]}%
-% #4\typescriptfoundtrue
-% \fi\fi\fi
-% \else\iffirsttypescriptpass
-% \pushmacro\fontclass
-% #4%
-% \popmacro\fontclass
-% \else
-% % skip this since it may do unwanted resets, like
-% % setting symbolic font names to unknown, especially
-% % in run time user type scripts
-% \fi\fi}
-
\def\typescript@@all{all}
\def\dochecktypescript#1#2#3% script use value
{\donefalse
\def\@@typescriptcheck{#1}%
\ifx\@@typescriptcheck\empty
- \donetrue
+ \ifcase\typescriptmethod\or\donetrue\else\donefalse\fi
\else\ifx#2\typescript@@all
\donetrue
\else\ifx\@@typescriptcheck\typescript@@all
\donetrue
- \else\fullexpandtwoargsafter\doifcommonelse{#1}{#2}\donetrue\donefalse\ifdone
+% \else\fullexpandtwoargsafter\doifcommonelse{#1}{#2}\donetrue\donefalse\ifdone % ==
+ \else\expanded{\doifcommonelse{#1}{#2}}\donetrue\donefalse\ifdone
\let#3\commalistelement
\fi\fi\fi\fi}
\def\starttypescript
{\dotripleempty\dostarttypescript}
-% \long\def\dostarttypescript[#1][#2][#3]% #4\stoptypescript
-% {\iffirstargument
-% \let\typescriptone \@@typescriptone
-% \let\typescripttwo \@@typescripttwo
-% \let\typescriptthree\@@typescriptthree
-% \dochecktypescript{#1}\@@typescriptone \typescriptone
-% \ifdone
-% \dochecktypescript{#2}\@@typescripttwo \typescripttwo
-% \ifdone
-% \dochecktypescript{#3}\@@typescriptthree\typescriptthree
-% \ifdone
-% %\debuggerinfo
-% % {typescript}
-% % {\currenttypefile: use=scr (val)
-% % [\@@typescriptone =#1 (\typescriptone)]
-% % [\@@typescripttwo =#2 (\typescripttwo)]
-% % [\@@typescriptthree=#3 (\typescriptthree)]}%
-% \typescriptfoundtrue
-% \let\next\dostarttypescriptA
-% \else
-% \let\next\dostarttypescriptC
-% \fi
-% \else
-% \let\next\dostarttypescriptC
-% \fi
-% \else
-% \let\next\dostarttypescriptC
-% \fi
-% \else\iffirsttypescriptpass
-% \let\next\dostarttypescriptB
-% \else
-% % skip this since it may do unwanted resets, like
-% % setting symbolic font names to unknown, especially
-% % in run time user type scripts
-% \let\next\dostarttypescriptC
-% \fi\fi
-% \next}
-
\newif\iftracetypescripts
\long\def\dostarttypescript[#1][#2][#3]% #4\stoptypescript
@@ -279,13 +206,13 @@
% 2 reported
% 3 preloaded
-% flags ipv \c!status, more flag values
+% flags ipv \c!state, more flag values
% \def\preloadmapfile[#1]%
% {\def\docommando##1%
% {\doifinstringelse{.}{##1}
% {\writestatus{pdftex}{compensate map file: ##1}%
-% \setxvalue{##1 \c!status}{3}%
+% \setxvalue{##1 \c!state}{3}%
% \doglobal\removefromcommalist{##1}\allfontmapsfiles}
% {\expanded{\docommando{##1.\f!fontmapextension}}}}%
% \expanded{\processcommalist[#1]}\docommando}
@@ -303,7 +230,7 @@
\def\dopreloadmapfile#1%
{\doifinstringelse{.}{#1}
{\writestatus\m!fonts{assuming map file: #1}%
- \setxvalue{#1 \c!status}{3}%
+ \setxvalue{#1 \c!state}{3}%
\doglobal\removefromcommalist{#1}\allfontmapsfiles}
{\expanded{\dopreloadmapfile{#1.\f!fontmapextension}}}}
@@ -343,16 +270,16 @@
\fi \fi
\def\doloadfontmapfile#1%
- {\ifundefined{#1 \c!status}%
+ {\ifundefined{#1 \c!state}%
\writestatus\m!fonts{using map file: #1}%
\doloadmapfile{+}{#1}%
- \setxvalue{#1 \c!status}{1}%
+ \setxvalue{#1 \c!state}{1}%
\fi}
\def\doreportfontmapfile#1%
- {\ifundefined{#1 \c!status}%
+ {\ifundefined{#1 \c!state}%
\writestatus\m!fonts{needs map file: #1}%
- \setxvalue{#1 \c!status}{2}%
+ \setxvalue{#1 \c!state}{2}%
\fi}
\def\loadallfontmapfiles
@@ -412,7 +339,7 @@
\def\typefaceencoding{\defaultencoding}
\def\dodefinetypeface[#1][#2][#3][#4][#5][#6]%
- {\dododefinetypeface[#1][#2]
+ {\dododefinetypeface[#1][#2]%
\iffifthargument % sixth is optional
% \getparameters[\??ts][rscale=1,\s!encoding=\defaultencoding,#6]
% we need to expand since in #6 there can be a \typescripttwo
@@ -426,17 +353,17 @@
\setcurrentfontclass{#1}
\saverelativefontsize{#2}{\relativefontsize}% fall back
%\writestatus{typeface}{[#1] [#2] [#3] [#4]}
- \writestatus\m!fonts{[#1] [#2] [#3] [#4]}
- \usetypescript[map][\typefaceencoding]
- \usetypescript[#3,map][#4][name,default,\typefaceencoding,special]
- \usetypescript[#3][#5][size]
+ \writestatus\m!fonts{[#1] [#2] [#3] [#4] / \typefaceencoding}%
+ \usetypescript[map][\typefaceencoding]% will become obsolete
+ \usetypescript[#3,map][#4][name,default,\typefaceencoding,special]%
+ \usetypescript[#3][#5][size]%
\popmacro\fontclass
\popmacro\typefaceencoding
\popmacro\relativefontsize
\else\iffourthargument
\definetypeface[#1][#2][#3][#4][\s!default]%
\else\ifthirdargument
- \getparameters[\??tf#1#2][#3]
+ \getparameters[\??tf#1#2][#3]%
\fi\fi\fi}
\def\dododefinetypeface[#1][#2]% saveguard against redefinition
@@ -467,7 +394,7 @@
\ifmmode\mr\else\tf\fi} % needed ?
\def\usetypefile[#1]% recurses on path !
- {\readfile{\f!typeprefix#1}{}{}}% \relax\relax}
+ {\readfile{\f!typeprefix#1}\donothing\donothing}
%D For backward compatibility we reimplement the font file
%D loading macro.
@@ -503,4 +430,4 @@
% \usetypescript [berry] [ec]
-\protect \endinput \ No newline at end of file
+\protect \endinput