summaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2005-12-18 00:00:00 +0100
committerHans Hagen <pragma@wxs.nl>2005-12-18 00:00:00 +0100
commit64393514fca3f8f070dcc0f95955d846780d82e0 (patch)
tree46bfe6ed3fc6fd7d9e5d2eff1ac25c0fd3cc175f /tex
parent6568d73d3c38e34f219c8ff57ca522bcac427ecf (diff)
downloadcontext-64393514fca3f8f070dcc0f95955d846780d82e0.tar.gz
stable 2005.12.18
Diffstat (limited to 'tex')
-rw-r--r--tex/context/base/cont-new.tex4
-rw-r--r--tex/context/base/context.tex2
-rw-r--r--tex/context/base/core-ntb.tex2
-rw-r--r--tex/context/base/core-reg.tex85
-rw-r--r--tex/context/base/core-rul.tex6
-rw-r--r--tex/context/base/core-spa.tex18
-rw-r--r--tex/context/base/enco-chi.tex124
-rw-r--r--tex/context/base/font-chi.tex107
-rw-r--r--tex/context/base/font-ini.tex7
-rw-r--r--tex/context/base/font-run.tex9
-rw-r--r--tex/context/base/font-uni.tex13
-rw-r--r--tex/context/base/lang-chi.tex47
-rw-r--r--tex/context/base/lang-ger.tex18
-rw-r--r--tex/context/base/lang-sla.tex57
-rw-r--r--tex/context/base/meta-ini.tex5
-rw-r--r--tex/context/base/mult-com.tex9
-rw-r--r--tex/context/base/mult-con.tex6
-rw-r--r--tex/context/base/page-flt.tex4
-rw-r--r--tex/context/base/regi-uni.tex12
-rw-r--r--tex/context/base/s-chi-00.tex25
-rw-r--r--tex/context/base/supp-fil.tex2
-rw-r--r--tex/context/base/supp-fun.tex5
-rw-r--r--tex/context/base/supp-mps.tex2
-rw-r--r--tex/context/base/syst-new.tex19
-rw-r--r--tex/context/base/type-buy.tex1
-rw-r--r--tex/context/base/type-exa.tex47
-rw-r--r--tex/context/base/type-ghz.tex288
-rw-r--r--tex/context/base/unic-chi.tex26
-rw-r--r--tex/context/base/unic-ini.tex40
-rw-r--r--tex/context/interface/keys-cz.xml5
-rw-r--r--tex/context/interface/keys-de.xml5
-rw-r--r--tex/context/interface/keys-en.xml5
-rw-r--r--tex/context/interface/keys-it.xml5
-rw-r--r--tex/context/interface/keys-nl.xml5
-rw-r--r--tex/context/interface/keys-ro.xml5
35 files changed, 798 insertions, 222 deletions
diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex
index 8a33961ec..f973cd364 100644
--- a/tex/context/base/cont-new.tex
+++ b/tex/context/base/cont-new.tex
@@ -24,6 +24,10 @@
\writestatus{\m!systems}{beware: some patches loaded from cont-new.tex}
+% just in case we load something from a file (pdfr-ec for instance)
+
+\prependtoks \restoreendofline \to \everybeforeshipout
+
% \tracefilestrue
%
% \unexpanded\def\readfile#1#2#3%
diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex
index d82338fbe..4e468a414 100644
--- a/tex/context/base/context.tex
+++ b/tex/context/base/context.tex
@@ -31,7 +31,7 @@
%D 2004.8.30 the low level interface is english. Watch out and adapt
%D your styles an modules.
-\def\contextversion{2005.12.01}
+\def\contextversion{2005.12.18}
%D For those who want to use this:
diff --git a/tex/context/base/core-ntb.tex b/tex/context/base/core-ntb.tex
index 61bd6e342..ff0252069 100644
--- a/tex/context/base/core-ntb.tex
+++ b/tex/context/base/core-ntb.tex
@@ -1105,7 +1105,7 @@
\afterTABLEsplitbox
\@@tblsplitafter
\fi
- \pagina
+ \page
\fi}}
% ! ! ! ! TODO: naast \postprocessTABLEsplitbox ook evt \postprocessTABLEbox voor niet split
diff --git a/tex/context/base/core-reg.tex b/tex/context/base/core-reg.tex
index 0b70df889..8db6dbc7c 100644
--- a/tex/context/base/core-reg.tex
+++ b/tex/context/base/core-reg.tex
@@ -123,8 +123,13 @@
% \ifvmode\nobreak\fi
% \GotoPar}
+\long\def\doflushatpar#1%
+% {\dogotopar{#1}}
+% {\dogotopar{\dontleavehmode#1}} % this one can introduce empty lines
+ {\dogotopar{#1\ifvmode\nobreak\fi}} % while this one can mess up vertical space
+
\def\dodoregister[#1]#2#3%
- {\dogotopar{\doprocesspageregister[#1]{#2}{#3}}}
+ {\doflushatpar{\doprocesspageregister[#1]{#2}{#3}}}
\def\writetoregister[#1]% to be documented
{\doregister{#1}}
@@ -163,17 +168,42 @@
\def\currentregister{#1}%
\dodoregister[#2]{}{#3}} % key altnum entry
-\def\complexdoseeregister[#1]#2#3%
+% \def\complexdoseeregister[#1]#2#3%
+% {\begingroup
+% \thisisnextinternal\s!ind
+% \ifduplicate\getlastregisterentry{#2}\fi
+% \convertexpanded{\registerparameter\c!keyexpansion}{#1}\asciiregisterentryA
+% \convertexpanded{\registerparameter\c!expansion }{#2}\asciiregisterentryB
+% \convertexpanded{\registerparameter\c!expansion }{#3}\asciiregisterentryC
+% \doifsomething{\registerparameter\c!keyexpansion}
+% {\ifx\asciiregisterentryA\empty
+% \convertexpanded{\registerparameter\c!keyexpansion}{#2}\asciiregisterentryA
+% \fi}%
+% \makesectionformat
+% \expanded
+% {\writeutility%
+% {r s %
+% {\currentregister} %
+% {\nextinternalreference} %
+% {\asciiregisterentryA} %
+% {\asciiregisterentryB} %
+% {\asciiregisterentryC} %
+% {\sectionformat}}}%
+% \endgroup
+% \registerinfo{> see}{#2}%
+% \GotoPar}
+
+\def\doprocessseeregister[#1]#2#3%
{\begingroup
\thisisnextinternal\s!ind
\ifduplicate\getlastregisterentry{#2}\fi
\convertexpanded{\registerparameter\c!keyexpansion}{#1}\asciiregisterentryA
\convertexpanded{\registerparameter\c!expansion }{#2}\asciiregisterentryB
\convertexpanded{\registerparameter\c!expansion }{#3}\asciiregisterentryC
-\doifsomething{\registerparameter\c!keyexpansion}
- {\ifx\asciiregisterentryA\empty
- \convertexpanded{\registerparameter\c!keyexpansion}{#2}\asciiregisterentryA
- \fi}%
+ \doifsomething{\registerparameter\c!keyexpansion}
+ {\ifx\asciiregisterentryA\empty
+ \convertexpanded{\registerparameter\c!keyexpansion}{#2}\asciiregisterentryA
+ \fi}%
\makesectionformat
\expanded
{\writeutility%
@@ -185,16 +215,18 @@
{\asciiregisterentryC} %
{\sectionformat}}}%
\endgroup
- \registerinfo{> see}{#2}%
- \GotoPar}
+ \registerinfo{> see}{#2}}
+
+\def\complexdoseeregister[#1]#2#3%
+ {\doflushatpar{\doprocessseeregister[#1]{#2}{#3}}}
\def\doseeregister#1%
{\def\currentregister{#1}%
- \complexorsimpleempty\doseeregister}
+ \complexorsimpleempty\doseeregister} % = \dosingleempty\doseeregister
-\def\dowritetoregister[#1]% % de twee-traps-aanroep is nodig
- {\edef\currentregister{#1}% % om gebruik van \ExpandBothAfter
- \doprocesspageregister{}} % mogelijk te maken
+\def\dowritetoregister[#1]% % de twee-traps-aanroep is nodig
+ {\edef\currentregister{#1}% % om gebruik van \ExpandBothAfter
+ \doprocesspageregister} % mogelijk te maken
\def\writetoregister
{\dodoubleempty\dowritetoregister}
@@ -742,11 +774,29 @@
\docommandoprolinrefB{#1}\nextlistreference\v!next
\fi}}
-\def\dodolinkedregister[#1][#2]#3% page auto link
+% \def\dodolinkedregister[#1][#2]#3% page auto link
+% {\bgroup
+% \chardef\registerpagestatus\plusone
+% \def\currentregister{#1}%
+% \iflocation
+% \ifautoregisterhack
+% \def\next{\doprocessautoregister[#1][#2]}%
+% \else
+% \def\next{\doprocesslinkregister[#1][#2]}%
+% \fi
+% \else
+% \def\next{\doprocesspageregister[#2]{}}%
+% \fi
+% \next{#3}%
+% \egroup
+% \ifvmode\nobreak\fi
+% \GotoPar}
+
+\def\doprocesslinkedregister[#1][#2]#3% page auto link
{\bgroup
\chardef\registerpagestatus\plusone
\def\currentregister{#1}%
- \iflocation
+ \iflocation % \next is not needed
\ifautoregisterhack
\def\next{\doprocessautoregister[#1][#2]}%
\else
@@ -756,9 +806,10 @@
\def\next{\doprocesspageregister[#2]{}}%
\fi
\next{#3}%
- \egroup
- \ifvmode\nobreak\fi
- \GotoPar}
+ \egroup}
+
+\def\dodolinkedregister[#1][#2]#3% page auto link
+ {\doflushatpar{\doprocesslinkedregister[#1][#2]{#3}}}
\def\dolinkedregister#1%
{\dodoubleempty\dodolinkedregister[#1]}
diff --git a/tex/context/base/core-rul.tex b/tex/context/base/core-rul.tex
index 1825797c4..13be56e4d 100644
--- a/tex/context/base/core-rul.tex
+++ b/tex/context/base/core-rul.tex
@@ -3149,13 +3149,13 @@
\loop
\ifdim\pagetotal=\zeropoint % empty page
\scratchdimen\textheight
- \chardef\backgroundsplit1 % split to max height
+ \chardef\backgroundsplit\plusone % split to max height
\else
\scratchdimen\pagegoal
\setbox\scratchbox\vbox{\@@agbefore}%
\advance\scratchdimen -\ht\scratchbox
\advance\scratchdimen -\pagetotal
- \chardef\backgroundsplit2 % split to partial height
+ \chardef\backgroundsplit\plustwo % split to partial height
\fi
\advance\scratchdimen -\@@agtopoffset
\advance\scratchdimen -\@@agbottomoffset \relax
@@ -3164,7 +3164,7 @@
\setbox2\vsplit0 to \scratchdimen
\else
\setbox2\box0
- \chardef\backgroundsplit0 % no split
+ \chardef\backgroundsplit\zerocount % no split
\fi
\setbox2\vbox \ifcase\backgroundsplit\or to \textheight \fi % max split
{\vskip\@@agtopoffset
diff --git a/tex/context/base/core-spa.tex b/tex/context/base/core-spa.tex
index f6181648e..369061027 100644
--- a/tex/context/base/core-spa.tex
+++ b/tex/context/base/core-spa.tex
@@ -1574,7 +1574,7 @@
\def\godown[#1]%
{\relax
\ifhmode\endgraf\fi
- \ifvmode\nointerlineskip\vskip#1\relax}
+ \ifvmode\nointerlineskip\vskip#1\relax\fi}
%D A couple of plain macros:
@@ -4439,6 +4439,22 @@
\doglobal\appendtoks#2\to\everyfirstparagraphintro
\doglobal\appendtoks#2\to\everynextparagraphintro]}
+%D We can say:
+%D
+%D \starttyping
+%D \setupparagraphintro[first][\index{Knuth}]
+%D \stoptyping
+%D
+%D Maybe more convenient is:
+%D
+%D \starttyping
+%D \flushatparagraph{\index{Zapf}}
+%D \stoptyping
+
+\def\flushatparagraph#1%
+ {\global\chardef\everyparagraphintro\plusone
+ \global\appendtoks{#1}\to\everyfirstparagraphintro}
+
% \def\doinsertparagraphintro
% {\ifcase\everyparagraphintro\relax
% % no data
diff --git a/tex/context/base/enco-chi.tex b/tex/context/base/enco-chi.tex
index 5addd57e9..1aaf5b235 100644
--- a/tex/context/base/enco-chi.tex
+++ b/tex/context/base/enco-chi.tex
@@ -13,13 +13,123 @@
% actually this is also a filter -> enco-fcn.tex
-%D This is an experimental definition. Since we are dealing
-%D with unicode's, the registered values are not saved, so
-%D actually we're dealing with an pseudo encoding. The digits
-%D on the other hand are encoding specific.
+%D This is an experimental definition. Since we are dealing
+%D with unicode's, the registered values are not saved, so
+%D actually we're dealing with an pseudo encoding. The digits
+%D on the other hand are encoding specific.
% chinese classes: left=1|right=2|center=3
-
+
+% untested, probably wrong
+
+\startencoding[c-uni]
+
+\defineuclass 1 32 24
+\defineuclass 1 32 28
+\defineuclass 1 48 20
+\defineuclass 1 48 8
+\defineuclass 1 48 10
+\defineuclass 1 48 12
+\defineuclass 1 48 14
+\defineuclass 1 48 22
+\defineuclass 1 48 16
+\defineuclass 1 255 8
+\defineuclass 1 255 59
+\defineuclass 1 255 64
+\defineuclass 1 255 91
+
+\defineuclass 3 0 183
+\defineuclass 3 0 168
+\defineuclass 3 32 38
+\defineuclass 3 255 30
+
+\defineuclass 2 48 1
+\defineuclass 2 48 2
+\defineuclass 2 32 20
+\defineuclass 2 255 94
+\defineuclass 2 32 25
+\defineuclass 2 32 29
+\defineuclass 2 48 21
+\defineuclass 2 48 9
+\defineuclass 2 48 11
+\defineuclass 2 48 13
+\defineuclass 2 48 15
+\defineuclass 2 48 23
+\defineuclass 2 48 17
+\defineuclass 2 34 55
+\defineuclass 2 0 176
+\defineuclass 2 32 50
+\defineuclass 2 32 51
+\defineuclass 2 255 1
+\defineuclass 2 255 2
+\defineuclass 2 255 7
+\defineuclass 2 255 9
+\defineuclass 2 255 12
+\defineuclass 2 255 14
+\defineuclass 2 255 26
+\defineuclass 2 255 27
+\defineuclass 2 255 31
+\defineuclass 2 255 61
+\defineuclass 2 255 93
+
+\defineudigit 0 37 203
+\defineudigit 1 78 0
+\defineudigit 2 78 140
+\defineudigit 3 78 9
+\defineudigit 4 86 219
+\defineudigit 5 78 148
+\defineudigit 6 81 109
+\defineudigit 7 78 3
+\defineudigit 8 81 107
+\defineudigit 9 78 93
+\defineudigit 10 83 65
+\defineudigit 100 118 126
+\defineudigit 1000 83 67
+\defineudigit 10000 78 7
+\defineudigit 100000000 78 191
+
+\defineudigit 0* 150 246
+\defineudigit 1* 88 249
+\defineudigit 2* 141 48
+\defineudigit 3* 83 193
+\defineudigit 4* 128 134
+\defineudigit 5* 79 13
+\defineudigit 6* 150 70
+\defineudigit 7* 103 210
+\defineudigit 8* 99 76
+\defineudigit 9* 115 150
+\defineudigit 10* 98 254
+\defineudigit 100* 79 112
+\defineudigit 1000* 78 223
+\defineudigit 10000* 132 44
+\defineudigit 100000000* 78 191
+
+\defineudigit 20 94 255
+\defineudigit 21 78 0
+\defineudigit 22 78 140
+\defineudigit 23 78 9
+\defineudigit 24 86 219
+\defineudigit 25 78 148
+\defineudigit 26 81 109
+\defineudigit 27 78 3
+\defineudigit 28 81 107
+\defineudigit 29 78 93
+
+\defineudigit 30 83 69
+\defineudigit 31 78 0
+\defineudigit 32 78 140
+\defineudigit 33 78 9
+\defineudigit 34 86 219
+\defineudigit 35 78 148
+\defineudigit 36 81 109
+\defineudigit 37 78 3
+\defineudigit 38 81 107
+\defineudigit 39 78 93
+
+\stopencoding
+
+% \doif \currentregime {utf} \endinput
+
\startencoding[big5]
\defineuclass 1 161 93
@@ -138,7 +248,7 @@
\defineudigit 27 164 67
\defineudigit 28 164 75
\defineudigit 29 164 69
-
+
\defineudigit 30 164 202
\defineudigit 31 164 64
\defineudigit 32 164 71
@@ -258,4 +368,4 @@
\stopencoding
-\endinput
+\endinput
diff --git a/tex/context/base/font-chi.tex b/tex/context/base/font-chi.tex
index 7a602d4ab..dd5c4211a 100644
--- a/tex/context/base/font-chi.tex
+++ b/tex/context/base/font-chi.tex
@@ -36,7 +36,6 @@
%M \def\WangLei{\purechinese{\uchar{205}{245}\uchar{192}{218}}}
\useencoding[chi]
-\loadmapfile[gbk]
%D When \WangLei\ sent me a mail asking if \CONTEXT\ was able
%D to support Chinese, I wasn't sure if the answer could be
@@ -154,66 +153,6 @@
\horizontalchineseunicodeglyph
\fi\fi}
-% This is a previous, very encoding specific, attempt. The
-% current implementation is more versatile.
-%
-% \starttypen
-% \def\chineseleftglyph {\chardef\chineseSstatus=1 }
-% \def\chineserightglyph {\chardef\chineseSstatus=2 }
-% \def\chinesecenterglyph {\chardef\chineseSstatus=3 }
-%
-% \def\analyzechineseunicodeglyph%
-% {% left
-% \ifnum\unicodeposition=161174 \chineseleftglyph \else
-% \ifnum\unicodeposition=161176 \chineseleftglyph \else
-% \ifnum\unicodeposition=161178 \chineseleftglyph \else
-% \ifnum\unicodeposition=161180 \chineseleftglyph \else
-% \ifnum\unicodeposition=161182 \chineseleftglyph \else
-% \ifnum\unicodeposition=161184 \chineseleftglyph \else
-% \ifnum\unicodeposition=161186 \chineseleftglyph \else
-% \ifnum\unicodeposition=161188 \chineseleftglyph \else
-% \ifnum\unicodeposition=161190 \chineseleftglyph \else
-% \ifnum\unicodeposition=163168 \chineseleftglyph \else
-% \ifnum\unicodeposition=163219 \chineseleftglyph \else
-% \ifnum\unicodeposition=163224 \chineseleftglyph \else
-% \ifnum\unicodeposition=163251 \chineseleftglyph \else
-% % right
-% \ifnum\unicodeposition=161162 \chineserightglyph \else
-% \ifnum\unicodeposition=161163 \chineserightglyph \else
-% \ifnum\unicodeposition=161175 \chineserightglyph \else
-% \ifnum\unicodeposition=161177 \chineserightglyph \else
-% \ifnum\unicodeposition=161179 \chineserightglyph \else
-% \ifnum\unicodeposition=161181 \chineserightglyph \else
-% \ifnum\unicodeposition=161183 \chineserightglyph \else
-% \ifnum\unicodeposition=161185 \chineserightglyph \else
-% \ifnum\unicodeposition=161187 \chineserightglyph \else
-% \ifnum\unicodeposition=161189 \chineserightglyph \else
-% \ifnum\unicodeposition=161191 \chineserightglyph \else
-% \ifnum\unicodeposition=161227 \chineserightglyph \else
-% \ifnum\unicodeposition=161228 \chineserightglyph \else
-% \ifnum\unicodeposition=161229 \chineserightglyph \else
-% \ifnum\unicodeposition=163161 \chineserightglyph \else
-% \ifnum\unicodeposition=163162 \chineserightglyph \else
-% \ifnum\unicodeposition=163167 \chineserightglyph \else
-% \ifnum\unicodeposition=163169 \chineserightglyph \else
-% \ifnum\unicodeposition=163172 \chineserightglyph \else
-% \ifnum\unicodeposition=163174 \chineserightglyph \else
-% \ifnum\unicodeposition=163186 \chineserightglyph \else
-% \ifnum\unicodeposition=163187 \chineserightglyph \else
-% \ifnum\unicodeposition=163191 \chineserightglyph \else
-% \ifnum\unicodeposition=163221 \chineserightglyph \else
-% \ifnum\unicodeposition=163253 \chineserightglyph \else
-% % center
-% \ifnum\unicodeposition=161164 \chinesecenterglyph \else
-% \ifnum\unicodeposition=161167 \chinesecenterglyph \else
-% \ifnum\unicodeposition=161173 \chinesecenterglyph \else
-% \ifnum\unicodeposition=163190 \chinesecenterglyph \else
-% % unknown
-% \chardef\chineseSstatus=0
-% \fi\fi\fi\fi\fi \fi\fi\fi\fi\fi \fi\fi\fi\fi\fi \fi\fi\fi\fi\fi \fi
-% \fi\fi\fi\fi\fi \fi\fi\fi\fi\fi \fi\fi\fi\fi\fi \fi\fi\fi\fi\fi \fi}
-% \stoptypen
-%
% chinese classes: left=1|right=2|center=3
\chardef\plusfour=4
@@ -918,12 +857,12 @@
%D \defineunicodefont
%D [SimChi]
%D [SimplifiedChinese]
-%D [ \c!scale=\chineseunicodescale,
-%D \c!height=\chineseunicodeheight,
-%D \c!depth=\chineseunicodedepth,
+%D [\c!scale=\chineseunicodescale,
+%D \c!height=\chineseunicodeheight,
+%D \c!depth=\chineseunicodedepth,
%D \c!conversion=\chinesenumber,
%D \c!commands=\setchineseencoding, % needed for digits
-%D \c!command=\handlechineseunicodeglyph]
+%D \c!command=\handlechineseunicodeglyph]
%D \stoptyping
%D
%D However, the former definitions is more general. Next we
@@ -943,6 +882,44 @@
\definefontsynonym [TraditionalChineseBoldSlanted] [b5heisl] [encoding=big5]
\definefontsynonym [TraditionalChineseBoldItalic] [b5heisl] [encoding=big5]
+% we need to move this to typescripts
+
+\doifelse \currentregime {utf} {
+
+ \useunicodevector[chi]
+
+ \definefontsynonym [SimplifiedChineseRegular] [ChineseRegular]
+ \definefontsynonym [SimplifiedChineseSlanted] [ChineseSlanted]
+ \definefontsynonym [SimplifiedChineseItalic] [ChineseItalic]
+ \definefontsynonym [SimplifiedChineseBold] [ChineseBold]
+ \definefontsynonym [SimplifiedChineseBoldSlanted] [ChineseBoldSlanted]
+ \definefontsynonym [SimplifiedChineseBoldItalic] [ChineseBoldItalic]
+
+ \definefontsynonym [TraditionalChineseRegular] [ChineseRegular]
+ \definefontsynonym [TraditionalChineseSlanted] [ChineseSlanted]
+ \definefontsynonym [TraditionalChineseItalic] [ChineseItalic]
+ \definefontsynonym [TraditionalChineseBold] [ChineseBold]
+ \definefontsynonym [TraditionalChineseBoldSlanted][ChineseBoldSlanted]
+ \definefontsynonym [TraditionalChineseBoldItalic] [ChineseBoldItalic]
+
+ \definefontsynonym [ChineseRegular] [uni-htsong-][encoding=c-uni]
+ \definefontsynonym [ChineseSlanted] [uni-htsong-][encoding=c-uni]
+ \definefontsynonym [ChineseItalic] [uni-htsong-][encoding=c-uni]
+ \definefontsynonym [ChineseBold] [uni-hthei-] [encoding=c-uni]
+ \definefontsynonym [ChineseBoldSlanted][uni-hthei-] [encoding=c-uni]
+ \definefontsynonym [ChineseBoldItalic] [uni-hthei-] [encoding=c-uni]
+
+ \loadmapfile[uni-htsong.map]
+ \loadmapfile[uni-htfs.map]
+ \loadmapfile[uni-hthei.map]
+ \loadmapfile[uni-htkai.map]
+
+} {
+
+ \loadmapfile[gbk]
+
+}
+
\defineunicodefont [SimChi] [SimplifiedChinese] [chinese]
\defineunicodefont [TraChi] [TraditionalChinese] [chinese]
diff --git a/tex/context/base/font-ini.tex b/tex/context/base/font-ini.tex
index ae27c1b6f..873d51716 100644
--- a/tex/context/base/font-ini.tex
+++ b/tex/context/base/font-ini.tex
@@ -4710,15 +4710,16 @@
\scaledfont\currentfontscale\bodyfontsize
\scaledfont\relativefontsize\scaledfont}
-\def\variant[#1]% slow
+\unexpanded\def\variant[#1]% slow
{\dosetscaledfont
\expanded{\definedfont
[\truefontname{\fontstringA\fontstylesuffix\fontvariant\fontstringA{#1}}
- at \scaledfont]}}
+ at \scaledfont]}%
+ \ignoreimplicitspaces}
\beginXETEX \font
- \def\variant[#1]%
+ \unexpanded\def\variant[#1]%
{\dosetscaledfont
\font\variantfont\truefontname{\fontstringA\fontstylesuffix\fontvariant\fontstringA{#1}}
at \scaledfont
diff --git a/tex/context/base/font-run.tex b/tex/context/base/font-run.tex
index f6221745e..d657aa402 100644
--- a/tex/context/base/font-run.tex
+++ b/tex/context/base/font-run.tex
@@ -17,6 +17,9 @@
\unprotect
+\gdef\@@onlyenglish#1%
+ {\blank{\tttf \type {#1} is only available in the english interface}\blank}
+
\gdef\dosetshowfonttitle#1%
{\tabskip\zeropoint
\parindent\zeropoint
@@ -227,7 +230,7 @@
\gdef\showligatures[#1]%
{\ifx\starttabulate\undefined
- \blank{\tttf \type {\showligatures} is only available in thr english interface}\blank
+ \@@onlyenglish\showligatures
\else
\bgroup
\setupcolors[\c!state=\v!local]%
@@ -247,7 +250,7 @@
\gdef\doshowfontstrip[#1]%
{\ifx\starttabulate\undefined
- \blank{\tttf \type {\showfontstrip} is only available in thr english interface}\blank
+ \@@onlyenglish\showfontstrip
\else
\bgroup
\def\dofontstripa##1##2%
@@ -303,7 +306,7 @@
\gdef\showminimalbaseline
{\ifx\starttabulate\undefined
- \blank{\tttf \type {\showminimalbaseline} is only available in thr english interface}\blank
+ \@@onlyenglish\showminimalbaseline
\else
\starttabulate[||T|T|T|T|T|T|T|T|T|]
\testminimalbaseline{\hbox to 1em{\hss\showstruts\strut\hss}}%
diff --git a/tex/context/base/font-uni.tex b/tex/context/base/font-uni.tex
index 09fcf22ea..942c61ae4 100644
--- a/tex/context/base/font-uni.tex
+++ b/tex/context/base/font-uni.tex
@@ -421,12 +421,12 @@
%D \starttyping
%D \defineunicodefont
%D [SimChi] [SimplifiedChinese]
-%D [ \c!scale=0.85,
-%D \c!height=1.25,
-%D \c!depth=1.00,
-%D \c!interlinespaceinterlinie=yes,
+%D [\c!scale=0.85,
+%D \c!height=1.25,
+%D \c!depth=1.00,
+%D \c!interlinespaceinterlinie=yes,
%D \c!conversion=\chinesenumber,
-%D \c!command=\handlechineseunicodeglyph]
+%D \c!command=\handlechineseunicodeglyph]
%D \stoptyping
%D
%D Together with:
@@ -502,7 +502,8 @@
\def\unicodedepth {\getvalue{\??uc#1\c!depth}}%
\def\unicodedigits {\getvalue{\??uc#1\c!conversion}}%
\def\handleunicodeglyph {\getvalue{\??uc#1\c!command}}%
- \enableregime[unicode]% the following \relax's are realy needed
+ \doifnot\currentregime{utf}{\enableregime[unicode]}%
+ % the following \relax's are realy needed
\doifvalue{\??uc#1\c!interlinespace}\v!yes\setupinterlinespace\relax
\getvalue{\??uc#1\c!commands}\relax}
diff --git a/tex/context/base/lang-chi.tex b/tex/context/base/lang-chi.tex
index b6c3ba20a..a9c36e80a 100644
--- a/tex/context/base/lang-chi.tex
+++ b/tex/context/base/lang-chi.tex
@@ -95,6 +95,53 @@
\def\cnencoding{\enableencoding[\chineseencoding]} % ugly and temporary
+\startencoding[uni-c]
+ \definecommand cnleftsentence {\uchar{32}{20}\uchar{32}{20}}
+ \definecommand cnrightsentence {\uchar{32}{20}\uchar{32}{20}}
+ \definecommand cnleftsubsentence {\uchar{32}{20}\uchar{32}{20}}
+ \definecommand cnrightsubsentence {\uchar{32}{20}\uchar{32}{20}}
+ \definecommand cnupperleftsinglequote {\uchar{32}{24}}
+ \definecommand cnupperrightsinglequote {\uchar{32}{25}}
+ \definecommand cnupperleftdoublequote {\uchar{32}{28}}
+ \definecommand cnupperrightdoublequote {\uchar{32}{29}}
+ \definecommand cnupperleftsinglequote-v {\uchar{48}{12}}
+ \definecommand cnupperrightsinglequote-v {\uchar{48}{13}}
+ \definecommand cnupperleftdoublequote-v {\uchar{48}{14}}
+ \definecommand cnupperrightdoublequote-v {\uchar{48}{15}}
+ \definecommand cnencodedcontents {\uchar{118}{238}\uchar{95}{85}}
+ \definecommand cnencodedtables {\uchar{136}{104}\uchar{104}{60}}
+ \definecommand cnencodedfigures {\uchar{86}{254}\uchar{95}{98}}
+ \definecommand cnencodedindex {\uchar{125}{34}\uchar{95}{21}}
+ \definecommand cnencodedabbreviations {\uchar{127}{41}\uchar{117}{101}\uchar{139}{237}}
+ \definecommand cnencodedlogos {\uchar{95}{189}\uchar{141}{44}}
+ \definecommand cnencodedunits {\uchar{139}{161}\uchar{145}{207}\uchar{83}{85}\uchar{79}{77}}
+ \definecommand cnencodedtable {\uchar{136}{104}}
+ \definecommand cnencodedfigure {\uchar{86}{254}}
+ \definecommand cnencodedintro {\uchar{123}{44}}
+ \definecommand cnencodedpart {\uchar{144}{232}\uchar{82}{6}}
+ \definecommand cnencodedchapter {\uchar{122}{224}}
+ \definecommand cnencodedsection {\uchar{130}{130}}
+ \definecommand cnencodedjanuary {\uchar{78}{0}\uchar{103}{8}}
+ \definecommand cnencodedfebrary {\uchar{78}{140}\uchar{103}{8}}
+ \definecommand cnencodedmarch {\uchar{78}{9}\uchar{103}{8}}
+ \definecommand cnencodedapril {\uchar{86}{219}\uchar{103}{8}}
+ \definecommand cnencodedmay {\uchar{78}{148}\uchar{103}{8}}
+ \definecommand cnencodedjune {\uchar{81}{109}\uchar{103}{8}}
+ \definecommand cnencodedjuly {\uchar{78}{3}\uchar{103}{8}}
+ \definecommand cnencodedaugust {\uchar{81}{107}\uchar{103}{8}}
+ \definecommand cnencodedseptember {\uchar{78}{93}\uchar{103}{8}}
+ \definecommand cnencodedoctober {\uchar{83}{65}\uchar{103}{8}}
+ \definecommand cnencodednovember {\uchar{83}{65}\uchar{78}{0}\uchar{103}{8}}
+ \definecommand cnencodeddecember {\uchar{83}{65}\uchar{78}{140}\uchar{103}{8}}
+ \definecommand cnencodedsunday {\uchar{102}{31}\uchar{103}{31}\uchar{101}{229}}
+ \definecommand cnencodedmonday {\uchar{102}{31}\uchar{103}{31}\uchar{78}{0}}
+ \definecommand cnencodedtuesday {\uchar{102}{31}\uchar{103}{31}\uchar{78}{140}}
+ \definecommand cnencodedwednesday {\uchar{102}{31}\uchar{103}{31}\uchar{78}{9}}
+ \definecommand cnencodedthursday {\uchar{102}{31}\uchar{103}{31}\uchar{86}{219}}
+ \definecommand cnencodedfriday {\uchar{102}{31}\uchar{103}{31}\uchar{78}{148}}
+ \definecommand cnencodedsaturday {\uchar{102}{31}\uchar{103}{31}\uchar{81}{109}}
+\stopencoding
+
\startencoding[gbk]
\definecommand cnleftsentence {\uchar{161}{170}\uchar{161}{170}}
\definecommand cnrightsentence {\uchar{161}{170}\uchar{161}{170}}
diff --git a/tex/context/base/lang-ger.tex b/tex/context/base/lang-ger.tex
index 919748c69..bda1e392c 100644
--- a/tex/context/base/lang-ger.tex
+++ b/tex/context/base/lang-ger.tex
@@ -406,12 +406,14 @@
\setuplabeltext [\s!af] [\v!graphic=Grafiek ]
\setuplabeltext [\s!no] [\v!graphic=Grafikk ]
-\setuplabeltext [\s!en] [\v!chapter=]
+%D We don't set these here. One can do that in a style.
+
+\setuplabeltext [\s!en] [\v!chapter=] % Chapter
\setuplabeltext [\s!nl] [\v!chapter=]
-\setuplabeltext [\s!de] [\v!chapter=]
+\setuplabeltext [\s!de] [\v!chapter=] % Kapitel
\setuplabeltext [\s!da] [\v!chapter=]
\setuplabeltext [\s!sv] [\v!chapter=]
-\setuplabeltext [\s!af] [\v!chapter=] % [\v!chapter=hoofstuk]
+\setuplabeltext [\s!af] [\v!chapter=] % Hoofstuk
\setuplabeltext [\s!no] [\v!chapter=]
\setuplabeltext [\s!en] [\v!section=]
@@ -419,7 +421,7 @@
\setuplabeltext [\s!de] [\v!section=]
\setuplabeltext [\s!da] [\v!section=]
\setuplabeltext [\s!sv] [\v!section=]
-\setuplabeltext [\s!af] [\v!section=] % [\v!section=paragraaf]
+\setuplabeltext [\s!af] [\v!section=] % Paragraaf
\setuplabeltext [\s!no] [\v!section=]
\setuplabeltext [\s!en] [\v!subsection=]
@@ -446,12 +448,12 @@
\setuplabeltext [\s!af] [\v!subsubsubsection=]
\setuplabeltext [\s!no] [\v!subsubsubsection=]
-\setuplabeltext [\s!en] [\v!appendix=]
+\setuplabeltext [\s!en] [\v!appendix=] % Appendix
\setuplabeltext [\s!nl] [\v!appendix=]
-\setuplabeltext [\s!de] [\v!appendix=]
-\setuplabeltext [\s!da] [\v!appendix=] % [\v!appendix=bilag]
+\setuplabeltext [\s!de] [\v!appendix=] % Anhang
+\setuplabeltext [\s!da] [\v!appendix=] % Bilag
\setuplabeltext [\s!sv] [\v!appendix=]
-\setuplabeltext [\s!af] [\v!appendix=] % [\v!appendix=bylae]
+\setuplabeltext [\s!af] [\v!appendix=] % Bylae
\setuplabeltext [\s!no] [\v!appendix=]
\setuplabeltext [\s!en] [\v!part=Part ]
diff --git a/tex/context/base/lang-sla.tex b/tex/context/base/lang-sla.tex
index 428796e8a..ee990dab0 100644
--- a/tex/context/base/lang-sla.tex
+++ b/tex/context/base/lang-sla.tex
@@ -24,6 +24,7 @@
%D \NC Polish \NC Grzegorz Sapijaszko \NC \NR
%D \NC Croatian \NC \Zcaron eljko Vrba \NC \NR
%D \NC Slovenian \NC Mojca Miklavec \NC \NR
+%D \NC Cz and Sk \NC Richard Gabriel \NC \NR
%D \stoptabulate
% Belarussian, Russian, Ukrainian, Bulgarian, Macedonian,
@@ -258,14 +259,14 @@
\setupheadtext [\s!sl] [\v!figures=Slike]
\setupheadtext [\s!pl] [\v!graphics=Grafika]
-\setupheadtext [\s!cz] [\v!graphics=Grafika] % new
-\setupheadtext [\s!sk] [\v!graphics=...]
+\setupheadtext [\s!cz] [\v!graphics=Graf]
+\setupheadtext [\s!sk] [\v!graphics=Graf]
\setupheadtext [\s!hr] [\v!graphics=Slike]
\setupheadtext [\s!sl] [\v!graphics=Slike]
\setupheadtext [\s!pl] [\v!intermezzi=Intermezza]
\setupheadtext [\s!cz] [\v!intermezzi=Intermezza]
-\setupheadtext [\s!sk] [\v!intermezzi=...]
+\setupheadtext [\s!sk] [\v!intermezzi=Intermezz\aacute]
\setupheadtext [\s!hr] [\v!intermezzi=Intermezza]
\setupheadtext [\s!sl] [\v!intermezzi=Intermezzi]
@@ -276,20 +277,20 @@
\setupheadtext [\s!sl] [\v!index=Kazalo]
\setupheadtext [\s!pl] [\v!abbreviations=Skr\oacute cenie]
-\setupheadtext [\s!cz] [\v!abbreviations=Zkratky] % new
-\setupheadtext [\s!sk] [\v!abbreviations=...]
+\setupheadtext [\s!cz] [\v!abbreviations=Zkratky]
+\setupheadtext [\s!sk] [\v!abbreviations=Skratky]
\setupheadtext [\s!hr] [\v!abbreviations=Kratice]
\setupheadtext [\s!sl] [\v!abbreviations=Kratice]
\setupheadtext [\s!pl] [\v!logos=Znaki]
-\setupheadtext [\s!cz] [\v!logos=Loga] % new
-\setupheadtext [\s!sk] [\v!logos=...]
+\setupheadtext [\s!cz] [\v!logos=Loga]
+\setupheadtext [\s!sk] [\v!logos=Log\aacute]
\setupheadtext [\s!hr] [\v!logos=Znakovi]
\setupheadtext [\s!sl] [\v!logos=Logotipi]
\setupheadtext [\s!pl] [\v!units=Jednostki]
-\setupheadtext [\s!cz] [\v!units=Jednotky] % new
-\setupheadtext [\s!sk] [\v!units=...]
+\setupheadtext [\s!cz] [\v!units=Jednotky]
+\setupheadtext [\s!sk] [\v!units=Jednotky]
\setupheadtext [\s!hr] [\v!units=Jednostki]
\setupheadtext [\s!sl] [\v!units=Enote]
@@ -301,19 +302,19 @@
\setuplabeltext [\s!pl] [\v!figure=Ilustracja ]
\setuplabeltext [\s!cz] [\v!figure=Obr\aacute zek ]
-\setuplabeltext [\s!sk] [\v!figure=... ]
+\setuplabeltext [\s!sk] [\v!figure=Obr\aacute zok ]
\setuplabeltext [\s!hr] [\v!figure=Slika ]
\setuplabeltext [\s!sl] [\v!figure=Slika ]
\setuplabeltext [\s!pl] [\v!intermezzo=Intermezzo ]
\setuplabeltext [\s!cz] [\v!intermezzo=Intermezzo ]
-\setuplabeltext [\s!sk] [\v!intermezzo=... ]
+\setuplabeltext [\s!sk] [\v!intermezzo=Intermezzo ]
\setuplabeltext [\s!hr] [\v!intermezzo=Intermezzo ]
\setuplabeltext [\s!sl] [\v!intermezzo=Intermezzo ]
\setuplabeltext [\s!pl] [\v!graphic=Grafika ]
-\setuplabeltext [\s!cz] [\v!graphic=... ]
-\setuplabeltext [\s!sk] [\v!graphic=... ]
+\setuplabeltext [\s!cz] [\v!graphic=Graf ]
+\setuplabeltext [\s!sk] [\v!graphic=Graf ]
\setuplabeltext [\s!hr] [\v!graphic=Slika ]
\setuplabeltext [\s!sl] [\v!graphic=Slika ]
@@ -324,32 +325,32 @@
\setuplabeltext [\s!sl] [\v!chapter=] % Poglavje
\setuplabeltext [\s!pl] [\v!section=] % Podrozdzia\l
-\setuplabeltext [\s!cz] [\v!section=] % Sekce % new
-\setuplabeltext [\s!sk] [\v!section=]
+\setuplabeltext [\s!cz] [\v!section=] % Sekce
+\setuplabeltext [\s!sk] [\v!section=] % Sekcia
\setuplabeltext [\s!hr] [\v!section=] % Podrozdzia\l
\setuplabeltext [\s!sl] [\v!section=]
\setuplabeltext [\s!pl] [\v!subsection=]
-\setuplabeltext [\s!cz] [\v!subsection=] % Podsekce % new
-\setuplabeltext [\s!sk] [\v!subsection=]
+\setuplabeltext [\s!cz] [\v!subsection=] % Podsekce
+\setuplabeltext [\s!sk] [\v!subsection=] % Podsekcia
\setuplabeltext [\s!hr] [\v!subsection=]
\setuplabeltext [\s!sl] [\v!subsection=]
\setuplabeltext [\s!pl] [\v!subsubsection=]
-\setuplabeltext [\s!cz] [\v!subsubsection=] % Podpodsekce % new
-\setuplabeltext [\s!sk] [\v!subsubsection=]
+\setuplabeltext [\s!cz] [\v!subsubsection=] % Podpodsekce
+\setuplabeltext [\s!sk] [\v!subsubsection=] % Podpodsekcia
\setuplabeltext [\s!hr] [\v!subsubsection=]
\setuplabeltext [\s!sl] [\v!subsubsection=]
\setuplabeltext [\s!pl] [\v!subsubsubsection=]
-\setuplabeltext [\s!cz] [\v!subsubsubsection=] % Podpodpodsekce % new
-\setuplabeltext [\s!sk] [\v!subsubsubsection=]
+\setuplabeltext [\s!cz] [\v!subsubsubsection=] % Podpodpodsekce
+\setuplabeltext [\s!sk] [\v!subsubsubsection=] % Podpodpodsekcia
\setuplabeltext [\s!hr] [\v!subsubsubsection=]
\setuplabeltext [\s!sl] [\v!subsubsubsection=]
\setuplabeltext [\s!pl] [\v!appendix=] % Dodatek
-\setuplabeltext [\s!cz] [\v!appendix=P\rcaron\iacute loha] % new
-\setuplabeltext [\s!sk] [\v!appendix=]
+\setuplabeltext [\s!cz] [\v!appendix=P\rcaron\iacute loha]
+\setuplabeltext [\s!sk] [\v!appendix=Pr\iacute loha]
\setuplabeltext [\s!hr] [\v!appendix=Dodatak ]
\setuplabeltext [\s!sl] [\v!appendix=Dodatek ]
@@ -360,14 +361,14 @@
\setuplabeltext [\s!sl] [\v!part=Del ]
\setuplabeltext [\s!pl] [\v!line=wiersz ]
-\setuplabeltext [\s!cz] [\v!line=\rcaron\aacute dek] % new
-\setuplabeltext [\s!sk] [\v!line=... ]
+\setuplabeltext [\s!cz] [\v!line=\rcaron\aacute dek]
+\setuplabeltext [\s!sk] [\v!line=riadok ]
\setuplabeltext [\s!hr] [\v!line=red ]
\setuplabeltext [\s!sl] [\v!line=vrstica ]
\setuplabeltext [\s!pl] [\v!lines=wiersze ]
-\setuplabeltext [\s!cz] [\v!lines=\rcaron\aacute dky] % new
-\setuplabeltext [\s!sk] [\v!lines=... ]
+\setuplabeltext [\s!cz] [\v!lines=\rcaron\aacute dky]
+\setuplabeltext [\s!sk] [\v!lines=riadky ]
\setuplabeltext [\s!hr] [\v!lines=redovi ]
\setuplabeltext [\s!sl] [\v!lines=vrstice ]
@@ -492,7 +493,7 @@
\setuplabeltext [\s!sl] [\v!see=glej ]
% new
-\setuplabeltext [\s!cz] [\v!page=strna ]
+\setuplabeltext [\s!cz] [\v!page=strana ]
\setuplabeltext [\s!cz] [\v!atpage=na stran\ecaron\ ]
\setuplabeltext [\s!cz] [\v!hencefore=viz v\yacute\scaron e ]
\setuplabeltext [\s!cz] [\v!hereafter=viz n\iacute\zcaron e ]
diff --git a/tex/context/base/meta-ini.tex b/tex/context/base/meta-ini.tex
index 799d441ad..0ccb60616 100644
--- a/tex/context/base/meta-ini.tex
+++ b/tex/context/base/meta-ini.tex
@@ -815,7 +815,10 @@
%D However, on a 1 Gig Pentium, the next alternative saves
%D us 20 seconds run time for the 300 page \METAFUN\ manual:
-\def\insertMPfile#1#2{\doinsertMPfile{#1}}
+\let\insertMPfileARG\insertMPfile
+
+\def\insertMPfile#1#2% in context #2 is empty
+ {\doifelsenothing{#2}{\doinsertMPfile{#1}}{\insertMPfileARG{#1}{#2}}}
\def\includeMPasEPS#1%
{\bgroup
diff --git a/tex/context/base/mult-com.tex b/tex/context/base/mult-com.tex
index d5fe1f47a..842b3cafe 100644
--- a/tex/context/base/mult-com.tex
+++ b/tex/context/base/mult-com.tex
@@ -2049,9 +2049,12 @@ startcolumnmakeup: startkolomopmaak startcolumnmakeup
stopcolumnmakeup stopcolumnmakeup
stopcolumnmakeup stopcolumnmakeup
- usetypescript: gebruiktypescript usetypescript
- usetypescript usetypescript
- usetypescript usetypescript
+ usetypescript: gebruiktypescript usetypescript
+ usetypescript usetypescript
+ usetypescript usetypescript
+usetypescriptfile: gebruiktypescriptfile usetypescriptfile
+ usetypescriptfile usetypescriptfile
+ usetypescriptfile usetypescriptfile
\stopcommands
diff --git a/tex/context/base/mult-con.tex b/tex/context/base/mult-con.tex
index 7348bc3e9..53508c297 100644
--- a/tex/context/base/mult-con.tex
+++ b/tex/context/base/mult-con.tex
@@ -1597,6 +1597,9 @@ textlayer: tekstlaag textlayer
width: breedte width
breite sirka
ampiezza latime
+ minwidth: minbreedte minwidth
+ minbreite minsirka
+ ampiezzamin latimeminima % TB TH
outer: buiten outer
aussen vnejsi
esterno extern
@@ -1738,6 +1741,9 @@ textlayer: tekstlaag textlayer
height: hoogte height
hoehe vyska
altezza inaltime
+ minheight: minhoogte minheight
+ minhoehe minvyska
+ altezzamin inaltimeminima
horizontal: horizontaal horizontal
horizontal horizontalne
orizzontale orizontal
diff --git a/tex/context/base/page-flt.tex b/tex/context/base/page-flt.tex
index 97b0e3f14..33d19c605 100644
--- a/tex/context/base/page-flt.tex
+++ b/tex/context/base/page-flt.tex
@@ -866,7 +866,7 @@
\setbox0\vbox{\strut\blank[\@@bkspacebefore]\strut}%
\setbox2\vbox{\strut\blank[\@@bkspaceafter ]\strut}%
\ifdim\ht0>\ht2
- \blank[-\@@bkspaceafter,\@@bkspacebefore]
+ \blank[-\@@bkspaceafter,\@@bkspacebefore]%
\fi
\egroup}
@@ -2100,7 +2100,7 @@
\let\floatrow\empty
\edef\floatmethod{#2}}%
\doifundefined{\string\floatmethod\floatmethod}
- {\let\floatmethod\v!here}%
+ {\let\floatmethod\v!here}%
\getvalue{\string\floatmethod\floatmethod}[#1]%
\fi}
diff --git a/tex/context/base/regi-uni.tex b/tex/context/base/regi-uni.tex
index 2b749967f..4d694383a 100644
--- a/tex/context/base/regi-uni.tex
+++ b/tex/context/base/regi-uni.tex
@@ -2,17 +2,17 @@
%D [ file=enco-uni,
%D version=1998.10.18,
%D title=\CONTEXT\ Encoding Macros,
-%D subtitle=Unicode,
+%D subtitle=Unicode,
%D author=Hans Hagen,
%D date=\currentdate,
%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
-%D This module activates all characters in the upper range
-%D and sets them to the basic unicodehandler.
+%D This module activates all characters in the upper range
+%D and sets them to the basic unicodehandler.
\startregime[unicode]
@@ -20,4 +20,4 @@
\stopregime
-\endinput
+\endinput
diff --git a/tex/context/base/s-chi-00.tex b/tex/context/base/s-chi-00.tex
index 7438f4d5c..956f362b7 100644
--- a/tex/context/base/s-chi-00.tex
+++ b/tex/context/base/s-chi-00.tex
@@ -14,7 +14,7 @@
\mainlanguage[cn]
-\setupbodyfont[chi]
+\setupbodyfont[chi] % loads font-chi
\unprotect
@@ -50,4 +50,27 @@
\setuptyping[\c!tab=\v!no]
+%D This module (and font support) adapts to the \UTF\ regime, but you
+%D need to enable \UTF\ first!
+%D
+%D \starttyping
+%D \enableregime[utf] \usemodule[chi-00]
+%D
+%D \starttext
+%D
+%D 兡也包因沘氓侷柵苗孫孫財
+%D 崧淫設弼琶跑愍窟榜蒸奭稽
+%D 霄瓢館縲擻鼕孃魔釁佉沎岠
+%D 狋垚柛胅娭涘罞偟惈牻荺傒
+%D 焱菏酡廅滘絺赩塴榗箂踃嬁
+%D 澕蓴醊獧螗餟燱螬駸礑鎞瀧
+%D 鄿瀯騬醹躕鱕
+%D
+%D \blank
+%D
+%D Wang Lei is written as: 王磊
+%D
+%D \stoptext
+%D \stoptyping
+
\protect \endinput
diff --git a/tex/context/base/supp-fil.tex b/tex/context/base/supp-fil.tex
index cd0c48150..b89ba295c 100644
--- a/tex/context/base/supp-fil.tex
+++ b/tex/context/base/supp-fil.tex
@@ -591,6 +591,8 @@
%D regards to active characters (german ", polish /,
%D french : and ;).
+%D We need to redo this: catcode sets and such
+
\def\startreadingfile% beter een every en \setnormalcatcodes
{\doglobal\increment\readingfilelevel
\setxvalue{\string\readingfilelevel::\readingfilelevel}%
diff --git a/tex/context/base/supp-fun.tex b/tex/context/base/supp-fun.tex
index 5f0700deb..89c5f7ea8 100644
--- a/tex/context/base/supp-fun.tex
+++ b/tex/context/base/supp-fun.tex
@@ -135,8 +135,9 @@
{\convertargument #7\to\asciia
\convertcommand \DroppedString\to\asciib
\ExpandBothAfter\doifinstringelse\asciia\asciib
- {\dontleavehmode
- \ifhmode\hskip-\parindent\fi
+ {\noindenting
+ \dontleavehmode
+ %\ifhmode\hskip-\parindent\fi % sensitive for context mechanism
\keeplinestogether{#6}%
\setbox0\hbox{\definedfont[#2 at #3]#1{#7}\hskip#4}%
\ifdim\dp0>\strutdp % one of those Q's , will be option
diff --git a/tex/context/base/supp-mps.tex b/tex/context/base/supp-mps.tex
index 23e6ccc89..97bd09a89 100644
--- a/tex/context/base/supp-mps.tex
+++ b/tex/context/base/supp-mps.tex
@@ -1640,7 +1640,7 @@
\def\getMPdrawing
{\ifMPdrawingdone
\expandafter\startMPgraphic\MPdrawingdata\stopMPgraphic
- \loadcurrentMPgraphic\empty
+ \loadcurrentMPgraphic{}%
\deallocateMPslot\currentMPgraphic
\placeMPgraphic
\fi}
diff --git a/tex/context/base/syst-new.tex b/tex/context/base/syst-new.tex
index b46b319d7..6112b6f6f 100644
--- a/tex/context/base/syst-new.tex
+++ b/tex/context/base/syst-new.tex
@@ -857,11 +857,26 @@
\endETEX
+\beginTEX
+
\def\uncompresslist[#1]%
{\def\uncompressedlist{#1}}
-\beginTEX
-
\endTEX
+%D \macros
+%D {ignoreimplicitspaces}
+%D
+%D \startbuffer
+%D \def\whatever[#1]{\expanded{\definedfont[#1 at 12pt]}\ignorespaces}
+%D {a\whatever[Serif]b a\whatever[Serif] b a\whatever[Serif]\space b}
+%D \def\whatever[#1]{\expanded{\definedfont[#1 at 12pt]}\ignoreimplicitspaces}
+%D {a\whatever[Serif]b a\whatever[Serif] b a\whatever[Serif]\space b}
+%D \stopbuffer
+%D
+%D \typebuffer \getbuffer
+
+\def\ignoreimplicitspaces
+ {\doifnextcharelse\relax\relax\relax}
+
\protect \endinput
diff --git a/tex/context/base/type-buy.tex b/tex/context/base/type-buy.tex
index 53a178d6e..92b32e0a1 100644
--- a/tex/context/base/type-buy.tex
+++ b/tex/context/base/type-buy.tex
@@ -887,7 +887,6 @@
\stoptypescript
-
\stoptypescriptcollection
\endinput
diff --git a/tex/context/base/type-exa.tex b/tex/context/base/type-exa.tex
index 71da7f0ad..c7c17585d 100644
--- a/tex/context/base/type-exa.tex
+++ b/tex/context/base/type-exa.tex
@@ -168,40 +168,7 @@
\stoptypescript
-% \starttypescript [serif] [hanging] [pure,normal]
-%
-% \setupfontsynonym [Serif] [handling=\typescriptthree]
-% \setupfontsynonym [SerifBold] [handling=\typescriptthree bold]
-% \setupfontsynonym [SerifSlanted] [handling=\typescriptthree slanted]
-% \setupfontsynonym [SerifItalic] [handling=\typescriptthree italic]
-% \setupfontsynonym [SerifBoldSlanted] [handling=\typescriptthree boldslanted]
-% \setupfontsynonym [SerifBoldItalic] [handling=\typescriptthree bolditalic]
-%
-% \stoptypescript
-%
-% \starttypescript [sans] [hanging] [pure,normal]
-%
-% \setupfontsynonym [Sans] [handling=\typescriptthree]
-% \setupfontsynonym [SansBold] [handling=\typescriptthree bold]
-% \setupfontsynonym [SansSlanted] [handling=\typescriptthree slanted]
-% \setupfontsynonym [SansItalic] [handling=\typescriptthree italic]
-% \setupfontsynonym [SansBoldSlanted] [handling=\typescriptthree boldslanted]
-% \setupfontsynonym [SansBoldItalic] [handling=\typescriptthree bolditalic]
-%
-% \stoptypescript
-%
-% \starttypescript [mono] [hanging] [pure,normal]
-%
-% \setupfontsynonym [Mono] [handling=\typescriptthree]
-% \setupfontsynonym [MonoBold] [handling=\typescriptthree bold]
-% \setupfontsynonym [MonoSlanted] [handling=\typescriptthree slanted]
-% \setupfontsynonym [MonoItalic] [handling=\typescriptthree italic]
-% \setupfontsynonym [MonoBoldSlanted] [handling=\typescriptthree boldslanted]
-% \setupfontsynonym [MonoBoldItalic] [handling=\typescriptthree bolditalic]
-%
-% \stoptypescript
-
-\starttypescript [serif,sans,mono] [handling,hanging,hz] [pure,normal,hz,quality]
+\starttypescript [serif,sans,mono] [handling,hanging] [pure,normal]
\setupfontsynonym [\typescriptprefix\typescriptone ] [handling=\typescriptthree]
\setupfontsynonym [\typescriptprefix\typescriptone Bold] [handling=\typescriptthree bold]
@@ -212,6 +179,18 @@
\stoptypescript
+\starttypescript [serif,sans,mono] [handling,hz] [hz,quality,highquality]
+
+ \setupfontsynonym [\typescriptprefix\typescriptone ] [handling=\typescriptthree]
+ \setupfontsynonym [\typescriptprefix\typescriptone Bold] [handling=\typescriptthree]
+ \setupfontsynonym [\typescriptprefix\typescriptone Slanted] [handling=\typescriptthree]
+ \setupfontsynonym [\typescriptprefix\typescriptone Italic] [handling=\typescriptthree]
+ \setupfontsynonym [\typescriptprefix\typescriptone BoldSlanted] [handling=\typescriptthree]
+ \setupfontsynonym [\typescriptprefix\typescriptone BoldItalic] [handling=\typescriptthree]
+
+\stoptypescript
+
+
\starttypescript [serif,sans,mono] [handling] [noligs]
\setupfontsynonym [\typescriptprefix\typescriptone ] [handling=\typescriptthree]
diff --git a/tex/context/base/type-ghz.tex b/tex/context/base/type-ghz.tex
index 23f71d583..318e6d596 100644
--- a/tex/context/base/type-ghz.tex
+++ b/tex/context/base/type-ghz.tex
@@ -1,8 +1,27 @@
-% run texfont from currentpath with the fonts on subpath fontsite/500
-
-% texfont --en=texnansi --ve=linotype --co=optima type-ghz.dat
-% texfont --en=texnansi --ve=linotype --co=optima-nova type-ghz.dat
-% texfont --en=texnansi --ve=linotype --co=palatino type-ghz.dat
+%D \module
+%D [ file=type-ghz,
+%D version=2005.06.07,
+%D title=\CONTEXT\ Typescript Macros,
+%D subtitle=Hermann Zapf's Fonts,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+% \usetypescriptfile[type-ghz]
+%
+% \definetypeface[optima] [ss][sans] [optima-nova] [default]
+% \definetypeface[palatino][rm][serif][palatino-nova][default]
+% \definetypeface[aldus] [rm][serif][aldus-nova] [default]
+%
+% \starttext
+% \setupbodyfont[optima] \input zapf \blank
+% \setupbodyfont[palatino] \input zapf \blank
+% \setupbodyfont[aldus] \input zapf \blank
+% \stoptext
\starttypescriptcollection[zapf collection]
@@ -66,28 +85,131 @@
% optima nova
+% see antykwa, we could define variants for light and osf
+
+\starttypescript[optima-nova][texnansi,ec] % will change to more narrow tt
+ \definetypeface[optima][ss][sans][optima-nova] [default][encoding=\typescripttwo]
+ \definetypeface[optima][rm][sans][optima-nova] [default][encoding=\typescripttwo]
+ \definetypeface[optima][tt][mono][latin-modern][default][encoding=\typescripttwo,rscale=1.125]
+ \definetypeface[optima][mm][mono][latin-modern][default][encoding=\typescripttwo,rscale=1.125]
+ \quittypescriptscanning
+\stoptypescript
+
\starttypescript [sans] [optima-nova] [name]
\definefontsynonym [Sans] [OptimaNovaLT-Regular]
\definefontsynonym [SansItalic] [OptimaNovaLT-Italic]
- \definefontsynonym [SansBold] [OptimaLT-Bold]
- \definefontsynonym [SansBoldItalic] [OptimaLT-BoldItalic]
- \definefontsynonym [SansSlanted] [SansItalic]
- \definefontsynonym [SansBoldSlanted] [SansBoldItalic]
- \definefontsynonym [SansCaps] [Sans]
+ \definefontsynonym [SansBold] [OptimaNovaLT-Bold]
+ \definefontsynonym [SansBoldItalic] [OptimaNovaLT-BoldItalic]
+ \definefontsynonym [SansSlanted] [OptimaNovaLT-Italic]
+ \definefontsynonym [SansBoldSlanted] [OptimaNovaLT-BoldItalic]
+ \definefontsynonym [SansCaps] [OptimaNovaLT-RegularSC]
+
+ \definefontvariant [Serif][osf][OsF]
+ \definefontvariant [Serif][sc][Caps]
+
+ \definefontsynonym [SansOsF] [OptimaNovaLT-RegularOsF]
+ \definefontsynonym [SansItalicOsF] [OptimaNovaLT-ItalicOsF]
+ \definefontsynonym [SansBoldOsF] [OptimaNovaLT-BoldOsF]
+ \definefontsynonym [SansBoldItalicOsF] [OptimaNovaLT-BoldItalicOsF]
+ \definefontsynonym [SansSlantedOsF] [OptimaNovaLT-ItalicOsF]
+ \definefontsynonym [SansBoldSlantedOsF] [OptimaNovaLT-BoldItalicOsF]
+ \definefontsynonym [SansCapsOsF] [OptimaNovaLT-RegularSC]
+
+ \definefontsynonym [SansCaps] [OptimaNovaLT-RegularSC]
+ \definefontsynonym [SansItalicCaps] [OptimaNovaLT-ItalicSC ]
+ \definefontsynonym [SansBoldCaps] [OptimaNovaLT-BoldSC]
+ \definefontsynonym [SansBoldItalicCaps] [OptimaNovaLT-BoldItalicSC]
+ \definefontsynonym [SansSlantedCaps] [OptimaNovaLT-ItalicSC]
+ \definefontsynonym [SansBoldSlantedCaps] [OptimaNovaLT-BoldItalicSC]
+ \definefontsynonym [SansCapsCaps] [OptimaNovaLT-RegularSC]
+
+\stoptypescript
+
+\starttypescript [sans] [optima-nova-os] [name]
+
+ \definefontsynonym [Sans] [OptimaNovaLT-RegularOsF]
+ \definefontsynonym [SansItalic] [OptimaNovaLT-ItalicOsF]
+ \definefontsynonym [SansBold] [OptimaNovaLT-BoldOsF]
+ \definefontsynonym [SansBoldItalic] [OptimaNovaLT-BoldItalicOsF]
+ \definefontsynonym [SansSlanted] [OptimaNovaLT-ItalicOsF]
+ \definefontsynonym [SansBoldSlanted] [OptimaNovaLT-BoldItalicOsF]
+ \definefontsynonym [SansCaps] [OptimaNovaLT-RegularSC]
+
+\stoptypescript
+
+\starttypescript [sans] [optima-nova-light] [name] % may change
+
+ \definefontsynonym [Sans] [OptimaNovaLT-Light]
+ \definefontsynonym [SansItalic] [OptimaNovaLT-LightItalic]
+ \definefontsynonym [SansBold] [OptimaNovaLT-Medium]
+ \definefontsynonym [SansBoldItalic] [OptimaNovaLT-MediumItalic]
+ \definefontsynonym [SansSlanted] [OptimaNovaLT-LightItalic]
+ \definefontsynonym [SansBoldSlanted] [OptimaNovaLT-MediumItalic]
+ \definefontsynonym [SansCaps] [OptimaNovaLT-LightSC]
+
+\stoptypescript
+
+\starttypescript [sans] [optima-nova-medium] [name] % may change
+
+ \definefontsynonym [Sans] [OptimaNovaLT-Medium]
+ \definefontsynonym [SansItalic] [OptimaNovaLT-MediumItalic]
+ \definefontsynonym [SansBold] [OptimaNovaLT-Heavy]
+ \definefontsynonym [SansBoldItalic] [OptimaNovaLT-HeavyItalic]
+ \definefontsynonym [SansSlanted] [OptimaNovaLT-MediumItalic]
+ \definefontsynonym [SansBoldSlanted] [OptimaNovaLT-HeavyItalic]
+ \definefontsynonym [SansCaps] [OptimaNovaLT-MediumSC]
\stoptypescript
-\starttypescript [sans] [optima-nova] [texnansi,ec,8r]
+\starttypescript [sans] [optima-nova,optima-nova-light,optima-nova-medium,optima-nova-os] [texnansi,ec,8r]
\loadmapfile[\typescriptthree-linotype-optima-nova.map]
- \definefontsynonym [OptimaNovaLT-Regular] [\typescriptthree-lt55483] [encoding=\typescriptthree]
- \definefontsynonym [OptimaNovaLT-Italic] [\typescriptthree-lt55486] [encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-Light] [\typescriptthree-lt55476][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-LightSC] [\typescriptthree-lt55477][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-LightOsF] [\typescriptthree-lt55478][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-LightItalic] [\typescriptthree-lt55479][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-LightItalicSC] [\typescriptthree-lt55480][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-LightItalicOsF] [\typescriptthree-lt55481][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-LightCond] [\typescriptthree-lt55482][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-Regular] [\typescriptthree-lt55483][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-RegularSC] [\typescriptthree-lt55484][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-RegularOsF] [\typescriptthree-lt55485][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-Italic] [\typescriptthree-lt55486][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-ItalicSC] [\typescriptthree-lt55487][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-ItalicOsF] [\typescriptthree-lt55488][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-Condensed] [\typescriptthree-lt55489][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-Medium] [\typescriptthree-lt55490][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-MediumSC] [\typescriptthree-lt55491][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-MediumOsF] [\typescriptthree-lt55492][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-MediumItalic] [\typescriptthree-lt55493][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-MediumItalicSC] [\typescriptthree-lt55494][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-MediumItalicOsF][\typescriptthree-lt55495][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-MediumCond] [\typescriptthree-lt55496][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-TitlingInitials][\typescriptthree-lt55497][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-Demi] [\typescriptthree-lt55498][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-DemiSC] [\typescriptthree-lt55499][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-DemiOsF] [\typescriptthree-lt55500][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-DemiItalic] [\typescriptthree-lt55501][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-DemiItalicSC] [\typescriptthree-lt55502][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-DemiItalicOsF] [\typescriptthree-lt55503][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-DemiCond] [\typescriptthree-lt55504][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-Bold] [\typescriptthree-lt55505][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-BoldSC] [\typescriptthree-lt55506][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-BoldOsF] [\typescriptthree-lt55507][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-BoldItalic] [\typescriptthree-lt55508][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-BoldItalicSC] [\typescriptthree-lt55509][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-BoldItalicOsF] [\typescriptthree-lt55510][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-BoldCond] [\typescriptthree-lt55511][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-Heavy] [\typescriptthree-lt55512][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-HeavyItalic] [\typescriptthree-lt55513][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-Black] [\typescriptthree-lt55514][encoding=\typescriptthree]
+ \definefontsynonym[OptimaNovaLT-BlackItalic] [\typescriptthree-lt55515][encoding=\typescriptthree]
\stoptypescript
-\starttypescript [map] [optima-nova] [texnansi,ec,8r]
+\starttypescript [map] [optima-nova,optima-nova-light,optima-nova-medium,optima-nova-os] [texnansi,ec,8r]
\loadmapfile[\typescriptthree-linotype-optima-nova.map]
\stoptypescript
@@ -99,11 +221,10 @@
\definefontsynonym [SerifItalic] [PalatinoLT-Italic]
\definefontsynonym [SerifBold] [PalatinoLT-Bold]
\definefontsynonym [SerifBoldItalic] [PalatinoLT-BoldItalic]
-
\definefontsynonym [SerifSlanted] [SerifItalic]
\definefontsynonym [SerifBoldSlanted] [SerifBoldItalic]
- \definefontsynonym [SerifCaps] [Palatino-SC]
+ \definefontsynonym [SerifCaps] [PalatinoSC]
\stoptypescript
@@ -126,7 +247,7 @@
\definefontsynonym[Palatino-BoldOsF] [\typescriptthree-pobos] [encoding=\typescriptthree]
\definefontsynonym[Palatino-ItalicOsF] [\typescriptthree-poios] [encoding=\typescriptthree]
- \definefontsynonym[Palatino-SC] [\typescriptthree-posc] [encoding=\typescriptthree]
+ \definefontsynonym[PalatinoSC] [\typescriptthree-posc] [encoding=\typescriptthree]
\stoptypescript
@@ -134,7 +255,137 @@
\loadmapfile[\typescriptthree-linotype-palatino.map]
\stoptypescript
-\stoptypescriptcollection
+% palatino nova
+
+\starttypescript [serif] [palatino-nova] [name]
+
+ \definefontsynonym [Serif] [PalatinoNova-Regular]
+ \definefontsynonym [SerifItalic] [PalatinoNova-Italic]
+ \definefontsynonym [SerifBold] [PalatinoNova-Bold]
+ \definefontsynonym [SerifBoldItalic] [PalatinoNova-BoldItalic]
+ \definefontsynonym [SerifSlanted] [PalatinoNova-Italic]
+ \definefontsynonym [SerifBoldSlanted] [PalatinoNova-BoldItalic]
+ \definefontsynonym [SerifCaps] [PalatinoNova-RegularSC]
+
+ \definefontvariant [Serif][sc][Caps]
+
+ \definefontsynonym [SerifCaps] [PalatinoNova-RegularSC]
+ \definefontsynonym [SerifItalicCaps] [PalatinoNova-ItalicSC]
+ \definefontsynonym [SerifBoldCaps] [PalatinoNova-BoldSC]
+ \definefontsynonym [SerifBoldItalicCaps] [PalatinoNova-BoldItalicSC]
+ \definefontsynonym [SerifSlantedCaps] [PalatinoNova-ItalicSC]
+ \definefontsynonym [SerifBoldSlantedCaps] [PalatinoNova-BoldItalicSC]
+ \definefontsynonym [SerifCapsCaps] [PalatinoNova-RegularSC]
+
+\stoptypescript
+
+\starttypescript [serif] [palatino-nova-light] [name] % may change
+
+ \definefontsynonym [Serif] [PalatinoNova-Light]
+ \definefontsynonym [SerifItalic] [PalatinoNova-LightItalic]
+ \definefontsynonym [SerifBold] [PalatinoNova-Regular]
+ \definefontsynonym [SerifBoldItalic] [PalatinoNova-Italic]
+ \definefontsynonym [SerifSlanted] [PalatinoNova-Regular]
+ \definefontsynonym [SerifBoldSlanted] [PalatinoNova-Italic]
+ \definefontsynonym [SerifCaps] [PalatinoNova-LightSC]
+
+\stoptypescript
+
+\starttypescript [serif] [palatino-nova-medium] [name] % may change
+
+ \definefontsynonym [Serif] [PalatinoNova-Medium]
+ \definefontsynonym [SerifItalic] [PalatinoNova-MediumItalic]
+ \definefontsynonym [SerifBold] [PalatinoNova-Bold]
+ \definefontsynonym [SerifBoldItalic] [PalatinoNova-BoldItalic]
+ \definefontsynonym [SerifSlanted] [PalatinoNova-Bold]
+ \definefontsynonym [SerifBoldSlanted] [PalatinoNova-BoldItalic]
+ \definefontsynonym [SerifCaps] [PalatinoNova-MediumSC]
+
+\stoptypescript
+
+\starttypescript [serif] [palatino-nova,palatino-nova-light,palatino-nova-medium] [texnansi,ec,8r]
+
+ \loadmapfile[\typescriptthree-linotype-palatino-nova.map]
+
+ \definefontsynonym[PalatinoNova-Light] [\typescriptthree-PalatinoNova-Light] [encoding=\typescriptthree]
+ \definefontsynonym[PalatinoNova-LightItalic] [\typescriptthree-PalatinoNova-LightItalic] [encoding=\typescriptthree]
+ \definefontsynonym[PalatinoNova-Regular] [\typescriptthree-PalatinoNova-Regular] [encoding=\typescriptthree]
+ \definefontsynonym[PalatinoNova-Italic] [\typescriptthree-PalatinoNova-Italic] [encoding=\typescriptthree]
+ \definefontsynonym[PalatinoNova-Medium] [\typescriptthree-PalatinoNova-Medium] [encoding=\typescriptthree]
+ \definefontsynonym[PalatinoNova-MediumItalic][\typescriptthree-PalatinoNova-MediumItalic][encoding=\typescriptthree]
+ \definefontsynonym[PalatinoNova-Bold] [\typescriptthree-PalatinoNova-Bold] [encoding=\typescriptthree]
+ \definefontsynonym[PalatinoNova-BoldItalic] [\typescriptthree-PalatinoNova-BoldItalic] [encoding=\typescriptthree]
+ \definefontsynonym[PalatinoNova-Imperial] [\typescriptthree-PalatinoNova-Imperial] [encoding=\typescriptthree]
+ \definefontsynonym[PalatinoNova-Titling] [\typescriptthree-PalatinoNova-Titling] [encoding=\typescriptthree]
+
+ \loadmapfile[\typescriptthree-sc-linotype-palatino-nova.map]
+
+ \definefontsynonym[PalatinoNova-LightSC] [\typescriptthree-sc-PalatinoNova-Light] [encoding=\typescriptthree]
+ \definefontsynonym[PalatinoNova-LightItalicSC] [\typescriptthree-sc-PalatinoNova-LightItalic] [encoding=\typescriptthree]
+ \definefontsynonym[PalatinoNova-RegularSC] [\typescriptthree-sc-PalatinoNova-Regular] [encoding=\typescriptthree]
+ \definefontsynonym[PalatinoNova-ItalicSC] [\typescriptthree-sc-PalatinoNova-Italic] [encoding=\typescriptthree]
+ \definefontsynonym[PalatinoNova-MediumSC] [\typescriptthree-sc-PalatinoNova-Medium] [encoding=\typescriptthree]
+ \definefontsynonym[PalatinoNova-MediumItalicSC][\typescriptthree-sc-PalatinoNova-MediumItalic][encoding=\typescriptthree]
+ \definefontsynonym[PalatinoNova-BoldSC] [\typescriptthree-sc-PalatinoNova-Bold] [encoding=\typescriptthree]
+ \definefontsynonym[PalatinoNova-BoldItalicSC] [\typescriptthree-sc-PalatinoNova-BoldItalic] [encoding=\typescriptthree]
+ \definefontsynonym[PalatinoNova-ImperialSC] [\typescriptthree-sc-PalatinoNova-Imperial] [encoding=\typescriptthree]
+ \definefontsynonym[PalatinoNova-TitlingSC] [\typescriptthree-sc-PalatinoNova-Titling] [encoding=\typescriptthree]
+
+\stoptypescript
+
+\starttypescript [map] [palatino-nova,palatino-nova-light,palatino-nova-medium] [texnansi,ec,8r]
+ \loadmapfile[\typescriptthree-linotype-palatino-nova.map]
+ \loadmapfile[\typescriptthree-sc-linotype-palatino-nova.map]
+% \loadmapfile[\typescriptthree-os-linotype-palatino-nova.map]
+\stoptypescript
+
+% aldusnova
+
+\starttypescript [serif] [aldus-nova] [name]
+
+ \definefontsynonym [Serif] [AldusNova-Book]
+ \definefontsynonym [SerifItalic] [AldusNova-BookItalic]
+ \definefontsynonym [SerifBold] [AldusNova-Bold]
+ \definefontsynonym [SerifBoldItalic] [AldusNova-BoldItalic]
+ \definefontsynonym [SerifSlanted] [AldusNova-BookItalic]
+ \definefontsynonym [SerifBoldSlanted] [AldusNova-BoldItalic]
+ \definefontsynonym [SerifCaps] [AldusNova-BookSC]
+
+ \definefontvariant [Serif][sc][Caps]
+
+ \definefontsynonym [SerifCaps] [AldusNova-BookSC]
+ \definefontsynonym [SerifItalicCaps] [AldusNova-BookItalicSC]
+ \definefontsynonym [SerifBoldCaps] [AldusNova-BoldSC]
+ \definefontsynonym [SerifBoldItalicCaps] [AldusNova-BoldItalicSC]
+ \definefontsynonym [SerifSlantedCaps] [AldusNova-BookItalicSC]
+ \definefontsynonym [SerifBoldSlantedCaps] [AldusNova-BoldItalicSC]
+ \definefontsynonym [SerifCapsCaps] [AldusNova-BookSC]
+
+\stoptypescript
+
+\starttypescript [serif] [aldus-nova] [texnansi,ec,8r]
+
+ \loadmapfile[\typescriptthree-linotype-aldus-nova.map]
+
+ \definefontsynonym[AldusNova-Book] [\typescriptthree-AldusNova-Book] [encoding=\typescriptthree]
+ \definefontsynonym[AldusNova-BookItalic] [\typescriptthree-AldusNova-BookItalic] [encoding=\typescriptthree]
+ \definefontsynonym[AldusNova-Bold] [\typescriptthree-AldusNova-Bold] [encoding=\typescriptthree]
+ \definefontsynonym[AldusNova-BoldItalic] [\typescriptthree-AldusNova-BoldItalic] [encoding=\typescriptthree]
+
+ \loadmapfile[\typescriptthree-sc-linotype-aldus-nova.map]
+
+ \definefontsynonym[AldusNova-BookSC] [\typescriptthree-sc-AldusNova-Book] [encoding=\typescriptthree]
+ \definefontsynonym[AldusNova-BookItalicSC] [\typescriptthree-sc-AldusNova-BookItalic] [encoding=\typescriptthree]
+ \definefontsynonym[AldusNova-BoldSC] [\typescriptthree-sc-AldusNova-Bold] [encoding=\typescriptthree]
+ \definefontsynonym[AldusNova-BoldItalicSC] [\typescriptthree-sc-AldusNova-BoldItalic] [encoding=\typescriptthree]
+
+\stoptypescript
+
+\starttypescript [map] [aldus-nova] [texnansi,ec,8r]
+ \loadmapfile[\typescriptthree-linotype-aldus-nova.map]
+ \loadmapfile[\typescriptthree-sc-linotype-aldus-nova.map]
+\stoptypescript
+
% melior
@@ -169,5 +420,6 @@
\loadmapfile[\typescriptthree-linotype-melior.map]
\stoptypescript
+\stoptypescriptcollection
\endinput
diff --git a/tex/context/base/unic-chi.tex b/tex/context/base/unic-chi.tex
new file mode 100644
index 000000000..b8e498690
--- /dev/null
+++ b/tex/context/base/unic-chi.tex
@@ -0,0 +1,26 @@
+%D \module
+%D [ file=unic-chi,
+%D version=2005.12.14,
+%D title=\CONTEXT\ \UNICODE\ Macros,
+%D subtitle=Chinese Vectors,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+% \def\chineseglyph#1#2#3% #1=hex (we know the font anyway), #2=dec, #3=chr
+% {\uchar{#2}{#3}}
+%
+% \dostepwiserecurse{78}{159}{1} % 4E-9F
+% {\expanded{\defineunicodecommand \recurselevel\space {\noexpand\chineseglyph{\lchexnumbers{\recurselevel}}}}}
+
+% \dostepwiserecurse{78}{159}{1}{\defineunicodecommand #1 {\uchar}} % 4E-9F
+
+% temp: we need proper ranges
+
+\dostepwiserecurse{40}{159}{1}{\defineunicodecommand #1 {\uchar}}
+
+\endinput
diff --git a/tex/context/base/unic-ini.tex b/tex/context/base/unic-ini.tex
index 1881eceb2..01cf8b2fa 100644
--- a/tex/context/base/unic-ini.tex
+++ b/tex/context/base/unic-ini.tex
@@ -235,6 +235,7 @@
%D and testing these macros) another 10\%.
\def\@@univector {univ}
+\def\@@unicommand {unic}
\def\@@unknownchar{unknownchar}
%D Now comes the nice part: turning codes into glyphs. The
@@ -401,11 +402,43 @@
\@EA\doutfunihash\@EA{\number\utfdiv{#1}}{#1}\endcsname
\fi}
+%D Well, we also want a plug-in mechanism, so:
+
+\def\utfunihashglyph#1%
+ {\@EA\doutfunihashglyph\@EA{\number\utfdiv{#1}}{#1}} % only div once
+
+\def\doutfunihashglyph#1#2% div raw
+ {\csname
+ \ifnum#2<\utf@i
+ \strippedcsname\unicodeasciicharacter
+ \else\ifcsname\@@unicommand#1\endcsname
+ \@@unicommand#1%
+ \else\ifcsname\@@univector#1\endcsname
+ \@@univector#1%
+ \else
+ \strippedcsname\unicodeunknowncharacter
+ \fi\fi\fi
+ \@EA\endcsname\@EA{\number\utfmod{#2}}}
+
+\def\unicodeunknowncharacter#1%
+ {\unknownchar}
+
%D With:
\let\unicodeasciicharacter\rawcharacter
-%D Now we can say:
+%D Commands are defined with:
+
+\def\defineunicodecommand #1 #2% #2{range number}{char number}
+ {\setvalue{\@@unicommand#1}##1{#2{#1}{##1}}}
+
+%D For instance:
+%D
+%D \starttyping
+%D \defineutfcommand 81 {\uchar}
+%D \stoptyping
+
+%D Now we can also say:
\let\utfunihash\utfunihashglyph
@@ -455,7 +488,8 @@
\def\douseunicodevector#1%
{\ifundefined{\@@univector#1}%
- \readsysfile{\f!unicprefix\threedigits{#1}}
+ % \readsysfile{\f!unicprefix\threedigits{#1}}
+ \readsysfile{\f!unicprefix\doifnumberelse{#1}{\threedigits{#1}}{#1}}
{\writestatus{unicode}{loading vector #1}}
{\writestatus{unicode}{unknown vector #1}}%
\fi}
@@ -665,3 +699,5 @@
% 31, text mem usage first
\protect \endinput
+
+\unprotect
diff --git a/tex/context/interface/keys-cz.xml b/tex/context/interface/keys-cz.xml
index 773028fb2..7def67236 100644
--- a/tex/context/interface/keys-cz.xml
+++ b/tex/context/interface/keys-cz.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="cz" version="2005.12.01">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="cz" version="2005.12.18">
<cd:variables>
<cd:variable name="one" value="jedna"/>
@@ -509,6 +509,7 @@
<cd:variable name="top" value="vrsek"/>
<cd:variable name="wide" value="siroce"/>
<cd:variable name="width" value="sirka"/>
+ <cd:variable name="minwidth" value="minsirka"/>
<cd:variable name="outer" value="vnejsi"/>
<cd:variable name="numbers" value="cisla"/>
<cd:variable name="Numbers" value="Cisla"/>
@@ -555,6 +556,7 @@
<cd:variable name="header" value="zahlavi"/>
<cd:variable name="high" value="vysoko"/>
<cd:variable name="height" value="vyska"/>
+ <cd:variable name="minheight" value="minvyska"/>
<cd:variable name="horizontal" value="horizontalne"/>
<cd:variable name="current" value="aktualni"/>
<cd:variable name="hz" value="hz"/>
@@ -1586,6 +1588,7 @@
<cd:command name="startcolumnmakeup" value="startcolumnmakeup"/>
<cd:command name="stopcolumnmakeup" value="stopcolumnmakeup"/>
<cd:command name="usetypescript" value="usetypescript"/>
+ <cd:command name="usetypescriptfile" value="usetypescriptfile"/>
</cd:commands>
<cd:commands>
diff --git a/tex/context/interface/keys-de.xml b/tex/context/interface/keys-de.xml
index 8eb3cf1d9..d31b5a98c 100644
--- a/tex/context/interface/keys-de.xml
+++ b/tex/context/interface/keys-de.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="de" version="2005.12.01">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="de" version="2005.12.18">
<cd:variables>
<cd:variable name="one" value="eins"/>
@@ -509,6 +509,7 @@
<cd:variable name="top" value="oben"/>
<cd:variable name="wide" value="breit"/>
<cd:variable name="width" value="breite"/>
+ <cd:variable name="minwidth" value="minbreite"/>
<cd:variable name="outer" value="aussen"/>
<cd:variable name="numbers" value="ziffern"/>
<cd:variable name="Numbers" value="Ziffern"/>
@@ -555,6 +556,7 @@
<cd:variable name="header" value="kopfzeile"/>
<cd:variable name="high" value="hoch"/>
<cd:variable name="height" value="hoehe"/>
+ <cd:variable name="minheight" value="minhoehe"/>
<cd:variable name="horizontal" value="horizontal"/>
<cd:variable name="current" value="aktuell"/>
<cd:variable name="hz" value="hz"/>
@@ -1586,6 +1588,7 @@
<cd:command name="startcolumnmakeup" value="startcolumnmakeup"/>
<cd:command name="stopcolumnmakeup" value="stopcolumnmakeup"/>
<cd:command name="usetypescript" value="usetypescript"/>
+ <cd:command name="usetypescriptfile" value="usetypescriptfile"/>
</cd:commands>
<cd:commands>
diff --git a/tex/context/interface/keys-en.xml b/tex/context/interface/keys-en.xml
index 296513d3d..39da2a27c 100644
--- a/tex/context/interface/keys-en.xml
+++ b/tex/context/interface/keys-en.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2005.12.01">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2005.12.18">
<cd:variables>
<cd:variable name="one" value="one"/>
@@ -509,6 +509,7 @@
<cd:variable name="top" value="top"/>
<cd:variable name="wide" value="wide"/>
<cd:variable name="width" value="width"/>
+ <cd:variable name="minwidth" value="minwidth"/>
<cd:variable name="outer" value="outer"/>
<cd:variable name="numbers" value="numbers"/>
<cd:variable name="Numbers" value="Numbers"/>
@@ -555,6 +556,7 @@
<cd:variable name="header" value="header"/>
<cd:variable name="high" value="high"/>
<cd:variable name="height" value="height"/>
+ <cd:variable name="minheight" value="minheight"/>
<cd:variable name="horizontal" value="horizontal"/>
<cd:variable name="current" value="current"/>
<cd:variable name="hz" value="hz"/>
@@ -1586,6 +1588,7 @@
<cd:command name="startcolumnmakeup" value="startcolumnmakeup"/>
<cd:command name="stopcolumnmakeup" value="stopcolumnmakeup"/>
<cd:command name="usetypescript" value="usetypescript"/>
+ <cd:command name="usetypescriptfile" value="usetypescriptfile"/>
</cd:commands>
<cd:commands>
diff --git a/tex/context/interface/keys-it.xml b/tex/context/interface/keys-it.xml
index 805f776ce..cd0bde1de 100644
--- a/tex/context/interface/keys-it.xml
+++ b/tex/context/interface/keys-it.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="it" version="2005.12.01">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="it" version="2005.12.18">
<cd:variables>
<cd:variable name="one" value="uno"/>
@@ -509,6 +509,7 @@
<cd:variable name="top" value="cima"/>
<cd:variable name="wide" value="ampio"/>
<cd:variable name="width" value="ampiezza"/>
+ <cd:variable name="minwidth" value="ampiezzamin"/>
<cd:variable name="outer" value="esterno"/>
<cd:variable name="numbers" value="numeri"/>
<cd:variable name="Numbers" value="Numeri"/>
@@ -555,6 +556,7 @@
<cd:variable name="header" value="intestazione"/>
<cd:variable name="high" value="alto"/>
<cd:variable name="height" value="altezza"/>
+ <cd:variable name="minheight" value="altezzamin"/>
<cd:variable name="horizontal" value="orizzontale"/>
<cd:variable name="current" value="corrente"/>
<cd:variable name="hz" value="hz"/>
@@ -1586,6 +1588,7 @@
<cd:command name="startcolumnmakeup" value="startcolumnmakeup"/>
<cd:command name="stopcolumnmakeup" value="stopcolumnmakeup"/>
<cd:command name="usetypescript" value="usetypescript"/>
+ <cd:command name="usetypescriptfile" value="usetypescriptfile"/>
</cd:commands>
<cd:commands>
diff --git a/tex/context/interface/keys-nl.xml b/tex/context/interface/keys-nl.xml
index 9c24d7845..74856d310 100644
--- a/tex/context/interface/keys-nl.xml
+++ b/tex/context/interface/keys-nl.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="nl" version="2005.12.01">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="nl" version="2005.12.18">
<cd:variables>
<cd:variable name="one" value="een"/>
@@ -509,6 +509,7 @@
<cd:variable name="top" value="boven"/>
<cd:variable name="wide" value="breed"/>
<cd:variable name="width" value="breedte"/>
+ <cd:variable name="minwidth" value="minbreedte"/>
<cd:variable name="outer" value="buiten"/>
<cd:variable name="numbers" value="cijfers"/>
<cd:variable name="Numbers" value="Cijfers"/>
@@ -555,6 +556,7 @@
<cd:variable name="header" value="hoofd"/>
<cd:variable name="high" value="hoog"/>
<cd:variable name="height" value="hoogte"/>
+ <cd:variable name="minheight" value="minhoogte"/>
<cd:variable name="horizontal" value="horizontaal"/>
<cd:variable name="current" value="huidige"/>
<cd:variable name="hz" value="hz"/>
@@ -1586,6 +1588,7 @@
<cd:command name="startcolumnmakeup" value="startkolomopmaak"/>
<cd:command name="stopcolumnmakeup" value="stopkolomopmaak"/>
<cd:command name="usetypescript" value="gebruiktypescript"/>
+ <cd:command name="usetypescriptfile" value="gebruiktypescriptfile"/>
</cd:commands>
<cd:commands>
diff --git a/tex/context/interface/keys-ro.xml b/tex/context/interface/keys-ro.xml
index 2e82a773f..423e8a678 100644
--- a/tex/context/interface/keys-ro.xml
+++ b/tex/context/interface/keys-ro.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="ro" version="2005.12.01">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="ro" version="2005.12.18">
<cd:variables>
<cd:variable name="one" value="unu"/>
@@ -509,6 +509,7 @@
<cd:variable name="top" value="sus"/>
<cd:variable name="wide" value="larg"/>
<cd:variable name="width" value="latime"/>
+ <cd:variable name="minwidth" value="latimeminima"/>
<cd:variable name="outer" value="extern"/>
<cd:variable name="numbers" value="numere"/>
<cd:variable name="Numbers" value="Numere"/>
@@ -555,6 +556,7 @@
<cd:variable name="header" value="antet"/>
<cd:variable name="high" value="inalt"/>
<cd:variable name="height" value="inaltime"/>
+ <cd:variable name="minheight" value="inaltimeminima"/>
<cd:variable name="horizontal" value="orizontal"/>
<cd:variable name="current" value="curent"/>
<cd:variable name="hz" value="hz"/>
@@ -1586,6 +1588,7 @@
<cd:command name="startcolumnmakeup" value="startcolumnmakeup"/>
<cd:command name="stopcolumnmakeup" value="stopcolumnmakeup"/>
<cd:command name="usetypescript" value="usetypescript"/>
+ <cd:command name="usetypescriptfile" value="usetypescriptfile"/>
</cd:commands>
<cd:commands>