diff options
Diffstat (limited to 'tex')
27 files changed, 770 insertions, 572 deletions
diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex index 6a8e686b2..c8f16615e 100644 --- a/tex/context/base/cont-new.tex +++ b/tex/context/base/cont-new.tex @@ -24,6 +24,16 @@ \ifx\normalcompound\undefined \let\normalcompound=| \fi +% todo: fast processor + +\def\gettwopassdatalist#1% + {\loadtwopassdata + \ifcsname#1:\s!list\endcsname + \letcscsname\twopassdatalist\csname#1:\s!list\endcsname + \else + \let\twopassdatalist\empty + \fi} + % \def\literateencodedtokens % {% \let\dohandleaccent \keephandleaccent % assumes named chars % defineaccent "e {name} % % \let\dohandlecommand \keephandlecommand % assumes named chars % definecommand crap {name} diff --git a/tex/context/base/cont-sys.ori b/tex/context/base/cont-sys.ori index a37731782..7418f3ef1 100644 --- a/tex/context/base/cont-sys.ori +++ b/tex/context/base/cont-sys.ori @@ -42,8 +42,12 @@ \setupencoding [\s!default=ec] % If you want the default berry names: +% +% \usetypescript [berry] [\defaultencoding] +% +% or, if you also want other encodings: -\usetypescript [berry] [\defaultencoding] +\usetypescript [berry] [\defaultencoding,t5,8r] % texnansi is never present % If you run into missing font metrics kind of problems, % you may want to uncomment: @@ -54,20 +58,9 @@ \autoloadmapfilestrue -% (1) use this when you have a big mapfile -% -% \preloadmapfile[original-base.map] -% \preloadmapfile[ec-base.map] -% \preloadmapfile[8r-base.map] -% \preloadmapfile[qx-base.map] -% \preloadmapfile[t5-base.map] -% \preloadmapfile[texnansi-base.map] -% \preloadmapfile[original-ams-cmr.map] -% \preloadmapfile[original-ams-euler.map] -% \preloadmapfile[original-public-lm.map] -% \preloadmapfile[original-public-plr.map] -% \preloadmapfile[original-public-csr.map] -% \preloadmapfile[original-public-vnr.map] +% (1) you can prevent loading with: +% +% \preloadmapfile[<...somename...>.map] % % (2) otherwise, use this if you have a fast machine % @@ -78,19 +71,24 @@ \resetmapfiles \loadmapfile[original-base.map] +\loadmapfile[texnansi-base.map] \loadmapfile[ec-base.map] -\loadmapfile[8r-base.map] \loadmapfile[qx-base.map] \loadmapfile[t5-base.map] -\loadmapfile[texnansi-base.map] -\loadmapfile[original-ams-cmr.map] +%loadmapfile[il2-base.map] +%loadmapfile[pl0-base.map] +\loadmapfile[8r-base.map] + +\loadmapfile[original-ams-base.map] \loadmapfile[original-ams-euler.map] + \loadmapfile[original-public-lm.map] -\loadmapfile[original-public-plr.map] -\loadmapfile[original-public-csr.map] -\loadmapfile[original-public-vnr.map] \loadmapfile[texnansi-public-lm.map] \loadmapfile[ec-public-lm.map] +\loadmapfile[qx-public-lm.map] +\loadmapfile[t5-public-lm.map] +\loadmapfile[pl0-public-lm.map] +\loadmapfile[il2-public-lm.map] % When you have your own fonts installed, you may want to predefine: % @@ -110,7 +108,7 @@ % Setting up a global figure path % -% \setupexternalfigures [\c!gebied={e:/fig/eps,t:/mine/figs}] +% \setupexternalfigures [\c!directory={e:/fig/eps,t:/mine/figs}] % % Loading a specific special driver: % diff --git a/tex/context/base/cont-usr.ori b/tex/context/base/cont-usr.ori index 4d09e6414..a6d43a747 100644 --- a/tex/context/base/cont-usr.ori +++ b/tex/context/base/cont-usr.ori @@ -45,7 +45,8 @@ \definefilesynonym [lang-sv.pat] [svhyph.tex] % was [sehyph.tex] \definefilesynonym [lang-tr.pat] [tkhyph.tex] % was [trhyph.tex] \definefilesynonym [lang-ua.pat] [ukrenhyp.tex] % sic ukren -\definefilesynonym [lang-uk.pat] [ukhyph.tex] + +\definefilesynonym [lang-uk.pat] [ukhyphen.tex] % symbolic name, see below \definefilesynonym [lang-nl.pat] [nlhyphen.tex] % symbolic name, see below \definefilesynonym [lang-af.pat] [nlhyphen.tex] % symbolic name, see below @@ -81,11 +82,23 @@ %D practical tex conference 2004 in sf. Yet another proof of a mess in %D filenames. So, we now use \type {ushyphen} as name and do some %D searching. - - \doiffileelse{ushyph.tex} {\definefilesynonym[ushyphen.tex][ushyph.tex]} +%D +%D Well, it happened again, this time in 2004/2005. We're now back at +%D \type {hyphen.tex}. At the same time the uk patterns have changed. It +%D clearly demonstrates that those taking care of patterns don't think +%D generic and completely trust this aliasses mechanism in kpse. It's about +%D time that \CONTEXT\ starts shipping its own pattern files again in order +%D to get around this everlasting mess. + + \doiffileelse{hyphen.tex} {\definefilesynonym[ushyphen.tex][hyphen.tex] } +{\doiffileelse{ushyph.tex} {\definefilesynonym[ushyphen.tex][ushyph.tex] } {\doiffileelse{ushyph1.tex} {\definefilesynonym[ushyphen.tex][ushyph1.tex]} -{\doiffileelse{ushyph2.tex} {\definefilesynonym[ushyphen.tex][ushyph2.tex]} - {\definefilesynonym[ushyphen.tex][ukhyph.tex]}}} +{\doiffileelse{ushyph2.tex} {\definefilesynonym[ushyphen.tex][ushyph2.tex]}}}} + + \doiffileelse{ukhyph.tex} {\definefilesynonym[ukhyphen.tex][ukhyph.tex] } +{\doiffileelse{ukhyph1.tex} {\definefilesynonym[ukhyphen.tex][ukhyph1.tex]} +{\doiffileelse{ukhyph2.tex} {\definefilesynonym[ukhyphen.tex][ukhyph2.tex]} + {\definefilesynonym[ukhyphen.tex][hyphen.tex] }}} %D In order to get 8 bit characters hyphenated, we need to load %D patterns under the right circumstances. In some countries, more diff --git a/tex/context/base/core-mis.tex b/tex/context/base/core-mis.tex index 690dfd4f4..db05004b0 100644 --- a/tex/context/base/core-mis.tex +++ b/tex/context/base/core-mis.tex @@ -572,12 +572,30 @@ \languageparameter#1} % actually this is pretty old, but temporary moved here +% +% obsolete: \def\setuphyphenmark {\dodoubleargument\getparameters[\??kp]} \setuphyphenmark - [\c!sign=\compoundhyphen] + [\c!sign=\composedhyphen] + +\installdiscretionaries || \@@kpsign + +% will become: +% +% \installdiscretionaries || \composedhyphen + +\def\composedhyphen + {\discretionary + {\hbox{\directsymbol\empty\c!leftcompoundhyphen}} + {\hbox{\directsymbol\empty\c!rightcompoundhyphen}} + {\hbox{\directsymbol\empty\c!compoundhyphen}}} + +\definesymbol[\c!leftcompoundhyphen] [\languageparameter\c!leftcompoundhyphen] +\definesymbol[\c!rightcompoundhyphen] [\languageparameter\c!rightcompoundhyphen] +\definesymbol[\c!compoundhyphen] [\languageparameter\c!compoundhyphen] \definehspace [sentence] [\zeropoint] \definehspace [intersentence] [.250em] @@ -602,8 +620,6 @@ [\c!rightsubsentence] [\rightboundarycharacter\c!rightsubsentence{sentence}] -\installdiscretionaries || \@@kpsign - \newsignal \subsentencesignal \newcounter\subsentencelevel diff --git a/tex/context/base/enco-pol.tex b/tex/context/base/enco-pol.tex index f3b2e0e25..b05a12f01 100644 --- a/tex/context/base/enco-pol.tex +++ b/tex/context/base/enco-pol.tex @@ -110,146 +110,146 @@ %D Polish CP-1250 encoding. -\startmapping[pl1] - -\definecasemap 185 185 165 % a ogonek -\definecasemap 230 230 198 % c acute -\definecasemap 234 234 202 % e ogonek -\definecasemap 179 179 163 % l crossed -\definecasemap 241 241 209 % n acute -\definecasemap 243 243 211 % o acute -\definecasemap 156 156 140 % s acute -\definecasemap 159 159 143 % z acute -\definecasemap 191 191 175 % z dot - -\definecasemap 165 165 185 % A ogonek -\definecasemap 198 198 230 % C accute -\definecasemap 202 202 234 % E ogonek -\definecasemap 163 163 179 % L crossed -\definecasemap 209 209 241 % N accute -\definecasemap 211 211 243 % O acute -\definecasemap 140 140 156 % S acute -\definecasemap 143 143 159 % Z acute -\definecasemap 175 175 191 % Z dot - -\stopmapping - -\startmapping[pl1] - -\definespacemap 165 999 % A ogonek -\definespacemap 198 999 % C acute -\definespacemap 202 999 % E ogonek -\definespacemap 163 999 % L crossed -\definespacemap 209 999 % N acute -\definespacemap 211 999 % O acute -\definespacemap 140 999 % S acute -\definespacemap 143 999 % Z acute -\definespacemap 175 999 % Z dot - -\stopmapping - -\startencoding[pl1] - -\definecharacter Sacute 140 -\definecharacter Zacute 143 -\definecharacter sacute 156 -\definecharacter zacute 159 -\definecharacter Lstroke 163 -\definecharacter Aogonek 165 -\definecharacter Zdot 175 -\definecharacter lstroke 179 -\definecharacter aogonek 185 -\definecharacter zdot 191 -\definecharacter Caccute 198 -\definecharacter Eogonek 202 -\definecharacter Naccute 209 -\definecharacter Oacute 211 -\definecharacter cacute 230 -\definecharacter eogonek 234 -\definecharacter nacute 241 -\definecharacter oacute 243 - -\stopencoding - -\startencoding[pl1] - -\definecharacter leftguillemot 174 -\definecharacter rightguillemot 175 -\definecharacter guilsingleleft 174 -\definecharacter guilsingleright 175 - -\stopencoding +% \startmapping[pl1] +% +% \definecasemap 185 185 165 % a ogonek +% \definecasemap 230 230 198 % c acute +% \definecasemap 234 234 202 % e ogonek +% \definecasemap 179 179 163 % l crossed +% \definecasemap 241 241 209 % n acute +% \definecasemap 243 243 211 % o acute +% \definecasemap 156 156 140 % s acute +% \definecasemap 159 159 143 % z acute +% \definecasemap 191 191 175 % z dot +% +% \definecasemap 165 165 185 % A ogonek +% \definecasemap 198 198 230 % C accute +% \definecasemap 202 202 234 % E ogonek +% \definecasemap 163 163 179 % L crossed +% \definecasemap 209 209 241 % N accute +% \definecasemap 211 211 243 % O acute +% \definecasemap 140 140 156 % S acute +% \definecasemap 143 143 159 % Z acute +% \definecasemap 175 175 191 % Z dot +% +% \stopmapping +% +% \startmapping[pl1] +% +% \definespacemap 165 999 % A ogonek +% \definespacemap 198 999 % C acute +% \definespacemap 202 999 % E ogonek +% \definespacemap 163 999 % L crossed +% \definespacemap 209 999 % N acute +% \definespacemap 211 999 % O acute +% \definespacemap 140 999 % S acute +% \definespacemap 143 999 % Z acute +% \definespacemap 175 999 % Z dot +% +% \stopmapping +% +% \startencoding[pl1] +% +% \definecharacter Sacute 140 +% \definecharacter Zacute 143 +% \definecharacter sacute 156 +% \definecharacter zacute 159 +% \definecharacter Lstroke 163 +% \definecharacter Aogonek 165 +% \definecharacter Zdot 175 +% \definecharacter lstroke 179 +% \definecharacter aogonek 185 +% \definecharacter zdot 191 +% \definecharacter Caccute 198 +% \definecharacter Eogonek 202 +% \definecharacter Naccute 209 +% \definecharacter Oacute 211 +% \definecharacter cacute 230 +% \definecharacter eogonek 234 +% \definecharacter nacute 241 +% \definecharacter oacute 243 +% +% \stopencoding +% +% \startencoding[pl1] +% +% \definecharacter leftguillemot 174 +% \definecharacter rightguillemot 175 +% \definecharacter guilsingleleft 174 +% \definecharacter guilsingleright 175 +% +% \stopencoding %D Polish ISO-8859-2 encoding. -\startmapping[pl2] - -\definecasemap 177 177 161 % a ogonek -\definecasemap 230 230 198 % c acute -\definecasemap 234 234 202 % e ogonek -\definecasemap 179 179 163 % l crossed -\definecasemap 241 241 209 % n acute -\definecasemap 243 243 211 % o acute -\definecasemap 182 182 166 % s acute -\definecasemap 188 188 172 % z acute -\definecasemap 191 191 175 % z dot - -\definecasemap 161 161 177 % A ogonek -\definecasemap 198 198 230 % C accute -\definecasemap 202 202 234 % E ogonek -\definecasemap 163 163 179 % L crossed -\definecasemap 209 209 241 % N accute -\definecasemap 211 211 243 % O acute -\definecasemap 166 166 182 % S acute -\definecasemap 172 172 188 % Z acute -\definecasemap 175 175 191 % Z dot - -\stopmapping - -\startmapping[pl2] - -\definespacemap 161 999 % A ogonek -\definespacemap 198 999 % C acute -\definespacemap 202 999 % E ogonek -\definespacemap 163 999 % L crossed -\definespacemap 209 999 % N acute -\definespacemap 211 999 % O acute -\definespacemap 166 999 % S acute -\definespacemap 172 999 % Z acute -\definespacemap 175 999 % Z dot - -\stopmapping - -\startencoding[pl2] - -\definecharacter Aogonek 161 -\definecharacter Lstroke 163 -\definecharacter Sacute 166 -\definecharacter Zacute 172 -\definecharacter Zdot 175 -\definecharacter aogonek 177 -\definecharacter lstroke 179 -\definecharacter sacute 182 -\definecharacter zacute 188 -\definecharacter zdot 191 -\definecharacter Caccute 198 -\definecharacter Eogonek 202 -\definecharacter Naccute 209 -\definecharacter Oacute 211 -\definecharacter cacute 230 -\definecharacter eogonek 234 -\definecharacter nacute 241 -\definecharacter oacute 243 - -\stopencoding - -\startencoding[pl2] - -\definecharacter leftguillemot 174 -\definecharacter rightguillemot 175 -\definecharacter guilsingleleft 174 -\definecharacter guilsingleright 175 - -\stopencoding +% \startmapping[pl2] +% +% \definecasemap 177 177 161 % a ogonek +% \definecasemap 230 230 198 % c acute +% \definecasemap 234 234 202 % e ogonek +% \definecasemap 179 179 163 % l crossed +% \definecasemap 241 241 209 % n acute +% \definecasemap 243 243 211 % o acute +% \definecasemap 182 182 166 % s acute +% \definecasemap 188 188 172 % z acute +% \definecasemap 191 191 175 % z dot +% +% \definecasemap 161 161 177 % A ogonek +% \definecasemap 198 198 230 % C accute +% \definecasemap 202 202 234 % E ogonek +% \definecasemap 163 163 179 % L crossed +% \definecasemap 209 209 241 % N accute +% \definecasemap 211 211 243 % O acute +% \definecasemap 166 166 182 % S acute +% \definecasemap 172 172 188 % Z acute +% \definecasemap 175 175 191 % Z dot +% +% \stopmapping +% +% \startmapping[pl2] +% +% \definespacemap 161 999 % A ogonek +% \definespacemap 198 999 % C acute +% \definespacemap 202 999 % E ogonek +% \definespacemap 163 999 % L crossed +% \definespacemap 209 999 % N acute +% \definespacemap 211 999 % O acute +% \definespacemap 166 999 % S acute +% \definespacemap 172 999 % Z acute +% \definespacemap 175 999 % Z dot +% +% \stopmapping +% +% \startencoding[pl2] +% +% \definecharacter Aogonek 161 +% \definecharacter Lstroke 163 +% \definecharacter Sacute 166 +% \definecharacter Zacute 172 +% \definecharacter Zdot 175 +% \definecharacter aogonek 177 +% \definecharacter lstroke 179 +% \definecharacter sacute 182 +% \definecharacter zacute 188 +% \definecharacter zdot 191 +% \definecharacter Caccute 198 +% \definecharacter Eogonek 202 +% \definecharacter Naccute 209 +% \definecharacter Oacute 211 +% \definecharacter cacute 230 +% \definecharacter eogonek 234 +% \definecharacter nacute 241 +% \definecharacter oacute 243 +% +% \stopencoding +% +% \startencoding[pl2] +% +% \definecharacter leftguillemot 174 +% \definecharacter rightguillemot 175 +% \definecharacter guilsingleleft 174 +% \definecharacter guilsingleright 175 +% +% \stopencoding \endinput diff --git a/tex/context/base/enco-t5.tex b/tex/context/base/enco-t5.tex index 8bee0fcef..ee9fa4856 100644 --- a/tex/context/base/enco-t5.tex +++ b/tex/context/base/enco-t5.tex @@ -41,6 +41,7 @@ \definecharacter textdotaccent 10 \definecharacter textcedilla 11 \definecharacter texthookabove 12 +\definecharacter textogonek {} \definecharacter quotesinglebase 13 \definecharacter guilsingleleft 14 diff --git a/tex/context/base/lang-ini.tex b/tex/context/base/lang-ini.tex index 4a906a46d..463a36cd6 100644 --- a/tex/context/base/lang-ini.tex +++ b/tex/context/base/lang-ini.tex @@ -234,7 +234,7 @@ \let\preloadedpmessage\empty \def\showpatterns#1#2#3#4% language number encoding mapping - {#1->#3:#4->#2->\getvalue{\??la#1\s!lefthyphenmin}:\getvalue{\??la#1\s!righthyphenmin}\space} + {#1->#3:#4->#2->\xxlanguageparameter{#1}\s!lefthyphenmin:\xxlanguageparameter{#1}\s!righthyphenmin\space} \def\preloadlanguages {\doifsomething\preloadedpmessage{\showmessage\m!linguals{10}\preloadedpmessage}} @@ -251,53 +251,54 @@ \dodoinstalllanguage{#1}{#1}% \getparameters [\??la#1] - [\s!lefthyphenmin=2, - \s!righthyphenmin=2, - \c!spacing=\v!packed, - \c!midsentence=---, - \c!leftsentence=---, - \c!rightsentence=---, - \c!leftsubsentence=---, - \c!rightsubsentence=---, - \c!leftquote=\upperleftsinglesixquote, - \c!rightquote=\upperrightsingleninequote, - \c!leftquotation=\upperleftdoublesixquote, - \c!rightquotation=\upperrightdoubleninequote, - \c!leftspeech=\getvalue{\??la#1\c!leftquotation}, - \c!middlespeech=, - \c!rightspeech=\getvalue{\??la#1\c!rightquotation}, - \c!limittext=\unknown, - \c!date={\v!year,\ ,\v!month,\ ,\v!day}, - \c!state=\v!stop, + [\c!state=\v!stop, \c!default=, \s!patterns=, \s!mapping=, \s!encoding=, - \c!text=Ag, +% \s!lefthyphenmin=2, +% \s!righthyphenmin=2, +% \c!spacing=\v!packed, +% \c!midsentence=---, +% \c!leftsentence=---, +% \c!rightsentence=---, +% \c!leftsubsentence=---, +% \c!rightsubsentence=---, +% \c!leftquote=\upperleftsinglesixquote, +% \c!rightquote=\upperrightsingleninequote, +% \c!leftquotation=\upperleftdoublesixquote, +% \c!rightquotation=\upperrightdoubleninequote, +% \c!leftspeech=\getvalue{\??la#1\c!leftquotation}, +% \c!middlespeech=, +% \c!rightspeech=\getvalue{\??la#1\c!rightquotation}, +% \c!limittext=\unknown, +% \c!date={\v!year,\ ,\v!month,\ ,\v!day}, +% \c!text=Ag, #2]% - \doifvaluesomething{\??la#1\c!default} - {\doifnotvalue{\??la#1\c!default}{#1} - {\getparameters - [\??la#1] - [\s!lefthyphenmin=\languagedefault{#1}\s!lefthyphenmin, - \s!righthyphenmin=\languagedefault{#1}\s!righthyphenmin, - \c!spacing=\languagedefault{#1}\c!spacing, - \c!leftsentence=\languagedefault{#1}\c!leftsentence, - \c!rightsentence=\languagedefault{#1}\c!rightsentence, - \c!leftsubsentence=\languagedefault{#1}\c!leftsubsentence, - \c!rightsubsentence=\languagedefault{#1}\c!rightsubsentence, - \c!leftquote=\languagedefault{#1}\c!leftquote, - \c!rightquote=\languagedefault{#1}\c!rightquote, - \c!leftquotation=\languagedefault{#1}\c!leftquotation, - \c!rightquotation=\languagedefault{#1}\c!rightquotation, - \c!leftspeech=\languagedefault{#1}\c!leftspeech, - \c!middlespeech=\languagedefault{#1}\c!middlespeech, - \c!rightspeech=\languagedefault{#1}\c!rightspeech, - \c!date=\languagedefault{#1}\c!date, - \s!mapping=\languagedefault{#1}\s!mapping, - \s!encoding=\languagedefault{#1}\s!encoding, - \c!text=\languagedefault{#1}\c!text, - #2]}}}% +% \doifvaluesomething{\??la#1\c!default} +% {\doifnotvalue{\??la#1\c!default}{#1} +% {\getparameters +% [\??la#1] +% [\s!lefthyphenmin=\languagedefault{#1}\s!lefthyphenmin, +% \s!righthyphenmin=\languagedefault{#1}\s!righthyphenmin, +% \c!spacing=\languagedefault{#1}\c!spacing, +% \c!leftsentence=\languagedefault{#1}\c!leftsentence, +% \c!rightsentence=\languagedefault{#1}\c!rightsentence, +% \c!leftsubsentence=\languagedefault{#1}\c!leftsubsentence, +% \c!rightsubsentence=\languagedefault{#1}\c!rightsubsentence, +% \c!leftquote=\languagedefault{#1}\c!leftquote, +% \c!rightquote=\languagedefault{#1}\c!rightquote, +% \c!leftquotation=\languagedefault{#1}\c!leftquotation, +% \c!rightquotation=\languagedefault{#1}\c!rightquotation, +% \c!leftspeech=\languagedefault{#1}\c!leftspeech, +% \c!middlespeech=\languagedefault{#1}\c!middlespeech, +% \c!rightspeech=\languagedefault{#1}\c!rightspeech, +% \c!date=\languagedefault{#1}\c!date, +% \s!mapping=\languagedefault{#1}\s!mapping, +% \s!encoding=\languagedefault{#1}\s!encoding, +% \c!text=\languagedefault{#1}\c!text, +% #2]}}}% +}% \doifvalue{\??la#1\c!default}{#1}{\letvalue{\??la#1\c!default}\empty}% % loop in deo % \doifvalue{\??la#1\s!patterns}{#1}{\letvalue{\??la#1\c!default}\empty}% @@ -446,6 +447,35 @@ \docomplexlanguage \fi} +\setuplanguage + [\s!default] + [\s!lefthyphenmin=2, + \s!righthyphenmin=2, + \c!spacing=\v!packed, + \c!midsentence=---, + \c!leftsentence=---, + \c!rightsentence=---, + \c!leftsubsentence=---, + \c!rightsubsentence=---, + \c!leftquote=\upperleftsinglesixquote, + \c!rightquote=\upperrightsingleninequote, + \c!leftquotation=\upperleftdoublesixquote, + \c!rightquotation=\upperrightdoubleninequote, + \c!leftspeech=\languageparameter\c!leftquotation, + \c!middlespeech=, + \c!rightspeech=\languageparameter\c!rightquotation, + \c!limittext=\unknown, + \c!date={\v!year,\ ,\v!month,\ ,\v!day}, + \c!text=Ag] + +% rather new, split and per language + +\setuplanguage + [\s!default] + [\c!compoundhyphen=\compoundhyphen, + \c!leftcompoundhyphen=\compoundhyphen, + \c!rightcompoundhyphen=] + %D The values \type {leftsentence} and \type %D {rightsentence} can be (and are) used to implement %D automatic subsentence boundary glyphs, like in {\fr @@ -460,8 +490,7 @@ %D Just to make things easy we can ask for the current date %D specification by saying: -\def\currentdatespecification - {\csname\??la\currentlanguage\c!date\endcsname} +\def\currentdatespecification{\languageparameter\c!date} %D This command is not meant for users. @@ -597,10 +626,11 @@ % \ifx\languagemapping\empty\else % \fastenablemapping\languagemapping % \fi - \lefthyphenmin 0\csname\??la\currentlanguage\s!lefthyphenmin \endcsname - \righthyphenmin0\csname\??la\currentlanguage\s!righthyphenmin\endcsname\relax + \lefthyphenmin 0\languageparameter\s!lefthyphenmin + \righthyphenmin0\languageparameter\s!righthyphenmin + \relax % will be definable and move to core-spa ! - \doifelsevalue{\??la\currentlanguage\c!spacing}\v!broad + \doifelse{\languageparameter\c!spacing}\v!broad \nonfrenchspacing\frenchspacing} \ifx\enablelanguagespecifics\undefined @@ -691,13 +721,6 @@ %D {\languagedefault{id}\c!parameter} returns the default's %D parameter. -%\def\defaultlanguage#1% -% {\@EA\ifx\csname\??la#1\c!default\endcsname\empty -% #1% -% \else -% \@EA\defaultlanguage\@EA{\csname\??la#1\c!default\endcsname}% -% \fi} - \def\defaultlanguage#1% {\@EA\ifx\csname\??la#1\c!default\endcsname\empty #1% @@ -708,8 +731,46 @@ \def\languagedefault#1#2% {\csname\??la\defaultlanguage{#1}#2\endcsname} -\def\languageparameter#1% - {\csname\??la\defaultlanguage\currentlanguage#1\endcsname} +% \def\languageparameter#1% +% {\csname\??la\defaultlanguage\currentlanguage#1\endcsname} + +\def\languageparameter + {\@EA\dolanguageparameter\@EA{\defaultlanguage\currentlanguage}} + +\def\xxlanguageparameter#1% + {\@EA\dolanguageparameter\@EA{\defaultlanguage{#1}}} + +\beginETEX + + \def\dolanguageparameter#1#2% + {\csname\??la + \ifcsname\??la\currentlanguage#2\endcsname + \currentlanguage + \else\ifcsname\??la#1#2\endcsname + \@EA\ifx\csname\??la#1#2\endcsname\empty\s!default\else#1\fi + \else + \s!default + \fi\fi + #2\endcsname} + +\endETEX + +\beginTEX + + \def\dolanguageparameter#1#2% + {\csname\??la + \@EA\ifx\csname\??la\currentlanguage#2\endcsname\relax + \@EA\ifx\csname\??la#1#2\endcsname\relax + \s!default + \else + \@EA\ifx\csname\??la#1#2\endcsname\empty\s!default\else#1\fi + \fi + \else + \currentlanguage + \fi + #2\endcsname} + +\endTEX % moved % diff --git a/tex/context/base/mult-con.tex b/tex/context/base/mult-con.tex index 6541696ac..72056cdef 100644 --- a/tex/context/base/mult-con.tex +++ b/tex/context/base/mult-con.tex @@ -409,6 +409,15 @@ subsubsubsubsubsubject: subsubsubsubsubonderwerp subsubsubsubsub rightquote: rechterciteer rightquote rechterzitieren citovatvpravo menzionedestra minicitatdreapta + compoundhyphen: koppelteken compoundhyphen + compoundhyphen compoundhyphen + compoundhyphen compoundhyphen + leftcompoundhyphen: linkerkoppelteken leftcompoundhyphen + leftcompoundhyphen leftcompoundhyphen + leftcompoundhyphen leftcompoundhyphen +rightcompoundhyphen: rechterkoppelteken rightcompoundhyphen + rightcompoundhyphen rightcompoundhyphen + rightcompoundhyphen rightcompoundhyphen midsentence: middenzin midsentence midsentence midsentence midsentence midsentence diff --git a/tex/context/base/page-flt.tex b/tex/context/base/page-flt.tex index 3d395eb88..0e3357a0b 100644 --- a/tex/context/base/page-flt.tex +++ b/tex/context/base/page-flt.tex @@ -677,7 +677,7 @@ \let\twopassfloatdata\realpageno -\def\dosavefloatdata +\def\dosavefloatdata % \expanded {\bgroup \edef\dosavefloatdata {\writeutilitycommand diff --git a/tex/context/base/s-fnt-01.tex b/tex/context/base/s-fnt-01.tex index ad4c9f8cb..a0ff16a22 100644 --- a/tex/context/base/s-fnt-01.tex +++ b/tex/context/base/s-fnt-01.tex @@ -8,13 +8,13 @@ %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 file is used by the \type {texfont.pl} installation -%D script. +%D This file is used by the \type {texfont.pl} installation +%D script. -%D Modes: compact +%D Modes: compact \dontcomplain @@ -55,7 +55,7 @@ \setupinterlinespace \showfont[WhateverName] \fi - \page + \page \egroup}} -\endinput +\endinput diff --git a/tex/context/base/spec-dpx.tex b/tex/context/base/spec-dpx.tex index c665ce289..66884014f 100644 --- a/tex/context/base/spec-dpx.tex +++ b/tex/context/base/spec-dpx.tex @@ -52,7 +52,7 @@ %D %D Literal \PDF\ inclusion is implemented as: -\def\PDFcode #1{\special{pdf: literal #1}} +\def\PDFcode #1{\special{pdf: literal direct #1}} \def\PDFcontentcode#1{\special{pdf: literal #1}} \def\PDFdirectcode #1{\special{pdf: literal direct #1}} diff --git a/tex/context/base/spec-fdf.tex b/tex/context/base/spec-fdf.tex index f8aeb4fba..77660598c 100644 --- a/tex/context/base/spec-fdf.tex +++ b/tex/context/base/spec-fdf.tex @@ -2757,22 +2757,24 @@ % \newif\ifPDFstrokecolor \PDFstrokecolortrue \def\doPDFstartgraymode#1% - {\PDFdirectcode{#1 g\ifPDFstrokecolor\space#1 G\fi}} +% {\PDFdirectcode{#1 g\ifPDFstrokecolor\space#1 G\fi}} + {\PDFcode{#1 g\ifPDFstrokecolor\space#1 G\fi}} \def\doPDFstopgraymode - {\PDFdirectcode{0 g\ifPDFstrokecolor\space0 G\fi}} +% {\PDFdirectcode{0 g\ifPDFstrokecolor\space0 G\fi}} + {\PDFcode{0 g\ifPDFstrokecolor\space0 G\fi}} \def\doPDFstartrgbcolormode#1#2#3% - {\PDFdirectcode{#1 #2 #3 rg\ifPDFstrokecolor\space#1 #2 #3 RG\fi}} +% {\PDFdirectcode{#1 #2 #3 rg\ifPDFstrokecolor\space#1 #2 #3 RG\fi}} + {\PDFcode{#1 #2 #3 rg\ifPDFstrokecolor\space#1 #2 #3 RG\fi}} \def\doPDFstartcmykcolormode#1#2#3#4% - {\PDFdirectcode{#1 #2 #3 #4 k\ifPDFstrokecolor\space#1 #2 #3 #4 K\fi}} +% {\PDFdirectcode{#1 #2 #3 #4 k\ifPDFstrokecolor\space#1 #2 #3 #4 K\fi}} + {\PDFcode{#1 #2 #3 #4 k\ifPDFstrokecolor\space#1 #2 #3 #4 K\fi}} \def\doPDFstartgraycolormode#1% - {\PDFdirectcode{#1 g\ifPDFstrokecolor\space#1 G\fi}} - -% \def\doPDFstartspotcolormode#1#2% -% {\PDFdirectcode{/#1 CS #2 SC /#1 cs #2 sc}} +% {\PDFdirectcode{#1 g\ifPDFstrokecolor\space#1 G\fi}} + {\PDFcode{#1 g\ifPDFstrokecolor\space#1 G\fi}} \def\doPDFstartspotcolormode#1#2% redefining spotcolors is not possible anyway {\ifundefined{pdf:scs:#2}% @@ -2788,16 +2790,19 @@ \fi \egroup \fi - \PDFdirectcode{/#1 cs /#1 CS \PDFgetspotcolorspec{#2}}} +% \PDFdirectcode{/#1 cs /#1 CS \PDFgetspotcolorspec{#2}}} + \PDFcode{/#1 cs /#1 CS \PDFgetspotcolorspec{#2}}} \def\PDFgetspotcolorspec#1% {\executeifdefined{pdf:scs:#1}\empty} % better no default than one with too less args \def\doPDFstartnonecolormode - {\PDFdirectcode{/None CS 1 SC /None cs 1 sc}} +% {\PDFdirectcode{/None CS 1 SC /None cs 1 sc}} + {\PDFcode{/None CS 1 SC /None cs 1 sc}} \def\doPDFstopcolormode - {\PDFdirectcode{0 g\ifPDFstrokecolor\space0 G\fi}} +% {\PDFdirectcode{0 g\ifPDFstrokecolor\space0 G\fi}} + {\PDFcode{0 g\ifPDFstrokecolor\space0 G\fi}} %D We need to register the spot colors and their fallbacks. @@ -2949,13 +2954,15 @@ \def\doPDFstartnegative {\ifx\initializePDFnegative\undefined\else \initializePDFnegative - \PDFdirectcode{/GSnegative gs}% +% \PDFdirectcode{/GSnegative gs}% + \PDFcode{/GSnegative gs}% \fi} \def\doPDFstopnegative {\ifx\initializePDFnegative\undefined\else \initializePDFnegative - \PDFdirectcode{/GSpositive gs}% +% \PDFdirectcode{/GSpositive gs}% + \PDFcode{/GSpositive gs}% \fi} %D \macros @@ -2966,13 +2973,15 @@ \def\doPDFstartoverprint {\ifx\initializePDFoverprint\undefined\else \initializePDFoverprint - \PDFdirectcode{/GSoverprint gs}% +% \PDFdirectcode{/GSoverprint gs}% + \PDFcode{/GSoverprint gs}% \fi} \def\doPDFstopoverprint {\ifx\initializePDFoverprint\undefined\else \initializePDFoverprint - \PDFdirectcode{/GSknockout gs}% +% \PDFdirectcode{/GSknockout gs}% + \PDFcode{/GSknockout gs}% \fi} %D Transparency support (experimental): @@ -2990,10 +2999,12 @@ \def\dodoPDFstarttransparency#1#2% {\presetPDFtransparency{#1}{#2}% - \PDFdirectcode{\PDFtransparencyidentifier\space gs }} +% \PDFdirectcode{\PDFtransparencyidentifier\space gs }} + \PDFcode{\PDFtransparencyidentifier\space gs }} \def\dodoPDFstoptransparency - {\PDFdirectcode{/Tr0 gs }} +% {\PDFdirectcode{/Tr0 gs }} + {\PDFcode{/Tr0 gs }} \def\doPDFstarttransparency {\ifPDFtransparencysupported @@ -3047,8 +3058,11 @@ \let\PDFhidelayers\empty \let\PDFvidelayers\empty -\def\doPDFstartlayer#1{\PDFdirectcode{/OC /#1 BDC}} -\def\doPDFstoplayer {\PDFdirectcode {EMC}} +% \def\doPDFstartlayer#1{\PDFdirectcode{/OC /#1 BDC}} +% \def\doPDFstoplayer {\PDFdirectcode {EMC}} + +\def\doPDFstartlayer#1{\PDFcode{/OC /#1 BDC}} +\def\doPDFstoplayer {\PDFcode {EMC}} % resource -> prop -> mc's -> OCG|OCMD (nested) @@ -3144,19 +3158,20 @@ \def\doPDFstartfonteffect#1#2#3% {\ifdim#2>\zeropoint \PointsToBigPoints{#2}\ascii - \PDFdirectcode{\ascii\space w}% +% \PDFdirectcode{\ascii\space w}% + \PDFcode{\ascii\space w}% \fi \ifdim#3\points=\onepoint\else \scratchdimen#3\points - \PDFdirectcode{\withoutpt{\the\scratchdimen}\space Tc}% +% \PDFdirectcode{\withoutpt{\the\scratchdimen}\space Tc}% + \PDFcode{\withoutpt{\the\scratchdimen}\space Tc}% \fi -% \ifdim#3\points=\onepoint\else -% \PDFcode{#3\space Tc}% -% \fi - \PDFdirectcode{\purenumber#1 Tr}} +% \PDFdirectcode{\purenumber#1 Tr}} + \PDFcode{\purenumber#1 Tr}} \def\doPDFstopfonteffect - {\PDFdirectcode{1 w 0 Tc 0 Tr}} +% {\PDFdirectcode{1 w 0 Tc 0 Tr}} + {\PDFcode{1 w 0 Tc 0 Tr}} %D And that was all. diff --git a/tex/context/base/supp-lan.tex b/tex/context/base/supp-lan.tex index 43c25f755..bd3ac9224 100644 --- a/tex/context/base/supp-lan.tex +++ b/tex/context/base/supp-lan.tex @@ -725,7 +725,10 @@ \checkafterdiscretionary \bgroup \checkbeforediscretionary - \prewordbreak\hbox{\textmodediscretionary\nextnext}\allowbreak\postwordbreak + % this was: + % \prewordbreak\hbox{\textmodediscretionary\nextnext}\allowbreak\postwordbreak + % but an hbox blocks a possible \discretionary + \prewordbreak\textmodediscretionary\nextnext\allowbreak\postwordbreak \egroup \else\convertargument=\to\next\ifx\next\discretionarytoken \prewordbreak\textmodediscretionary @@ -787,7 +790,10 @@ \checkafterdiscretionary \bgroup \checkbeforediscretionary - \prewordbreak\hbox{\textmodediscretionary\nextnext}\allowbreak\postwordbreak + % the next line has been changed (20050203) + % \prewordbreak\hbox{\textmodediscretionary\nextnext}\allowbreak\postwordbreak + % but an hbox blocks a possible \discretionary + \prewordbreak\textmodediscretionary\nextnext\allowbreak\postwordbreak \egroup \fi \else\expandafter\ifx\csname\@tmd@\discretionarytoken\endcsname\relax diff --git a/tex/context/base/type-dis.tex b/tex/context/base/type-dis.tex index 62dd6b2bc..8f44bc31a 100644 --- a/tex/context/base/type-dis.tex +++ b/tex/context/base/type-dis.tex @@ -12,8 +12,10 @@ %C details. %D Unfortunately not all latin modern metrics ship the way we like: +%D +%D Some day I will replace cmr10 etc by their full names. -\starttypescript[all][latin-modern][ec] +\starttypescript[all][latin-modern,computer-modern][ec] \definefontsynonym[ec-lmb10] [cork-lmb10] [encoding=ec] \definefontsynonym[ec-lmbo10] [cork-lmbo10] [encoding=ec] @@ -75,189 +77,234 @@ \stoptypescript -\starttypescript[all][latin-modern][pl0] - - \definefontsynonym[pl0-lmb10] [plb10] [encoding=pl0] - \definefontsynonym[pl0-lmbo10] [plbo10] [encoding=pl0] - \definefontsynonym[pl0-lmbx10] [plbx10] [encoding=pl0] - \definefontsynonym[pl0-lmbx12] [plbx12] [encoding=pl0] - \definefontsynonym[pl0-lmbx5] [plbx5] [encoding=pl0] - \definefontsynonym[pl0-lmbx6] [plbx6] [encoding=pl0] - \definefontsynonym[pl0-lmbx7] [plbx7] [encoding=pl0] - \definefontsynonym[pl0-lmbx8] [plbx8] [encoding=pl0] - \definefontsynonym[pl0-lmbx9] [plbx9] [encoding=pl0] - \definefontsynonym[pl0-lmbxi10] [plbxi10] [encoding=pl0] - \definefontsynonym[pl0-lmbxo10] [plbxo10] [encoding=pl0] - \definefontsynonym[pl0-lmcsc10] [plcsc10] [encoding=pl0] - \definefontsynonym[pl0-lmcsco10][plcsco10][encoding=pl0] - \definefontsynonym[pl0-lmr10] [plr10] [encoding=pl0] - \definefontsynonym[pl0-lmr12] [plr12] [encoding=pl0] - \definefontsynonym[pl0-lmr17] [plr17] [encoding=pl0] - \definefontsynonym[pl0-lmr5] [plr5] [encoding=pl0] - \definefontsynonym[pl0-lmr6] [plr6] [encoding=pl0] - \definefontsynonym[pl0-lmr7] [plr7] [encoding=pl0] - \definefontsynonym[pl0-lmr8] [plr8] [encoding=pl0] - \definefontsynonym[pl0-lmr9] [plr9] [encoding=pl0] - \definefontsynonym[pl0-lmri10] [plri10] [encoding=pl0] - \definefontsynonym[pl0-lmri12] [plri12] [encoding=pl0] - \definefontsynonym[pl0-lmri7] [plri7] [encoding=pl0] - \definefontsynonym[pl0-lmri8] [plri8] [encoding=pl0] - \definefontsynonym[pl0-lmri9] [plri9] [encoding=pl0] - \definefontsynonym[pl0-lmro10] [plro10] [encoding=pl0] - \definefontsynonym[pl0-lmro12] [plro12] [encoding=pl0] - \definefontsynonym[pl0-lmro8] [plro8] [encoding=pl0] - \definefontsynonym[pl0-lmro9] [plro9] [encoding=pl0] - \definefontsynonym[pl0-lmss10] [plss10] [encoding=pl0] - \definefontsynonym[pl0-lmss12] [plss12] [encoding=pl0] - \definefontsynonym[pl0-lmss17] [plss17] [encoding=pl0] - \definefontsynonym[pl0-lmss8] [plss8] [encoding=pl0] - \definefontsynonym[pl0-lmss9] [plss9] [encoding=pl0] - \definefontsynonym[pl0-lmssbo10][plssbo10][encoding=pl0] - \definefontsynonym[pl0-lmssbx10][plssbx10][encoding=pl0] - \definefontsynonym[pl0-lmssdc10][plssdc10][encoding=pl0] - \definefontsynonym[pl0-lmssdo10][plssdo10][encoding=pl0] - \definefontsynonym[pl0-lmsso10] [plsso10] [encoding=pl0] - \definefontsynonym[pl0-lmsso12] [plsso12] [encoding=pl0] - \definefontsynonym[pl0-lmsso17] [plsso17] [encoding=pl0] - \definefontsynonym[pl0-lmsso8] [plsso8] [encoding=pl0] - \definefontsynonym[pl0-lmsso9] [plsso9] [encoding=pl0] - \definefontsynonym[pl0-lmssq8] [plssq8] [encoding=pl0] - \definefontsynonym[pl0-lmssqbo8][plssqbo8][encoding=pl0] - \definefontsynonym[pl0-lmssqbx8][plssqbx8][encoding=pl0] - \definefontsynonym[pl0-lmssqo8] [plssqo8] [encoding=pl0] - \definefontsynonym[pl0-lmtcsc10][pltcsc10][encoding=pl0] - \definefontsynonym[pl0-lmtt10] [pltt10] [encoding=pl0] - \definefontsynonym[pl0-lmtt12] [pltt12] [encoding=pl0] - \definefontsynonym[pl0-lmtt8] [pltt8] [encoding=pl0] - \definefontsynonym[pl0-lmtt9] [pltt9] [encoding=pl0] - \definefontsynonym[pl0-lmtti10] [pltti10] [encoding=pl0] - \definefontsynonym[pl0-lmtto10] [pltto10] [encoding=pl0] - \definefontsynonym[pl0-lmvtt10] [plvtt10] [encoding=pl0] - \definefontsynonym[pl0-lmvtto10][plvtto10][encoding=pl0] +\starttypescript[all][latin-modern,computer-modern][pl0] + + \definefontsynonym[pl0-lmb10] [plb10] [encoding=pl0] + \definefontsynonym[pl0-lmbo10] [plbsl10] [encoding=pl0] + \definefontsynonym[pl0-lmbx10] [plbx10] [encoding=pl0] + \definefontsynonym[pl0-lmbx12] [plbx12] [encoding=pl0] + \definefontsynonym[pl0-lmbx5] [plbx5] [encoding=pl0] + \definefontsynonym[pl0-lmbx6] [plbx6] [encoding=pl0] + \definefontsynonym[pl0-lmbx7] [plbx7] [encoding=pl0] + \definefontsynonym[pl0-lmbx8] [plbx8] [encoding=pl0] + \definefontsynonym[pl0-lmbx9] [plbx9] [encoding=pl0] + \definefontsynonym[pl0-lmbxi10] [plbxti10] [encoding=pl0] + \definefontsynonym[pl0-lmbxo10] [plbxsl10] [encoding=pl0] + \definefontsynonym[pl0-lmcsc10] [plcsc10] [encoding=pl0] + \definefontsynonym[pl0-lmcsco10][plcscsl10][encoding=pl0] + \definefontsynonym[pl0-lmr10] [plr10] [encoding=pl0] + \definefontsynonym[pl0-lmr12] [plr12] [encoding=pl0] + \definefontsynonym[pl0-lmr17] [plr17] [encoding=pl0] + \definefontsynonym[pl0-lmr5] [plr5] [encoding=pl0] + \definefontsynonym[pl0-lmr6] [plr6] [encoding=pl0] + \definefontsynonym[pl0-lmr7] [plr7] [encoding=pl0] + \definefontsynonym[pl0-lmr8] [plr8] [encoding=pl0] + \definefontsynonym[pl0-lmr9] [plr9] [encoding=pl0] + \definefontsynonym[pl0-lmri10] [plti10] [encoding=pl0] + \definefontsynonym[pl0-lmri12] [plti12] [encoding=pl0] + \definefontsynonym[pl0-lmri7] [plti7] [encoding=pl0] + \definefontsynonym[pl0-lmri8] [plti8] [encoding=pl0] + \definefontsynonym[pl0-lmri9] [plti9] [encoding=pl0] + \definefontsynonym[pl0-lmro10] [plsl10] [encoding=pl0] + \definefontsynonym[pl0-lmro12] [plsl12] [encoding=pl0] + \definefontsynonym[pl0-lmro8] [plsl8] [encoding=pl0] + \definefontsynonym[pl0-lmro9] [plsl9] [encoding=pl0] + \definefontsynonym[pl0-lmss10] [plss10] [encoding=pl0] + \definefontsynonym[pl0-lmss12] [plss12] [encoding=pl0] + \definefontsynonym[pl0-lmss17] [plss17] [encoding=pl0] + \definefontsynonym[pl0-lmss8] [plss8] [encoding=pl0] + \definefontsynonym[pl0-lmss9] [plss9] [encoding=pl0] + \definefontsynonym[pl0-lmssbo10][plssbi10] [encoding=pl0] + \definefontsynonym[pl0-lmssbx10][plssbx10] [encoding=pl0] + \definefontsynonym[pl0-lmssdc10][plssdc10] [encoding=pl0] + \definefontsynonym[pl0-lmssdo10][plssdi10] [encoding=pl0] + \definefontsynonym[pl0-lmsso10] [plssi10] [encoding=pl0] + \definefontsynonym[pl0-lmsso12] [plssi12] [encoding=pl0] + \definefontsynonym[pl0-lmsso17] [plssi17] [encoding=pl0] + \definefontsynonym[pl0-lmsso8] [plssi8] [encoding=pl0] + \definefontsynonym[pl0-lmsso9] [plssi9] [encoding=pl0] + \definefontsynonym[pl0-lmssq8] [plssq8] [encoding=pl0] + \definefontsynonym[pl0-lmssqbo8][plssqbi8] [encoding=pl0] + \definefontsynonym[pl0-lmssqbx8][plssqb8] [encoding=pl0] + \definefontsynonym[pl0-lmssqo8] [plssqi8] [encoding=pl0] + \definefontsynonym[pl0-lmtcsc10][pltcsc10] [encoding=pl0] + \definefontsynonym[pl0-lmtt10] [pltt10] [encoding=pl0] + \definefontsynonym[pl0-lmtt12] [pltt12] [encoding=pl0] + \definefontsynonym[pl0-lmtt8] [pltt8] [encoding=pl0] + \definefontsynonym[pl0-lmtt9] [pltt9] [encoding=pl0] + \definefontsynonym[pl0-lmtti10] [pltti10] [encoding=pl0] + \definefontsynonym[pl0-lmtto10] [plsltt10] [encoding=pl0] + \definefontsynonym[pl0-lmvtt10] [plvtt10] [encoding=pl0] + \definefontsynonym[pl0-lmvtto10][plvtti10] [encoding=pl0] \stoptypescript -\starttypescript[all][latin-modern][il2] - - \definefontsynonym[il2-lmb10] [csb10] [encoding=il2] - \definefontsynonym[il2-lmbo10] [csbo10] [encoding=il2] - \definefontsynonym[il2-lmbx10] [csbx10] [encoding=il2] - \definefontsynonym[il2-lmbx12] [csbx12] [encoding=il2] - \definefontsynonym[il2-lmbx5] [csbx5] [encoding=il2] - \definefontsynonym[il2-lmbx6] [csbx6] [encoding=il2] - \definefontsynonym[il2-lmbx7] [csbx7] [encoding=il2] - \definefontsynonym[il2-lmbx8] [csbx8] [encoding=il2] - \definefontsynonym[il2-lmbx9] [csbx9] [encoding=il2] - \definefontsynonym[il2-lmbxi10] [csbxi10] [encoding=il2] - \definefontsynonym[il2-lmbxo10] [csbxo10] [encoding=il2] - \definefontsynonym[il2-lmcsc10] [cscsc10] [encoding=il2] - \definefontsynonym[il2-lmcsco10][cscsco10][encoding=il2] - \definefontsynonym[il2-lmr10] [csr10] [encoding=il2] - \definefontsynonym[il2-lmr12] [csr12] [encoding=il2] - \definefontsynonym[il2-lmr17] [csr17] [encoding=il2] - \definefontsynonym[il2-lmr5] [csr5] [encoding=il2] - \definefontsynonym[il2-lmr6] [csr6] [encoding=il2] - \definefontsynonym[il2-lmr7] [csr7] [encoding=il2] - \definefontsynonym[il2-lmr8] [csr8] [encoding=il2] - \definefontsynonym[il2-lmr9] [csr9] [encoding=il2] - \definefontsynonym[il2-lmri10] [csri10] [encoding=il2] - \definefontsynonym[il2-lmri12] [csri12] [encoding=il2] - \definefontsynonym[il2-lmri7] [csri7] [encoding=il2] - \definefontsynonym[il2-lmri8] [csri8] [encoding=il2] - \definefontsynonym[il2-lmri9] [csri9] [encoding=il2] - \definefontsynonym[il2-lmro10] [csro10] [encoding=il2] - \definefontsynonym[il2-lmro12] [csro12] [encoding=il2] - \definefontsynonym[il2-lmro8] [csro8] [encoding=il2] - \definefontsynonym[il2-lmro9] [csro9] [encoding=il2] - \definefontsynonym[il2-lmss10] [csss10] [encoding=il2] - \definefontsynonym[il2-lmss12] [csss12] [encoding=il2] - \definefontsynonym[il2-lmss17] [csss17] [encoding=il2] - \definefontsynonym[il2-lmss8] [csss8] [encoding=il2] - \definefontsynonym[il2-lmss9] [csss9] [encoding=il2] - \definefontsynonym[il2-lmssbo10][csssbo10][encoding=il2] - \definefontsynonym[il2-lmssbx10][csssbx10][encoding=il2] - \definefontsynonym[il2-lmssdc10][csssdc10][encoding=il2] - \definefontsynonym[il2-lmssdo10][csssdo10][encoding=il2] - \definefontsynonym[il2-lmsso10] [cssso10] [encoding=il2] - \definefontsynonym[il2-lmsso12] [cssso12] [encoding=il2] - \definefontsynonym[il2-lmsso17] [cssso17] [encoding=il2] - \definefontsynonym[il2-lmsso8] [cssso8] [encoding=il2] - \definefontsynonym[il2-lmsso9] [cssso9] [encoding=il2] - \definefontsynonym[il2-lmssq8] [csssq8] [encoding=il2] - \definefontsynonym[il2-lmssqbo8][csssqbo8][encoding=il2] - \definefontsynonym[il2-lmssqbx8][csssqbx8][encoding=il2] - \definefontsynonym[il2-lmssqo8] [csssqo8] [encoding=il2] - \definefontsynonym[il2-lmtcsc10][cstcsc10][encoding=il2] - \definefontsynonym[il2-lmtt10] [cstt10] [encoding=il2] - \definefontsynonym[il2-lmtt12] [cstt12] [encoding=il2] - \definefontsynonym[il2-lmtt8] [cstt8] [encoding=il2] - \definefontsynonym[il2-lmtt9] [cstt9] [encoding=il2] - \definefontsynonym[il2-lmtti10] [cstti10] [encoding=il2] - \definefontsynonym[il2-lmtto10] [cstto10] [encoding=il2] - \definefontsynonym[il2-lmvtt10] [csvtt10] [encoding=il2] - \definefontsynonym[il2-lmvtto10][csvtto10][encoding=il2] +\starttypescript[all][latin-modern,computer-modern][il2] + + \definefontsynonym[il2-lmb10] [csb10] [encoding=il2] + \definefontsynonym[il2-lmbo10] [csbsl10] [encoding=il2] + \definefontsynonym[il2-lmbx10] [csbx10] [encoding=il2] + \definefontsynonym[il2-lmbx12] [csbx12] [encoding=il2] + \definefontsynonym[il2-lmbx5] [csbx5] [encoding=il2] + \definefontsynonym[il2-lmbx6] [csbx6] [encoding=il2] + \definefontsynonym[il2-lmbx7] [csbx7] [encoding=il2] + \definefontsynonym[il2-lmbx8] [csbx8] [encoding=il2] + \definefontsynonym[il2-lmbx9] [csbx9] [encoding=il2] + \definefontsynonym[il2-lmbxi10] [csbxti10] [encoding=il2] + \definefontsynonym[il2-lmbxo10] [csbxsl10] [encoding=il2] + \definefontsynonym[il2-lmcsc10] [cscsc10] [encoding=il2] + \definefontsynonym[il2-lmcsco10][cscscls10][encoding=il2] + \definefontsynonym[il2-lmr10] [csr10] [encoding=il2] + \definefontsynonym[il2-lmr12] [csr12] [encoding=il2] + \definefontsynonym[il2-lmr17] [csr17] [encoding=il2] + \definefontsynonym[il2-lmr5] [csr5] [encoding=il2] + \definefontsynonym[il2-lmr6] [csr6] [encoding=il2] + \definefontsynonym[il2-lmr7] [csr7] [encoding=il2] + \definefontsynonym[il2-lmr8] [csr8] [encoding=il2] + \definefontsynonym[il2-lmr9] [csr9] [encoding=il2] + \definefontsynonym[il2-lmri10] [csti10] [encoding=il2] + \definefontsynonym[il2-lmri12] [csti12] [encoding=il2] + \definefontsynonym[il2-lmri7] [csti7] [encoding=il2] + \definefontsynonym[il2-lmri8] [csti8] [encoding=il2] + \definefontsynonym[il2-lmri9] [csti9] [encoding=il2] + \definefontsynonym[il2-lmro10] [cssl10] [encoding=il2] + \definefontsynonym[il2-lmro12] [cssl12] [encoding=il2] + \definefontsynonym[il2-lmro8] [cssl8] [encoding=il2] + \definefontsynonym[il2-lmro9] [cssl9] [encoding=il2] + \definefontsynonym[il2-lmss10] [csss10] [encoding=il2] + \definefontsynonym[il2-lmss12] [csss12] [encoding=il2] + \definefontsynonym[il2-lmss17] [csss17] [encoding=il2] + \definefontsynonym[il2-lmss8] [csss8] [encoding=il2] + \definefontsynonym[il2-lmss9] [csss9] [encoding=il2] + \definefontsynonym[il2-lmssbo10][csssbi10] [encoding=il2] + \definefontsynonym[il2-lmssbx10][csssbx10] [encoding=il2] + \definefontsynonym[il2-lmssdc10][csssdc10] [encoding=il2] + \definefontsynonym[il2-lmssdo10][csssdi10] [encoding=il2] + \definefontsynonym[il2-lmsso10] [csssi10] [encoding=il2] + \definefontsynonym[il2-lmsso12] [csssi12] [encoding=il2] + \definefontsynonym[il2-lmsso17] [csssi17] [encoding=il2] + \definefontsynonym[il2-lmsso8] [csssi8] [encoding=il2] + \definefontsynonym[il2-lmsso9] [csssi9] [encoding=il2] + \definefontsynonym[il2-lmssq8] [csssq8] [encoding=il2] + \definefontsynonym[il2-lmssqbo8][csssqbi8] [encoding=il2] + \definefontsynonym[il2-lmssqbx8][csssqb8] [encoding=il2] + \definefontsynonym[il2-lmssqo8] [csssqi8] [encoding=il2] + \definefontsynonym[il2-lmtcsc10][cstcsc10] [encoding=il2] + \definefontsynonym[il2-lmtt10] [cstt10] [encoding=il2] + \definefontsynonym[il2-lmtt12] [cstt12] [encoding=il2] + \definefontsynonym[il2-lmtt8] [cstt8] [encoding=il2] + \definefontsynonym[il2-lmtt9] [cstt9] [encoding=il2] + \definefontsynonym[il2-lmtti10] [cstti10] [encoding=il2] + \definefontsynonym[il2-lmtto10] [cssltt10] [encoding=il2] + \definefontsynonym[il2-lmvtt10] [csvtt10] [encoding=il2] + \definefontsynonym[il2-lmvtto10][csvtti10] [encoding=il2] \stoptypescript -\starttypescript[all][latin-modern][t5] - - \definefontsynonym[t5-lmb10] [vnb10] [encoding=t5] - \definefontsynonym[t5-lmbo10] [vnbo10] [encoding=t5] - \definefontsynonym[t5-lmbx10] [vnbx10] [encoding=t5] - \definefontsynonym[t5-lmbx12] [vnbx12] [encoding=t5] - \definefontsynonym[t5-lmbx5] [vnbx5] [encoding=t5] - \definefontsynonym[t5-lmbx6] [vnbx6] [encoding=t5] - \definefontsynonym[t5-lmbx7] [vnbx7] [encoding=t5] - \definefontsynonym[t5-lmbx8] [vnbx8] [encoding=t5] - \definefontsynonym[t5-lmbx9] [vnbx9] [encoding=t5] - \definefontsynonym[t5-lmbxi10] [vnbxi10] [encoding=t5] - \definefontsynonym[t5-lmbxo10] [vnbxo10] [encoding=t5] - \definefontsynonym[t5-lmcsc10] [vncsc10] [encoding=t5] - \definefontsynonym[t5-lmcsco10][vncsco10][encoding=t5] - \definefontsynonym[t5-lmr10] [vnr10] [encoding=t5] - \definefontsynonym[t5-lmr12] [vnr12] [encoding=t5] - \definefontsynonym[t5-lmr17] [vnr17] [encoding=t5] - \definefontsynonym[t5-lmr5] [vnr5] [encoding=t5] - \definefontsynonym[t5-lmr6] [vnr6] [encoding=t5] - \definefontsynonym[t5-lmr7] [vnr7] [encoding=t5] - \definefontsynonym[t5-lmr8] [vnr8] [encoding=t5] - \definefontsynonym[t5-lmr9] [vnr9] [encoding=t5] - \definefontsynonym[t5-lmri10] [vnri10] [encoding=t5] - \definefontsynonym[t5-lmri12] [vnri12] [encoding=t5] - \definefontsynonym[t5-lmri7] [vnri7] [encoding=t5] - \definefontsynonym[t5-lmri8] [vnri8] [encoding=t5] - \definefontsynonym[t5-lmri9] [vnri9] [encoding=t5] - \definefontsynonym[t5-lmro10] [vnro10] [encoding=t5] - \definefontsynonym[t5-lmro12] [vnro12] [encoding=t5] - \definefontsynonym[t5-lmro8] [vnro8] [encoding=t5] - \definefontsynonym[t5-lmro9] [vnro9] [encoding=t5] - \definefontsynonym[t5-lmss10] [vnss10] [encoding=t5] - \definefontsynonym[t5-lmss12] [vnss12] [encoding=t5] - \definefontsynonym[t5-lmss17] [vnss17] [encoding=t5] - \definefontsynonym[t5-lmss8] [vnss8] [encoding=t5] - \definefontsynonym[t5-lmss9] [vnss9] [encoding=t5] - \definefontsynonym[t5-lmssbo10][vnssbo10][encoding=t5] - \definefontsynonym[t5-lmssbx10][vnssbx10][encoding=t5] - \definefontsynonym[t5-lmssdc10][vnssdc10][encoding=t5] - \definefontsynonym[t5-lmssdo10][vnssdo10][encoding=t5] - \definefontsynonym[t5-lmsso10] [vnsso10] [encoding=t5] - \definefontsynonym[t5-lmsso12] [vnsso12] [encoding=t5] - \definefontsynonym[t5-lmsso17] [vnsso17] [encoding=t5] - \definefontsynonym[t5-lmsso8] [vnsso8] [encoding=t5] - \definefontsynonym[t5-lmsso9] [vnsso9] [encoding=t5] - \definefontsynonym[t5-lmssq8] [vnssq8] [encoding=t5] - \definefontsynonym[t5-lmssqbo8][vnssqbo8][encoding=t5] - \definefontsynonym[t5-lmssqbx8][vnssqbx8][encoding=t5] - \definefontsynonym[t5-lmssqo8] [vnssqo8] [encoding=t5] - \definefontsynonym[t5-lmtcsc10][vntcsc10][encoding=t5] - \definefontsynonym[t5-lmtt10] [vntt10] [encoding=t5] - \definefontsynonym[t5-lmtt12] [vntt12] [encoding=t5] - \definefontsynonym[t5-lmtt8] [vntt8] [encoding=t5] - \definefontsynonym[t5-lmtt9] [vntt9] [encoding=t5] - \definefontsynonym[t5-lmtti10] [vntti10] [encoding=t5] - \definefontsynonym[t5-lmtto10] [vntto10] [encoding=t5] - \definefontsynonym[t5-lmvtt10] [vnvtt10] [encoding=t5] - \definefontsynonym[t5-lmvtto10][vnvtto10][encoding=t5] +% we have two sets of tfm files + +\starttypescript[all][latin-modern,computer-modern][t5] + + \definefontsynonym[t5-lmb10] [vnb10] [encoding=t5] + \definefontsynonym[t5-lmbo10] [vnbsl10] [encoding=t5] + \definefontsynonym[t5-lmbx10] [vnbx10] [encoding=t5] + \definefontsynonym[t5-lmbx12] [vnbx12] [encoding=t5] + \definefontsynonym[t5-lmbx5] [vnbx5] [encoding=t5] + \definefontsynonym[t5-lmbx6] [vnbx6] [encoding=t5] + \definefontsynonym[t5-lmbx7] [vnbx7] [encoding=t5] + \definefontsynonym[t5-lmbx8] [vnbx8] [encoding=t5] + \definefontsynonym[t5-lmbx9] [vnbx9] [encoding=t5] + \definefontsynonym[t5-lmbxi10] [vnbxti10] [encoding=t5] + \definefontsynonym[t5-lmbxo10] [vnbxsl10] [encoding=t5] + \definefontsynonym[t5-lmcsc10] [vncsc10] [encoding=t5] + \definefontsynonym[t5-lmcsco10][vncscsl10][encoding=t5] + \definefontsynonym[t5-lmr10] [vnr10] [encoding=t5] + \definefontsynonym[t5-lmr12] [vnr12] [encoding=t5] + \definefontsynonym[t5-lmr17] [vnr17] [encoding=t5] + \definefontsynonym[t5-lmr5] [vnr5] [encoding=t5] + \definefontsynonym[t5-lmr6] [vnr6] [encoding=t5] + \definefontsynonym[t5-lmr7] [vnr7] [encoding=t5] + \definefontsynonym[t5-lmr8] [vnr8] [encoding=t5] + \definefontsynonym[t5-lmr9] [vnr9] [encoding=t5] + \definefontsynonym[t5-lmri10] [vnti10] [encoding=t5] + \definefontsynonym[t5-lmri12] [vnti12] [encoding=t5] + \definefontsynonym[t5-lmri7] [vnti7] [encoding=t5] + \definefontsynonym[t5-lmri8] [vnti8] [encoding=t5] + \definefontsynonym[t5-lmri9] [vnti9] [encoding=t5] + \definefontsynonym[t5-lmro10] [vnsl10] [encoding=t5] + \definefontsynonym[t5-lmro12] [vnsl12] [encoding=t5] + \definefontsynonym[t5-lmro8] [vnsl8] [encoding=t5] + \definefontsynonym[t5-lmro9] [vnsl9] [encoding=t5] + \definefontsynonym[t5-lmss10] [vnss10] [encoding=t5] + \definefontsynonym[t5-lmss12] [vnss12] [encoding=t5] + \definefontsynonym[t5-lmss17] [vnss17] [encoding=t5] + \definefontsynonym[t5-lmss8] [vnss8] [encoding=t5] + \definefontsynonym[t5-lmss9] [vnss9] [encoding=t5] + \definefontsynonym[t5-lmssbo10][vnssbi10] [encoding=t5] + \definefontsynonym[t5-lmssbx10][vnssbx10] [encoding=t5] + \definefontsynonym[t5-lmssdc10][vnssdc10] [encoding=t5] + \definefontsynonym[t5-lmssdo10][vnssdi10] [encoding=t5] + \definefontsynonym[t5-lmsso10] [vnssi10] [encoding=t5] + \definefontsynonym[t5-lmsso12] [vnssi12] [encoding=t5] + \definefontsynonym[t5-lmsso17] [vnssi17] [encoding=t5] + \definefontsynonym[t5-lmsso8] [vnssi8] [encoding=t5] + \definefontsynonym[t5-lmsso9] [vnssi9] [encoding=t5] + \definefontsynonym[t5-lmssq8] [vnssq8] [encoding=t5] + \definefontsynonym[t5-lmssqbo8][vnssqbi8] [encoding=t5] + \definefontsynonym[t5-lmssqbx8][vnssqb8] [encoding=t5] + \definefontsynonym[t5-lmssqo8] [vnssqi8] [encoding=t5] + \definefontsynonym[t5-lmtcsc10][vntcsc10] [encoding=t5] + \definefontsynonym[t5-lmtt10] [vntt10] [encoding=t5] + \definefontsynonym[t5-lmtt12] [vntt12] [encoding=t5] + \definefontsynonym[t5-lmtt8] [vntt8] [encoding=t5] + \definefontsynonym[t5-lmtt9] [vntt9] [encoding=t5] + \definefontsynonym[t5-lmtti10] [vntti10] [encoding=t5] + \definefontsynonym[t5-lmtto10] [vnsltt10] [encoding=t5] + \definefontsynonym[t5-lmvtt10] [vnvtt10] [encoding=t5] + \definefontsynonym[t5-lmvtto10][vnvtti10] [encoding=t5] + +\stoptypescript + +\starttypescript[all][latin-modern][all] + + % fallbacks, no math in latin modern + + \definefontsynonym[lmbsy10] [cmbsy10] + \definefontsynonym[lmbsy5] [cmbsy5] + \definefontsynonym[lmbsy6] [cmbsy7] + \definefontsynonym[lmbsy7] [cmbsy7] + \definefontsynonym[lmbsy8] [cmbsy7] + \definefontsynonym[lmbsy9] [cmbsy10] + \definefontsynonym[lmdunh10][cmdunh10] + \definefontsynonym[lmex10] [cmex10] + \definefontsynonym[lmex7] [cmex10] + \definefontsynonym[lmex8] [cmex10] + \definefontsynonym[lmex9] [cmex10] + \definefontsynonym[lmff10] [cmff10] + \definefontsynonym[lmfi10] [cmfi10] + \definefontsynonym[lmfib8] [cmfib8] + \definefontsynonym[lmmi10] [cmmi10] + \definefontsynonym[lmmi12] [cmmi12] + \definefontsynonym[lmmi5] [cmmi5] + \definefontsynonym[lmmi6] [cmmi6] + \definefontsynonym[lmmi7] [cmmi7] + \definefontsynonym[lmmi8] [cmmi8] + \definefontsynonym[lmmi9] [cmmi9] + \definefontsynonym[lmmib10] [cmmib10] + \definefontsynonym[lmmib5] [cmmib5] + \definefontsynonym[lmmib6] [cmmib7] + \definefontsynonym[lmmib7] [cmmib7] + \definefontsynonym[lmmib8] [cmmib7] + \definefontsynonym[lmmib9] [cmmib10] + \definefontsynonym[lmsy10] [cmsy10] + \definefontsynonym[lmsy5] [cmsy5] + \definefontsynonym[lmsy6] [cmsy6] + \definefontsynonym[lmsy7] [cmsy7] + \definefontsynonym[lmsy8] [cmsy8] + \definefontsynonym[lmsy9] [cmsy9] + \definefontsynonym[lmtex10] [cmtex10] + \definefontsynonym[lmtex8] [cmtex8] + \definefontsynonym[lmtex9] [cmtex9] \stoptypescript @@ -266,7 +313,7 @@ \starttypescript [berry] [8r] -\setupencoding[default=8r] +% \setupencoding[default=8r] \definefontsynonym [8r-utmr8a] [utmr8r] [encoding=8r] \definefontsynonym [8r-utmri8a] [utmri8r] [encoding=8r] @@ -324,7 +371,7 @@ \starttypescript [berry] [ec] -\setupencoding[default=ec] +% \setupencoding[default=ec] \definefontsynonym [ec-utmr8a] [utmr8t] [encoding=ec] \definefontsynonym [ec-utmri8a] [utmri8t] [encoding=ec] @@ -384,7 +431,7 @@ \starttypescript [berry] [texnansi] -\setupencoding[default=texnansi] +% \setupencoding[default=texnansi] \definefontsynonym [texnansi-utmr8a] [utmr8y] [encoding=texnansi] \definefontsynonym [texnansi-utmri8a] [utmri8y] [encoding=texnansi] @@ -442,7 +489,7 @@ \starttypescript [berry] [t5] -\setupencoding[default=t5] +% \setupencoding[default=t5] \definefontsynonym [t5-utmr8a] [utmr8v] [encoding=t5] \definefontsynonym [t5-utmri8a] [utmri8v] [encoding=t5] diff --git a/tex/context/base/type-enc.tex b/tex/context/base/type-enc.tex index bcc6dda0a..e21810ba1 100644 --- a/tex/context/base/type-enc.tex +++ b/tex/context/base/type-enc.tex @@ -24,7 +24,7 @@ % todo: we should consider handling qx in the same maner, remap qx-* in type-dis.tex % todo: cyr fonts should be handled in the same way: t2b-lmr10 -> lbrm1000 -\starttypescript [all] [latin-modern,computer-modern] [texnansi,ec,qx,pl0,t5] +\starttypescript [all] [latin-modern,computer-modern] [texnansi,ec,qx,pl0,il2,t5] % Regular diff --git a/tex/context/base/type-exa.tex b/tex/context/base/type-exa.tex index eb2c2c147..1ae0a3cb7 100644 --- a/tex/context/base/type-exa.tex +++ b/tex/context/base/type-exa.tex @@ -13,7 +13,7 @@ %D A couple of goodies: -\starttypescript [modern] [texnansi,ec,il2,qx,pl0,t5,default] +\starttypescript [modern] [texnansi,ec,qx,il2,pl0,t5,default] \definetypeface [modern] [rm] [serif] [latin-modern] [computer-modern] [encoding=\typescripttwo] \definetypeface [modern] [ss] [sans] [latin-modern] [computer-modern] [encoding=\typescripttwo] @@ -22,7 +22,16 @@ \stoptypescript -\starttypescript [modern-base] [texnansi,ec,qx,il2,t2a,pl0,t5,default] +\starttypescript [modern-base] [texnansi,ec,qx,pl0,il2,t5,default] + + \definetypeface [modern] [rm] [serif] [latin-modern] [default] [encoding=\typescripttwo] + \definetypeface [modern] [ss] [sans] [latin-modern] [default] [encoding=\typescripttwo] + \definetypeface [modern] [tt] [mono] [latin-modern] [default] [encoding=\typescripttwo] + \definetypeface [modern] [mm] [math] [latin-modern] [default] [encoding=\typescripttwo] + +\stoptypescript + +\starttypescript [modern-base] [t2a,t2b,t2c] \definetypeface [modern] [rm] [serif] [computer-modern] [default] [encoding=\typescripttwo] \definetypeface [modern] [ss] [sans] [computer-modern] [default] [encoding=\typescripttwo] diff --git a/tex/context/base/type-ini.tex b/tex/context/base/type-ini.tex index a7278714a..8123b7005 100644 --- a/tex/context/base/type-ini.tex +++ b/tex/context/base/type-ini.tex @@ -11,11 +11,30 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -% wat te doen met casual, evt `cs', danwel een manier om te -% mappen (zie showcase) - \writestatus{loading}{Context Typescript Macros (ini)} +% torture test : proper typefaces (and namespace) +% +% \starttext +% \usetypescript[modern][default] default: \setupbodyfont[modern] \eacute \eogonek \zcaron \acircumflexgrave +% \usetypescript[modern][texnansi] texnansi: \setupbodyfont[modern] \eacute \eogonek \zcaron \acircumflexgrave +% \usetypescript[modern][ec] ec: \setupbodyfont[modern] \eacute \eogonek \zcaron \acircumflexgrave +% \usetypescript[modern][qx] qx: \setupbodyfont[modern] \eacute \eogonek \zcaron \acircumflexgrave +% \usetypescript[modern][il2] il2: \setupbodyfont[modern] \eacute \eogonek \zcaron \acircumflexgrave +% \usetypescript[modern][pl0] pl0: \setupbodyfont[modern] \eacute \eogonek \zcaron \acircumflexgrave +% \usetypescript[modern][t5] t5: \setupbodyfont[modern] \eacute \eogonek \zcaron \acircumflexgrave +% \stoptext +% +% torture test : no typeface, just definitions +% +% \starttext +% {\setupbodyfont[reset] \setupbodyfont[cmr] cmr: \eacute \eogonek \zcaron \acircumflexgrave \endgraf} +% {\setupbodyfont[reset] \setupbodyfont[plr] plr: \eacute \eogonek \zcaron \acircumflexgrave \endgraf} +% {\setupbodyfont[reset] \setupbodyfont[csr] csr: \eacute \eogonek \zcaron \acircumflexgrave \endgraf} +% {\setupbodyfont[reset] \setupbodyfont[vnr] vnr: \eacute \eogonek \zcaron \acircumflexgrave \endgraf} +% {\setupbodyfont[reset] \setupbodyfont[aer] aer: \eacute \eogonek \zcaron \acircumflexgrave \endgraf} +% \stoptext + \unprotect \let\typescriptfiles\empty diff --git a/tex/context/base/type-map.tex b/tex/context/base/type-map.tex index 078616800..5495d2a3d 100644 --- a/tex/context/base/type-map.tex +++ b/tex/context/base/type-map.tex @@ -16,21 +16,30 @@ \starttypescript [map] [base] [all] \loadmapfile[original-base.map] \loadmapfile[ec-base.map] + \loadmapfile[texnansi-base.map] \loadmapfile[8r-base.map] \loadmapfile[qx-base.map] \loadmapfile[t5-base.map] - \loadmapfile[texnansi-base.map] - \loadmapfile[original-ams-cmr.map] +\stoptypescript + +\starttypescript [map] [base] [all] + \loadmapfile[original-ams-base.map] +% \loadmapfile[original-ams-cmr.map] \loadmapfile[original-ams-euler.map] \loadmapfile[original-public-lm.map] - \loadmapfile[original-public-plr.map] - \loadmapfile[original-public-csr.map] - \loadmapfile[original-public-vnr.map] \stoptypescript +% per 20050201 we moved to latin modern for plr/csr/vnr +% +% \starttypescript [map] [base] [all] +% \loadmapfile[original-public-plr.map] +% \loadmapfile[original-public-csr.map] +% \loadmapfile[original-public-vnr.map] +% \stoptypescript + % This is the base map file, load it to be sure. -\starttypescript [map] [all] [ec,8r,texnansi] +\starttypescript [map] [all] [ec,8r,texnansi,qx,t5,pl0,il2] \loadmapfile[original-base.map] \loadmapfile[\typescriptthree-base.map] \stoptypescript @@ -43,25 +52,45 @@ % cmr and related -\starttypescript [map] [cmr] - \loadmapfile[original-ams-cmr.map] +% \starttypescript [map] [cmr] +% \loadmapfile[original-ams-cmr.map] +% \loadmapfile[original-ams-euler.map] +% \stoptypescript +% +% \starttypescript [map] [lm,lmr] +% \loadmapfile[original-public-lm.map] +% \stoptypescript + +\starttypescript [map] [cmr,lm,lmr] + \loadmapfile[original-public-lm.map] + \loadmapfile[original-ams-base.map] \loadmapfile[original-ams-euler.map] \stoptypescript +% per 20050201 we moved to latin modern for plr/csr/vnr +% +% \starttypescript [map] [il2,csr] +% \loadmapfile[original-public-csr.map] +% \stoptypescript +% +% \starttypescript [map] [pl0,plr] +% \loadmapfile[original-public-plr.map] +% \stoptypescript +% +% \starttypescript [map] [vnr] +% \loadmapfile[original-public-vnr.map] +% \stoptypescript + \starttypescript [map] [il2,csr] - \loadmapfile[original-public-csr.map] + \loadmapfile[il2-public-lm.map] \stoptypescript \starttypescript [map] [pl0,plr] - \loadmapfile[original-public-plr.map] -\stoptypescript - -\starttypescript [map] [lm,lmr] - \loadmapfile[original-public-lm.map] + \loadmapfile[pl0-public-lm.map] \stoptypescript -\starttypescript [map] [vnr] - \loadmapfile[original-public-vnr.map] +\starttypescript [map] [t5,vnr] + \loadmapfile[t5-public-lm.map] \stoptypescript % cyrillic @@ -70,9 +99,9 @@ \loadmapfile[cm-super-\typescriptthree.map] \stoptypescript -% latin modern (t5 to be done) +% latin modern -\starttypescript [map] [latin-modern] [ec,texnansi,qx,t5,pl0] +\starttypescript [map] [latin-modern] [ec,texnansi,qx,t5,pl0,il2] \loadmapfile[\typescriptthree-public-lm.map] \loadmapfile[\typescriptthree-var-exclusive-public-lm.map] \stoptypescript diff --git a/tex/context/base/type-pre.tex b/tex/context/base/type-pre.tex index 9d7817b78..eecda501e 100644 --- a/tex/context/base/type-pre.tex +++ b/tex/context/base/type-pre.tex @@ -14,18 +14,13 @@ %D This file defines some typescripts that simulate the pre-typescript way %D of defining fonts. This file will not be extended. -%D default font cmr,ams,rm,12pt - %D The Computer Modern Roman is derived from the Monotype~8a %D Times Roman. In this module, that is loaded by default, we %D define all relevant alternatives. \starttypescript [cmr] - \usetypescript [serif,sans,mono,math] [computer-modern,latin-modern] [default,name,size] - \usemathcollection[default] - \stoptypescript %D This script remaps the default Computer Modern Font Files @@ -33,92 +28,69 @@ %D latin modern ec variants have replaed the ae ones.) \starttypescript [aer] - \usetypescript [serif,sans,mono,math] [computer-modern,latin-modern] [default,name,size,ec] - \usemathcollection[default] - \stoptypescript %D This script defines the Computer Modern Roman with iso %D latin 2 encoding, as needed for Czech and other languages. \starttypescript [csr] - \usetypescript [serif,sans,mono,math] [computer-modern,latin-modern] [default,name,size,il2] - \usemathcollection[default] - \stoptypescript %D This script defines the Computer Modern Roman with a %D polish encoding, as needed for Czech and other languages. \starttypescript [plr] - \usetypescript [serif,sans,mono,math] [computer-modern,latin-modern] [default,name,size,pl0] - \usemathcollection[default] +\stoptypescript + +%D Vietnamese. +\starttypescript [vnr] + \usetypescript [serif,sans,mono,math] [computer-modern,latin-modern] [default,name,size,t5] + \usemathcollection[default] \stoptypescript %D Cyrillic alternatives are available under the symbolic %D name \type {cyr}. \starttypescript [cyr] - \usetypescript [serif,sans,mono,math] [computer-modern,latin-modern] [default,name,size,cyr] - \usemathcollection[default] - \stoptypescript \starttypescript [lh-ec] - \usetypescript [serif,sans,mono,math] [computer-modern,latin-modern] [default,name,size,ec] - \usemathcollection[default] - \stoptypescript \starttypescript [lh-t2a] - \usetypescript [serif,sans,mono,math] [computer-modern,latin-modern] [default,name,size,t2a] - \usemathcollection[default] - \stoptypescript \starttypescript [lh-t2b] - \usetypescript [serif,sans,mono,math] [computer-modern,latin-modern] [default,name,size,t2b] - \usemathcollection[default] - \stoptypescript \starttypescript [lh-t2c] - \usetypescript [serif,sans,mono,math] [computer-modern,latin-modern] [default,name,size,t2c] - \usemathcollection [default] - \stoptypescript \starttypescript [lh-x2] - \usetypescript [serif,sans,mono,math] [computer-modern,latin-modern] [default,name,size,x2] - \usemathcollection [default] - \stoptypescript \starttypescript [lh-lcy] - \usetypescript [serif,sans,mono,math] [computer-modern,latin-modern] [default,name,size,lcy] - \usemathcollection [default] - \stoptypescript %D Here we implement the symbol fonts as provided by the @@ -126,33 +98,24 @@ %D can be found in The Joy of \TeX\ by M.~Spivak. \starttypescript [ams] - \usetypescript [math] [ams] [all] - \usemathcollection[default] - \stoptypescript %D The Concrete Modern Roman is just an alternative Computer %D Modern Roman. \starttypescript [con] - \usetypescript [serif] [concrete] [all] - \usemathcollection[default] - \stoptypescript %D The Euler Fonts are designed by Herman Zapf and can be %D used with the Concrete Fonts defined elsewhere. \starttypescript [eul] - \usetypescript [math] [euler] [all] - \usemathcollection[eul] - \stoptypescript %D The Lucida Bright fonts are both good looking and and @@ -163,14 +126,10 @@ %D fonts come in one design size. \starttypescript [lbr] - \usetypescript [serif,sans,mono,math,calligraphy,handwriting] [lucida] [name,special,\defaultencoding] \usetypescript [serif,sans,mono,math,calligraphy,handwriting] [default] [size] - \usemathcollection[lbr] - \usetypescript [all] [lucida] [\defaultencoding] - \stoptypescript % %D With thanks to Berthold Horn from YandY for providing me @@ -179,14 +138,10 @@ % todo: \starttypescript [mt,tim] \starttypescript [tim] - \usetypescript [math] [times] [all] \usetypescript [math] [default] [size] - \usemathcollection[tim] - \usetypescript [all] [times] [\defaultencoding] - \stoptypescript %D The Antikwa Torunska font family is a rather nice @@ -194,73 +149,54 @@ %D language, it can be used for other languages as well. \starttypescript [ant] - \usetypescript [serif] [antykwa-torunska] [name,\defaultencoding] \usetypescript [serif] [default] [size] - \usetypescript [all] [antykwa-torunska] [\defaultencoding] - \stoptypescript %D This script defines the Standard Adobe Courier fonts. \starttypescript [pcr] - \usetypescript [mono] [courier] [name,\defaultencoding] \usetypescript [mono] [default] [size] - \usetypescript [all] [courier] [\defaultencoding] - \stoptypescript %D This script defines the Standard Adobe Helvetica fonts. \starttypescript [phv] - \usetypescript [sans] [helvetica] [name,\defaultencoding] \usetypescript [sans] [default] [size] - \usetypescript [all] [helvetica] [\defaultencoding] - \stoptypescript %D This script defines the Standard Adobe Times fonts. \starttypescript [ptm] - \usetypescript [serif] [times] [name,\defaultencoding] \usetypescript [serif] [default] [size] - \usetypescript [all] [times] [\defaultencoding] - \stoptypescript %D This script loads the Adobe Times Roman, Helvetica and %D Courier. \starttypescript [pos] - \usetypescript [serif] [times] [name,\defaultencoding] \usetypescript [sans] [helvetica] [name,\defaultencoding] \usetypescript [mono] [courier] [name,\defaultencoding] - \usetypescript [serif,sans,mono] [default] [size] - % \usetypescript [math] [times] [all] % \usetypescript [math] [default] [size] - \usetypescript [all] [times,helvetica,courier] [\defaultencoding] - \stoptypescript %D This script defines the Palatino font. \starttypescript [ppl] - \usetypescript [serif] [palatino] [name,\defaultencoding] \usetypescript [serif] [default] [size] \usetypescript [all] [palatino] [\defaultencoding] - \stoptypescript %D The following scripts fake the old \type {font-ber} and @@ -273,7 +209,7 @@ %D But for old time sake we provide: \starttypescript[ber] - \usetypescript [berry] [ec] + \usetypescript [berry] [ec,t5] % could be [all] \stoptypescript \endinput diff --git a/tex/context/config/cont-usr.tex b/tex/context/config/cont-usr.tex index 4d09e6414..a6d43a747 100644 --- a/tex/context/config/cont-usr.tex +++ b/tex/context/config/cont-usr.tex @@ -45,7 +45,8 @@ \definefilesynonym [lang-sv.pat] [svhyph.tex] % was [sehyph.tex] \definefilesynonym [lang-tr.pat] [tkhyph.tex] % was [trhyph.tex] \definefilesynonym [lang-ua.pat] [ukrenhyp.tex] % sic ukren -\definefilesynonym [lang-uk.pat] [ukhyph.tex] + +\definefilesynonym [lang-uk.pat] [ukhyphen.tex] % symbolic name, see below \definefilesynonym [lang-nl.pat] [nlhyphen.tex] % symbolic name, see below \definefilesynonym [lang-af.pat] [nlhyphen.tex] % symbolic name, see below @@ -81,11 +82,23 @@ %D practical tex conference 2004 in sf. Yet another proof of a mess in %D filenames. So, we now use \type {ushyphen} as name and do some %D searching. - - \doiffileelse{ushyph.tex} {\definefilesynonym[ushyphen.tex][ushyph.tex]} +%D +%D Well, it happened again, this time in 2004/2005. We're now back at +%D \type {hyphen.tex}. At the same time the uk patterns have changed. It +%D clearly demonstrates that those taking care of patterns don't think +%D generic and completely trust this aliasses mechanism in kpse. It's about +%D time that \CONTEXT\ starts shipping its own pattern files again in order +%D to get around this everlasting mess. + + \doiffileelse{hyphen.tex} {\definefilesynonym[ushyphen.tex][hyphen.tex] } +{\doiffileelse{ushyph.tex} {\definefilesynonym[ushyphen.tex][ushyph.tex] } {\doiffileelse{ushyph1.tex} {\definefilesynonym[ushyphen.tex][ushyph1.tex]} -{\doiffileelse{ushyph2.tex} {\definefilesynonym[ushyphen.tex][ushyph2.tex]} - {\definefilesynonym[ushyphen.tex][ukhyph.tex]}}} +{\doiffileelse{ushyph2.tex} {\definefilesynonym[ushyphen.tex][ushyph2.tex]}}}} + + \doiffileelse{ukhyph.tex} {\definefilesynonym[ukhyphen.tex][ukhyph.tex] } +{\doiffileelse{ukhyph1.tex} {\definefilesynonym[ukhyphen.tex][ukhyph1.tex]} +{\doiffileelse{ukhyph2.tex} {\definefilesynonym[ukhyphen.tex][ukhyph2.tex]} + {\definefilesynonym[ukhyphen.tex][hyphen.tex] }}} %D In order to get 8 bit characters hyphenated, we need to load %D patterns under the right circumstances. In some countries, more diff --git a/tex/context/interface/keys-cz.xml b/tex/context/interface/keys-cz.xml index f85d18224..b102587c8 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.01.31"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="cz" version="2005.02.03"> <cd:variables> <cd:variable name="one" value="jedna"/> @@ -120,6 +120,9 @@ <cd:constant name="rightquotation" value="citacevpravo"/> <cd:constant name="leftquote" value="citovatvlevo"/> <cd:constant name="rightquote" value="citovatvpravo"/> + <cd:constant name="compoundhyphen" value="compoundhyphen"/> + <cd:constant name="leftcompoundhyphen" value="leftcompoundhyphen"/> + <cd:constant name="rightcompoundhyphen" value="rightcompoundhyphen"/> <cd:constant name="midsentence" value="midsentence"/> <cd:constant name="leftsentence" value="vetavlevo"/> <cd:constant name="rightsentence" value="vetavpravo"/> diff --git a/tex/context/interface/keys-de.xml b/tex/context/interface/keys-de.xml index c35efdd57..057b859f0 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.01.31"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="de" version="2005.02.03"> <cd:variables> <cd:variable name="one" value="eins"/> @@ -120,6 +120,9 @@ <cd:constant name="rightquotation" value="rechterzitat"/> <cd:constant name="leftquote" value="linkerzitieren"/> <cd:constant name="rightquote" value="rechterzitieren"/> + <cd:constant name="compoundhyphen" value="compoundhyphen"/> + <cd:constant name="leftcompoundhyphen" value="leftcompoundhyphen"/> + <cd:constant name="rightcompoundhyphen" value="rightcompoundhyphen"/> <cd:constant name="midsentence" value="midsentence"/> <cd:constant name="leftsentence" value="linkersatz"/> <cd:constant name="rightsentence" value="rechtersatz"/> diff --git a/tex/context/interface/keys-en.xml b/tex/context/interface/keys-en.xml index d56a98c82..8e82a9161 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.01.31"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2005.02.03"> <cd:variables> <cd:variable name="one" value="one"/> @@ -120,6 +120,9 @@ <cd:constant name="rightquotation" value="rightquotation"/> <cd:constant name="leftquote" value="leftquote"/> <cd:constant name="rightquote" value="rightquote"/> + <cd:constant name="compoundhyphen" value="compoundhyphen"/> + <cd:constant name="leftcompoundhyphen" value="leftcompoundhyphen"/> + <cd:constant name="rightcompoundhyphen" value="rightcompoundhyphen"/> <cd:constant name="midsentence" value="midsentence"/> <cd:constant name="leftsentence" value="leftsentence"/> <cd:constant name="rightsentence" value="rightsentence"/> diff --git a/tex/context/interface/keys-it.xml b/tex/context/interface/keys-it.xml index 9b7900ecd..cd046cf89 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.01.31"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="it" version="2005.02.03"> <cd:variables> <cd:variable name="one" value="uno"/> @@ -120,6 +120,9 @@ <cd:constant name="rightquotation" value="citazionedestra"/> <cd:constant name="leftquote" value="menzionesinistra"/> <cd:constant name="rightquote" value="menzionedestra"/> + <cd:constant name="compoundhyphen" value="compoundhyphen"/> + <cd:constant name="leftcompoundhyphen" value="leftcompoundhyphen"/> + <cd:constant name="rightcompoundhyphen" value="rightcompoundhyphen"/> <cd:constant name="midsentence" value="midsentence"/> <cd:constant name="leftsentence" value="frasesinistra"/> <cd:constant name="rightsentence" value="frasedestra"/> diff --git a/tex/context/interface/keys-nl.xml b/tex/context/interface/keys-nl.xml index 08c585550..8d9373e96 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.01.31"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="nl" version="2005.02.03"> <cd:variables> <cd:variable name="one" value="een"/> @@ -120,6 +120,9 @@ <cd:constant name="rightquotation" value="rechtercitaat"/> <cd:constant name="leftquote" value="linkerciteer"/> <cd:constant name="rightquote" value="rechterciteer"/> + <cd:constant name="compoundhyphen" value="koppelteken"/> + <cd:constant name="leftcompoundhyphen" value="linkerkoppelteken"/> + <cd:constant name="rightcompoundhyphen" value="rechterkoppelteken"/> <cd:constant name="midsentence" value="middenzin"/> <cd:constant name="leftsentence" value="linkerzin"/> <cd:constant name="rightsentence" value="rechterzin"/> diff --git a/tex/context/interface/keys-ro.xml b/tex/context/interface/keys-ro.xml index e505f8d2f..e78d95e91 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.01.31"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="ro" version="2005.02.03"> <cd:variables> <cd:variable name="one" value="unu"/> @@ -120,6 +120,9 @@ <cd:constant name="rightquotation" value="citatdreapta"/> <cd:constant name="leftquote" value="minicitatstanga"/> <cd:constant name="rightquote" value="minicitatdreapta"/> + <cd:constant name="compoundhyphen" value="compoundhyphen"/> + <cd:constant name="leftcompoundhyphen" value="leftcompoundhyphen"/> + <cd:constant name="rightcompoundhyphen" value="rightcompoundhyphen"/> <cd:constant name="midsentence" value="midsentence"/> <cd:constant name="leftsentence" value="propozitiestanga"/> <cd:constant name="rightsentence" value="propozitiedreapta"/> diff --git a/tex/context/user/cont-sys.rme b/tex/context/user/cont-sys.rme index a37731782..7418f3ef1 100644 --- a/tex/context/user/cont-sys.rme +++ b/tex/context/user/cont-sys.rme @@ -42,8 +42,12 @@ \setupencoding [\s!default=ec] % If you want the default berry names: +% +% \usetypescript [berry] [\defaultencoding] +% +% or, if you also want other encodings: -\usetypescript [berry] [\defaultencoding] +\usetypescript [berry] [\defaultencoding,t5,8r] % texnansi is never present % If you run into missing font metrics kind of problems, % you may want to uncomment: @@ -54,20 +58,9 @@ \autoloadmapfilestrue -% (1) use this when you have a big mapfile -% -% \preloadmapfile[original-base.map] -% \preloadmapfile[ec-base.map] -% \preloadmapfile[8r-base.map] -% \preloadmapfile[qx-base.map] -% \preloadmapfile[t5-base.map] -% \preloadmapfile[texnansi-base.map] -% \preloadmapfile[original-ams-cmr.map] -% \preloadmapfile[original-ams-euler.map] -% \preloadmapfile[original-public-lm.map] -% \preloadmapfile[original-public-plr.map] -% \preloadmapfile[original-public-csr.map] -% \preloadmapfile[original-public-vnr.map] +% (1) you can prevent loading with: +% +% \preloadmapfile[<...somename...>.map] % % (2) otherwise, use this if you have a fast machine % @@ -78,19 +71,24 @@ \resetmapfiles \loadmapfile[original-base.map] +\loadmapfile[texnansi-base.map] \loadmapfile[ec-base.map] -\loadmapfile[8r-base.map] \loadmapfile[qx-base.map] \loadmapfile[t5-base.map] -\loadmapfile[texnansi-base.map] -\loadmapfile[original-ams-cmr.map] +%loadmapfile[il2-base.map] +%loadmapfile[pl0-base.map] +\loadmapfile[8r-base.map] + +\loadmapfile[original-ams-base.map] \loadmapfile[original-ams-euler.map] + \loadmapfile[original-public-lm.map] -\loadmapfile[original-public-plr.map] -\loadmapfile[original-public-csr.map] -\loadmapfile[original-public-vnr.map] \loadmapfile[texnansi-public-lm.map] \loadmapfile[ec-public-lm.map] +\loadmapfile[qx-public-lm.map] +\loadmapfile[t5-public-lm.map] +\loadmapfile[pl0-public-lm.map] +\loadmapfile[il2-public-lm.map] % When you have your own fonts installed, you may want to predefine: % @@ -110,7 +108,7 @@ % Setting up a global figure path % -% \setupexternalfigures [\c!gebied={e:/fig/eps,t:/mine/figs}] +% \setupexternalfigures [\c!directory={e:/fig/eps,t:/mine/figs}] % % Loading a specific special driver: % |