summaryrefslogtreecommitdiff
path: root/tex/context/base/typo-cap.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/typo-cap.mkiv')
-rw-r--r--tex/context/base/typo-cap.mkiv70
1 files changed, 36 insertions, 34 deletions
diff --git a/tex/context/base/typo-cap.mkiv b/tex/context/base/typo-cap.mkiv
index 2ed50ce20..713beaa31 100644
--- a/tex/context/base/typo-cap.mkiv
+++ b/tex/context/base/typo-cap.mkiv
@@ -49,22 +49,22 @@
% test \word{test TEST \TeX} test
% test \Word{test TEST \TeX} test
-\unexpanded\def\setcharactercasing[#1]%
- {\ctxlua{typesetters.cases.set(\number#1)}}
+\unexpanded\def\setcharactercasing[#1]% mayb eat some point we will introduce names alongside numbers
+ {\ctxcommand{setcharactercasing("#1")}}
% todo: names casings
-\unexpanded\def\WORD {\groupedcommand{\setcharactercasing[\plusone ]}{}}
-\unexpanded\def\word {\groupedcommand{\setcharactercasing[\plustwo ]}{}}
-\unexpanded\def\Word {\groupedcommand{\setcharactercasing[\plusthree]}{}}
-\unexpanded\def\Words{\groupedcommand{\setcharactercasing[\plusfour ]}{}}
+\unexpanded\def\WORD {\groupedcommand{\setcharactercasing[1]}{}}
+\unexpanded\def\word {\groupedcommand{\setcharactercasing[2]}{}}
+\unexpanded\def\Word {\groupedcommand{\setcharactercasing[3]}{}}
+\unexpanded\def\Words{\groupedcommand{\setcharactercasing[4]}{}}
-% this will become:
+% This might become:
%
-% \unexpanded\def\WORD {\bgroup\def\g_word{\setcharactercasing[\plusone ]}\afterassignment\g_word\let\nexttoken}
-% \unexpanded\def\word {\bgroup\def\g_word{\setcharactercasing[\plustwo ]}\afterassignment\g_word\let\nexttoken}
-% \unexpanded\def\Word {\bgroup\def\g_word{\setcharactercasing[\plusthree]}\afterassignment\g_word\let\nexttoken}
-% \unexpanded\def\Words{\bgroup\def\g_word{\setcharactercasing[\plusfour ]}\afterassignment\g_word\let\nexttoken}
+% \unexpanded\def\WORD {\bgroup\def\g_word{\setcharactercasing[1]}\afterassignment\g_word\let\nexttoken}
+% \unexpanded\def\word {\bgroup\def\g_word{\setcharactercasing[2]}\afterassignment\g_word\let\nexttoken}
+% \unexpanded\def\Word {\bgroup\def\g_word{\setcharactercasing[3]}\afterassignment\g_word\let\nexttoken}
+% \unexpanded\def\Words{\bgroup\def\g_word{\setcharactercasing[4]}\afterassignment\g_word\let\nexttoken}
%
% so no longer {\Word test} and { } mandate (also later \groupedcommands will go)
@@ -127,33 +127,33 @@
\let\disablepseudocaps\relax % maybe used elsewhere
-\newconditional\pseudocapsenabled
+\newconditional\c_typo_capitals_pseudo
-\def\usepseudocaps{\settrue \pseudocapsenabled}
-\def\userealcaps {\setfalse\pseudocapsenabled}
+\unexpanded\def\usepseudocaps{\settrue \c_typo_capitals_pseudo}
+\unexpanded\def\userealcaps {\setfalse\c_typo_capitals_pseudo}
\usepseudocaps
% we use char0 as placeholder for the larger font
-\unexpanded\def\pseudosmallcapped{\groupedcommand{\setcharactercasing[\plusone ]\signalcharacter\tx}{}} % all upper
-\unexpanded\def\pseudoSmallcapped{\groupedcommand{\setcharactercasing[\plusfive]\signalcharacter\tx}{}} % one upper + font
-\unexpanded\def\pseudoSmallCapped{\groupedcommand{\setcharactercasing[\plussix ]\signalcharacter\tx}{}} % some upper + font
+\unexpanded\def\pseudosmallcapped{\groupedcommand{\setcharactercasing[1]\signalcharacter\tx}{}} % all upper
+\unexpanded\def\pseudoSmallcapped{\groupedcommand{\setcharactercasing[5]\signalcharacter\tx}{}} % one upper + font
+\unexpanded\def\pseudoSmallCapped{\groupedcommand{\setcharactercasing[6]\signalcharacter\tx}{}} % some upper + font
-\unexpanded\def\realsmallcapped {\groupedcommand{\sc\setcharactercasing[\plusone ]}{}} % all lower
-\unexpanded\def\realSmallcapped {\groupedcommand{\sc\setcharactercasing[\plusthree]}{}} % one upper + font
-\unexpanded\def\realSmallCapped {\groupedcommand{\sc\setcharactercasing[\plusfour ]}{}} % some upper
+\unexpanded\def\realsmallcapped {\groupedcommand{\sc\setcharactercasing[1]}{}} % all lower
+\unexpanded\def\realSmallcapped {\groupedcommand{\sc\setcharactercasing[3]}{}} % one upper + font
+\unexpanded\def\realSmallCapped {\groupedcommand{\sc\setcharactercasing[4]}{}} % some upper
-\unexpanded\def\dohandlesmallcaps
- {\ifconditional\pseudocapsenabled
+\unexpanded\def\typo_capitals_smallcaps
+ {\ifconditional\c_typo_capitals_pseudo
\expandafter\firstoftwoarguments
\else
\expandafter\secondoftwoarguments
\fi}
-\unexpanded\def\smallcapped{\dohandlesmallcaps\pseudosmallcapped\realsmallcapped}
-\unexpanded\def\Smallcapped{\dohandlesmallcaps\pseudoSmallcapped\realSmallcapped}
-\unexpanded\def\SmallCapped{\dohandlesmallcaps\pseudoSmallCapped\realSmallCapped}
+\unexpanded\def\smallcapped{\typo_capitals_smallcaps\pseudosmallcapped\realsmallcapped}
+\unexpanded\def\Smallcapped{\typo_capitals_smallcaps\pseudoSmallcapped\realSmallcapped}
+\unexpanded\def\SmallCapped{\typo_capitals_smallcaps\pseudoSmallCapped\realSmallCapped}
\unexpanded\def\autocap{\ifmmode\expandafter\normalcap\else\expandafter\smallcapped\fi}
@@ -171,7 +171,7 @@
%D As suggested by WS:
-\unexpanded\def\notsmallcapped{\groupedcommand{\setcharactercasing[\plustwo]\signalcharacter}{}}
+\unexpanded\def\notsmallcapped{\groupedcommand{\setcharactercasing[2]\signalcharacter}{}}
%D \macros
%D {setupcapitals}
@@ -183,16 +183,18 @@
\let\normalsmallcapped\smallcapped
+\definesystemvariable{kk}
+
\unexpanded\def\setupcapitals
- {\dosingleempty\dosetupcapitals}
+ {\dosingleempty\typo_capitals_setup}
-\def\dosetupcapitals[#1]% todo: don't use grouping just a switch
+\def\typo_capitals_setup[#1]% todo: don't use grouping just a switch
{\getparameters[\??kk][#1]%
\doifelse\@@kktitle\v!yes
- {\definealternativestyle[\v!capital][\normalsmallcapped][\normalsmallcapped]%
- \definealternativestyle[\v!smallcaps][\sc][\sc]}
- {\definealternativestyle[\v!capital][\normalsmallcapped][\normalWORD]%
- \definealternativestyle[\v!smallcaps][\sc][\normalWORD]}%
+ {\definealternativestyle[\v!capital ][\normalsmallcapped][\normalsmallcapped]%
+ \definealternativestyle[\v!smallcaps][\sc ][\sc ]}
+ {\definealternativestyle[\v!capital ][\normalsmallcapped][\normalWORD ]%
+ \definealternativestyle[\v!smallcaps][\sc ][\normalWORD ]}%
\doifelse\@@kksc\v!yes\userealcaps\usepseudocaps}
\let\uppercased\normalWORD
@@ -200,7 +202,7 @@
\setupcapitals
[\c!title=\v!yes,
- sc=\v!no] % no \c!sc any longer
+ \s!sc=\v!no] % no \c!sc any longer
% \definestartstop is not yet in available at core-spa time
%
@@ -208,7 +210,7 @@
%
% \definestartstop[randomized][\c!before=\dosetattribute{case}{8},\c!after=]
-\def\randomizetext{\groupedcommand{\attribute\caseattribute\pluseight}{}}
+\unexpanded\def\randomizetext{\groupedcommand{\attribute\caseattribute\pluseight}{}}
\definestartstop[randomized][\c!before=\dosetattribute{case}{8},\c!after=]