diff options
author | Hans Hagen <pragma@wxs.nl> | 2005-12-18 00:00:00 +0100 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2005-12-18 00:00:00 +0100 |
commit | 64393514fca3f8f070dcc0f95955d846780d82e0 (patch) | |
tree | 46bfe6ed3fc6fd7d9e5d2eff1ac25c0fd3cc175f /tex/context/base | |
parent | 6568d73d3c38e34f219c8ff57ca522bcac427ecf (diff) | |
download | context-64393514fca3f8f070dcc0f95955d846780d82e0.tar.gz |
stable 2005.12.18
Diffstat (limited to 'tex/context/base')
29 files changed, 774 insertions, 216 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 |