From ab3f887feadf929129087cd2cbc3783064507565 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Fri, 9 Apr 2004 00:00:00 +0200 Subject: stable 2004.04.09 --- tex/context/base/colo-ini.tex | 2 +- tex/context/base/cont-fil.tex | 3 + tex/context/base/cont-new.tex | 143 +++---------- tex/context/base/cont-sys.ori | 139 +++++++------ tex/context/base/context.tex | 2 +- tex/context/base/core-buf.tex | 2 +- tex/context/base/core-def.tex | 18 +- tex/context/base/core-fig.tex | 126 +++++++++--- tex/context/base/core-grd.tex | 29 ++- tex/context/base/core-int.tex | 132 ++++++++---- tex/context/base/core-lst.tex | 111 +++++++--- tex/context/base/core-mis.tex | 386 ++++++++++++++++++++++++++--------- tex/context/base/core-ntb.tex | 31 +-- tex/context/base/core-pos.tex | 16 +- tex/context/base/core-ref.tex | 36 ++++ tex/context/base/core-rul.tex | 25 ++- tex/context/base/core-sec.tex | 12 +- tex/context/base/core-spa.tex | 59 ++++-- tex/context/base/core-tbl.tex | 1 + tex/context/base/enco-def.tex | 5 + tex/context/base/enco-ini.tex | 6 +- tex/context/base/enco-pfr.tex | 101 +++++---- tex/context/base/enco-pol.tex | 56 ++--- tex/context/base/enco-qx.tex | 207 +++++++++++++++++++ tex/context/base/java-exa.tex | 232 +++++++++++++++++++++ tex/context/base/java-fil.tex | 24 +-- tex/context/base/java-fld.tex | 4 +- tex/context/base/java-ini.tex | 2 +- tex/context/base/java-stp.tex | 127 ++++++++++++ tex/context/base/meta-ini.tex | 23 ++- tex/context/base/page-bck.tex | 50 ++++- tex/context/base/page-flt.tex | 3 +- tex/context/base/page-lay.tex | 7 + tex/context/base/page-lyr.tex | 98 ++++++++- tex/context/base/page-mak.tex | 1 - tex/context/base/page-set.tex | 38 +++- tex/context/base/page-txt.tex | 24 ++- tex/context/base/prop-ini.tex | 25 +++ tex/context/base/s-abr-01.tex | 14 +- tex/context/base/s-pre-00.tex | 128 ++++++------ tex/context/base/s-pre-60.tex | 87 ++++++++ tex/context/base/s-pre-61.tex | 222 ++++++++++++++++++++ tex/context/base/setupb.tex | 4 +- tex/context/base/spec-def.tex | 7 + tex/context/base/spec-dpx.tex | 20 +- tex/context/base/spec-fdf.tex | 11 + tex/context/base/spec-tpd.tex | 46 ++++- tex/context/base/supp-emp.tex | 44 ++-- tex/context/base/supp-fil.tex | 11 +- tex/context/base/supp-mis.tex | 2 - tex/context/base/supp-mps.tex | 44 +++- tex/context/base/supp-pdf.tex | 159 ++++++++------- tex/context/base/symb-eur.tex | 4 +- tex/context/base/symb-glm.tex | 65 +++--- tex/context/base/symb-ini.tex | 134 ++++++------ tex/context/base/symb-mvs.tex | 50 ++--- tex/context/base/symb-nav.tex | 4 +- tex/context/base/syst-etx.tex | 2 +- tex/context/base/syst-ext.tex | 102 +++++++--- tex/context/base/type-akb.tex | 16 +- tex/context/base/type-buy.tex | 439 +++++++++++++++++++++++++++------------- tex/context/base/type-enc.tex | 238 ++++++---------------- tex/context/base/type-exa.tex | 1 + tex/context/base/type-ini.tex | 110 ++++++---- tex/context/base/type-map.tex | 174 +++++++++------- tex/context/base/type-syn.tex | 96 +-------- tex/context/base/unic-000.tex | 192 +++++++++--------- tex/context/base/verb-ini.tex | 270 ++++++++++++------------ tex/context/base/xtag-ini.tex | 61 +++++- tex/context/sample/demo-mps.tex | 23 +++ tex/context/sample/demo-tex.tex | 23 +++ tex/context/sample/demo-xml.tex | 53 +++++ tex/context/user/cont-sys.rme | 139 +++++++------ 73 files changed, 3600 insertions(+), 1701 deletions(-) create mode 100644 tex/context/base/enco-qx.tex create mode 100644 tex/context/base/java-exa.tex create mode 100644 tex/context/base/java-stp.tex create mode 100644 tex/context/base/s-pre-60.tex create mode 100644 tex/context/base/s-pre-61.tex create mode 100644 tex/context/sample/demo-mps.tex create mode 100644 tex/context/sample/demo-tex.tex create mode 100644 tex/context/sample/demo-xml.tex (limited to 'tex') diff --git a/tex/context/base/colo-ini.tex b/tex/context/base/colo-ini.tex index dab205860..d82445383 100644 --- a/tex/context/base/colo-ini.tex +++ b/tex/context/base/colo-ini.tex @@ -1742,7 +1742,7 @@ % seperations in one file); no user command! \def\resynccolor - {\ifdim\pagetotal=\zeropoint + {\ifcase\pagetotal % \ifdim\pagetotal=\zeropoint \popcolor \else\ifx\@@currentcolor\empty \ifx\maintextcolor\empty\else diff --git a/tex/context/base/cont-fil.tex b/tex/context/base/cont-fil.tex index d47256be0..8cd6a5639 100644 --- a/tex/context/base/cont-fil.tex +++ b/tex/context/base/cont-fil.tex @@ -78,6 +78,9 @@ %definefilesynonym [pre-more] [pre-29] %definefilesynonym [pre-more] [pre-30] +\definefilesynonym [pre-stepwise] [pre-60] +\definefilesynonym [pre-stepper] [pre-61] + \definefilesynonym [abr-pseudocaps] [abr-01] \definefilesynonym [abr-smallcaps] [abr-02] diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex index a78d0e4dc..723d14f53 100644 --- a/tex/context/base/cont-new.tex +++ b/tex/context/base/cont-new.tex @@ -16,12 +16,44 @@ %D features. % todo: mp-new + \unprotect \writestatus{\m!systems}{beware: some patches loaded from cont-new.tex!} % todo : test low level translation (nl->en) and optimize script +\def\tightlayer[#1]% + {\begingroup + \def\currentlayer{#1}% todo: left/right + \setbox\nextbox\emptybox % hoogte/breedte are \wd\nextbox/\ht\nextbox + \hsize\layerparameter\c!breedte % \overlaywidth = \hsize + \vsize\layerparameter\c!hoogte % \overlaywheight = \vsize + \hbox to \hsize{\composedlayer{#1}}% + \endgroup} + +\let\locatedfilepath\empty + +\def\locatefilepath#1% + {\let\locatedfilepath\empty + \ifx\allinputpaths\empty \else + \def\docommando##1% + {\doiffileelse{\pathplusfile{##1}{#1}}{\donetrue\def\locatedfilepath{##1}}\donefalse + \ifdone\expandafter\quitcommalist\fi}% + \doifparentfileelse{#1} % new + {\processcommacommand [\allinputpaths]\docommando} + {\processcommacommand[.,\allinputpaths]\docommando}% + \fi} + +\def\setfontstrut + {\setcharstrut{(gplQT}} + +\def\doifXMLtextelse#1% + {\doiftextelse{\simplifyXMLelements#1}} + +\def\doifXMLtext#1#2% + {\doiftextelse{\simplifyXMLelements#1}{#2}\donothing} + % todo : share symbols % \definecolor[rollover:n][red] @@ -170,68 +202,6 @@ % [ShowMenu] % [{\overlayrollbutton[VideLayer{navigation}][HideLayer{navigation}]}] -\def\dodoflushlayer#1#2#3% - {\ifundefined{\@@layerbox#3}% - \ifcase#1\else\writestatus{layer}{unknown layer #3}\fi - \else - \bgroup - \forgetall - \offinterlineskip - % needed because we need to handle method -\executeifdefined{\??ll\??ll\getvalue{\??ll#2\c!preset}}\gobbletwoarguments{#2}{}% - % - \doifvalue{\??ll#2\c!optie}\v!test\tracelayerstrue - \iftracelayers\traceboxplacementtrue\fi - \!!doneafalse - \!!donebfalse - \doifvalue{\??ll#2\c!methode}\v!overlay\!!doneatrue - \doifvalue{\??ll#2\c!methode}\v!passend\!!donebtrue - \!!donectrue - \ifcase#1\else - \doifnotvalue{\??ll#2\c!positie}\v!ja - {\doifvalue{\??ll#2\c!herhaal}\v!ja\!!donecfalse - \doifvalue{\??ll#2\c!status}\v!herhaal\!!donecfalse}% - \fi - \chardef\layerbox\csname\@@layerbox#3\endcsname - % we need to copy in order to retain the negative offsets for a next - % stage of additions, i.e. llx/lly accumulate in repeat mode and the - % compensation may differ each flush depending on added content - \setbox\nextbox \if!!doneb - \vbox - {\scratchdimen\getboxlly\layerbox - \vskip-\scratchdimen - \scratchdimen\getboxllx\layerbox - \hskip-\scratchdimen - \advance\scratchdimen-\wd\layerbox - \hsize-\scratchdimen - \if!!donec\box\else\copy\fi\layerbox}% - \else - \if!!donec\box\else\copy\fi\layerbox % sorry for the delay due to copying - \fi - \iftracelayers \ruledvbox \else \vbox \fi \if!!donea to \overlayheight \fi - {\hbox \if!!donea to \overlaywidth \fi - {% klopt dit? #3 en niet #2 ? - \doifvalue{\??ll#3\realfolio\c!positie}\v!ja {\xypos{lyr:#3:\realfolio}}% - \doifoverlayelse{#3} - {\box\nextbox} - {\startlayoutcomponent{l:#3}{layer #3}\box\nextbox\stoplayoutcomponent}% - \hss}% - \vss}% - \if!!donec - \gsetboxllx\layerbox\zeropoint - \gsetboxlly\layerbox\zeropoint - \fi - \egroup - \fi} - -\def\tightlayer[#1]% - {\hbox - {\def\currentlayer{#1}% todo: left/right - \setbox\nextbox\emptybox % hoogte/breedte are \wd\nextbox/\ht\nextbox - \hsize\layerparameter\c!breedte % \overlaywidth = \hsize - \vsize\layerparameter\c!hoogte % \overlaywheight = \vsize - \composedlayer{#1}}} - \def\inlinedbox {\bgroup \dowithnextbox @@ -247,60 +217,11 @@ \egroup}% \hbox} -\def\dosetups#1% the grid option will be extended to other main modes - {\executeifdefined{\??su\ifgridsnapping\v!grid\fi:#1}{\csname\??su:#1\endcsname}\empty} - -\let\directsetup\dosetups - % \readfile{cont-exp}\donothing\donothing % speed up (5-20%) \def\dimenratio#1#2% etex only {\withoutpt\the\dimexpr(2\dimexpr(#1)/(\dimexpr(#2)/32768))} -% in page-lyr - -\definelayer[OTRTEXT] \setuplayer[OTRTEXT][\c!breedte=\zetbreedte,\c!hoogte=\teksthoogte] - -\let\normalsettextpagecontent\settextpagecontent - -\def\settextpagecontent#1#2#3% #2 and #3 will disappear - {\doifelselayerdata{OTRTEXT} - {\setbox#1\hbox to \zetbreedte - {\startoverlay - {\normalsettextpagecontent{#1}{#2}{#3}\box#1} - {\tightlayer[OTRTEXT]} - \stopoverlay}% - \dp#1\zeropoint}% - {\normalsettextpagecontent{#1}{#2}{#3}}} - -% in page-set - -\def\OTRSETdofinaloutput - {\ifdim\ht\OTRfinalpagebox=\teksthoogte - \bgroup % \let\OTRSETsetvsize\relax % prevents useless search for gap - \ifcase\OTRSETbalancemethod - \finaloutput\box\OTRfinalpagebox - \else\ifdim\OTRSETbalht>\zeropoint - % catch a bordercase - \scratchdimen\OTRSETbalht - \advance\scratchdimen\lineheight\relax - \ifdim\scratchdimen>\teksthoogte - % full page - \finaloutput\box\OTRfinalpagebox - \else - % same page - \global\setbox\OTRfinalpagebox \iftracecolumnset\ruledvbox\else\vbox\fi to \OTRSETbalht - {\box\OTRfinalpagebox\vss}% - \setlayer[OTRTEXT]{\box\OTRfinalpagebox}% - \snaptogrid\vbox{\vskip\OTRSETbalht}% hack - \fi - \else - \finaloutput\box\OTRfinalpagebox - \fi \fi - \globallet\OTRSETbalht\zeropoint - \egroup - \fi} - \def\doxprecurse#1#2% {\ifnum#1=\zerocount % no \ifcase \expandafter\gobblethreearguments diff --git a/tex/context/base/cont-sys.ori b/tex/context/base/cont-sys.ori index 5e2adef31..1f9bd0dc2 100644 --- a/tex/context/base/cont-sys.ori +++ b/tex/context/base/cont-sys.ori @@ -8,97 +8,112 @@ %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. \unprotect -% Occasionally we will support both A4 and letter in -% styles. If you want letter size paper to be the default, +% Occasionally we will support both A4 and letter in +% styles. If you want letter size paper to be the default, % uncomment: % % \enablemode[\systemmodeprefix letter] % % If you always want to default to letter, you may uncomment % the following line, but beware: it makes your documents less -% portable: +% portable: % % \setuppapersize[letter][letter] -% -% If you want some extras, just uncomment the following + +% If you want some extras, just uncomment the following % line: % -% \usemodule[plus] % experimental code -% -% Here you can take care of overloading some (style) -% defaults. What goes here, depends on your local system. +% \usemodule[plus] % experimental code % +% Here you can take care of overloading some (style) +% defaults. What goes here, depends on your local system. + % The following commands sets the default font encoding: % -% \setupencoding [\s!default=texnansi] +% \setupencoding [\s!default=texnansi] % -% or: +% or: % -% \setupencoding [\s!default=ec] +% \setupencoding [\s!default=ec] % -% If you want the default berry names: +% If you want the default berry names: % % \usetypescript [berry] [\defaultencoding] % -% If you run into missing font metrics kind of problems, -% you may want to uncomment: -% -% \usetypescript[adobekb] [\defaultencoding] +% If you run into missing font metrics kind of problems, +% you may want to uncomment: % -% You can let \CONTEXT\ load the map files for \PDFTEX. +% \usetypescript[adobekb] [\defaultencoding] + +% You can let \CONTEXT\ load the map files for \PDFTEX. % % \autoloadmapfilestrue % -% If you use the more verbose naming scheme, uncomment this: +% (1) use this when you have a big mapfile % -% \usetypescript [map] [default,\defaultencoding] +% \preloadmapfile[original-base.map] +% \preloadmapfile[ec-base.map] +% \preloadmapfile[8r-base.map] +% \preloadmapfile[qx-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] % -% or : +% (2) otherwise, use this if you have a fast machine % -% \usetypescript [map] [all] +% \resetmapfiles \usetypescript [map] [base] [all] % -% In case you have set psfonts.map already, you can comment -% the following lines. Beware: pdftex uses the fontname -% (second entry on map file lines) for (not so) clever -% remapping, so in case of troubles, remove the names (is -% safe)! +% (3) or this if it's a slow one: % -% \preloadmapfile [original-ams-cmr] -% \preloadmapfile [original-ams-euler] -% \preloadmapfile [il2-ams-cmr] -% \preloadmapfile [pl0-ams-cmr] +% \resetmapfiles % -% Some styles default to Lucida Bright. You can overload -% Lucida by Times cum suis. Watch out, the pos collection -% is not scaled relatively. +% \loadmapfile[original-base.map] +% \loadmapfile[ec-base.map] +% \loadmapfile[8r-base.map] +% \loadmapfile[qx-base.map] +% \loadmapfile[texnansi-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[texnansi-public-lm.map] +% \loadmapfile[ec-public-lm.map] + +% When you have your own fonts installed, you may want to predefine: % -% \definetypescriptsynonym [lbr] [pos] +% \usetypescriptfile[type-buy] + +% Some styles default to Lucida Bright. You can overload +% Lucida by Times cum suis. Watch out, the pos collection +% is not scaled relatively. % +% \definetypescriptsynonym [lbr] [pos] + % Compensate for missing files: % % \definefontsynonym [gbhei] [gbsong] % \definefontsynonym [gbheisl] [gbsong] % \definefontsynonym [gbheisl] [gbsong] -% -% The already loaded map file list can be reset with: -% -% \forgetmapfiles -% -% Setting up a global figure path: + +% Setting up a global figure path % % \setupexternalfigures [\c!gebied={e:/fig/eps,t:/mine/figs}] % -% Loading a specific special driver: +% Loading a specific special driver: % % \setupoutput [dviwindo] -% Changing language defaults: -% +% Changing language defaults +% % \setuplanguage % [nl] % [\c!leftquote=\upperleftsinglesixquote, @@ -106,38 +121,38 @@ % Loading local preferences, for example % -% \input prag-gen % company styles -% \input prag-log % more company styles +% \input prag-gen % company styles +% \input prag-log % more company styles % -% Enabling run time \METAPOST\ (also enable \write18 in +% Enabling run time \METAPOST\ (also enable \write18 in % texmf.cnf): -% \runMPgraphicstrue +% \runMPgraphicstrue % \runMPTEXgraphicstrue % This saves some runtime, but needs a format, which you can -% make with 'texexec --make --alone metafun'. Make sure that -% the mem files are moved to the used web2c path (locate with +% make with 'texexec --make --alone metafun'. Make sure that +% the mem files are moved to the used web2c path (locate with % 'kpsewhich plain.mem'). \useMETAFUNformattrue -% Enabling nested pretty printing: +% Enabling nested pretty printing -\newprettytrue +\newprettytrue -% This can be a way to get things working on system with +% This can be a way to get things working on system with % name clashes. (Some \TeX's tend do search system wide.) \protectbufferstrue -% You can enable a more extensive figure searching, but -% normally this is not really needed and even annoying. +% You can enable a more extensive figure searching, but +% normally this is not really needed and even annoying. % -% \runutilityfiletrue - -% You can also load additional encodings here: +% \runutilityfiletrue +% You can also load additional encodings here: +% % \useencoding[x5] % % \useregime[cyr] @@ -145,6 +160,6 @@ % \enableregime[cp1251] % \setupbodyfont[cyr] -% So far. +% So far. -\protect \endinput +\protect \endinput \ No newline at end of file diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex index bd29572bc..13f4d6643 100644 --- a/tex/context/base/context.tex +++ b/tex/context/base/context.tex @@ -15,7 +15,7 @@ \catcode`\{=1 \catcode`\}=2 -\def\contextversion{2004.3.9} +\def\contextversion{2004.4.9} %D Welcome to the main module. When this module is ran through %D \type{initex} or \type{tex -i} or \type{whatevertex} using diff --git a/tex/context/base/core-buf.tex b/tex/context/base/core-buf.tex index 37e284ab5..2871475ed 100644 --- a/tex/context/base/core-buf.tex +++ b/tex/context/base/core-buf.tex @@ -1023,4 +1023,4 @@ \c!voor=, \c!na=] -\protect \endinput +\protect \endinput \ No newline at end of file diff --git a/tex/context/base/core-def.tex b/tex/context/base/core-def.tex index 6121865d9..5cce2f2fc 100644 --- a/tex/context/base/core-def.tex +++ b/tex/context/base/core-def.tex @@ -2,26 +2,26 @@ %D [ file=core-def, %D version=2002.05.07, %D title=\CONTEXT\ Core Macros, -%D subtitle=Defaults, +%D subtitle=Defaults, %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. \writestatus{loading}{Context Core Macros / Defaults} %D Here we collect default settings. More code will moved to -%D this module later. +%D this module later. \unprotect -%D We preload a couple of symbol|(|sets): a few defaults, -%D the marvo symbols and a few guillemot replacements. +%D We preload a couple of symbol|(|sets): a few defaults, +%D the marvo symbols and a few guillemot replacements. -\usesymbols[mis,mvs,glm] +\usesymbols[mis,mvs,glm] %D We also choose a navigation symbol set: @@ -29,6 +29,6 @@ \setupinteraction[\c!symboolset=navigation 1] -%D In \type {core-nav}, we choose this set as well. +%D In \type {core-nav}, we choose this set as well. -\protect \endinput +\protect \endinput \ No newline at end of file diff --git a/tex/context/base/core-fig.tex b/tex/context/base/core-fig.tex index cb018cbf9..acd77e496 100644 --- a/tex/context/base/core-fig.tex +++ b/tex/context/base/core-fig.tex @@ -772,36 +772,65 @@ \global\divide#1 \!!ten\relax \global\multiply#1 #2\relax]} -\def\docalculatefigurescales#1#2#3#4% - {\dimen0=#1\relax % #1 = new 1-value - \dimen2=#2\relax % #2 = old 1-value - \divide\dimen2 \plusthousand - \divide\dimen0 \dimen2 - \figxsca\dimen0 % x scale - \figysca\dimen0 % y scale - \dimen2=#4\relax % #4 = old 2-value - \divide\dimen2 \plusthousand - \multiply\dimen2 \dimen0 - #3=\dimen2 } % #3 = new 2-value - -\def\docalculatefigurescale#1#2#3% - {\dimen0=#1\relax % #1 = new value - \dimen2=#2\relax % #2 = old value - \divide\dimen2 \plusthousand - \divide\dimen0 \dimen2 - #3=\dimen0 } % #3 = schaal - -\def\doapplyfigurescale#1#2#3% - {\global#1=#2\relax - \ifcase0\@@efschaal\relax % beter: doifnum... - #3=\plusthousand - \else - #3=\@@efschaal - \fi\relax % important ! - \ifnum#3=\plusthousand\else - \global\divide #1 \plusthousand - \global\multiply#1 #3\relax - \fi} +\beginTEX + + \def\docalculatefigurescales#1#2#3#4% + {\dimen0=#1\relax % #1 = new 1-value + \dimen2=#2\relax % #2 = old 1-value + \divide\dimen2 \plusthousand + \divide\dimen0 \dimen2 + \figxsca\dimen0 % x scale + \figysca\dimen0 % y scale + \dimen2=#4\relax % #4 = old 2-value + \divide\dimen2 \plusthousand + \multiply\dimen2 \dimen0 + #3=\dimen2 } % #3 = new 2-value + + \def\docalculatefigurescale#1#2#3% + {\dimen0=#1\relax % #1 = new value + \dimen2=#2\relax % #2 = old value + \divide\dimen2 \plusthousand + \divide\dimen0 \dimen2 + #3=\dimen0 } % #3 = schaal + + \def\doapplyfigurescale#1#2#3% + {\global#1=#2\relax + \ifcase0\@@efschaal\relax % beter: doifnum... + #3=\plusthousand + \else + #3=\@@efschaal + \fi\relax % important ! + \ifnum#3=\plusthousand\else + \global\divide #1 \plusthousand + \global\multiply#1 #3\relax + \fi} + +\endTEX + +% test extensively, more precise since one pass double precission + +\beginETEX \dimexpr + + \def\docalculatefigurescales#1#2#3#4% + {\scratchdimen\dimexpr(#1/\dimexpr(#2/\plusthousand))% + \figxsca\scratchdimen + \figysca\figxsca + #3\dimexpr(\figxsca\dimexpr(#4/\plusthousand))} + + \def\docalculatefigurescale#1#2#3% + {#3\dimexpr(#1/\dimexpr(#2/\plusthousand))} + + \def\doapplyfigurescale#1#2#3% + {% #3=\ifnum0\number\@@efschaal=\zerocount\plusthousand\else\@@efschaal\fi + \ifcase0\@@efschaal\relax % @@efschaal kan empty zijn + #3=\plusthousand + \else + #3=\@@efschaal + \fi\relax % important ! + \global#1\ifnum#3=\plusthousand#2\else\dimexpr(#3\dimexpr(#2/\plusthousand))\fi + \relax} + +\endETEX \newdimen\figurevsize % we cannot manipulate any global vsize ! @@ -2020,6 +2049,43 @@ \setupexternalsoundtracks [\c!optie=] +%D NEW: used in styledesign manual + +% \setbuffer[typeset-b]\endbuffer +% \setbuffer[typeset-a]\endbuffer +% +% todo: +% +% \appendtoks \setbuffer[typeset-b]\endbuffer\to \everystarttext +% \appendtoks \setbuffer[typeset-a]\endbuffer\to \everystarttext + +\def\typesetbuffer + {\dodoubleempty\dotypesetbuffer} + +\newcounter\noftypesetbuffers % all loaded at the end + +\defineexternalfigure + [typeset] + [\c!achtergrond=\v!kleur, + \c!achtergrondkleur=white] + +\def\dotypesetbuffer[#1][#2]% beware: this will mix up the mp graphics + {\bgroup + %\def\bufferprefix{\ifprotectbuffers\jobname-\fi typeset-}% + \def\TEXbufferfile##1{\bufferprefix##1.tex}% + \expanded{\setbuffer[typeset]% + \def\noexpand\bufferprefix{\ifprotectbuffers\jobname-\fi typeset-}}% + \starttext + \getbuffer[b,#1,a]% + \stoptext + \endbuffer + \doglobal\increment\noftypesetbuffers + % batch is needed + \executesystemcommand{texexec --batch --pdf --result=\bufferprefix typeset-\noftypesetbuffers\space \bufferprefix typeset.tex}% + %\externalfigure[\bufferprefix typeset-\noftypesetbuffers.pdf][\c!object=\v!nee,#2]% + \externalfigure[\bufferprefix typeset-\noftypesetbuffers.pdf][#2]% + \egroup} + \appendtoks \setupexternalfigures[\c!optie=\v!leeg] \to \everyfastmode \appendtoks \runMPgraphicsfalse \to \everyfastmode \appendtoks \insertMPgraphicsfalse \to \everyfastmode diff --git a/tex/context/base/core-grd.tex b/tex/context/base/core-grd.tex index 539518b49..18cb70347 100644 --- a/tex/context/base/core-grd.tex +++ b/tex/context/base/core-grd.tex @@ -312,12 +312,37 @@ \def\snaptogrid% [#1]#2 -> #2 == \hbox|\vbox {\dosingleempty\dosnaptogrid} +% \def\dosnaptogrid[#1]% +% {\ifgridsnapping +% \iffirstargument\doifsomething{#1}{\verplaatsopgrid[#1]}\fi +% \expandafter\dodosnaptogrid +% \fi} + \def\dosnaptogrid[#1]% - {\ifgridsnapping + {\resetlastlinewidth % maybe in more places, otherwise spacing gets messed up + \ifgridsnapping \iffirstargument\doifsomething{#1}{\verplaatsopgrid[#1]}\fi \expandafter\dodosnaptogrid \fi} +% \def\forcedpresnapcorrection % test this on 'details' +% {\ifforcepresnap +% \ifvmode \else \par \fi % new +% % we don't want top of page space when 'top' option +% %\verticalstrut\nobreak\vskip-\struttotal +% %\verticalstrut\vskip-\struttotal +% % nobreak really needed +% \allowbreak\verticalstrut\nobreak\vskip-\struttotal +% %\ifdim\pagetotal>\topskip \else +% % eigenlijk signal +% %\writestatus{grid}{removing dummy at top of page}% +% %\bgroup +% %\output{\setbox\scratchbox\box255}% +% %\penalty\outputpenalty +% %\egroup +% %\fi +% \fi} + \def\forcedpresnapcorrection % test this on 'details' {\ifforcepresnap \ifvmode \else \par \fi % new @@ -325,7 +350,7 @@ %\verticalstrut\nobreak\vskip-\struttotal %\verticalstrut\vskip-\struttotal % nobreak really needed - \allowbreak\verticalstrut\nobreak\vskip-\struttotal + \dosomebreak\allowbreak\verticalstrut\nobreak\vskip-\struttotal % new: \dosomebreak %\ifdim\pagetotal>\topskip \else % eigenlijk signal %\writestatus{grid}{removing dummy at top of page}% diff --git a/tex/context/base/core-int.tex b/tex/context/base/core-int.tex index 8bdc2f38c..01a273693 100644 --- a/tex/context/base/core-int.tex +++ b/tex/context/base/core-int.tex @@ -701,50 +701,103 @@ \def\dosetlocationboxnone#1[#2]#3[#4]% {\global\skippedmenuitemtrue} -\def\setlocationboxyes#1% +% the following version looks ok but is not, since it is unaware of +% some reference properties +% +% \def\setlocationboxyes#1% +% {\locationclicktrue +% \ifx\currentouterreference\empty +% \ifrealreferencepage\!!doneatrue\else\!!doneafalse\fi +% \else +% \!!doneafalse +% \fi +% \if!!donea +% \ifcase\csname\??am\??am\csname#1\c!zelfdepagina\endcsname\endcsname\relax +% \copycsname#1\c!kleur\endcsname\csname#1\c!contrastkleur\endcsname +% \@EAEAEA\dosetlocationboxyes +% \or +% \@EAEAEA\dosetlocationboxempty +% \or +% \@EAEAEA\dosetlocationboxno +% \or +% \@EAEAEA\dosetlocationboxnone +% \fi +% \else +% \@EA\dosetlocationboxcontent +% \fi{#1}} +% +% \def\setlocationboxnop#1% +% {\locationclickfalse +% \ifcase\csname\??am\??am\csname#1\c!onbekendeverwijzing\endcsname\endcsname\relax +% \@EA\dosetlocationboxyes +% \or +% \@EA\dosetlocationboxempty +% \or +% \@EA\dosetlocationboxno +% \or +% \@EA\dosetlocationboxnone +% \fi{#1}} +% +% \def\setlocationbox#1[#2]#3[#4]% +% {\bgroup % really needed ! +% \edef\permittedreferences{\csname#1\c!blokkade\endcsname}% +% \doifreferencepermittedelse{#4} +% {\setlocationboxyes{#1}[#2]{#3}[#4]} +% {\setlocationboxnop{#1}[#2]{#3}[#4]}% +% \egroup} +% +% \def\setlocationboxraw#1[#2]#3[#4]% +% {\localframed[#1][#2]{\dolocationattributes{#1}\c!letter\c!kleur{#3}}} + +\def\setlocationboxyes#1[#2]#3[#4]% {\locationclicktrue - \ifx\currentouterreference\empty - \ifrealreferencepage\!!doneatrue\else\!!doneafalse\fi - \else - \!!doneafalse - \fi - \if!!donea - \ifcase\csname\??am\??am\csname#1\c!zelfdepagina\endcsname\endcsname\relax - \copycsname#1\c!kleur\endcsname\csname#1\c!contrastkleur\endcsname - \@EAEAEA\dosetlocationboxyes - \or - \@EAEAEA\dosetlocationboxempty - \or - \@EAEAEA\dosetlocationboxno - \or - \@EAEAEA\dosetlocationboxnone - \fi - \else - \@EA\dosetlocationboxcontent - \fi{#1}} + \setbox\locationbox\hbox + {\resetgoto % anders cyclische aanroep ! + \global\skippedmenuitemfalse + \gotolocation + {#4}% % needed + {\ifrealreferencepage + \ifcase\csname\??am\??am\csname#1\c!zelfdepagina\endcsname\endcsname\relax + \copycsname#1\c!kleur\endcsname\csname#1\c!contrastkleur\endcsname + \localframed[#1][#2]{\dolocationattributes{#1}\c!letter\c!kleur{#3}}% + \or + \localframed[#1][\c!leeg=\v!ja,#2]{\dolocationattributes{#1}\c!letter\c!kleur{#3}}% + \or + \localframed[#1][\c!leeg=\v!ja,\c!kader=,\c!achtergrond=,#2]{\dolocationattributes{#1}\c!letter\c!kleur{#3}}% + \or + \global\skippedmenuitemtrue + \fi + \else + \localframed[#1][#2]{\dolocationattributes{#1}\c!letter\c!kleur{#3}}% + \fi}}% + \ifskippedmenuitem\else\box\locationbox\fi} -\def\setlocationboxnop#1% +\def\setlocationboxnop#1[#2]#3[#4]% {\locationclickfalse - \ifcase\csname\??am\??am\csname#1\c!onbekendeverwijzing\endcsname\endcsname\relax - \@EA\dosetlocationboxyes - \or - \@EA\dosetlocationboxempty - \or - \@EA\dosetlocationboxno - \or - \@EA\dosetlocationboxnone - \fi{#1}} + \setbox\locationbox\hbox + {\resetgoto % anders cyclische aanroep ! + \global\skippedmenuitemfalse + \ifcase\csname\??am\??am\csname#1\c!onbekendeverwijzing\endcsname\endcsname\relax + \localframed[#1][#2]{\dolocationattributes{#1}\c!letter\c!kleur{#3}}% + \or + \localframed[#1][\c!leeg=\v!ja,#2]{\dolocationattributes{#1}\c!letter\c!kleur{#3}}% + \or + \localframed[#1][\c!leeg=\v!ja,\c!kader=,\c!achtergrond=,#2]{\dolocationattributes{#1}\c!letter\c!kleur{#3}}% + \or + \global\skippedmenuitemtrue + \fi}% + \ifskippedmenuitem\else\box\locationbox\fi} + +\def\setlocationboxraw#1[#2]#3[#4]% + {\localframed[#1][#2]{\dolocationattributes{#1}\c!letter\c!kleur{#3}}} \def\setlocationbox#1[#2]#3[#4]% {\bgroup % really needed ! \edef\permittedreferences{\csname#1\c!blokkade\endcsname}% - \doifreferencepermittedelse{#4} - {\setlocationboxyes{#1}[#2]{#3}[#4]} + \doifreferencepermittedelse{#4}% + {\setlocationboxyes{#1}[#2]{#3}[#4]}% {\setlocationboxnop{#1}[#2]{#3}[#4]}% \egroup} - -\def\setlocationboxraw#1[#2]#3[#4]% - {\localframed[#1][#2]{\dolocationattributes{#1}\c!letter\c!kleur{#3}}} \def\dodosetlocationcommanditem#1#2#3[#4]#5\\% {\bgroup @@ -1090,10 +1143,11 @@ % inherit settings \doifnot{#1}{#2} {\copyparameters[\??am#1][\??am#2] - [\c!links,\c!midden,\c!rechts,\c!voor,\c!na,\c!tussen, - \c!breedte,\c!hoogte,\c!afstand,\c!offset,\c!kader, - \c!achtergrond,\c!achtergrondkleur,\c!achtergrondraster, - \c!letter,\c!kleur,\c!contrastkleur,\c!zelfdepagina,\c!onbekendeverwijzing, + [\c!links,\c!midden,\c!rechts,\c!voor,\c!na,\c!tussen,% + \c!breedte,\c!hoogte,\c!afstand,\c!offset,% + \c!kader,\c!kaderkleur,\c!lijndikte,% + \c!achtergrond,\c!achtergrondkleur,\c!achtergrondraster,% + \c!letter,\c!kleur,\c!contrastkleur,\c!zelfdepagina,\c!onbekendeverwijzing,% \c!linkeroffset,\c!rechteroffset,\c!bovenoffset,\c!onderoffset]}% % additional settings \getparameters[\??am#1][\c!plaats=#2,\c!blokkade=,#3]} diff --git a/tex/context/base/core-lst.tex b/tex/context/base/core-lst.tex index 24ecb0077..60872d9fb 100644 --- a/tex/context/base/core-lst.tex +++ b/tex/context/base/core-lst.tex @@ -368,43 +368,92 @@ \def\dohandlelistnumber#1{\separatednumber{#1}} -% new +% \let\currentlistsymbol\empty +% +% the big original one: +% +% \def\listsymbol[#1]#2% +% {{\dosetlistsymbol{#1}{#2}\currentlistsymbol}} +% +% \def\dosetlistsymbol#1#2% kan sneller, default case afvangen +% {\processaction +% [\getvalue{\??li#1\c!symbool}] +% [ \v!geen=>\def\currentlistsymbol% +% {\doassigndimen{\dimen0}{\getvalue{\??li#1\c!breedte}}{1.5em}% +% \hbox to \dimen0{}}, +% 1=>\def\currentlistsymbol% +% {\strut$\bullet$}, +% 2=>\def\currentlistsymbol% +% {\vrule\!!width1em\!!height1ex\!!depth\zeropoint}, +% 3=>\def\currentlistsymbol% very slow +% {{\doassigndimen{\dimen0}{\getvalue{\??li#1\c!breedte}}{1.5em}% +% \doassigndimen{\dimen2}{\getvalue{\??li#1\c!hoogte}}{1ex}% +% \doassigndimen{\dimen4}{\getvalue{\??li#1\c!diepte}}{0pt}% +% \vrule\!!width\dimen0\!!height\dimen2\!!depth\dimen4}}, +% \s!unknown=>\def\currentlistsymbol{\getvalue{\??li#1\c!symbool}}, +% \s!default=>\doifelsevalue{\??li#1\c!prefix}\v!nee % ook nog eerste +% {\edef\splitlistsymbol{\removefirstprefix{#2}}} +% {\doifelsevalue{\??li#1\c!prefix}\v!geen +% {\edef\splitlistsymbol{\removeallprefixes{#2}}}% +% {\def\splitlistsymbol{#2}}}% geen \edef ivm enz +% \def\currentlistsymbol% kan iets efficienter met \ifdone +% {\doifvalue{\??li#1\c!label}\v!ja{\leftlabeltext{#1}}% +% \strut +% \def\numberseparator{\getvalue{\??li#1\c!scheider}}% +% \@EA\dohandlelistnumber\@EA{\splitlistsymbol}% +% \getvalue{\??li#1\c!afsluiter}% +% \doifvalue{\??li#1\c!label}\v!ja{\rightlabeltext{#1}}}]} +% +% This may be fragile ! test for a long time ; it is a +% prelude to an definable symbol handler. \let\currentlistsymbol\empty \def\listsymbol[#1]#2% {{\dosetlistsymbol{#1}{#2}\currentlistsymbol}} -% - -\def\dosetlistsymbol#1#2% kan sneller, default case afvangen - {\processaction - [\getvalue{\??li#1\c!symbool}] - [ \v!geen=>\def\currentlistsymbol% - {\doassigndimen{\dimen0}{\getvalue{\??li#1\c!breedte}}{1.5em}% - \hbox to \dimen0{}}, - 1=>\def\currentlistsymbol% - {\strut$\bullet$}, - 2=>\def\currentlistsymbol% - {\vrule\!!width1em\!!height1ex\!!depth\zeropoint}, - 3=>\def\currentlistsymbol% very slow - {{\doassigndimen{\dimen0}{\getvalue{\??li#1\c!breedte}}{1.5em}% - \doassigndimen{\dimen2}{\getvalue{\??li#1\c!hoogte}}{1ex}% - \doassigndimen{\dimen4}{\getvalue{\??li#1\c!diepte}}{0pt}% - \vrule\!!width\dimen0\!!height\dimen2\!!depth\dimen4}}, - \s!unknown=>\def\currentlistsymbol{\getvalue{\??li#1\c!symbool}}, - \s!default=>\doifelsevalue{\??li#1\c!prefix}\v!nee % ook nog eerste - {\edef\splitlistsymbol{\removefirstprefix{#2}}} - {\doifelsevalue{\??li#1\c!prefix}\v!geen - {\edef\splitlistsymbol{\removeallprefixes{#2}}}% - {\def\splitlistsymbol{#2}}}% geen \edef ivm enz - \def\currentlistsymbol% kan iets efficienter met \ifdone - {\doifvalue{\??li#1\c!label}\v!ja{\leftlabeltext{#1}}% - \strut - \def\numberseparator{\getvalue{\??li#1\c!scheider}}% - \@EA\dohandlelistnumber\@EA{\splitlistsymbol}% - \getvalue{\??li#1\c!afsluiter}% - \doifvalue{\??li#1\c!label}\v!ja{\rightlabeltext{#1}}}]} +\def\dosetlistsymbol#1% #2% + {\executeifdefined + {listsymbol@\getvalue{\??li#1\c!symbool}}% + \listsymbol@default + {#1}} % {#2} + +\def\listsymbol@none#1#2% + {\def\currentlistsymbol% + {\doassigndimen{\dimen0}{\getvalue{\??li#1\c!breedte}}{1.5em}% + \hbox to \dimen0{}}} + +\def\listsymbol@one#1#2% + {\def\currentlistsymbol{\strut$\bullet$}} + +\def\listsymbol@two#1#2% + {\def\currentlistsymbol{\vrule\!!width1em\!!height1ex\!!depth\zeropoint}} + +\def\listsymbol@three#1#2% + {\def\currentlistsymbol % very slow + {{\doassigndimen{\dimen0}{\getvalue{\??li#1\c!breedte}}{1.5em}% + \doassigndimen{\dimen2}{\getvalue{\??li#1\c!hoogte}}{1ex}% + \doassigndimen{\dimen4}{\getvalue{\??li#1\c!diepte}}{0pt}% + \vrule\!!width\dimen0\!!height\dimen2\!!depth\dimen4}}} + +\def\listsymbol@default#1#2% + {\doifelsevalue{\??li#1\c!prefix}\v!nee % ook nog eerste + {\edef\splitlistsymbol{\removefirstprefix{#2}}} + {\doifelsevalue{\??li#1\c!prefix}\v!geen + {\edef\splitlistsymbol{\removeallprefixes{#2}}}% + {\def\splitlistsymbol{#2}}}% geen \edef ivm enz + \def\currentlistsymbol% kan iets efficienter met \ifdone + {\doifvalue{\??li#1\c!label}\v!ja{\leftlabeltext{#1}}% + \strut + \def\numberseparator{\getvalue{\??li#1\c!scheider}}% + \@EA\dohandlelistnumber\@EA{\splitlistsymbol}% + \getvalue{\??li#1\c!afsluiter}% + \doifvalue{\??li#1\c!label}\v!ja{\rightlabeltext{#1}}}} + +\def\listsymbol@unknown#1#2% + {\def\currentlistsymbol{\getvalue{\??li#1\c!symbool}}} + +% so far for list symbols \def\@@dodolijstelement{dodolijstelement} diff --git a/tex/context/base/core-mis.tex b/tex/context/base/core-mis.tex index 3fef87c44..80461a555 100644 --- a/tex/context/base/core-mis.tex +++ b/tex/context/base/core-mis.tex @@ -1930,13 +1930,63 @@ % \fi % \next} +% \def\dodocombination +% {\vbox +% {\forgetall % \setupwhitespace[\v!geen]% +% \let\next\vbox +% \ExpandFirstAfter\processallactionsinset +% [\combinationparameter\c!plaats] +% [ \v!boven=>\let\next\tbox, +% \v!midden=>\let\next\halfwaybox]% +% \next{\copy0}% +% % we need to save the caption for a next alignment line +% \saveoncombinationstack2}% +% \ifnum\totcombination>\plusone +% \global\advance\totcombination\minusone +% \global\advance\horcombination\minusone +% \ifnum\horcombination=\zerocount +% \def\next +% {\cr +% \flushcombinationstack +% \noalign +% {\forgetall % \setupwhitespace[\v!geen]% no +% \global\setbox\combinationstack\emptybox +% \nointerlineskip +% \combinationparameter\c!na +% \combinationparameter\c!voor +% \vss +% \nointerlineskip}% +% \global\horcombination\maxhorcombination\relax +% \docombination}% +% \else +% \def\next +% {&&&\hskip\combinationparameter\c!afstand&\docombination}% +% \fi +% \else +% \def\next +% {\cr +% \flushcombinationstack +% \egroup}% +% \fi +% \next} + +\def\depthonlybox + {\dowithnextbox{\vtop{\hsize\wd\nextbox\kern\zeropoint\box\nextbox}}\vbox} + +% \def\boxwithstrutheight +% {\dowithnextbox +% {\scratchdimen\strutheight +% \advance\scratchdimen-\nextboxht +% \hbox{\raise\scratchdimen\box\nextbox}}% +% \vbox} + \def\dodocombination {\vbox {\forgetall % \setupwhitespace[\v!geen]% \let\next\vbox \ExpandFirstAfter\processallactionsinset [\combinationparameter\c!plaats] - [ \v!boven=>\let\next\tbox, + [ \v!boven=>\let\next\depthonlybox, % \tbox, \v!midden=>\let\next\halfwaybox]% \next{\copy0}% % we need to save the caption for a next alignment line @@ -2103,139 +2153,291 @@ [table] [\c!file=table] -\presetlocalframed[\??ro] - -\def\setuprotate - {\dodoubleargument\getparameters[\??ro]} - -% \ht, \vfillvoor, \vfillna, \wd, \hfillvoor, \hfillna +%D A couple of examples, demonstrating how the depth is +%D taken care of: +%D +%D \startbuffer +%D test\rotate[frame=on, rotation=0] {gans}% +%D test\rotate[frame=on, rotation=90] {gans}% +%D test\rotate[frame=on, rotation=180]{gans}% +%D test\rotate[frame=on, rotation=270]{gans}% +%D test +%D \stopbuffer +%D +%D \typebuffer \getbuffer +% \presetlocalframed[\??ro] +% +% \def\setuprotate +% {\dodoubleargument\getparameters[\??ro]} +% +% \def\dorotatebox#1% {angle} \hbox/\vbox/\vtop +% {\bgroup +% \hbox\bgroup % compatibility hack +% \dowithnextbox +% {\edef\@@rorotatie{#1}% +% \setbox\nextbox\vbox{\flushnextbox}% +% \dostoprotate +% \egroup}} +% % \def\dodostoprotate#1#2#3#4#5#6% % {\dontshowcomposition -% \vbox to #1\nextbox +% \scratchdimen\nextboxht\advance\scratchdimen\nextboxdp +% \doif\@@roplaats\v!hoog +% {\setbox\nextbox\vbox{\hbox{\raise\nextboxdp\flushnextbox}}}% +% \setbox\nextbox\vbox to #1 % {#2\relax -% \hbox to #4\nextbox +% \hbox to #4 % {#5\relax % \number removes leading spaces too % \edef\@@rorotatie{\number\@@rorotatie}% -% \doifelsenothing{\@@rorotatie} +% \doifelsenothing\@@rorotatie % {\dostartrotation{90}} % {\dostartrotation{\@@rorotatie}}% % \nextboxwd\zeropoint % \nextboxht\zeropoint +% %\nextboxdp\zeropoint % \flushnextbox % \dostoprotation % #6} % #3}% +% \nextboxdp\zeropoint +% \flushnextbox % \egroup} % -% \def\dostoprotate% -% {\!!counta=\@@rorotatie -% \divide\!!counta by 90 +% \def\dostoprotate +% {\!!counta\@@rorotatie +% \divide\!!counta 90 % \ifcase\!!counta -% \dodostoprotate\ht\relax\vfill\wd\relax\hfill +% \dodostoprotate\nextboxht\relax\vfill\nextboxwd\relax\hfill % \or -% \dodostoprotate\wd\vfill\relax\ht\relax\hfill +% %\dodostoprotate\nextboxwd\vfill\relax\nextboxht\relax\hfill +% \dodostoprotate\nextboxwd\vfill\relax\scratchdimen\relax\hfill % \or -% \dodostoprotate\ht\vfill\relax\wd\hfill\relax +% \dodostoprotate\nextboxht\vfill\relax\nextboxwd\hfill\relax % \or -% \dodostoprotate\wd\relax\vfill\ht\hfill\relax +% %\dodostoprotate\nextboxwd\relax\vfill\nextboxht\hfill\relax +% \dodostoprotate\nextboxwd\relax\vfill\scratchdimen\hfill\relax % \or -% \dodostoprotate\ht\relax\vfill\wd\relax\hfill +% \dodostoprotate\nextboxht\relax\vfill\nextboxwd\relax\hfill % \else % \def\@@rotatie{90}% -% \dodostoprotate\ht\relax\vfill\wd\relax\hfill +% \dodostoprotate\nextboxht\relax\vfill\nextboxwd\relax\hfill % \fi} % -% \def\dorotatebox#1% {angle} \hbox/\vbox/\vtop -% {\bgroup -% \hbox\bgroup % compatibility hack -% \dowithnextbox -% {\edef\@@rorotatie{#1}% -% \setbox\nextbox=\vbox{\flushnextbox}% -% \dostoprotate -% \egroup}} - -\def\dorotatebox#1% {angle} \hbox/\vbox/\vtop - {\bgroup - \hbox\bgroup % compatibility hack - \dowithnextbox - {\edef\@@rorotatie{#1}% - \setbox\nextbox\vbox{\flushnextbox}% - \dostoprotate - \egroup}} - -\def\dodostoprotate#1#2#3#4#5#6% - {\dontshowcomposition - \scratchdimen\nextboxht\advance\scratchdimen\nextboxdp - \doif\@@roplaats\v!hoog - {\setbox\nextbox\vbox{\hbox{\raise\nextboxdp\flushnextbox}}}% - \setbox\nextbox\vbox to #1 - {#2\relax - \hbox to #4 - {#5\relax % \number removes leading spaces too - \edef\@@rorotatie{\number\@@rorotatie}% - \doifelsenothing\@@rorotatie - {\dostartrotation{90}} - {\dostartrotation{\@@rorotatie}}% - \nextboxwd\zeropoint - \nextboxht\zeropoint - %\nextboxdp\zeropoint - \flushnextbox +% \def\complexrotate[#1]% +% {\dowithnextbox +% {\getparameters[\??ro][#1]% +% \dostoprotate}% +% \vbox\localframed[\??ro][#1]} +% +% \unexpanded\def\rotate % \bgroup: \rotate kan argument zijn +% {\bgroup\complexorsimpleempty\rotate} +% +% \setuprotate +% [\c!rotatie=90, +% \c!breedte=\v!passend, +% \c!hoogte=\v!passend, +% \c!offset=\v!overlay, +% \c!kader=\v!uit] + +% The previous implementation is replaced by one that supports +% rotation over arbitrary angles. +% +% When we rotate over arbitrary angles, we need to relocate the +% resulting box because rotation brings that box onto the negative +% axis. The calculations (mostly sin and cosine) need to be tuned for +% the way a box is packages (i.e. the refence point). A typical example +% of drawing, scribbling, and going back to the days of school math. +% +% We do a bit more calculations than needed, simply because that way +% it's easier to debug the code. + +\def\dododorotatenextbox + {\setbox\nextbox\vbox to \@@layerysiz + {\vfill + \hbox to \@@layerxsiz + {\dostartrotation\@@rorotatie + \nextboxwd\zeropoint + \nextboxht\zeropoint + \flushnextbox \dostoprotation - #6} - #3}% - \nextboxdp\zeropoint - \flushnextbox - \egroup} - -\def\dostoprotate - {\!!counta\@@rorotatie - \divide\!!counta 90 - \ifcase\!!counta - \dodostoprotate\nextboxht\relax\vfill\nextboxwd\relax\hfill - \or - %\dodostoprotate\nextboxwd\vfill\relax\nextboxht\relax\hfill - \dodostoprotate\nextboxwd\vfill\relax\scratchdimen\relax\hfill - \or - \dodostoprotate\nextboxht\vfill\relax\nextboxwd\hfill\relax + \hfill}% + \kern\@@layerypos}% + \setbox\nextbox\hbox + {\kern\@@layerxpos + \kern\@@layerxoff + \lower\@@layeryoff\flushnextbox}} + +\def\dodorotatenextbox#1#2% quite some trial and error -) + {\dontshowcomposition + \dontcomplain + \!!widtha \nextboxwd + \!!heighta\nextboxht + \!!deptha \nextboxdp + \!!doneafalse + \!!donebfalse + \ifcase#2\or + % fit \or - %\dodostoprotate\nextboxwd\relax\vfill\nextboxht\hfill\relax - \dodostoprotate\nextboxwd\relax\vfill\scratchdimen\hfill\relax + % depth, not fit + \!!doneatrue + \!!donebtrue \or - \dodostoprotate\nextboxht\relax\vfill\nextboxwd\relax\hfill + % depth, fit + \!!donebtrue + \fi + \setbox\nextbox\vbox{\hbox{\raise\nextboxdp\flushnextbox}}% + \!!dimena \nextboxht + \calculatecos\@@rorotatie\edef\cos{\calculatedcos\@@rorotatie}% + \calculatesin\@@rorotatie\edef\sin{\calculatedsin\@@rorotatie}% + \@@layerxpos\zeropoint + \@@layerypos\zeropoint + \@@layerxoff\zeropoint + \@@layeryoff\zeropoint + \ifdim\sin\points>\zeropoint + \ifdim\cos\points>\zeropoint + \@@layerxsiz \cos\!!widtha + \@@layerysiz \sin\!!widtha + \advance\@@layerxsiz \sin\!!dimena + \advance\@@layerysiz \cos\!!dimena + \@@layerypos \cos\!!dimena + \if!!donea + \@@layerxoff \negated\sin\!!dimena + \advance\@@layerxoff \sin\!!deptha + \fi + \if!!doneb + \@@layeryoff \cos\!!deptha + \fi + \dododorotatenextbox + \else + \@@layerxsiz \negated\cos\!!widtha + \@@layerysiz \sin\!!widtha + \advance\@@layerxsiz \sin\!!dimena + \advance\@@layerysiz \negated\cos\!!dimena + \@@layerxpos \negated\cos\!!widtha + \if!!donea + \@@layerxoff -\@@layerxsiz + \advance\@@layerxoff \sin\!!deptha + \fi + \if!!doneb + \@@layeryoff \negated\cos\!!heighta + \fi + \dododorotatenextbox + \wd\nextbox\if!!donea\sin\!!deptha\else\@@layerxsiz\fi + \fi \else - \def\@@rotatie{90}% - \dodostoprotate\nextboxht\relax\vfill\nextboxwd\relax\hfill + \ifdim\cos\points<\zeropoint + \@@layerxsiz \negated\cos\!!widtha + \@@layerysiz \negated\sin\!!widtha + \advance\@@layerxsiz \negated\sin\!!dimena + \advance\@@layerysiz \negated\cos\!!dimena + \@@layerxpos \@@layerxsiz + \@@layerypos \negated\sin\!!widtha + \if!!donea + \@@layerxoff -\@@layerxsiz + \advance\@@layerxoff \negated\sin\!!heighta + \fi + \if!!doneb + \@@layeryoff \@@layerysiz + \advance\@@layeryoff \cos\!!deptha + \fi + \dododorotatenextbox + \wd\nextbox\if!!donea\negated\sin\!!heighta\else\@@layerxsiz\fi + \else + \@@layerxsiz \cos\!!widtha + \@@layerysiz \negated\sin\!!widtha + \advance\@@layerxsiz \negated\sin\!!dimena + \advance\@@layerysiz \cos\!!dimena + \ifdim\sin\points=\zeropoint + \@@layerxpos \zeropoint + \@@layerxoff \zeropoint + \@@layerypos \@@layerysiz + \if!!doneb + \@@layeryoff \!!deptha + \fi + \else + \@@layerypos \@@layerysiz + \@@layerxpos \negated\sin\!!dimena + \if!!donea + \@@layerxoff -\@@layerxsiz + \advance\@@layerxoff \negated\sin\!!heighta + \fi + \if!!doneb + \@@layeryoff \negated\sin\!!deptha + \fi + \fi + \dododorotatenextbox + \ifdim\sin\points=\zeropoint + \else + \wd\nextbox\if!!donea\negated\sin\!!heighta\else\@@layerxsiz\fi + \fi + \fi \fi} -%D A couple of examples, demonstrating how the depth is -%D taken care of: -%D -%D \startbuffer -%D test\rotate[frame=on, rotation=0] {gans}% -%D test\rotate[frame=on, rotation=90] {gans}% -%D test\rotate[frame=on, rotation=180]{gans}% -%D test\rotate[frame=on, rotation=270]{gans}% -%D test -%D \stopbuffer -%D -%D \typebuffer \getbuffer +\def\dorotatenextbox#1#2% + {\doifsomething{#1} + {\edef\@@rorotatie{\number#1}% get rid of leading zeros and spaces + \setbox\nextbox\vbox{\flushnextbox}% not really needed + \dodorotatenextbox\@@rorotatie#2}% + \hbox{\boxcursor\flushnextbox}} -\def\complexrotate[#1]% - {\dowithnextbox - {\getparameters[\??ro][#1]% - \dostoprotate}% - \vbox\localframed[\??ro][#1]} +\def\dodorotatebox#1% {angle} \hbox/\vbox/\vtop + {\bgroup\hbox\bgroup % compatibility hack + \dowithnextbox + {\dorotatenextbox{#1}\plusone + \egroup\egroup}} + +\def\dorotatebox#1% {angle} \hbox/\vbox/\vtop + {\ifcase#1\relax + \expandafter\gobbleoneargument + \else + \expandafter\dodorotatebox + \fi{#1}} \unexpanded\def\rotate % \bgroup: \rotate kan argument zijn {\bgroup\complexorsimpleempty\rotate} +\def\complexrotate[#1]% framed met diepte ! + {\getparameters[\??ro][#1]% + \processaction + [\@@roplaats] + [\v!diepte=>\!!counta\plusthree\donefalse,% depth fit - raw box + \v!passend=>\!!counta\plustwo \donefalse,% depth tight - raw box + \v!ruim=>\!!counta\plusone \donefalse,% nodepth fit - raw box + \v!hoog=>\!!counta\plusone \donetrue,% nodepth fit - framed + \s!default=>\!!counta\plusthree\donetrue,% depth fit - framed + \s!unknown=>\!!counta\plusthree\donetrue]% depth fit - framed + \ifdone + \def\docommand{\localframed[\??ro][#1,\c!plaats=]}% + \else + \let\docommand\relax + \fi + \dowithnextbox{\dorotatenextbox\@@rorotatie\!!counta\egroup}\vbox\docommand} + +\presetlocalframed[\??ro] + +\def\setuprotate + {\dodoubleargument\getparameters[\??ro]} + \setuprotate [\c!rotatie=90, + \c!plaats=\v!normaal, \c!breedte=\v!passend, \c!hoogte=\v!passend, \c!offset=\v!overlay, \c!kader=\v!uit] + +% \dostepwiserecurse{0}{360}{10} +% {\startlinecorrection[blank] +% \hbox +% {\expanded{\setuprotate[rotation=\recurselevel]}% +% \traceboxplacementtrue +% \hbox to .2\hsize{\hss\ruledhbox{\rotate[location=depth] {\ruledhbox{\bfb (depth)}}}}% +% \hbox to .2\hsize{\hss\ruledhbox{\rotate[location=fit] {\ruledhbox{\bfb (fit)}}}}% +% \hbox to .2\hsize{\hss\ruledhbox{\rotate[location=broad] {\ruledhbox{\bfb (broad)}}}}% +% \hbox to .2\hsize{\hss\ruledhbox{\rotate[location=normal]{\ruledhbox{\bfb (normal)}}}}% +% \hbox to .2\hsize{\hss\ruledhbox{\rotate[location=high] {\ruledhbox{\bfb (high)}}}}} +% \stoplinecorrection} % schaal diff --git a/tex/context/base/core-ntb.tex b/tex/context/base/core-ntb.tex index 5b74aa710..8029d0476 100644 --- a/tex/context/base/core-ntb.tex +++ b/tex/context/base/core-ntb.tex @@ -23,6 +23,10 @@ %D optimizations were rejected in order not to complicate this %D module too much (and in order to prevail extensibility). +%D To Do: +%D +%D splitsen = ja | herhaal => als nofTH>1 then ja als herhaal + %D To Do: %D %D \starttypen @@ -113,8 +117,6 @@ % \def\settblspn#1#2{\setvalue {\@@tblprefix#1:s}{#2}} % \def\doiftblspn #1{\doifelsevalue{\@@tblprefix#1:s}{1}} -\newif\ifsqueezeTBLspan \squeezeTBLspantrue % spans one column cell over multi column par cells - \def\settblspn #1{\setvalue {\@@tblprefix#1:s}{1}} \def\doifelsetblspn#1{\doifelsevalue{\@@tblprefix#1:s}{1}} @@ -134,6 +136,7 @@ \let\pushTBLparameters\relax \let\popTBLparameters \relax +\newif\ifsqueezeTBLspan \squeezeTBLspantrue % spans one column cell over multi column par cells \newif\ifautoTBLspread \autoTBLspreadfalse \newif\ifautoTBLhsize \autoTBLhsizetrue \newif\ifautoTBLrowspan \autoTBLrowspantrue @@ -1121,17 +1124,19 @@ % \notsplittblbox{#1}% % \fi} +\newbox\TABLEsplitbox + \def\splittblboxa#1% spacing between rows gets lost in split - {\setbox\scratchbox\vbox{#1}% + {\setbox\TABLEsplitbox\vbox{#1}% \setbox8\vbox{\doifsomething\tbltbltussenwit{\blank[\tbltbltussenwit]}}% \ifmultipleTBLheads \setbox2\vbox{}% \setbox4\vbox{}% \dorecurse\noftblheadlines - {\setbox0\vsplit\scratchbox to \lineheight + {\setbox0\vsplit\TABLEsplitbox to \lineheight \setbox2\vbox{\unvcopy2\unvcopy0}}% \dorecurse\noftblnextlines - {\setbox0\vsplit\scratchbox to \lineheight + {\setbox0\vsplit\TABLEsplitbox to \lineheight \setbox4\vbox{\unvcopy4\unvcopy0}}% \ifcase\noftblheadlines\else \ifdim\pagegoal<\maxdimen @@ -1151,7 +1156,7 @@ \donefalse \!!doneafalse \doloop - {\setbox0\vsplit\scratchbox to \lineheight + {\setbox0\vsplit\TABLEsplitbox to \lineheight \if!!donea \ifdim\pagegoal<\maxdimen \setbox0\vbox{\unvbox0}% @@ -1195,7 +1200,7 @@ \fi}% \fi \egroup - \ifvoid\scratchbox \exitloop \else \donetrue \fi}} + \ifvoid\TABLEsplitbox \exitloop \else \donetrue \fi}} % \def\splittblboxb#1% % {\setbox\scratchbox\vbox{#1}% @@ -1252,19 +1257,19 @@ \let\extratblsplitheight\zeropoint % additional space taken by before/afterTABLEsplitbox \def\splittblboxb#1% - {\setbox\scratchbox\vbox{#1}% + {\setbox\TABLEsplitbox\vbox{#1}% \setbox8\vbox{\doifsomething\tbltbltussenwit{\blank[\tbltbltussenwit]}}% \ifmultipleTBLheads \setbox2\vbox{}% \setbox4\vbox{}% \dorecurse\noftblheadlines - {\setbox0\vsplit\scratchbox to \lineheight + {\setbox0\vsplit\TABLEsplitbox to \lineheight \setbox2\vbox{\unvcopy2\unvcopy0}}% \dorecurse\noftblnextlines - {\setbox0\vsplit\scratchbox to \lineheight + {\setbox0\vsplit\TABLEsplitbox to \lineheight \setbox4\vbox{\unvcopy4\unvcopy0}}% \fi - \testpage[2]% quite save since a row is > 1 lineheight and we don't want on-liners + \testpage[2]% quite save since a row is > 1 lineheight and we don't want one-liners \!!doneafalse \doloop {\ifdim\pagegoal<\maxdimen @@ -1291,14 +1296,14 @@ \doifsomething\tbltbltussenwit{\blank[\tbltbltussenwit]}% \fi \fi - \setbox0\vsplit\scratchbox to\scratchdimen + \setbox0\vsplit\TABLEsplitbox to\scratchdimen \unvbox0}% \if!!donea\else\ifcase\noftblnextlines\else \setbox2\box4 \fi\fi \!!doneatrue \postprocessTABLEsplitbox\finaltblbox - \ifvoid\scratchbox + \ifvoid\TABLEsplitbox \beforeTABLEsplitbox \box\finaltblbox \afterTABLEsplitbox diff --git a/tex/context/base/core-pos.tex b/tex/context/base/core-pos.tex index 5724c72ad..61257abf2 100644 --- a/tex/context/base/core-pos.tex +++ b/tex/context/base/core-pos.tex @@ -948,10 +948,24 @@ \def\textanchor{text:\realfolio} +% \def\placepositionanchors % todo : depth pagebox +% {\ifpositioning +% \setbox\scratchbox\vbox to \teksthoogte +% {\topskipcorrection +% \hbox{\strut\dopositionaction\headanchor}% +% \vfill +% \hbox{\strut\dopositionaction\tailanchor}}% +% \dp\scratchbox\zeropoint +% \wd\scratchbox\zetbreedte % not \zeropoint, else wrong text backgrounds +% \hpos\textanchor{\box\scratchbox}% +% \else +% \vskip\teksthoogte +% \fi} + \def\placepositionanchors % todo : depth pagebox {\ifpositioning \setbox\scratchbox\vbox to \teksthoogte - {\topskipcorrection + {\simpletopskipcorrection \hbox{\strut\dopositionaction\headanchor}% \vfill \hbox{\strut\dopositionaction\tailanchor}}% diff --git a/tex/context/base/core-ref.tex b/tex/context/base/core-ref.tex index f00d5e12b..ee31798bc 100644 --- a/tex/context/base/core-ref.tex +++ b/tex/context/base/core-ref.tex @@ -3204,6 +3204,40 @@ % {#2}% % \fi} +% \definespeciallocation\v!pagina#1#2% page(n) page(+n) page(-n) +% {\iflocation +% \ifx\currentouterreference\empty +% \splitoffreference\currentreferenceoperation +% \else +% \let\currentinnerreference\currentreferenceoperation +% \fi +% \ifx\currentouterreference\empty +% \doifinstringelse+\currentinnerreference +% {\scratchcounter\realpageno +% \advance\scratchcounter \currentinnerreference +% \edef\currentinnerreference{\the\scratchcounter}} +% {\doifinstringelse-\currentinnerreference +% {\scratchcounter\realpageno +% \advance\scratchcounter \currentinnerreference +% \edef\currentinnerreference{\the\scratchcounter}} +% \donothing}% +% \doifnonzeropositiveelse\currentinnerreference +% \donothing +% {\edef\currentinnerreference{1}}% +% \gotorealpage\empty\empty\currentinnerreference{#2}% +% \else +% \setouterlocation\currentouterreference +% \doifnonzeropositiveelse\currentinnerreference +% \donothing +% {\doifdefinedelse{\v!pagina:::\currentinnerreference} +% {\edef\currentinnerreference{\getvalue{\v!pagina:::\currentinnerreference}}} +% {\edef\currentinnerreference{1}}}% +% \gotorealpage\otherURL\otherfile\currentinnerreference{#2}% +% \fi +% \else +% {#2}% +% \fi} + \definespeciallocation\v!pagina#1#2% page(n) page(+n) page(-n) {\iflocation \ifx\currentouterreference\empty @@ -3224,6 +3258,8 @@ \doifnonzeropositiveelse\currentinnerreference \donothing {\edef\currentinnerreference{1}}% + \docheckrealreferencepage\currentinnerreference % new + \let\currentrealreference\currentinnerreference % handy to have this available \gotorealpage\empty\empty\currentinnerreference{#2}% \else \setouterlocation\currentouterreference diff --git a/tex/context/base/core-rul.tex b/tex/context/base/core-rul.tex index 7b44270ee..65b9d9b5f 100644 --- a/tex/context/base/core-rul.tex +++ b/tex/context/base/core-rul.tex @@ -794,10 +794,14 @@ \else\ifx\localwidth\v!ruim \boxhaswidthtrue \!!widtha\hsize + \else\ifx\localwidth\v!lokaal + \boxhaswidthtrue + \setlocalhsize + \!!widtha\localhsize \else \boxhaswidthtrue \!!widtha\localwidth - \fi\fi\fi + \fi\fi\fi\fi \ifx\localheight\v!passend \boxhasheightfalse % no longer: \boxhasstrutfalse \else\ifx\localheight\v!ruim @@ -816,18 +820,23 @@ \boxhasheighttrue \fi}% \fi - % this should be an option ! ! ! ! - \ifdim\!!widtha=\hsize - \parindent\zeropoint - \setlocalhsize - \!!widtha\localhsize - \fi + % this is now an option: width=local + % + % \ifdim\!!widtha=\hsize + % \parindent\zeropoint + % \setlocalhsize + % \!!widtha\localhsize + % \fi % i.e. disable (colsetbackgroundproblemintechniek) \advance\!!widtha -2\@@localoffset \advance\!!heighta -2\@@localoffset \ifx\localstrut\v!nee \boxhasstrutfalse - \fi + \else\ifx\localstrut\v!globaal + \setstrut + \else\ifx\localstrut\v!lokaal + \setfontstrut + \fi\fi\fi \ifboxhasstrut \setstrut \let\localbegstrut\begstrut diff --git a/tex/context/base/core-sec.tex b/tex/context/base/core-sec.tex index d628188a0..8e5040e73 100644 --- a/tex/context/base/core-sec.tex +++ b/tex/context/base/core-sec.tex @@ -207,11 +207,19 @@ {\voorafgaandenummer\nummer[#1]}% \egroup} +% \def\preparethenumber#1#2#3% {\??id#1} \number \result +% {\doifelsevaluenothing{#1\c!scheider} +% {\let\numberseparator\empty +% \let#3#2} +% {\unexpanded\def\numberseparator{\getvalue{#1\c!scheider}}% +% \edef#3{\@EA\separatednumber\@EA{#2}}}} % hm, etex + \def\preparethenumber#1#2#3% {\??id#1} \number \result {\doifelsevaluenothing{#1\c!scheider} {\let\numberseparator\empty \let#3#2} - {\unexpanded\def\numberseparator{\getvalue{#1\c!scheider}}% + {% was \unexpanded \edef, but we need it unexpanded ! + \edef\numberseparator{\getvalue{#1\c!scheider}}% \edef#3{\@EA\separatednumber\@EA{#2}}}} % hm, etex \def\lossenummer[#1]% @@ -945,6 +953,8 @@ \newcounter\currentsectionblock +\def\currentsection{\@@sectieblok} + \def\dodefinieersectieblok[#1][#2][#3]% {\getparameters [\??sb#1] diff --git a/tex/context/base/core-spa.tex b/tex/context/base/core-spa.tex index 49887d92b..3de3a24db 100644 --- a/tex/context/base/core-spa.tex +++ b/tex/context/base/core-spa.tex @@ -533,22 +533,40 @@ \unexpanded\def\blanko % the \relax is definitely needed due to the many \if's {\relax\complexorsimple\doblanko} +% \def\complexdoblanko +% {\flushnotes +% \ifmmode +% \let\next\nocomplexdoblanko +% \else +% \ifopelkaar +% \ifinpagebody +% \let\next\docomplexdoblanko +% \else +% \let\next\nocomplexdoblanko +% \fi +% \else +% \let\next\docomplexdoblanko +% \fi +% \fi +% \next} +% +% with \next removed + \def\complexdoblanko {\flushnotes \ifmmode - \let\next\nocomplexdoblanko + \@EA\nocomplexdoblanko \else \ifopelkaar \ifinpagebody - \let\next\docomplexdoblanko + \@EA\@EAEAEA\@EA\docomplexdoblanko \else - \let\next\nocomplexdoblanko + \@EA\@EAEAEA\@EA\nocomplexdoblanko \fi \else - \let\next\docomplexdoblanko + \@EAEAEA\docomplexdoblanko \fi - \fi - \next} + \fi} \def\nocomplexdoblanko[#1]% {% evt blokkeerfalse @@ -2397,13 +2415,30 @@ \def\removelastskip% a redefinition of plain {\ifvmode\ifdim\lastskip=\zeropoint\else\vskip-\lastskip\fi\fi} +% first version: +% +% \def\dosomebreak#1% +% {\scratchskip\lastskip +% \removelastskip +% %\type{#1}% +% #1\relax +% \ifdim\scratchskip=\zeropoint \else +% \vskip\scratchskip +% \fi} +% +% don't change the next improvement: + \def\dosomebreak#1% - {\scratchskip\lastskip - \removelastskip - %\type{#1}% - #1\relax - \ifdim\scratchskip=\zeropoint \else - \vskip\scratchskip + {\endgraf % beware, this forces a newline + \ifvmode + \ifdim\lastskip=\zeropoint + #1\relax + \else + \scratchskip\lastskip + \removelastskip + #1\relax + \vskip\scratchskip + \fi \fi} % beter, vooral in \vbox; nog in \pagina toepassen s! diff --git a/tex/context/base/core-tbl.tex b/tex/context/base/core-tbl.tex index 036af687d..22ce37474 100644 --- a/tex/context/base/core-tbl.tex +++ b/tex/context/base/core-tbl.tex @@ -1,4 +1,5 @@ %D \module +%D \module %D [ file=core-tbl, %D version=1998.11.03, %D title=\CONTEXT\ Core Macros, diff --git a/tex/context/base/enco-def.tex b/tex/context/base/enco-def.tex index 383dffb5f..a0d56c674 100644 --- a/tex/context/base/enco-def.tex +++ b/tex/context/base/enco-def.tex @@ -345,6 +345,11 @@ \definecharacter Oumlaut {\smashaccent\Odiaeresis} \definecharacter Uumlaut {\smashaccent\Udiaeresis} +\definecharacter scommaaccent {s\quoteright} +\definecharacter Scommaaccent {S\quoteright} +\definecharacter tcommaaccent {t\quoteright} +\definecharacter Tcommaaccent {T\quoteright} + \stopencoding %D A few goodies: diff --git a/tex/context/base/enco-ini.tex b/tex/context/base/enco-ini.tex index 70dd8836c..be9cea913 100644 --- a/tex/context/base/enco-ini.tex +++ b/tex/context/base/enco-ini.tex @@ -1482,10 +1482,10 @@ %D We preload several encodings: -\useencoding[def,acc,raw,com,cas,mis] % mis shoudl come first +\useencoding[def,acc,raw,com,cas,mis] % mis should come first -\useencoding[ans,il2,ec,tbo,pdf,uc,pol] +\useencoding[ans,il2,ec,tbo,pdf,uc,pol,qx] \setupencoding[\s!default=ec] % was: [\s!default=\s!default] -\protect \endinput +\protect \endinput \ No newline at end of file diff --git a/tex/context/base/enco-pfr.tex b/tex/context/base/enco-pfr.tex index 5b064805c..ab6d961e8 100644 --- a/tex/context/base/enco-pfr.tex +++ b/tex/context/base/enco-pfr.tex @@ -14,39 +14,39 @@ %D This is an experimental module in which we implement %D font resource inclusion in \PDF. One reason to include %D font resources is that it enables a search engine to -%D perform a search (I'm told). This feature ws requested by -%D Petr Ferdus from Czech. +%D perform a search (I'm told). This feature ws requested by +%D Petr Ferdus from Czech. %D A simple test file may look like this (watch how we first -%D load the encoding and then the font; previous font -%D definitions are left untouched.) -%D +%D load the encoding and then the font; previous font +%D definitions are left untouched.) +%D %D \starttypen -%D % output=pdftex interface=en -%D +%D % output=pdftex interface=en +%D %D \useencoding[pfr] %D \setupbodyfont[csr] -%D -%D \starttext +%D +%D \starttext %D test \`z \'z \bf test \sl test \bs quite funny \`z \page %D test \`z \'z \bf test \sl test \bs quite funny \`z \page -%D \stoptext -%D \stoptypen +%D \stoptext +%D \stoptypen %D -%D We do our best to include a (often large) font resources -%D only once. The current implementation is not that -%D general which is also due to the fact that \type -%D {\pdffontattr} is expanded instantly and persistent. A -%D more versatile (but also slower) approach is to keep track -%D of the fonts and either flush the information at shipout -%D time, or at the end of the document. +%D We do our best to include a (often large) font resources +%D only once. The current implementation is not that +%D general which is also due to the fact that \type +%D {\pdffontattr} is expanded instantly and persistent. A +%D more versatile (but also slower) approach is to keep track +%D of the fonts and either flush the information at shipout +%D time, or at the end of the document. \unprotect -%D \macros +%D \macros %D {ifincludepdffontresources} %D -%D You can turn of this feature using the following switch. +%D You can turn of this feature using the following switch. \newif\ifincludepdffontresources \includepdffontresourcestrue @@ -55,33 +55,30 @@ %D done, the resource name is erased, and we use this fact to %D prevent redefinition as well as well as reloading. So, a %D macro defined with \type {\pdffontfileresource} can have -%D three states: -%D +%D three states: +%D %D \startopsomming[opelkaar] %D \som undefined: not yet loaded, and not yet included %D \som some value: loaded, but not yet included %D \som empty: loaded, and already included %D \stopopsomming -\def\pdffontresource% - {pdfr:\currentencoding} - -\def\pdffontfileresource% - {pdff:\pdffontresource} +\def\pdffontresource {pdfr:\currentencoding} +\def\pdffontfileresource{pdff:\pdffontresource} %D A resource is defined in a file prefixed by \type {pdfr-}. %D The following \PDF\ code is composed by Ondrej Koala Vacha (I -%D probably mispelled this name). -%D +%D probably mispelled this name). +%D %D \starttypen -%D \startpdffontresource[il2] +%D \startpdffontresource[il2] %D /CIDInit /ProcSet findresource begin %D 12 dict begin %D begincmap %D /CIDSystemInfo -%D << /Registry (Adobe) -%D /Ordering (T1UV) -%D /Supplement 0 +%D << /Registry (Adobe) +%D /Ordering (T1UV) +%D /Supplement 0 %D >> def %D /CMapName /Adobe-Identity-UCS def %D /CMapType 1 def @@ -100,17 +97,17 @@ %D \stoppdffontresource %D \stoptypen %D -%D We don't preload such huge definitions, and process them -%D run||time to save memory. Therefore, in the encoding +%D We don't preload such huge definitions, and process them +%D run||time to save memory. Therefore, in the encoding %D vector, we only add an entry like: -%D +%D %D \starttypen %D \startencoding [il2] %D \usepdffontresource il2 %D \stopencoding %D \stoptypen %D -%D This macro is defined as follows. +%D This macro is defined as follows. \def\usepdffontresource #1 % {\doifundefinedelse{\pdffontfileresource} % okay, undefined, so either @@ -118,10 +115,10 @@ {\doifvaluesomething{\pdffontfileresource} % only if not loaded in which {\setxvalue{\pdffontfileresource}{#1}}}} % case it's made empty -%D Watch how we check for duplicated loading. The resource -%D itself, when asked for, is included immediately, after which -%D we save its reference. Normally a document will have one -%D such a resource. +%D Watch how we check for duplicated loading. The resource +%D itself, when asked for, is included immediately, after which +%D we save its reference. Normally a document will have one +%D such a resource. \long\def\startpdffontresource[#1]#2\stoppdffontresource% {\donefalse % we use boolean due to \par @@ -132,15 +129,15 @@ \setxvalue{\pdffontresource}{\the\pdflastobj}% \fi} -%D The reference to such a vector is to be handled at font -%D definition time, which is why we hook it into the font -%D loading routine. A little bit of indirectness speeds up -%D the process when this feature is disabled and keeps the -%D macros readable. +%D The reference to such a vector is to be handled at font +%D definition time, which is why we hook it into the font +%D loading routine. A little bit of indirectness speeds up +%D the process when this feature is disabled and keeps the +%D macros readable. \appendtoksonce \includepdffontresource \to \everyfont -\def\includepdffontresource% +\def\includepdffontresource {\ifincludepdffontresources \ifx\pdffontattr\undefined % we're not using (a recent version of) pdftex @@ -155,7 +152,7 @@ \def\doincludepdffontresource {\ifcsname\s!ucmap\fontfile\endcsname\else - \dodoincludepdffontresource + \dodoincludepdffontresource \fi} \def\dodoincludepdffontresource% @@ -189,7 +186,7 @@ \def\doincludepdffontresource {\@EA\ifx\csname\s!ucmap\fontfile\endcsname\relax - \dodoincludepdffontresource + \dodoincludepdffontresource \fi} \def\dodoincludepdffontresource% @@ -204,7 +201,7 @@ \fi \fi \@EA\ifx\csname\pdffontresource\endcsname\relax\else - \expanded{\pdffontattr\font + \expanded{\pdffontattr\font {/ToUnicode \csname\pdffontresource\endcsname\space0 R}}% \fi \global\@EA\let\csname\s!ucmap\fontfile\endcsname\empty @@ -213,8 +210,8 @@ \endTEX -%D For the moment, we keep this definition here, if only -%D because \type {\usepdffontencoding} is not defined in the +%D For the moment, we keep this definition here, if only +%D because \type {\usepdffontencoding} is not defined in the %D core. In the end, this will go to enco-il2. \startencoding [il2] diff --git a/tex/context/base/enco-pol.tex b/tex/context/base/enco-pol.tex index 108969702..353b5ef7b 100644 --- a/tex/context/base/enco-pol.tex +++ b/tex/context/base/enco-pol.tex @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -%D Polish native encoding; normally polish users will use +%D Polish native encoding; normally polish users will use %D translate=cp1250pl in combination with ec encoding. \startmapping[pl0] @@ -23,7 +23,7 @@ \definecasemap 171 171 139 % n acute \definecasemap 243 243 211 % o acute \definecasemap 177 177 145 % s acute -\definecasemap 185 185 153 % z acute +\definecasemap 185 185 153 % z acute \definecasemap 187 187 155 % z dot \definecasemap 129 161 129 % A ogonek @@ -34,9 +34,9 @@ \definecasemap 211 243 211 % O acute \definecasemap 145 177 145 % S acute \definecasemap 153 185 153 % Z acute -\definecasemap 155 187 155 % Z dot +\definecasemap 155 187 155 % Z dot -\stopmapping +\stopmapping \startmapping[pl0] @@ -50,7 +50,7 @@ \definespacemap 153 999 % Z acute \definespacemap 155 999 % Z dot -\stopmapping +\stopmapping \startencoding[pl0] @@ -62,23 +62,23 @@ \definecharacter Sacute 145 \definecharacter Zacute 153 \definecharacter Zdot 155 -\definecharacter aogonek 161 -\definecharacter cacute 162 -\definecharacter eogonek 166 -\definecharacter lstroke 170 -\definecharacter nacute 171 +\definecharacter aogonek 161 +\definecharacter cacute 162 +\definecharacter eogonek 166 +\definecharacter lstroke 170 +\definecharacter nacute 171 \definecharacter sacute 177 \definecharacter zacute 185 \definecharacter zdot 187 \definecharacter Oacute 211 \definecharacter oacute 243 -\stopencoding +\stopencoding \startencoding[pl0] -\definecharacter leftguillemot 174 -\definecharacter rightguillemot 175 +\definecharacter leftguillemot 174 +\definecharacter rightguillemot 175 \definecharacter guilsingleleft 174 \definecharacter guilsingleright 175 @@ -119,7 +119,7 @@ \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 159 159 143 % z acute \definecasemap 191 191 175 % z dot \definecasemap 165 165 185 % A ogonek @@ -130,9 +130,9 @@ \definecasemap 211 211 243 % O acute \definecasemap 140 140 156 % S acute \definecasemap 143 143 159 % Z acute -\definecasemap 175 175 191 % Z dot +\definecasemap 175 175 191 % Z dot -\stopmapping +\stopmapping \startmapping[pl1] @@ -146,7 +146,7 @@ \definespacemap 143 999 % Z acute \definespacemap 175 999 % Z dot -\stopmapping +\stopmapping \startencoding[pl1] @@ -169,12 +169,12 @@ \definecharacter nacute 241 \definecharacter oacute 243 -\stopencoding +\stopencoding \startencoding[pl1] -\definecharacter leftguillemot 174 -\definecharacter rightguillemot 175 +\definecharacter leftguillemot 174 +\definecharacter rightguillemot 175 \definecharacter guilsingleleft 174 \definecharacter guilsingleright 175 @@ -202,9 +202,9 @@ \definecasemap 211 211 243 % O acute \definecasemap 166 166 182 % S acute \definecasemap 172 172 188 % Z acute -\definecasemap 175 175 191 % Z dot +\definecasemap 175 175 191 % Z dot -\stopmapping +\stopmapping \startmapping[pl2] @@ -218,7 +218,7 @@ \definespacemap 172 999 % Z acute \definespacemap 175 999 % Z dot -\stopmapping +\stopmapping \startencoding[pl2] @@ -228,7 +228,7 @@ \definecharacter Zacute 172 \definecharacter Zdot 175 \definecharacter aogonek 177 -\definecharacter lstroke 179 +\definecharacter lstroke 179 \definecharacter sacute 182 \definecharacter zacute 188 \definecharacter zdot 191 @@ -241,15 +241,15 @@ \definecharacter nacute 241 \definecharacter oacute 243 -\stopencoding +\stopencoding \startencoding[pl2] -\definecharacter leftguillemot 174 -\definecharacter rightguillemot 175 +\definecharacter leftguillemot 174 +\definecharacter rightguillemot 175 \definecharacter guilsingleleft 174 \definecharacter guilsingleright 175 \stopencoding -\endinput +\endinput \ No newline at end of file diff --git a/tex/context/base/enco-qx.tex b/tex/context/base/enco-qx.tex new file mode 100644 index 000000000..f9b125ad8 --- /dev/null +++ b/tex/context/base/enco-qx.tex @@ -0,0 +1,207 @@ +%D \module +%D [ file=enco-qx, +%D version=2004.04.03, +%D title=\CONTEXT\ Encoding Macros, +%D subtitle=Polish QX Encoding, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright=PRAGMA-ADE] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +\startmapping[qx] % to be done + +\definecasemaps 160 to 188 lc +32 uc 0 +\definecasemaps 192 to 255 lc 0 uc -32 + +\stopmapping + +\startencoding[qx] + +\definecharacter textacute 19 +\definecharacter textbreve 21 +\definecharacter textcaron 20 +\definecharacter textcedilla 24 +\definecharacter textcircumflex 94 +\definecharacter textdiaeresis 127 +\definecharacter textdotaccent 94 +\definecharacter textgrave 18 +\definecharacter texthungarumlaut 125 +\definecharacter textmacron 22 +\definecharacter textogonek 150 +\definecharacter textring 23 +\definecharacter texttilde 126 + +\definecharacter dotlessi 16 +\definecharacter dotlessj 17 + +\definecharacter endash 123 +\definecharacter emdash 124 + +\definecharacter aeligature 26 +\definecharacter AEligature 27 +\definecharacter oeligature 29 +\definecharacter OEligature 30 + +\definecharacter ssharp 25 +%definecharacter Ssharp 25 + +\definecharacter thorn 254 +\definecharacter Thorn 222 + +\definecharacter Eth 208 +\definecharacter eth 240 + +\definecharacter exclamdown 60 +\definecharacter questiondown 62 + +\definecharacter sectionmark 159 + +\definecharacter percent 37 +\definecharacter perthousand 216 + +\definecharacter textasciicircum 141 +\definecharacter textasciitilde 140 +\definecharacter textbackslash 198 +\definecharacter textbraceleft 157 +\definecharacter textbraceright 158 +\definecharacter textunderscore 230 + +\definecharacter textcurrency 215 +\definecharacter textdollar 36 +\definecharacter texteuro 128 + +\definecharacter periodcentered 189 +\definecharacter textdag 143 +\definecharacter textddag 144 +\definecharacter textdegree 148 +\definecharacter textbullet 180 + +\definecharacter paragraphmark 176 + +\definecharacter copyright 164 +\definecharacter registered 163 + +\definecharacter textbrokenbar 223 +\definecharacter textellipsis 8 +\definecharacter textslash 47 +\definecharacter textpm 172 +\definecharacter textdiv 165 +\definecharacter textminus 168 +\definecharacter textmultiply 169 +\definecharacter textmu 7 + +\definecharacter quotedbl 190 +\definecharacter quotedblbase 255 +\definecharacter quotedblleft 92 +\definecharacter quotedblright 34 + +\definecharacter quotesingle 191 + +\definecharacter quoteleft 96 +\definecharacter quoteright 39 + +\definecharacter leftguillemot 174 +\definecharacter rightguillemot 175 + +\definecharacter aacute 225 +\definecharacter Aacute 193 +\definecharacter cacute 162 +\definecharacter Cacute 130 +\definecharacter eacute 233 +\definecharacter Eacute 201 +\definecharacter iacute 237 +\definecharacter Iacute 205 +\definecharacter Nacute 139 +\definecharacter Oacute 211 +\definecharacter nacute 171 +\definecharacter oacute 243 +\definecharacter sacute 177 +\definecharacter Sacute 145 +\definecharacter uacute 250 +\definecharacter Uacute 218 +\definecharacter yacute 253 +\definecharacter Yacute 221 +\definecharacter zacute 185 +\definecharacter Zacute 153 + +\definecharacter scaron 178 +\definecharacter Scaron 146 +\definecharacter zcaron 186 +\definecharacter Zcaron 154 + +\definecharacter ccedilla 231 +\definecharacter Ccedilla 199 + +\definecharacter acircumflex 226 +\definecharacter Acircumflex 194 +\definecharacter ecircumflex 234 +\definecharacter Ecircumflex 202 +\definecharacter icircumflex 238 +\definecharacter Icircumflex 206 +\definecharacter ocircumflex 244 +\definecharacter Ocircumflex 212 +\definecharacter ucircumflex 251 +\definecharacter Ucircumflex 219 + +\definecharacter adiaeresis 228 +\definecharacter Adiaeresis 196 +\definecharacter ediaeresis 235 +\definecharacter Ediaeresis 203 +\definecharacter idiaeresis 239 +\definecharacter Idiaeresis 207 +\definecharacter odiaeresis 246 +\definecharacter Odiaeresis 214 +\definecharacter udiaeresis 252 +\definecharacter Udiaeresis 220 +\definecharacter ydiaeresis 184 +\definecharacter Ydiaeresis 152 + +\definecharacter zdotaccent 187 +\definecharacter Zdotaccent 155 + +\definecharacter agrave 224 +\definecharacter Agrave 192 +\definecharacter egrave 232 +\definecharacter Egrave 200 +\definecharacter igrave 236 +\definecharacter Igrave 204 +\definecharacter ograve 242 +\definecharacter Ograve 210 +\definecharacter ugrave 249 +\definecharacter Ugrave 217 + +\definecharacter aogonek 161 +\definecharacter Aogonek 129 +\definecharacter eogonek 166 +\definecharacter Eogonek 134 +\definecharacter iogonek 167 +\definecharacter Iogonek 135 +\definecharacter uogonek 183 +\definecharacter Uogonek 151 + +\definecharacter aring 229 +\definecharacter Aring 197 + +\definecharacter lstroke 170 +\definecharacter Lstroke 138 +\definecharacter ostroke 28 +\definecharacter Ostroke 31 + +\definecharacter atilde 227 +\definecharacter Atilde 195 +\definecharacter ntilde 241 +\definecharacter Ntilde 209 +\definecharacter otilde 245 +\definecharacter Otilde 213 + +\definecharacter scommaaccent 179 +\definecharacter Scommaaccent 147 +\definecharacter tcommaaccent 181 +\definecharacter Tcommaaccent 149 + +\stopencoding + +\endinput \ No newline at end of file diff --git a/tex/context/base/java-exa.tex b/tex/context/base/java-exa.tex new file mode 100644 index 000000000..a28b5aeae --- /dev/null +++ b/tex/context/base/java-exa.tex @@ -0,0 +1,232 @@ +%D \module +%D [ file=java-exa, +%D version=2002.??.??, +%D title=\CONTEXT\ JavaScript Macros, +%D subtitle=Example Support, +%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. + +\startJSpreamble request_0 used now + + exa_command = "" ; + exa_option = "" ; + exa_filename = "" ; + exa_filelist = "" ; + exa_registered = "" ; + +\stopJSpreamble + +\startJSpreamble request_1 used now + + function set_request (command,option) { + exa_command = command ; + if (option.indexOf("--")<0) { + exa_option = "--action=" + option ; + } else { + exa_option = option ; + } + } + + function assemble_request ( ) { + v = this.getField('filename') ; + if (v) { + exa_filename = v.value ; + } + v = this.getField('filelist') ; + if (v) { + exa_filelist = v.value ; + } + % exa_filename = exa_filename.replace(/\\\\/g,'/') ; + % exa_filelist = exa_filelist.replace(/\\\\/g,'/') ; + str = "" ; + if (exa_filelist == '') { + exa_filelist = exa_registered ; + } else { + if (exa_registered != '') { + exa_filelist = exa_filelist + "\\n" + exa_registered ; + } + } + if (exa_command != '') { + str = str+""+exa_command+"" ; + } + if (exa_option != '') { + str = str+""+exa_option+"" ; + } + if (exa_filename != '') { + str = str+""+exa_filename+"" ; + } + if (exa_filelist != '') { + lst = exa_filelist.split(/\\s/) ; + str = str+"" ; + for (i=0;i"+lst[i]+"" ; + } + str = str+"" ; + } + str = str + "" ; + v = this.getField('exa:request') ; + if (v) { + % console.println(str) ; + v.value = str ; + } + } + +\stopJSpreamble + +\startJSpreamble request_2 used now + + multiplefiles = false ; + + function setfilename ( suffixes ) { + f = this.getField("fakename") ; + if (f) { + f.browseForFileToSubmit() ; + if (suffixes != "") { + s = suffixes.replace(/,/g,"|") ; + r = new RegExp() ; + s = "\\\\.(" + s + ")$" ; + r.compile(s, "i") ; + if (f.value.search(r)<=0) { + f.value = "" ; + app.alert('This filetype is not permitted.') ; + } + } + g = this.getField("filename") ; + if (g) { + g.value = f.value ; + } + % we need to set the value of the selector to empty else + % we get some funny preloading of multimeg files in spite + % of the specs that say that xml fields will not get sent + f.value = '' } + this.dirty = false ; + } + + function addfilename () { + if (multiplefiles) { + h = this.getField("filelist") ; + g = this.getField("filename") ; + if ((g) && (h)) { + str = g.value ; + if (h.value == '') { + h.value = str ; + } else { + h.value = h.value + "\\n" + str ; + } + g.value = '' ; + this.value = '' ; + } + } + this.dirty = false ; + } + + % not needed (why is it in here then) + + function registerfilename (str) { + if (str!='') { + h = this.getField("filelist") ; + if (h) { + if (h.value != '') { + h.value = h.value + "\\n" ; + } + h.value = h.value + str ; + } else { + if (exa_registered != '') { + exa_registered = exa_registered + "\\n" ; + } + exa_registered = exa_registered + str ; + } + } + console.show ; + console.println('registered files') ; + console.println("file: "+str) ; + console.println("list: "+exa_registered) ; + this.dirty = false ; + } + + function checkfilename () { + } + + function getfilename ( suffixes ) { + setfilename(suffixes) ; + checkfilename() ; + addfilename() ; + } + + function resetfilename () { + f = this.getField("filename") ; + if (f) { + f.value = '' ; + } + f = this.getField("fakename") ; + if (f) { + f.value = '' ; + } + f = this.getField("filelist") ; + if (f) { + f.value = '' ; + } + } + +\stopJSpreamble + +\startJSpreamble request_3 used now + + function set_example_host ( host ) { + if (host.indexOf("://")<0) { + global.examplehost = "http://" + host ; + } else { + global.examplehost = host ; + } + } + + function set_example_port ( port ) { + global.exampleport = port ; + } + + function show_example_url ( ) { + console.println("example url: " + global.examplehost + ":" + global.exampleport) ; + } + + function report_example_url ( ) { + app.alert("Requests will be submitted to port " + global.exampleport + " on " + global.examplehost + '.') ; + } + + function submit_form (host, port) { + console.println("form: submit") ; + console.println("host: "+host) ; + console.println("port: "+port) ; + % example_url = "http://" + host + ":" + port ; + example_url = host + ":" + port ; + this.submitForm({cURL : example_url, bXML : true}) ; + } + + function submit_example_form ( ) { + console.println("example form: submit") ; + console.println("example host: "+global.examplehost) ; + console.println("example port: "+global.exampleport) ; + % example_url = "http://" + global.examplehost + ":" + global.exampleport ; + example_url = global.examplehost + ":" + global.exampleport ; + this.submitForm({cURL : example_url, bXML : true}) ; + } + + if (typeof global.examplehost == "undefined" ) { + if (this.baseURL == "") { + set_example_host("http://localhost") ; + } else { + set_example_host(this.baseURL) ; + } + } + + if (typeof global.exampleport == "undefined" ) { + set_example_port("8061") ; + } + +\stopJSpreamble + +\endinput \ No newline at end of file diff --git a/tex/context/base/java-fil.tex b/tex/context/base/java-fil.tex index 2875998dd..02f32dffc 100644 --- a/tex/context/base/java-fil.tex +++ b/tex/context/base/java-fil.tex @@ -8,10 +8,10 @@ %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. -\startJSpreamble{Auxiliary} used now +\startJSpreamble Auxiliary used now function DocumentFileName () { var Paths = this.path.split("/") ; @@ -19,19 +19,19 @@ return(Paths[0]) } function Print_Page_Range(From, To) % gaat mis, nog geen args mogelijk - { if ((Number(From)>0)&&(Number(To)>=Number(From))) - { var myFrom = Number(From)-1 ; - var myTo = Number(To)-1 ; + { if ((Number(From)>0)&&(Number(To)>=Number(From))) + { var myFrom = Number(From)-1 ; + var myTo = Number(To)-1 ; this.print(false,myFrom,myTo,true) } } - function Print_This_Page () - { this.print(false,this.pageNum,this.pageNum,true) } + function Print_This_Page () + { this.print(false,this.pageNum,this.pageNum,true) } \stopJSpreamble -\definereference - [PrintSubPaginas] - [JS(Print_Page_Range{\firstsubpage,\lastsubpage})] +\definereference + [PrintSubPaginas] + [JS(Print_Page_Range{\firstsubpage,\lastsubpage})] \definereference [PrintSubPages] @@ -45,4 +45,4 @@ [PrintThisPage] [JS(Print_This_Page)] -\endinput +\endinput \ No newline at end of file diff --git a/tex/context/base/java-fld.tex b/tex/context/base/java-fld.tex index aad157dd7..aa563c1a4 100644 --- a/tex/context/base/java-fld.tex +++ b/tex/context/base/java-fld.tex @@ -127,7 +127,7 @@ event.value = Sanitized_TeX_String(event.value) ; \stopJScode -\startJSpreamble {Field} used now +\startJSpreamble fields_1 used now var visible_field = new Array() ; % no garbage collection ! var visible_fields = 0 ; @@ -249,7 +249,7 @@ function ForgetChanges () % This can be done more efficient, by keeping track of the % current top of the stack. -\startJSpreamble {FieldStack} used later +\startJSpreamble FieldStack used later function Reset_Fields ( FieldSet ) { var i = 1 ; diff --git a/tex/context/base/java-ini.tex b/tex/context/base/java-ini.tex index f9cd778af..495b86a41 100644 --- a/tex/context/base/java-ini.tex +++ b/tex/context/base/java-ini.tex @@ -679,4 +679,4 @@ \def\useJSscripts {\dodoubleempty\douseJSscripts} -\protect \endinput +\protect \endinput \ No newline at end of file diff --git a/tex/context/base/java-stp.tex b/tex/context/base/java-stp.tex new file mode 100644 index 000000000..2417a61e0 --- /dev/null +++ b/tex/context/base/java-stp.tex @@ -0,0 +1,127 @@ +%D \module +%D [ file=java-stp, +%D version=2004.03.15, +%D title=\CONTEXT\ JavaScript Macros, +%D subtitle=Stepping, +%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. + +\startJSpreamble Steps used now + + % we define ocglist global, otherwise we quickly run into a memory hog (even + % out of memory in a 512 Meg machine) + + % we cannot use doc_visited[this.pageNum] instead of doc_currentstep because + % of some funny side effect (i.e. dup or so) + + var doc_ocglist = this.getOCGs() ; + var doc_stepname = "step" ; + var doc_currentstep = 0 ; + var doc_maxstep = 50 ; + var doc_visited = new Array() ; + var doc_busy = new Array() ; + + % for some reason, this function is not seen in time (funny initialization + % order again?) ... + + function SetupStepper ( layername, laststep ) { + doc_stepname = layername ; + doc_maxstep = laststep ; + for (var i=0; i<=this.numPages; i++) { + doc_visited[i] = 0 ; + doc_busy[i] = 0 ; + } + } + + % so, we do it the ugly way + + for (var i=0; i<=this.numPages; i++) { + doc_visited[i] = 0 ; + doc_busy[i] = 0 ; + } + + function GetOCG ( name ) { + for (var i=0; i < doc_ocglist.length; i++) { + if (doc_ocglist[i].name == name) { + return doc_ocglist[i] ; + } + } + return null ; + } + + function CheckBusy ( ) { + var ocg = GetOCG("step:busy") ; + if (ocg != null) { + if (doc_visited[this.pageNum]==0) { + ocg.state = true ; + } else { + if (doc_visited[this.pageNum]\zeropoint % added, faster +% \setbox\scratchbox\vbox to #2 +% \bgroup\hbox\bgroup +% \swapmargins +% \goleftonpage +% \dododopagebodybackground\linkerrandbreedte #2#1\v!linkerrand +% \hskip\linkerrandafstand +% \dododopagebodybackground\linkermargebreedte #2#1\v!linkermarge +% \hskip\linkermargeafstand +% \dododopagebodybackground\zetbreedte #2#1\v!tekst +% \hskip\rechtermargeafstand +% \dododopagebodybackground\rechtermargebreedte#2#1\v!rechtermarge +% \hskip\rechterrandafstand +% \dododopagebodybackground\rechterrandbreedte #2#1\v!rechterrand +% \egroup\egroup +% \wd\scratchbox\zeropoint +% \box\scratchbox\relax +% \fi} + \def\dodopagebodybackground#1#2% {\ifdim#2>\zeropoint % added, faster \setbox\scratchbox\vbox to #2 \bgroup\hbox\bgroup - \swapmargins + % \swapmargins \goleftonpage \dododopagebodybackground\linkerrandbreedte #2#1\v!linkerrand \hskip\linkerrandafstand diff --git a/tex/context/base/page-flt.tex b/tex/context/base/page-flt.tex index a680a19fb..ca4ef35ae 100644 --- a/tex/context/base/page-flt.tex +++ b/tex/context/base/page-flt.tex @@ -283,7 +283,8 @@ \v!diepte=>\global\chardef\sidefloatalign\plusthree,% \v!grid=>\global\chardef\sidefloatalign4,% \v!halveregel=>\global\chardef\sidefloatalign5]% - \ifcase\sidefloatalign\relax +% todo (test first): \doifinset\v!lokaal{#2}{\chardef\sidefloatalign\zerocount}% + \ifcase\sidefloatalign\relax % todo: optie v!lokaal => \else \doifinset\v!hoogte {#2}{\global\chardef\sidefloatalign\plusone}% \doifinset\v!regel {#2}{\global\chardef\sidefloatalign\plustwo}% \doifinset\v!diepte {#2}{\global\chardef\sidefloatalign\plusthree}% diff --git a/tex/context/base/page-lay.tex b/tex/context/base/page-lay.tex index 24e28e67b..c35d293f6 100644 --- a/tex/context/base/page-lay.tex +++ b/tex/context/base/page-lay.tex @@ -677,6 +677,12 @@ % {\let\currentlayout\v!even\recalculatelayout}% % \fi} +% document: +% +% \setuplayout[odd][state=stop] \setuplayout[even][state=stop] \setuplayout[page] +% +% \startstandardmakeup[page=blank] ... \stopstandardmakeup + \def\checkcurrentlayout % public and used in naw, so keep this name {\ifundefined{\??ly\realfolio\c!status}% \doifoddpageelse\checkcurrentoddlayout\checkcurrentevenlayout @@ -1405,6 +1411,7 @@ \definepapersize [S6] [\c!breedte=600pt,\c!hoogte=450pt] \definepapersize [S8] [\c!breedte=800pt,\c!hoogte=600pt] \definepapersize [SW] [\c!breedte=800pt,\c!hoogte=450pt] +\definepapersize [SM] [\c!breedte=720pt,\c!hoogte=450pt] %D These are handy too: diff --git a/tex/context/base/page-lyr.tex b/tex/context/base/page-lyr.tex index 953019775..dca34845c 100644 --- a/tex/context/base/page-lyr.tex +++ b/tex/context/base/page-lyr.tex @@ -313,9 +313,9 @@ \doifnotvalue{\layerparameter\c!richting}\v!omgekeerd{\box\layerpagebox}% \fi % don't move - \xdef\lastlayerwd{\wd\nextboxwd}% - \xdef\lastlayerht{\ht\nextboxht}% % not entirely ok when grid ! - \xdef\lastlayerdp{\dp\nextboxdp}% % not entirely ok when grid ! + \xdef\lastlayerwd{\the\nextboxwd}% + \xdef\lastlayerht{\the\nextboxht}% % not entirely ok when grid ! + \xdef\lastlayerdp{\the\nextboxdp}% % not entirely ok when grid ! % this code \doifelse{\layerparameter\c!plaats}\v!grid\donetrue\donefalse \ifdone @@ -438,6 +438,58 @@ {\dodoflushlayer0{#2}{#1#2:\realfolio}} \stopoverlay}} +% \def\dodoflushlayer#1#2#3% +% {\ifundefined{\@@layerbox#3}% +% \ifcase#1\else\writestatus{layer}{unknown layer #3}\fi +% \else +% \bgroup +% \forgetall +% \offinterlineskip +% \doifvalue{\??ll#2\c!optie}\v!test\tracelayerstrue +% \iftracelayers\traceboxplacementtrue\fi +% \!!doneafalse +% \!!donebfalse +% \doifvalue{\??ll#2\c!methode}\v!overlay\!!doneatrue +% \doifvalue{\??ll#2\c!methode}\v!passend\!!donebtrue +% \!!donectrue +% \ifcase#1\else +% \doifnotvalue{\??ll#2\c!positie}\v!ja +% {\doifvalue{\??ll#2\c!herhaal}\v!ja\!!donecfalse +% \doifvalue{\??ll#2\c!status}\v!herhaal\!!donecfalse}% old method +% \fi +% \chardef\layerbox\csname\@@layerbox#3\endcsname +% % we need to copy in order to retain the negative offsets for a next +% % stage of additions, i.e. llx/lly accumulate in repeat mode and the +% % compensation is may differ each flush depending on added content +% \setbox\nextbox \if!!doneb +% \vbox +% {\scratchdimen\getboxlly\layerbox +% \vskip-\scratchdimen +% \scratchdimen\getboxllx\layerbox +% \hskip-\scratchdimen +% \advance\scratchdimen-\wd\layerbox +% \hsize-\scratchdimen +% \if!!donec\box\else\copy\fi\layerbox}% +% \else +% \if!!donec\box\else\copy\fi\layerbox % sorry for the delay due to copying +% \fi +% \iftracelayers \ruledvbox \else \vbox \fi \if!!donea to \overlayheight \fi +% {\hbox \if!!donea to \overlaywidth \fi +% {% klopt dit? #3 en niet #2 ? +% \doifvalue{\??ll#3\realfolio\c!positie}\v!ja +% {\xypos{lyr:#3:\realfolio}}% +% \doifoverlayelse{#3} +% {\box\nextbox} +% {\startlayoutcomponent{l:#3}{layer #3}\box\nextbox\stoplayoutcomponent}% +% \hss}% +% \vss}% +% \if!!donec +% \gsetboxllx\layerbox\zeropoint +% \gsetboxlly\layerbox\zeropoint +% \fi +% \egroup +% \fi} + \def\dodoflushlayer#1#2#3% {\ifundefined{\@@layerbox#3}% \ifcase#1\else\writestatus{layer}{unknown layer #3}\fi @@ -445,6 +497,9 @@ \bgroup \forgetall \offinterlineskip + % needed because we need to handle method +\executeifdefined{\??ll\??ll\getvalue{\??ll#2\c!preset}}\gobbletwoarguments{#2}{}% + % \doifvalue{\??ll#2\c!optie}\v!test\tracelayerstrue \iftracelayers\traceboxplacementtrue\fi \!!doneafalse @@ -455,12 +510,12 @@ \ifcase#1\else \doifnotvalue{\??ll#2\c!positie}\v!ja {\doifvalue{\??ll#2\c!herhaal}\v!ja\!!donecfalse - \doifvalue{\??ll#2\c!status}\v!herhaal\!!donecfalse}% old method + \doifvalue{\??ll#2\c!status}\v!herhaal\!!donecfalse}% \fi \chardef\layerbox\csname\@@layerbox#3\endcsname % we need to copy in order to retain the negative offsets for a next % stage of additions, i.e. llx/lly accumulate in repeat mode and the - % compensation is may differ each flush depending on added content + % compensation may differ each flush depending on added content \setbox\nextbox \if!!doneb \vbox {\scratchdimen\getboxlly\layerbox @@ -476,8 +531,7 @@ \iftracelayers \ruledvbox \else \vbox \fi \if!!donea to \overlayheight \fi {\hbox \if!!donea to \overlaywidth \fi {% klopt dit? #3 en niet #2 ? - \doifvalue{\??ll#3\realfolio\c!positie}\v!ja - {\xypos{lyr:#3:\realfolio}}% + \doifvalue{\??ll#3\realfolio\c!positie}\v!ja {\xypos{lyr:#3:\realfolio}}% \doifoverlayelse{#3} {\box\nextbox} {\startlayoutcomponent{l:#3}{layer #3}\box\nextbox\stoplayoutcomponent}% @@ -508,11 +562,19 @@ \let\placelayer\flushlayer +% \def\tightlayer[#1]% +% {\hbox +% {\def\currentlayer{#1}% todo: left/right +% \hsize\layerparameter\c!breedte +% \vsize\layerparameter\c!hoogte +% \composedlayer{#1}}} + \def\tightlayer[#1]% {\hbox {\def\currentlayer{#1}% todo: left/right - \hsize\layerparameter\c!breedte - \vsize\layerparameter\c!hoogte + \setbox\nextbox\emptybox % hoogte/breedte are \wd\nextbox/\ht\nextbox + \hsize\layerparameter\c!breedte % \overlaywidth = \hsize + \vsize\layerparameter\c!hoogte % \overlaywheight = \vsize \composedlayer{#1}}} %D \macros @@ -695,4 +757,22 @@ \c!xoffset=\!!zeropoint, \c!yoffset=\!!zeropoint] +%D Watch out, a redefinition: + +\ifx\settextpagecontent\undefined \writestatus\m!systems{error in page-lyr.tex} \wait \fi + +\definelayer[OTRTEXT] \setuplayer[OTRTEXT][\c!breedte=\zetbreedte,\c!hoogte=\teksthoogte] + +\let\normalsettextpagecontent\settextpagecontent + +\def\settextpagecontent#1#2#3% #2 and #3 will disappear + {\doifelselayerdata{OTRTEXT} + {\setbox#1\hbox to \zetbreedte + {\startoverlay + {\normalsettextpagecontent{#1}{#2}{#3}\box#1} + {\tightlayer[OTRTEXT]} + \stopoverlay}% + \dp#1\zeropoint}% + {\normalsettextpagecontent{#1}{#2}{#3}}} + \protect \endinput \ No newline at end of file diff --git a/tex/context/base/page-mak.tex b/tex/context/base/page-mak.tex index 6e8793293..03caf2fba 100644 --- a/tex/context/base/page-mak.tex +++ b/tex/context/base/page-mak.tex @@ -191,7 +191,6 @@ %D by setting their associated status variables. The %D connection between them is made by the following macro - \def\setupmakeuplayout {\setupfooter[\c!status=\makeupparameter\c!voetstatus ]% \setupheader[\c!status=\makeupparameter\c!hoofdstatus]% diff --git a/tex/context/base/page-set.tex b/tex/context/base/page-set.tex index 84327dc44..954b7ec6b 100644 --- a/tex/context/base/page-set.tex +++ b/tex/context/base/page-set.tex @@ -538,21 +538,47 @@ %\gdef\localcolumnmaxcells{0}% here ? \global\mofcolumns\nofcolumns} % otherwise problems in finaloutput +% \def\OTRSETdofinaloutput +% {\ifdim\ht\OTRfinalpagebox=\teksthoogte +% % \bgroup \let\OTRSETsetvsize\relax % prevents useless search for gap +% \ifcase\OTRSETbalancemethod +% \finaloutput\box\OTRfinalpagebox +% \else\ifdim\OTRSETbalht>\zeropoint +% \global\setbox\OTRfinalpagebox \iftracecolumnset\ruledvbox\else\vbox\fi to \OTRSETbalht +% {\box\OTRfinalpagebox}% +% \global\dp\OTRfinalpagebox\strutdepth +% \box\OTRfinalpagebox +% \else +% \finaloutput\box\OTRfinalpagebox +% \fi \fi +% \globallet\OTRSETbalht\zeropoint +% % \egroup +% \fi} + \def\OTRSETdofinaloutput {\ifdim\ht\OTRfinalpagebox=\teksthoogte - % \bgroup \let\OTRSETsetvsize\relax % prevents useless search for gap + \bgroup % \let\OTRSETsetvsize\relax % prevents useless search for gap \ifcase\OTRSETbalancemethod \finaloutput\box\OTRfinalpagebox \else\ifdim\OTRSETbalht>\zeropoint - \global\setbox\OTRfinalpagebox \iftracecolumnset\ruledvbox\else\vbox\fi to \OTRSETbalht - {\box\OTRfinalpagebox}% - \global\dp\OTRfinalpagebox\strutdepth - \box\OTRfinalpagebox + % catch a bordercase + \scratchdimen\OTRSETbalht + \advance\scratchdimen\lineheight\relax + \ifdim\scratchdimen>\teksthoogte + % full page + \finaloutput\box\OTRfinalpagebox + \else + % same page + \global\setbox\OTRfinalpagebox \iftracecolumnset\ruledvbox\else\vbox\fi to \OTRSETbalht + {\box\OTRfinalpagebox\vss}% + \setlayer[OTRTEXT]{\box\OTRfinalpagebox}% + \snaptogrid\vbox{\vskip\OTRSETbalht}% hack + \fi \else \finaloutput\box\OTRfinalpagebox \fi \fi \globallet\OTRSETbalht\zeropoint - % \egroup + \egroup \fi} \definesystemvariable {mc} diff --git a/tex/context/base/page-txt.tex b/tex/context/base/page-txt.tex index a36dfed78..45ce40343 100644 --- a/tex/context/base/page-txt.tex +++ b/tex/context/base/page-txt.tex @@ -187,6 +187,24 @@ \def\placetextlinestrut#1% {\doifvalue{#1\c!strut}\v!ja{\setstrut\strut}} +% \def\dosingletexts#1#2#3#4#5#6% +% {\bgroup +% \convertargument#6\to\ascii +% \doifsomething\ascii +% {\doattributes{#1#2}#3#4% +% {\placetextlinestrut{#1}% here ! +% %\doifdefinedelse{\??mk\ascii\c!koppeling} % brrr +% \doifelsemarking\ascii +% {\dolimitatetexts{#1#2#5}{\haalmarkering[\ascii][\v!eerste]}} +% {\ConvertConstantAfter\doifelse{\v!paginanummer}{#6} +% {\@@plaatspaginanummer} +% {\ConvertConstantAfter\doifelse{\v!datum}{#6} +% {\currentdate} +% {% #6{}{}{} -> {} needed for macros that look +% % ahead, like \uniqueMPgraphic +% \opeenregel\dolimitatetexts{#1#2#5}{#6{}{}{}}}}}}}% +% \egroup} + \def\dosingletexts#1#2#3#4#5#6% {\bgroup \convertargument#6\to\ascii @@ -196,9 +214,9 @@ %\doifdefinedelse{\??mk\ascii\c!koppeling} % brrr \doifelsemarking\ascii {\dolimitatetexts{#1#2#5}{\haalmarkering[\ascii][\v!eerste]}} - {\ConvertConstantAfter\doifelse{\v!paginanummer}{#6} - {\@@plaatspaginanummer} - {\ConvertConstantAfter\doifelse{\v!datum}{#6} + {\ConvertConstantAfter\doifelse\v!paginanummer{#6} + \@@plaatspaginanummer + {\ConvertConstantAfter\doifelse\v!datum{#6} {\currentdate} {% #6{}{}{} -> {} needed for macros that look % ahead, like \uniqueMPgraphic diff --git a/tex/context/base/prop-ini.tex b/tex/context/base/prop-ini.tex index 49f4e48de..19ad6b2b8 100644 --- a/tex/context/base/prop-ini.tex +++ b/tex/context/base/prop-ini.tex @@ -76,6 +76,31 @@ \csname\e!start\currentproperty\endcsname} {\csname\e!stop \currentproperty\endcsname}} +% The next alternative provides optional non-grouping: + +\def\dodefineproperty[#1][#2][#3]% todo : global def + {\ifundefined{\??py#1\c!titel}% + \getgparameters[\??py#1][\c!globaal=\v!nee,\c!titel=#1,\c!type=#2,#3]% global ! ! ! ! + \doifelsevalue{\??py#1\c!globaal}\v!ja + {\setgvalue{\s!check#1}{\docheckproperty{#1}}% + \setgvalue{\e!start#1}{\dostartproperty{#1}}% + \setgvalue{\e!stop #1}{\dostopproperty {#1}}}% + {\setgvalue{\s!check#1}{\docheckproperty{#1}}% + \setgvalue{\e!start#1}{\begingroup\dostartproperty{#1}}% + \setgvalue{\e!stop #1}{\dostopproperty {#1}\endgroup}}% + \fi} + +\unexpanded\def\startproperty[#1]% + {\globalpushmacro\currentproperty + \edef\currentproperty{#1}% + \csname\e!start\currentproperty\endcsname} + +\unexpanded\def\stopproperty + {\csname\e!stop \currentproperty\endcsname + \globalpopmacro\currentproperty} + +% % % % % old % % % % % + % grouped % \def\restartproperty#1% diff --git a/tex/context/base/s-abr-01.tex b/tex/context/base/s-abr-01.tex index 34cfa06df..8d567f78b 100644 --- a/tex/context/base/s-abr-01.tex +++ b/tex/context/base/s-abr-01.tex @@ -20,6 +20,8 @@ \protect \logo [ACROBAT] {Acro\-bat} +\logo [AFM] {afm} +\logo [ALEPH] {Aleph} \logo [ALGOL] {ALGOL} \logo [AMSLATEX] {\AmSLaTeX} \logo [AMSTEX] {\AmSTeX} @@ -28,6 +30,7 @@ \logo [ASCIITEX] {ascii\TeX} \logo [ASCII] {ascii} \logo [BIBTEX] {bib\TeX} +\logo [BLUESKY] {BlueSky} \logo [BSD] {bsd} \logo [CDROM] {cdrom} \logo [CD] {cd} @@ -37,11 +40,13 @@ \logo [CONTEXT] {\ConTeXt} \logo [CTAN] {ctan} \logo [CWEB] {cweb} +\logo [DANTE] {Dante} \logo [DISTILLER] {distiller} \logo [DSC] {dsc} \logo [DTD] {dtd} \logo [DTK] {dtk} \logo [DTP] {dtp} +\logo [DVD] {dvd} \logo [DVIPSONE] {dvipsone} \logo [DVIPDFM] {dvipdfm} \logo [DVIPDFMX] {dvipdfmx} @@ -53,6 +58,7 @@ \logo [EIFFEL] {Eiffel} \logo [EMACS] {emacs} \logo [EMTEX] {em\TeX} +\logo [ENCTEX] {enc\TeX} \logo [EPS] {eps} \logo [EXAMPLEX] {examplex} \logo [EXAMPLET] {examplet} @@ -77,16 +83,20 @@ \logo [GNU] {gnu} \logo [GS] {Ghost\-Script} \logo [GUST] {Gust} +\logo [GWTEX] {gw\TeX} \logo [HTTP] {http} \logo [HTML] {html} \logo [IBM] {ibm} \logo [IMAGEMAGICK]{ImageMagick} \logo [INRSTEX] {inrs\TeX} \logo [IRCNET] {IRCnet} +\logo [ISO] {iso} \logo [JAVASCRIPT] {Java\-Script} \logo [JAVA] {Java} \logo [JPEG] {jpeg} \logo [JPG] {jpg} +\logo [KPSE] {kpse} +\logo [KPSEWHICH] {kpsewhich} \logo [LAMSTEX] {\LamSTeX} \logo [LATEXTE] {\LaTeX2e} \logo [LATEXTN] {\LaTeX2.09} @@ -112,7 +122,8 @@ \logo [OMEGA] {Omega} \logo [OPI] {opi} \logo [PASCAL] {Pascal} -\logo [PDFETEX] {pdf-\eTeX} +\logo [PCTEX] {pc\TeX} +\logo [PDFETEX] {pdfe\TeX} \logo [PDFTEX] {pdf\TeX} \logo [PDFTOPS] {pdftops} \logo [PDF] {pdf} @@ -186,6 +197,7 @@ \logo [XINDY] {Xindy} \logo [XML] {xml} \logo [XFDF] {xfdf} +\logo [XPDFETEX] {xpdfe\TeX} \logo [XSLT] {xslt} \logo [XSL] {xsl} \logo [YandY] {y\&y} diff --git a/tex/context/base/s-pre-00.tex b/tex/context/base/s-pre-00.tex index 8266a5929..3866514b8 100644 --- a/tex/context/base/s-pre-00.tex +++ b/tex/context/base/s-pre-00.tex @@ -8,18 +8,18 @@ %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 provides some non core functionality that can -%D be used in the presentations styles. This module contains -%D experimental macros. -%D +%D This module provides some non core functionality that can +%D be used in the presentations styles. This module contains +%D experimental macros. +%D %D The presentation environments are independent of each other. %D Although they have much in common, and in many cases can be %D exchanged, the common components are not collected in this %D file. That way they can serve as examples of style -%D definitions. +%D definitions. \unprotect @@ -32,7 +32,7 @@ \defineframedtext [presentationshield] -\setupframedtexts +\setupframedtexts [presentationshield] [\c!achtergrond=\v!kleur, \c!achtergrondkleur=StepColor, @@ -53,11 +53,11 @@ \def\dopresentationstep#1% not ok yet {\global\setbox\presentationstack=\vbox - {\ifnum\presentationcounter=0 + {\ifnum\presentationcounter=0 \global\presentationheight=\!!zeropoint \fi \ifcase#1\relax - \scratchdimen=\pagetotal + \scratchdimen=\pagetotal \else \scratchdimen=\textheight \fi @@ -76,7 +76,7 @@ [presentation] [\c!breedte=\v!passend,\c!hoogte=\v!passend,\c!offset=\v!overlay, \c!strut=\v!nee,\c!kader=\v!uit,\c!optie=\v!alleenleesbaar] - \definesymbol + \definesymbol [\presentationtag] [\presentationshade] \def\presentationshade% @@ -85,118 +85,118 @@ \definefield[\presentationtag][check][presentation][\presentationtag,\v!geen][\presentationtag] \fitfield[\presentationtag]}} -\startJSpreamble {presentation} used later - var presentation = new Array() ; +\startJSpreamble {presentation} used later + var presentation = new Array() ; for (i=1;i<=\lastpage;i++) - { presentation[i] = 0 } - this.dirty = false ; - function NextPresentation (pagenumber) - { % ++presentation[pagenumber] ; - presentation[pagenumber] = presentation[pagenumber] + 1 ; + { presentation[i] = 0 } + this.dirty = false ; + function NextPresentation (pagenumber) + { % ++presentation[pagenumber] ; + presentation[pagenumber] = presentation[pagenumber] + 1 ; var dummy = 100*pagenumber + presentation[pagenumber] ; - var v = this.getField("presentation:"+dummy) ; - if (v) - { v.hidden = true } - % { v.display = display.hidden } + var v = this.getField("presentation:"+dummy) ; + if (v) + { v.hidden = true } + % { v.display = display.hidden } else { ++pagenumber ; - if (pagenumber<=\lastpage) - { presentation[pagenumber] = presentation[pagenumber] + 1 ; + if (pagenumber<=\lastpage) + { presentation[pagenumber] = presentation[pagenumber] + 1 ; dummy = 100*(pagenumber) + presentation[pagenumber] ; - v = this.getField("presentation:"+dummy) ; - if (v) { v.hidden = true } - % if (v) { v.display = display.hidden } + v = this.getField("presentation:"+dummy) ; + if (v) { v.hidden = true } + % if (v) { v.display = display.hidden } ++this.pageNum } } - this.dirty = false } + this.dirty = false } \stopJSpreamble \definereference[NextStep][JS(NextPresentation{\realfolio})] -%D \macros +%D \macros %D {presentationstep} %D %D The macro \type {\presentationstep} provides a basic slide -%D show functionality. It sort of records pieces of the page -%D that will show up stepwise. It can be used like: +%D show functionality. It sort of records pieces of the page +%D that will show up stepwise. It can be used like: %D %D \starttypen %D \startitemize -%D \item eerste +%D \item eerste %D \item tweede %D \stopitemize -%D -%D \presentationstep -%D +%D +%D \presentationstep +%D %D \startformula %D ax^2+bx+c %D \stopformula -%D +%D %D \presentationstep -%D \stoptypen -%D +%D \stoptypen +%D %D When the document is opened, the two text fragments are %D covered by a shield. Each page has its own shield stack. The %D logical reference \type {NextStep} can be used to hide the -%D shield. +%D shield. %D -%D \starttypen +%D \starttypen %D \setupfootertexts[{\button{Show Up}[NextStep]}] -%D \stoptypen +%D \stoptypen %D -%D In case of presentation style 2, you can say: +%D In case of presentation style 2, you can say: %D -%D \starttypen +%D \starttypen %D \definereference[Whatever][JS(NextPresentation{\realfolio})] -%D \stoptypen +%D \stoptypen %D -%D Depending of the viewer, you need to reset the fields at +%D Depending of the viewer, you need to reset the fields at %D startup: %D -%D \starttypen +%D \starttypen %D \setupinteraction[openaction=ResetForm] -%D \stoptypen +%D \stoptypen %D %D Fixed spacing give you the best results: %D -%D \starttypen -%D \setupwhitespace[fixed] +%D \starttypen +%D \setupwhitespace[fixed] %D \setupblank[fixed] -%D \stoptypen +%D \stoptypen %D %D Sometimes you need to set the color of the background, as -%D with style 2: +%D with style 2: %D -%D \starttypen +%D \starttypen %D \definecolor[StepColor][Page] -%D \stoptypen +%D \stoptypen %D -%D Special effects can be reached with: +%D Special effects can be reached with: %D -%D \starttypen -%D \setupframedtexts +%D \starttypen +%D \setupframedtexts %D [presentationshield] %D [background=color,backgroundcolor=red] -%D \stoptypen +%D \stoptypen %D -%D There is also: +%D There is also: %D %D \starttypen %D \autopresentationsteptrue %D \stoptypen %D -%D One can enable this feature as \type {step} mode. +%D One can enable this feature as \type {step} mode. -\newif\ifautopresentationstep +\newif\ifautopresentationstep \appendtoks \ifautopresentationstep\presentationstep\fi \to \everypar \doifmode{step} {\enablepresentationstep} \doifmode{autostep}{\autopresentationsteptrue\enablepresentationstep} -%D When in \type {comment} mode, embedded page comments are -%D processed and put below the page. The default space of -%D 5cm should be adequate but can of course be changed. +%D When in \type {comment} mode, embedded page comments are +%D processed and put below the page. The default space of +%D 5cm should be adequate but can of course be changed. \doifmode{comment}{\setuppagecomment[state=start,location=bottom]} -\protect \endinput +\protect \endinput \ No newline at end of file diff --git a/tex/context/base/s-pre-60.tex b/tex/context/base/s-pre-60.tex new file mode 100644 index 000000000..44fdb7fc0 --- /dev/null +++ b/tex/context/base/s-pre-60.tex @@ -0,0 +1,87 @@ +%D \module +%D [ file=s-pre-60, +%D version=2004.03.15, +%D title=\CONTEXT\ Style File, +%D subtitle=Presentation Environment 60, +%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. + +\newcounter\StepCounter +\newcounter\StepMaximum + +\useJSscripts[stp] + +\startsetups[set-stepper] + + \ifnum\getvariable{stepper}{nofsteps}>\StepMaximum + + \dostepwiserecurse {\numexpr(\StepMaximum+1)} {\getvariable{stepper}{nofsteps}} {1} + {\expanded{\defineproperty[step:\recurselevel][layer][state=stop,global=yes]}} + + \xdef\StepMaximum{\getvariable{stepper}{nofsteps}} + + \fi + +\stopsetups + +\setvariables + [stepper] + [set=\setups{set-stepper}, + nofsteps=50] + +\defineproperty[step:busy][layer][state=start] + +\definereference [SetupStepper] [JS(SetupStepper{step,\StepMaximum})] +\definereference [ResetStepper] [JS(ResetStepper)] +\definereference [CheckStepper] [JS(CheckStepper{\StepCounter})] +\definereference [InvokeStepper] [JS(InvokeStepper)] + +\def\ResetStep {\doglobal\newcounter\StepCounter} +\def\NextStep {\doglobal\increment \StepCounter} +\def\PrevStep {\doglobal\decrement \StepCounter} + +% todo: roll back blank + +\def\StartStep + {\ifvmode + \scratchskip\lastskip + \vskip-\scratchskip + \startproperty[step:\StepCounter]% + \vskip\scratchskip + \else + \startproperty[step:\StepCounter]% + \fi + \ignorespaces} + +\def\StopStep + {\removeunwantedspaces + \stopproperty} + +\def\StartSteps{\ResetStep\NextStep\StartStep} +\def\StopSteps {\StopStep\PrevStep} +\def\FlushStep {\StopStep\NextStep\StartStep} + +\appendtoks + \ResetStep +\to \everyaftershipout + +\def\StartBusy{\startproperty[step:busy]\ignorespaces} +\def\StopBusy {\removeunwantedspaces\stopproperty} + +\setupinteraction + [openaction=SetupStepper, + openpageaction=CheckStepper, + closepageaction=ResetStepper] + +\defineoverlay[invoke][\overlaybutton{InvokeStepper}] + +\setupbackgrounds + [text] + [background=invoke] + +\endinput \ No newline at end of file diff --git a/tex/context/base/s-pre-61.tex b/tex/context/base/s-pre-61.tex new file mode 100644 index 000000000..9ae4abf09 --- /dev/null +++ b/tex/context/base/s-pre-61.tex @@ -0,0 +1,222 @@ +%D \module +%D [ file=s-pre-61, +%D version=2004.03.15, +%D title=\CONTEXT\ Style File, +%D subtitle=Presentation Environment 61, +%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. + +\usemodule[pre-60] + +\usetypescriptfile[type-ghz] + +\definetypeface[mainface][ss][sans][optima-nova][default][encoding=\defaultencoding] + +\setupbodyfont[mainface,ss,22pt] + +\setuppapersize + [S6][S6] + +% \setuppapersize +% [SW][SW] + +\setuplayout + [topspace=10pt, + header=40pt, + headerdistance=20pt, + height=middle, + footerdistance=20pt, + footer=0pt, + bottomdistance=10pt, + bottom=20pt, + bottomspace=40pt, + backspace=30pt, + width=middle] + +\setupinteraction + [state=start, + click=off, + menu=on] + +\setupinteractionscreen + [option=max] + +\setupinteractionmenu + [bottom] + [color=maincolor, + contrastcolor=maincolor, + style=\tfa, % acceptable + left=\hfill, + middle=, + right=, + height=\bottomheight, + width=2\bottomheight, + offset=overlay, + frame=off] + +\startinteractionmenu[bottom] + \but [firstpage] \symbol[firstpage] \\ + \but [previouspage] \symbol[previouspage] \\ + \but [InvokeStepper] \StartBusy\symbol[PauseRendering]\StopBusy \\ + \but [nextpage] \symbol[nextpage] \\ + \but [lastpage] \symbol[lastpage] \\ + \but [CloseDocument] \symbol[CloseDocument] \\ +\stopinteractionmenu + +% maybe in colo-sjk : \setupcolor[sjk] + +\definecolor [dark] [s=.4] +\definecolor [bright] [s=.9] + +\definecolor [red] [r=.4,g=.2,b=.2] +\definecolor [green] [r=.2,g=.4,b=.2] +\definecolor [blue] [r=.2,g=.2,b=.4] + +\definecolor [cyan] [r=.2,g=.4,b=.4] +\definecolor [magenta][r=.4,g=.2,b=.4] +\definecolor [yellow] [r=.4,g=.4,b=.2] + +\definecolor [pagecolor] [dark] +\definecolor [maincolor] [bright] +\definecolor [textcolor] [red] + +\setupcolors + [state=start, + textcolor=maincolor] + +\setupbackgrounds + [page] + [background=page, + backgroundcolor=textcolor] + +\defineoverlay[page][\uniqueMPgraphic{page-\ifcase\realpageno\or one\else plus\fi}] + +\startuniqueMPgraphic{page-one} + StartPage ; + fill Page + enlarged 4pt + withcolor \MPcolor{pagecolor} ; + fill Field[Text][Text] + topenlarged (TopSpace +4pt) + leftenlarged (BackSpace+4pt) + rightenlarged (CutSpace +4pt) + withcolor OverlayColor ; + StopPage ; +\stopuniqueMPgraphic + +\startuniqueMPgraphic{page-plus} + StartPage ; + fill Page + enlarged 4pt + withcolor \MPcolor{pagecolor} ; + fill Field[Text][Text] + leftenlarged (BackSpace+4pt) + rightenlarged (CutSpace+4pt) + withcolor OverlayColor ; + StopPage ; +\stopuniqueMPgraphic + +\NormalizeFontHeight \HeadFont {\setstrut\strut\quad} {\headerheight} {SansBold} +\NormalizeFontHeight \TitleFont {\setstrut\strut\quad} {2\headerheight} {SansBold} + +\setuphead + [chapter] + [placehead=empty, + after={\blank[big]}, + color=maincolor, + placenumber=no, + style=\HeadFont] + +\setupheadertexts + [\doiftextelse{\placeheadtext[Topic]} + {\placeheadtext[Topic]} + {\placeheadtext[Nopic]}] + [] + +\setuppagenumbering + [location=] + +\definesymbol[emdash][\emdash] \setupitemize[each][packed][symbol=emdash] + +\setupalign[broad,right] + +\def\TitlePage#1% + {\startstandardmakeup[headerstate=high] + \def\\{\endgraf\quad}\TitleFont\setstrut\setupinterlinespace\vfil#1\vfil\vfil + \stopstandardmakeup} + +\definehead[Topic][chapter] +\definehead[Nopic][title] + +\def\Topics#1% + {\Nopic[topics]{#1} + \startcolumns + \placelist[Topic] + \stopcolumns} + +\setuplist + [Topic] + [alternative=f, + color=maincolor, + contrastcolor=maincolor, + criterium=all] + +\defineoverlay[topics][\overlaybutton{topics}] + +\setupbackgrounds + [bottom] [text] + [background=topics] + +\doifnotmode{demo}{\endinput} + +\TitlePage{Stepwise\\Refinement} + +\Topics{Topics} + +\Topic{Female Artists} + +\StartSteps + +\startitemize +\item Tori Amos \FlushStep +\item Kate Bush \FlushStep +\item Heather Nova \FlushStep +\item Alanis Morissette \FlushStep +\item Suzanne Vega \FlushStep +\stopitemize + +\StopSteps + +\Topic{Male Composers} + +\StartSteps + +\startitemize +\item John Adams \FlushStep +\item Steve Reich \FlushStep +\item Louis Andriessen \FlushStep +\item Olivier Messiaen \FlushStep +\stopitemize + +\StopSteps + +\Topic{And Some More} + +\StartSteps + +\startitemize +\item Mark Hollis \FlushStep +\item Roger Waters \FlushStep +\item David Gilmore \FlushStep +\item Peter Gabriel \FlushStep +\item Randy Newman \FlushStep +\stopitemize + +\StopSteps + +\stoptext \ No newline at end of file diff --git a/tex/context/base/setupb.tex b/tex/context/base/setupb.tex index 279a07451..36877f432 100644 --- a/tex/context/base/setupb.tex +++ b/tex/context/base/setupb.tex @@ -1334,7 +1334,7 @@ [\v!ruim] \variable [\c!breedte] - [\v!passend,\v!ruim,\v!vast,\c!dimension!] + [\v!passend,\v!ruim,\v!vast,\v!lokaal,\c!dimension!] [\v!ruim] \variable [\c!offset] @@ -1350,7 +1350,7 @@ [\v!geen] \variable [\c!strut] - [\v!ja,\v!nee] + [\v!ja,\v!nee,\v!globaal,\v!lokaal] [\v!ja] \variable [\c!uitlijnen] diff --git a/tex/context/base/spec-def.tex b/tex/context/base/spec-def.tex index cf9f64724..9fc3b76a5 100644 --- a/tex/context/base/spec-def.tex +++ b/tex/context/base/spec-def.tex @@ -918,6 +918,13 @@ \installspecial[\doinsertrenderingobject] [or] [4] \installspecial[\doinsertrenderingobject] [or] [4] +%D From now on, mapfile loading is also a special; we assume the +%D more or less standard dvips syntax. + +\installspecial[\doresetmapfilelist] [and] [0] +\installspecial[\doloadmapfile] [and] [2] % + - = | filename +\installspecial[\doloadmapline] [and] [2] % + - = | fileline + %D We define a couple of backends: \defineoutput [dvipsone] [dvi,ps,yy] diff --git a/tex/context/base/spec-dpx.tex b/tex/context/base/spec-dpx.tex index bce7d6cb1..61156e42c 100644 --- a/tex/context/base/spec-dpx.tex +++ b/tex/context/base/spec-dpx.tex @@ -8,7 +8,7 @@ %D copyright={Jin-Hwan Cho \& Hans Hagen}] %C %C DVIPDFMx is an eXtended version of the DVIPDFM, a DVI to PDF -%C translator, still under construction by Jin-Hwan Cho and +%C translator, still under construction by Jin-Hwan Cho and %C Shunsaku Hirata. %C %C It supports multi-byte character encodings and large character @@ -17,7 +17,7 @@ %C annotations with Chinese, Japanese, Korean characters, etc. %C %C DVIPDFMx (and information) can be downloaded from: -%C +%C %C http://project.ktug.or.kr/dvipdfmx/ \unprotect @@ -117,7 +117,7 @@ %D \macros %D {doinsertsoundtrack} %D -%D Sounds are supported too. +%D Sounds are supported too. \definespecial\doinsertsoundtrack{\doPDFinsertsoundtrack} @@ -131,7 +131,7 @@ %D implementation does not differ that much from the one %D implemented in the \POSTSCRIPT\ driver. -\def\doPDFovalbox#1#2#3#4#5#6#7% todo: \scratchdimen/\scatchbox +\def\doPDFovalbox#1#2#3#4#5#6#7% todo: \scratchdimen/\scatchbox {\bgroup \dimen0=#4\divide\dimen0 2 \doPDFovalcalc{0pt}{+\dimen0}\xmin @@ -392,11 +392,11 @@ \newif\ifsharePDFactions \sharePDFactionsfalse \def\dodoPDFaction#1#2#3#4% - {\ifcollectreferenceactions + {\ifcollectreferenceactions \xdef\lastPDFaction{#4}% \else \bgroup - % this is yet untested + % this is yet untested %\ifsharePDFactions % \ifcase\similarreference\relax % \xdef\lastPDFaction{<<#4>>}% @@ -405,7 +405,7 @@ % \special{pdf: object @PDF::sim:\the\nofPDFsimilar\space<<#4>>}% % \xdef\lastPDFaction{@PDF::sim:\the\nofPDFsimilar}% % \else - % % leave \lastPDFaction untouched + % % leave \lastPDFaction untouched % \fi %\else \xdef\lastPDFaction{<<#4>>}% @@ -509,7 +509,7 @@ %D Done. % %D 2. Modified codes from \type{spec-fdf} -% +% % \definespecial\dostartgraphicgroup{\special{pdf: literal direct q}} % \definespecial\dostopgraphicgroup {\special{pdf: literal direct Q}} @@ -519,7 +519,7 @@ %D {dostartclipping,dostopclipping} %D %D Clipping in \PDFTEX\ is rather trivial. We can even hook -%D in \METAPOST\ without problems. +%D in \METAPOST\ without problems. \definespecial\dostartclipping#1#2#3% {\PointsToBigPoints{#2}\width @@ -588,4 +588,4 @@ \stopspecials -\protect \endinput +\protect \endinput \ No newline at end of file diff --git a/tex/context/base/spec-fdf.tex b/tex/context/base/spec-fdf.tex index 1e1a6ec52..ac5151e99 100644 --- a/tex/context/base/spec-fdf.tex +++ b/tex/context/base/spec-fdf.tex @@ -610,6 +610,17 @@ \def\PDFgotonewwindow{\ifgotonewwindow\space/NewWindow true \fi} +% optimization in tpd driver +% +% \edef\PDFdestination{(page:\the\scratchcounter)}% +% +% ==> +% +% \advance\scratchcounter 1 +% \edef\PDFdestination{[\pdfpageref \scratchcounter\space 0 R\space\PDFpageviewwrd]}% +% +% \doPDFgetpagedestination#1#2% pagenumber macro % % fuzzy hack + \def\doPDFstartgotorealpage#1#2#3#4#5% watch the R append trick {\bgroup \doifelsenothing{#3}% #1 = url diff --git a/tex/context/base/spec-tpd.tex b/tex/context/base/spec-tpd.tex index 47c887acf..bc8abcaa8 100644 --- a/tex/context/base/spec-tpd.tex +++ b/tex/context/base/spec-tpd.tex @@ -74,6 +74,11 @@ \writestatus{\m!systems}{please update your pdfTeX binaries} \fi +\ifnum\pdftexversion>19 + \pdfhorigin=1 true in + \pdfvorigin=1 true in +\fi + %D We default to 300 dots per inch image resolution. \ifx\pdfimageresolution\undefined @@ -170,6 +175,13 @@ \let\PDFcode\pdfliteral +%D \macros +%D {everyPDFximage} +%D +%D This token register is flushed before an ximage is loaded. + +\newevery \everyPDFximage \relax + %D \macros %D {dosetuppaper} %D @@ -180,6 +192,20 @@ {\global\pdfpagewidth #2\relax \global\pdfpageheight#3\relax} +%D \macros +%D {doloadmapfile,doloadmapline,doresetmapfilelist} + +\ifx\pdfmapfile\undefined \let\pdfmapfile\gobbletwoarguments \fi +\ifx\pdfmapline\undefined \let\pdfmapline\gobbletwoarguments \fi + +\definespecial\doresetmapfilelist{\pdfmapfile{original-empty.map}} +\definespecial\doloadmapfile #1#2{\pdfmapfile{#1#2}} +\definespecial\doloadmapline #1#2{\pdfmapline{#1#2}} + +%D nasty but needed + +\appendtoksonce \loadallfontmapfiles \to \everyPDFximage + %D \macros %D {doinsertfile,dogetnofinsertpages} %D @@ -282,6 +308,7 @@ \def\handlepdfimage#1#2#3#4#5#6#7#8#9% {\bgroup + \the\everyPDFximage \doifvalidpdfimagefileelse{#1} {\checkpdfimagepagenumber{#9}% \immediate\pdfximage @@ -365,6 +392,7 @@ \fi\fi} {\donefalse}% \ifdone + \the\everyPDFximage \checkpdfimagepagenumber{#3}% \checkpdfimageattributes \global\setbox\foundexternalfigure\vbox @@ -1127,11 +1155,19 @@ % \def\doPDFgetobjectpage #1#2#3{..} % \def\doPDFgetobjectpagereference#1#2#3{..} -\def\doPDFgetpagereference % number macro - {\installprogram{texutil --filter \jobname}% - \gdef\doPDFgetpagereference##1% ##2 - {\doPDFgetobjectreference{PDFP}{\number##1}}% {##2} - \doPDFgetpagereference} +\ifx\pdfpageref\undefined + + \def\doPDFgetpagereference % number macro + {\installprogram{texutil --filter \jobname}% + \gdef\doPDFgetpagereference##1{\doPDFgetobjectreference{PDFP}{\number##1}}% {##2} + \doPDFgetpagereference} + +\else + + \def\doPDFgetpagereference#1#2% number macro + {\edef#2{\pdfpageref#1\space\space0 R}} + +\fi %D \macros %D {initializePDFnegative} diff --git a/tex/context/base/supp-emp.tex b/tex/context/base/supp-emp.tex index fd9f473c9..bd0736308 100644 --- a/tex/context/base/supp-emp.tex +++ b/tex/context/base/supp-emp.tex @@ -214,7 +214,7 @@ %D nothing happens since the \type {\csname...} will expand to %D \type {\relax}. -\def\EMsetcounters% +\def\EMsetcounters {\count0=0 \count2=0 \csname EM:\the\EMcounter\endcsname} @@ -331,9 +331,16 @@ %D As a bonus, I will now provide a few macros that will make %D this mechanism transparant to \DVI\ as well as \PDF\ -%D output. We will use \type {\pdfoutput} as trigger. +%D output. We will use \type {\pdfiteral} as trigger. + +\ifx\pdfliteral\undefined + \def\EMpdfordvi#1#2{#2} +\else\ifx\pdfoutput\undefined + \def\EMpdfordvi#1#2{#2} +\else + \def\EMpdfordvi#1#2{\ifcase\pdfoutput#2\else#1\fi} +\fi\fi -\ifx\pdfoutput\undefined \chardef\pdfoutput=0 \fi %D We save some of the macros we defined previously: @@ -342,11 +349,11 @@ %D We now redefine them to support \DVI\ and \PDF. -\def\EMmoveto{\ifcase\pdfoutput\special{em:moveto}\else\pdfEMmoveto\fi} -\def\EMlineto{\ifcase\pdfoutput\special{em:lineto}\else\pdfEMlineto\fi} +\def\EMmoveto{\EMpdfordvi\pdfEMmoveto{\special{em:moveto}}} +\def\EMlineto{\EMpdfordvi\pdfEMlineto{\special{em:lineto}}} -\def\startEMspecials{\ifcase\pdfoutput\else\pdfstartEMspecials\fi} -\def\stopEMspecials {\ifcase\pdfoutput\else\pdfstopEMspecials \fi} +\def\startEMspecials{\EMpdfordvi\pdfstartEMspecials\relax} +\def\stopEMspecials {\EMpdfordvi\pdfstopEMspecials \relax} %D If there is any real demand for this in \CONTEXT, I will %D hook these macros in the special drivers, so that their @@ -365,22 +372,19 @@ \dimen0=#1\relax \count0=\dimen0 \divide\count0 65536 - \ifcase\pdfoutput - \special{em:linewidth \the\dimen0}% - \fi + \pdfordvi\relax{\special{em:linewidth \the\dimen0}}% \xdef\EMlinewd{\the\count0}% \egroup} %D You may wonder to what extent positional tracking is %D \PDFTEX\ specific. In \CONTEXT, we also support position %D tracking in \DVI\ by using specials and analyzing the \DVI\ -%D file afterwards using a \PERL\ script created by Taco -%D Hoekwater. Since many of the advanced \TEX\ features depend -%D on some kind of back||end, we don't consider it to be a -%D disadvantage. Of course, the \PDFTEX\ way is not only -%D cleaner, but also faster. It was more out of curiosity than -%D out of need that we provided the \DVI\ methods as well. -%D Also, it is always good to have more roads to reach the same -%D goal. - -\endinput +%D file afterwards using \DVIPOS. Since many of the advanced +%D \TEX\ features depend on some kind of back||end, we don't +%D consider it to be a disadvantage. Of course, the \PDFTEX\ +%D way is not only cleaner, but also faster. It was more out +%D of curiosity than out of need that we provided the \DVI\ +%D methods as well. Also, it is always good to have more roads +%D to reach the same goal. + +\endinput \ No newline at end of file diff --git a/tex/context/base/supp-fil.tex b/tex/context/base/supp-fil.tex index 8d7655f06..c2da977dd 100644 --- a/tex/context/base/supp-fil.tex +++ b/tex/context/base/supp-fil.tex @@ -182,11 +182,13 @@ \catcode`\/=\@@active \catcode`\:=\@@active +\catcode`\~=\@@active \gdef\sanitizefilename#1\to#2% {\bgroup \edef/{\string/}% \edef:{\string:}% + \edef~{\string~}% \expanded{\xdef\noexpand\sanitizedfilename{#1}}% \egroup \let#2\sanitizedfilename} @@ -288,7 +290,12 @@ % \fi % \next} -\newconditional\trackfilenames \settrue\trackfilenames +\newconditional\trackfilenames + +% We need to postpone loading, else we got frozen type-* files and so when +% a format is generated on a source path. + +\appendtoks \settrue\trackfilenames \to \everyjob \let\trackedfilename\empty @@ -296,7 +303,7 @@ {\sanitizefilename#2\to\readfilename \let\trackedfilename\readfilename \ifconditional\trackfilenames - \ifundefined{fn..\trackedfilename}\donetrue\else\donefalse\fi + \doifundefinedelse{fn..\trackedfilename}\donetrue\donefalse \else \donetrue \fi diff --git a/tex/context/base/supp-mis.tex b/tex/context/base/supp-mis.tex index 2462140ba..8c3eec0c8 100644 --- a/tex/context/base/supp-mis.tex +++ b/tex/context/base/supp-mis.tex @@ -17,8 +17,6 @@ \ifx \undefined \writestatus \else \expandafter \endinput \fi -\ifx \undefined \pdfoutput \chardef\pdfoutput=0 \fi - %D Because \LATEX\ has no safe package loading mechanism, we %D need to take care of possible interference. diff --git a/tex/context/base/supp-mps.tex b/tex/context/base/supp-mps.tex index 91b6a9e03..80ff1fd6f 100644 --- a/tex/context/base/supp-mps.tex +++ b/tex/context/base/supp-mps.tex @@ -512,6 +512,36 @@ % \globallet\flushMPgraphics\closeMPgraphicfiles % \dodostopwritingMPgraphic % \globallet\stopwritingMPgraphic=\dostopwritingMPgraphic} +% \def\startwritingMPgraphic +% {\blabelgroup +% \global\advance\nofMPgraphics 1 +% \ifMPrun \else +% \allocateMPslot\currentMPgraphic +% \fi +% \enableincludeMPgraphics +% \xdef\MPgraphic{\the\currentMPgraphic}% +% \the\everyMPgraphic +% \ifrunMPgraphics +% \openMPgraphicfile1{runtime}% +% % no reset here ! +% \theMPinclusions +% \@EA\expanded\@EA{\@EA\writeMPgraphic\@EA{\the\MPinitializations;}}% +% \else +% \openMPgraphicfile0{collected}% +% % reset here ! global added (due to adding \blabelgroup) +% \theMPinclusions +% \global\let\theMPinclusions\relax +% \fi +% \flushMPTEXgraphic +% \ifMPrun \else +% \immediate\write\MPwrite{let mprunend = end ;}% +% \immediate\write\MPwrite{beginfig(\the\currentMPgraphic);}% +% \@EA\expanded\@EA{\@EA\writeMPgraphic\@EA{\the\MPinitializations;}}% +% \fi +% \globallet\flushMPgraphics\closeMPgraphicfiles % \dodostopwritingMPgraphic +% \globallet\stopwritingMPgraphic=\dostopwritingMPgraphic} + + \def\startwritingMPgraphic {\blabelgroup \global\advance\nofMPgraphics 1 @@ -525,7 +555,7 @@ \openMPgraphicfile1{runtime}% % no reset here ! \theMPinclusions -\@EA\expanded\@EA{\@EA\writeMPgraphic\@EA{\the\MPinitializations;}}% + \@EA\expanded\@EA{\@EA\writeMPgraphic\@EA{\the\MPinitializations;}}% \else \openMPgraphicfile0{collected}% % reset here ! global added (due to adding \blabelgroup) @@ -536,7 +566,9 @@ \ifMPrun \else \immediate\write\MPwrite{let mprunend = end ;}% \immediate\write\MPwrite{beginfig(\the\currentMPgraphic);}% -\@EA\expanded\@EA{\@EA\writeMPgraphic\@EA{\the\MPinitializations;}}% + \ifrunMPgraphics \else + \@EA\expanded\@EA{\@EA\writeMPgraphic\@EA{\the\MPinitializations;}}% + \fi \fi \globallet\flushMPgraphics\closeMPgraphicfiles % \dodostopwritingMPgraphic \globallet\stopwritingMPgraphic=\dostopwritingMPgraphic} @@ -1667,7 +1699,7 @@ %D with. %D %D This is why we provide was to use a dedicate range if -%D numbers for fixed graphcis. Such graphics will not en dup +%D numbers for fixed graphcs. Such graphics will not en dup %D in the text flow (at least their dimensions don't %D contribute to the main vertical list, and thereby they %D cannot interfere. We use a rather safe maximum of 4000 @@ -1680,7 +1712,11 @@ \def\allocateMPslot#1% {\ifrunMPgraphics - \ifcase\pdfoutput \recycleMPslotsfalse \fi + \ifx\pdfliteral\undefined + \recycleMPslotsfalse % quite certainly not pdftex + \else\ifcase\pdfoutput + \recycleMPslotsfalse % dvi mode or not pdftex (we need to handle dvipdfmx) + \fi\fi \else \recycleMPslotsfalse \fi diff --git a/tex/context/base/supp-pdf.tex b/tex/context/base/supp-pdf.tex index 52df7a63c..8152f0e32 100644 --- a/tex/context/base/supp-pdf.tex +++ b/tex/context/base/supp-pdf.tex @@ -1,6 +1,6 @@ %D \module %D [ file=supp-pdf, -%D version=2003.08.12, +%D version=2004.03.26, %D title=\CONTEXT\ Support Macros, %D subtitle=\METAPOST\ to \PDF\ conversion, %D author=Hans Hagen, @@ -33,26 +33,37 @@ % some optimizations are possible, but we need to be generic -%D First we take care of non||\CONTEXT\ use: +%D First we take care of non||\CONTEXT\ use (newlines needed, +%D expandafter not -). \ifx \undefined \writestatus \input supp-mis.tex \relax \fi + \ifx \undefined \convertMPtoPDF \else \expandafter \endinput \fi + \ifx \undefined \StartLatexHack \else \StartLatexHack \fi %D This module handles some \PDF\ conversion and insertions %D topics. By default, the macros use the \PDFTEX\ primitive -%D \type{\pdfliteral} when available. +%D \type{\pdfliteral} when available. Since \PDFTEX\ is now the +%D default engine for \TEX\ distributions, we need a more complex +%D test. -\writestatus{loading}{Context Support Macros / PDF} +\writestatus{loading}{Context Support Macros / PDF (2004.03.26)} \unprotect \ifx\PDFcode\undefined \ifx\pdfliteral\undefined \def\PDFcode#1{\special{PDF: #1}} - \else + \else\ifx\pdfoutput\undefined + \def\PDFcode#1{\special{PDF: #1}} + \else\ifcase\pdfoutput + \def\PDFcode#1{\special{PDF: #1}} + \else % pdftex as well as in pdf mode \let\PDFcode\pdfliteral - \fi + \fi\fi\fi +\else + % we probably use context \fi %D First we define a handy constant: @@ -82,13 +93,13 @@ %D \pdfclippedimage {file} {l} {r} {t} {b} %D \stoptypen -\ifx\pdftexversion\undefined % no \m!systems for the sake of latex - \writestatus{systems}{Why not use pdf(e)TeX binaries?} - \protect - \expandafter\endinput -\fi +% \ifx\pdftexversion\undefined % no \m!systems for the sake of latex +% \writestatus{systems}{Why not use pdf(e)TeX binaries?} +% \protect +% \expandafter\endinput +% \fi -\ifnum\pdftexversion>13 +\ifx\pdftexversion\undefined \else \ifnum\pdftexversion>13 \def\pdfimage#1#% {\dopdfimage{#1}} @@ -129,6 +140,8 @@ \pdfrefxform\pdflastxform \egroup} +\fi \fi + %D If you want to save a few hash entries, you may prefer the %D less readable alternatives, like: %D @@ -140,13 +153,16 @@ %D \pdfrefximage\pdflastximage\egroup}} %D \stoptypen -%D For old times sake: (will be removed some day) +%D For old times sake we provide a few aliases. These will be +%D removed some day. + +\ifx\pdftexversion\undefined \else \ifnum\pdftexversion>13 \let\pdfform =\pdfxform \let\pdflastform=\pdflastxform \let\pdfrefform =\pdfrefxform -\fi +\fi \fi %D \macros %D {convertPDFtoPDF} @@ -203,61 +219,61 @@ %D dimensions. Beware: the user supplied values are not the %D bounding box ones! -% this will become obsolete - -\newif\ifPDFmediaboxprefered - -\def\setPDFboundingbox#1#2#3#4#5#6% - {\dimen0=#1\dimen0=#5\dimen0 - \ScaledPointsToBigPoints{\number\dimen0}\PDFxoffset - \dimen0=#3\dimen0=#5\dimen0 - \xdef\PDFwidth{\the\dimen0}% - \dimen0=#2\dimen0=#6\dimen0 - \ScaledPointsToBigPoints{\number\dimen0}\PDFyoffset - \dimen0=#4\dimen0=#6\dimen0 - \xdef\PDFheight{\the\dimen0}% - \global\let\PDFxoffset\PDFxoffset - \global\let\PDFyoffset\PDFyoffset} - -\def\setPDFmediabox#1[#2 #3 #4 #5]#6\done - {\dimen2=#2bp\dimen2=-\dimen2 % \dimen2=-#2bp also works since tex handles -- - \dimen4=#3bp\dimen4=-\dimen4 % \dimen4=-#3bp also works since tex handles -- - \dimen6=#4bp\advance\dimen6 \dimen2 - \dimen8=#5bp\advance\dimen8 \dimen4 - \setPDFboundingbox{\dimen2}{\dimen4}{\dimen6}{\dimen8}\PDFxscale\PDFyscale} - -\def\checkPDFmediabox#1/MediaBox#2#3\done - {\ifx#2\relax \else - \message{mediabox}% - \setPDFmediabox#2#3\done - \fi} +%D This code has become obsolete. + +% \newif\ifPDFmediaboxprefered + +% \def\setPDFboundingbox#1#2#3#4#5#6% +% {\dimen0=#1\dimen0=#5\dimen0 +% \ScaledPointsToBigPoints{\number\dimen0}\PDFxoffset +% \dimen0=#3\dimen0=#5\dimen0 +% \xdef\PDFwidth{\the\dimen0}% +% \dimen0=#2\dimen0=#6\dimen0 +% \ScaledPointsToBigPoints{\number\dimen0}\PDFyoffset +% \dimen0=#4\dimen0=#6\dimen0 +% \xdef\PDFheight{\the\dimen0}% +% \global\let\PDFxoffset\PDFxoffset +% \global\let\PDFyoffset\PDFyoffset} + +% \def\setPDFmediabox#1[#2 #3 #4 #5]#6\done +% {\dimen2=#2bp\dimen2=-\dimen2 % \dimen2=-#2bp also works since tex handles -- +% \dimen4=#3bp\dimen4=-\dimen4 % \dimen4=-#3bp also works since tex handles -- +% \dimen6=#4bp\advance\dimen6 \dimen2 +% \dimen8=#5bp\advance\dimen8 \dimen4 +% \setPDFboundingbox{\dimen2}{\dimen4}{\dimen6}{\dimen8}\PDFxscale\PDFyscale} + +% \def\checkPDFmediabox#1/MediaBox#2#3\done +% {\ifx#2\relax \else +% \message{mediabox}% +% \setPDFmediabox#2#3\done +% \fi} %D We use the general macro \type{\doprocessfile} and feed this %D with a line handling macro that changes it's behavior when %D the stream operators are encountered. -\def\handlePDFline - {\ifx\@@PDFstream@@\fileline - \let\doprocessPDFline\copyPDFobject - \startPDFtoPDF - \else\ifPDFmediaboxprefered - \expandafter\checkPDFmediabox\fileline/MediaBox\relax\done - \fi\fi} - -\def\copyPDFobject - {\ifx\@@PDFendstream@@\fileline - \ifPDFmediaboxprefered - \let\doprocessPDFline\findPDFmediabox - \else - \let\doprocessPDFline\relax - \fi - \else - \advance\scratchcounter 1 - \PDFcode{\fileline}% - \fi} +% \def\handlePDFline +% {\ifx\@@PDFstream@@\fileline +% \let\doprocessPDFline\copyPDFobject +% \startPDFtoPDF +% \else\ifPDFmediaboxprefered +% \expandafter\checkPDFmediabox\fileline/MediaBox\relax\done +% \fi\fi} + +% \def\copyPDFobject +% {\ifx\@@PDFendstream@@\fileline +% \ifPDFmediaboxprefered +% \let\doprocessPDFline\findPDFmediabox +% \else +% \let\doprocessPDFline\relax +% \fi +% \else +% \advance\scratchcounter 1 +% \PDFcode{\fileline}% +% \fi} -\def\findPDFmediabox - {\expandafter\checkPDFmediabox\fileline/MediaBox\relax\done} +% \def\findPDFmediabox +% {\expandafter\checkPDFmediabox\fileline/MediaBox\relax\done} %D The main conversion macro wraps the \PDF\ codes in a box %D that is output as an object. The graphics are embedded @@ -336,14 +352,14 @@ \else \let\doprocessPDFline\findPDFmediabox \fi\fi}% - \def\findPDFtypepage% + \def\findPDFtypepage {\expandafter\checkPDFtypepage\fileline/Type /Page\relax\done}% \def\checkPDFmediabox##1/MediaBox##2##3\done% {\ifx##2\relax \else \setPDFmediabox##2##3\done \fileprocessedtrue \fi}% - \def\findPDFmediabox% + \def\findPDFmediabox {\expandafter\checkPDFmediabox\fileline/MediaBox\relax\done}% \let\doprocessPDFline\findPDFtypepage \doprocessfile\scratchread{#1}\doprocessPDFline @@ -580,6 +596,7 @@ \catcode`\]=\@@active \catcode`\{=\@@active \catcode`\}=\@@active + \lccode`\-=0 | latex sets this to `\- \lccode`\%=`\% | otherwise it's seen as a number \def\(B\char40\relax E| \def\)B\char41\relax E| @@ -1882,9 +1899,15 @@ \def\finishMPgraphic {\stopMPresources \egroup - \ifx\pdftexversion\undefined\else\ifnum\pdftexversion<14 % for the moment - \chardef\makeMPintoPDFobject0 - \fi\fi + % we go simple when in doubt, this macro will get a proper + % context counterpart so that we can also cover dvipdfmx + \ifx\pdfxform\undefined + \chardef\makeMPintoPDFobject0 % no pdftex at all + \else\ifx\pdftexversion\undefined + \chardef\makeMPintoPDFobject0 % no pdftex at all + \else\ifnum\pdftexversion<14 + \chardef\makeMPintoPDFobject0 % no resource support + \fi\fi\fi \ifcase\makeMPintoPDFobject\or\or\ifx\currentPDFresources\empty\else \chardef\makeMPintoPDFobject1 \fi\fi diff --git a/tex/context/base/symb-eur.tex b/tex/context/base/symb-eur.tex index 89ec60c9a..f5edb3b8b 100644 --- a/tex/context/base/symb-eur.tex +++ b/tex/context/base/symb-eur.tex @@ -11,6 +11,8 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. +\loadmapfile [original-adobe-euro.map] + \definefontsynonym [EuroSerif] [eurose] \definefontsynonym [EuroSerifBold] [euroseb] \definefontsynonym [EuroSerifItalic] [eurosei] @@ -32,8 +34,6 @@ \definefontsynonym [EuroMonoBoldItalic] [euromobi] \definefontsynonym [EuroMonoBoldSlanted] [euromobi] -\loadmapfile [original-adobe-euro.map] - \definesymbol [euro] [\getglyph{Euro}{\char160}] \startencoding[default] diff --git a/tex/context/base/symb-glm.tex b/tex/context/base/symb-glm.tex index 43d729e5a..b673a8e4a 100644 --- a/tex/context/base/symb-glm.tex +++ b/tex/context/base/symb-glm.tex @@ -11,43 +11,46 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -%D Watch the \type {met} instead of \type {mot}! - -\loadmapfile [pl0-ams-cmr] - -\definefontsynonym [GuilSerif] [plr10] [encoding=pl0] -\definefontsynonym [GuilSerifBold] [plbx10] [encoding=pl0] -\definefontsynonym [GuilSerifItalic] [plti10] [encoding=pl0] -\definefontsynonym [GuilSerifSlanted] [plsl10] [encoding=pl0] -\definefontsynonym [GuilSerifBoldItalic] [plbxti10] [encoding=pl0] -\definefontsynonym [GuilSerifBoldSlanted] [plbxsl10] [encoding=pl0] - -\definefontsynonym [GuilSans] [plss10] [encoding=pl0] -\definefontsynonym [GuilSansBold] [plssbx10] [encoding=pl0] -\definefontsynonym [GuilSansItalic] [plssi10] [encoding=pl0] -\definefontsynonym [GuilSansSlanted] [plssi10] [encoding=pl0] -\definefontsynonym [GuilSansBoldItalic] [plssbi10] [encoding=pl0] -\definefontsynonym [GuilSansBoldSlanted] [plssbi10] [encoding=pl0] - -\definefontsynonym [GuilMono] [pltt10] [encoding=pl0] -%definefontsynonym [GuilMonoBold] [pltt10] [encoding=pl0] -%definefontsynonym [GuilMonoSlanted] [pltt10] [encoding=pl0] -%definefontsynonym [GuilMonoItalic] [pltt10] [encoding=pl0] -%definefontsynonym [GuilMonoBoldItalic] [pltt10] [encoding=pl0] -%definefontsynonym [GuilMonoBoldSlanted] [pltt10] [encoding=pl0] - -\definesymbol [leftguillemet] [\getglyph{Guil}{\char174}] -\definesymbol [rightguillemet] [\getglyph{Guil}{\char175}] +%D Watch the \type {x} before the local symbols. + +\loadmapfile [ec-public-lm.map] + +\definefontsynonym [GuilSerif] [plr10] [encoding=ec] +\definefontsynonym [GuilSerifBold] [plbx10] [encoding=ec] +\definefontsynonym [GuilSerifItalic] [plti10] [encoding=ec] +\definefontsynonym [GuilSerifSlanted] [plsl10] [encoding=ec] +\definefontsynonym [GuilSerifBoldItalic] [plbxti10] [encoding=ec] +\definefontsynonym [GuilSerifBoldSlanted] [plbxsl10] [encoding=ec] + +\definefontsynonym [GuilSans] [plss10] [encoding=ec] +\definefontsynonym [GuilSansBold] [plssbx10] [encoding=ec] +\definefontsynonym [GuilSansItalic] [plssi10] [encoding=ec] +\definefontsynonym [GuilSansSlanted] [plssi10] [encoding=ec] +\definefontsynonym [GuilSansBoldItalic] [plssbi10] [encoding=ec] +\definefontsynonym [GuilSansBoldSlanted] [plssbi10] [encoding=ec] + +\definefontsynonym [GuilMono] [pltt10] [encoding=ec] +%definefontsynonym [GuilMonoBold] [pltt10] [encoding=ec] +%definefontsynonym [GuilMonoSlanted] [pltt10] [encoding=ec] +%definefontsynonym [GuilMonoItalic] [pltt10] [encoding=ec] +%definefontsynonym [GuilMonoBoldItalic] [pltt10] [encoding=ec] +%definefontsynonym [GuilMonoBoldSlanted] [pltt10] [encoding=ec] + +\definesymbol [xleftguillemot] [\getglyph{Guil}{\char19}] +\definesymbol [xrightguillemot] [\getglyph{Guil}{\char20}] + +\definesymbol [xguilsingleleft] [\getglyph{Guil}{\char14}] +\definesymbol [xguilsingleright] [\getglyph{Guil}{\char15}] %D A strange place, but okay: \startencoding [default] - \definecharacter leftguillemot {\symbol[leftguillemet]} - \definecharacter rightguillemot {\symbol[rightguillemet]} + \definecharacter leftguillemot {\symbol[xleftguillemot]} + \definecharacter rightguillemot {\symbol[xrightguillemot]} - \definecharacter guilsingleleft {\symbol[leftguillemet]} - \definecharacter guilsingleright {\symbol[rightguillemet]} + \definecharacter guilsingleleft {\symbol[xguilsingleleft]} + \definecharacter guilsingleright {\symbol[xguilsingleright]} \stopencoding diff --git a/tex/context/base/symb-ini.tex b/tex/context/base/symb-ini.tex index b365ae771..9b514415b 100644 --- a/tex/context/base/symb-ini.tex +++ b/tex/context/base/symb-ini.tex @@ -8,18 +8,18 @@ %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 The macros described here used to be part of the \type -%D {core-con} module. I decided to move them here when -%D symbolsets saw the light. Let their light shine. +%D {core-con} module. I decided to move them here when +%D symbolsets saw the light. Let their light shine. \writestatus{loading}{Context Symbol Libraries / Initialization} \unprotect -% TOBIAS +% TOBIAS \startmessages dutch library: symbols title: symbolen @@ -33,12 +33,12 @@ \startmessages german library: symbols title: Symbole - 1: Lade Symboldatei -- + 1: Lade Symboldatei -- \stopmessages \startmessages czech library: symbols title: symboly - 1: nacita se soubor symbolu -- + 1: nacita se soubor symbolu -- \stopmessages \startmessages italian library: symbols @@ -58,29 +58,29 @@ %D \macros %D {definesymbol, symbol} -%D +%D %D Converting numbers or levels into a character, romannumeral, %D symbol or something else, is supported by many \CONTEXT\ %D commands. Therefore we need a mechanism for linking such -%D numbers to their counterparts. -%D +%D numbers to their counterparts. +%D %D First we take care of symbols. These are for instance used -%D in enumerations and itemizations. We have: -%D -%D \showsetup{\y!definesymbol} -%D \showsetup{\y!symbol} -%D +%D in enumerations and itemizations. We have: +%D +%D \showsetup{\y!definesymbol} +%D \showsetup{\y!symbol} +%D %D Symbols are simply linked to a tag. Such tags can be numbers -%D or strings. -%D +%D or strings. +%D %D \starttypen %D \definesymbol [1] [$\bullet$] %D \definesymbol [level 5] [$\star$] %D \stoptypen -% ss:tag -> symbol -% ss:set:tag -> symbol out of set -% sstag -> list of symbols in set +% ss:tag -> symbol +% ss:set:tag -> symbol out of set +% sstag -> list of symbols in set % \def\dodefinesymbol[#1][#2]% % {\ifx\currentsymboldef\empty @@ -105,37 +105,37 @@ \def\definesymbol {\dodoubleargument\dodefinesymbol} -\unexpanded\def\symbol % This one always gobbles spaces, +\unexpanded\def\symbol % This one always gobbles spaces, {\dodoubleempty\dosymbol} % so never change it again! -%D Since symbols are used frequently in interactive -%D documents, we speed up this one. +%D Since symbols are used frequently in interactive +%D documents, we speed up this one. \newif\ifnosymbol \newtoks\everysymbol -\def\dodosymbol#1% \relax's prevent lookahead problems +\def\dodosymbol#1% \relax's prevent lookahead problems {\nosymbolfalse{\the\everysymbol\csname\??ss:#1\endcsname\relax}\relax} -\beginTEX +\beginTEX \def\dosymbol[#1][#2]% - {\nosymboltrue + {\nosymboltrue \ifsecondargument \@EA\ifx\csname\??ss:#1:#2\endcsname\relax\else \dodosymbol{#1:#2}% - \fi \fi + \fi \fi \ifnosymbol \edef\currentsymbol{#1}% \the\symbolsetups - \ifnosymbol + \ifnosymbol \redosymbol\currentsymbol \fi \fi} \def\fetchsymbol#1% - {\ifnosymbol + {\ifnosymbol \@EA\ifx\csname\??ss:#1:\currentsymbol\endcsname\relax\else \dodosymbol{#1:\currentsymbol}% - \fi + \fi \fi} \def\redosymbol#1% @@ -146,23 +146,23 @@ \beginETEX \ifcsname \def\dosymbol[#1][#2]% - {\nosymboltrue + {\nosymboltrue \ifsecondargument \ifcsname\??ss:#1:#2\endcsname \dodosymbol{#1:#2}% - \fi \fi + \fi \fi \ifnosymbol \edef\currentsymbol{#1}% \the\symbolsetups - \ifnosymbol + \ifnosymbol \redosymbol\currentsymbol \fi \fi} \def\fetchsymbol#1% - {\ifnosymbol + {\ifnosymbol \ifcsname\??ss:#1:\currentsymbol\endcsname \dodosymbol{#1:\currentsymbol}% - \fi + \fi \fi} \def\redosymbol#1% @@ -178,10 +178,10 @@ %D %D To simplify defining figure symbols, we offer: %D -%D \showsetup{\y!definefiguresymbol} +%D \showsetup{\y!definefiguresymbol} %D %D By default, such symbols scale along the current bodyfont -%D size or running font size (which is better). +%D size or running font size (which is better). \def\defaultsymbolfactor{10} \def\defaultsymbolheight{1.25ex} @@ -189,7 +189,7 @@ \def\figuresymbol {\dodoubleempty\dofiguresymbol} -\def\dofiguresymbol[#1][% #2]% +\def\dofiguresymbol[#1][% #2]% {\externalfigure [#1] [\c!reset=\v!ja, @@ -209,7 +209,7 @@ \fi} % but for the moment we keep it here -% % % % % % +% % % % % % %\def\objectsymbol[#1]% % {\dopresetfieldsymbol{#1}\dogetfieldsymbol{#1}} @@ -217,15 +217,15 @@ %D \macros %D {doifsymboldefinedelse} %D -%D A handy private one: +%D A handy private one: \beginTEX \def\xfetchsymbol#1% - {\ifnosymbol + {\ifnosymbol \@EA\ifx\csname\??ss:#1:\currentsymbol\endcsname\relax\else \nosymbolfalse - \fi + \fi \fi} \def\xredosymbol#1% @@ -236,8 +236,8 @@ \beginETEX \def\xfetchsymbol#1% - {\ifnosymbol - \ifcsname\??ss:#1:\currentsymbol\endcsname\nosymbolfalse\fi + {\ifnosymbol + \ifcsname\??ss:#1:\currentsymbol\endcsname\nosymbolfalse\fi \fi} \def\xredosymbol#1% @@ -250,11 +250,11 @@ \edef\currentsymbol{#1}% \let\fetchsymbol\xfetchsymbol %\let\redosymbol \xredosymbol - \nosymboltrue + \nosymboltrue \the\symbolsetups - \ifnosymbol - %\redosymbol\currentsymbol - \xredosymbol\currentsymbol + \ifnosymbol + %\redosymbol\currentsymbol + \xredosymbol\currentsymbol \ifnosymbol \egroup\@EAEAEA\secondoftwoarguments \else @@ -266,33 +266,33 @@ %D \macros %D {setupsymbolset,startsymbolset} -%D +%D %D From these macro definitions one can deduce that symbols can -%D be grouped in symbol sets: -%D +%D be grouped in symbol sets: +%D %D \starttypen %D \startsymbolset [navigation 1] -%D \definefiguresymbol [Next] [mp-symb.1] +%D \definefiguresymbol [Next] [mp-symb.1] %D \definefiguresymbol [Prev] [mp-symb.2] %D \stopsymbolset %D \stoptypen -%D +%D %D Such a symbol can be typeset with: -%D +%D %D \starttypen %D \setupsymbolset[navigation 1]\symbol[Next] %D \stoptypen -%D +%D %D or simply: -%D +%D %D \starttypen %D \symbol[navigation 1][Next] %D \stoptypen -%D +%D %D Formally: -%D -%D \showsetup{\y!setupsymbolset} -%D \showsetup{\y!startsymbolset} +%D +%D \showsetup{\y!setupsymbolset} +%D \showsetup{\y!startsymbolset} \let\currentsymboldef\empty @@ -316,11 +316,11 @@ %D \macros %D {showsymbolset} %D -%D \showsetup{\y!showsymbolset} +%D \showsetup{\y!showsymbolset} \fetchruntimecommand \showsymbolset {\f!symbolprefix\s!run} -%D \macros +%D \macros %D {usesymbols} %D %D \showsetup{\y!usesymbols} @@ -335,9 +335,9 @@ \def\usesymbols[#1]% {\processcommalist[#1]\dousesymbols} -%D As longs as symbols are linked to levels or numbers, we can -%D also use the conversion mechanism, but in for instance the -%D itemization macros, we prefer symbols because they can more -%D easier be (partially) redefined. +%D As longs as symbols are linked to levels or numbers, we can +%D also use the conversion mechanism, but in for instance the +%D itemization macros, we prefer symbols because they can more +%D easier be (partially) redefined. -\protect \endinput +\protect \endinput \ No newline at end of file diff --git a/tex/context/base/symb-mvs.tex b/tex/context/base/symb-mvs.tex index eb1c4c842..83e499c7e 100644 --- a/tex/context/base/symb-mvs.tex +++ b/tex/context/base/symb-mvs.tex @@ -1,6 +1,6 @@ % Insert this in font-fil.tex ( I would think): -% tobias: what is the original and what the berry name? +% tobias: what is the original and what the berry name? %D \module %D [ file=symb-mvs, @@ -12,42 +12,42 @@ %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 implements the Martin Vogel Symbole font %D (marvosym). The names are derived from the \LaTeXe\ package %D \type {marvosym} of Thomas Henlich. The symbols are %D available as Type~1 font and are included in \TETEX\ and -%D \FPTEX\ distributions. -%D +%D \FPTEX\ distributions. +%D %D This symbol font offers the signs of the zodiac, four %D alternative the euro signs, some general office signs and -%D some more. -%D +%D some more. +%D %D The font was designed by Martin Vogel who can be reached at %D \hyphenatedurl {martin.vogel@fh-bochum.de}. More information %D can be found at \hyphenatedurl %D {http://www.fh-bochum.de/fb1/vogel/marvosym.html}. The %D conversion to Type~1 font was done by Thomas Henlich, who %D can be reached at \hyphenatedurl -%D {thenlich@rcs.urz.tu-dresden.de}. -%D +%D {thenlich@rcs.urz.tu-dresden.de}. +%D %D This module is based on the current \CTAN\ version (as of %D March 30, 2000) and is older than the TrueType version at %D Martin Vogel's Homepage. The definitions in this module %D reflect the \CTAN\ version. The font conversion was done by %D Thomas Henlich using \type {ttf2pt1}, a program that can be %D found at \hyphenatedurl -%D {http://www.netspace.net.au/~mheath/ttf2pt1/}. -%D +%D {http://www.netspace.net.au/~mheath/ttf2pt1/}. +%D %D Using the new version of \type {marvosymb}, the MVzero will %D has a slash and the FHBOLOGO, (wo)manface, and (wo)manfront -%D are replaced by other symbols. +%D are replaced by other symbols. -\definefontsynonym [MartinVogel] [fmvr8x] +\loadmapfile[original-base.map] % \loadmapfile[original-vogel-symbol] -\loadmapfile[original-vogel-symbol] +\definefontsynonym [MartinVogel] [fmvr8x] \def\MartinVogelSymbol#1{\getglyph{MartinVogel}{\char#1}} @@ -101,7 +101,7 @@ \definecharacter texteuro {\symbol[europe][EUR]} -\stopencoding +\stopencoding \unexpanded\def\euro{\doiftextelse{\texteuro}{\texteuro}{\symbol[europe][EUR]}} @@ -143,7 +143,7 @@ \definesymbol [TTsteel] [\MartinVogelSymbol{154}] \definesymbol [Circpipe] [\MartinVogelSymbol{155}] \definesymbol [Tsteel] [\MartinVogelSymbol{156}] - + \definesymbol [Stopsign] [\MartinVogelSymbol {33}] \definesymbol [Beam] [\MartinVogelSymbol {34}] \definesymbol [Bearing] [\MartinVogelSymbol {35}] @@ -155,28 +155,28 @@ \definesymbol [Lineload] [\MartinVogelSymbol {41}] \definesymbol [Circles] [\MartinVogelSymbol {46}] \definesymbol [Squaredot] [\MartinVogelSymbol{247}] - + \definesymbol [Correspondes] [\MartinVogelSymbol {61}] \definesymbol [Vectorarrowhigh] [\MartinVogelSymbol {80}] \definesymbol [Vectorarrow] [\MartinVogelSymbol{112}] \definesymbol [Rightarrow] [\MartinVogelSymbol {62}] \definesymbol [Lightning] [\MartinVogelSymbol {69}] - + \definesymbol [Snowflake] [\MartinVogelSymbol {42}] \definesymbol [Kross] [\MartinVogelSymbol {43}] \definesymbol [Cross] [\MartinVogelSymbol{134}] \definesymbol [Celtcross] [\MartinVogelSymbol{135}] \definesymbol [Ankh] [\MartinVogelSymbol{136}] \definesymbol [Yingyang] [\MartinVogelSymbol {77}] - - \definesymbol [Pickup] [\MartinVogelSymbol {0}] % ? - \definesymbol [Letter] [\MartinVogelSymbol {66}] % ? + + \definesymbol [Pickup] [\MartinVogelSymbol {0}] % ? + \definesymbol [Letter] [\MartinVogelSymbol {66}] % ? \definesymbol [Mobilephone] [\MartinVogelSymbol {72}] \definesymbol [Telephone] [\MartinVogelSymbol {84}] \definesymbol [fax] [\MartinVogelSymbol{116}] \definesymbol [FAX] [\MartinVogelSymbol{117}] \definesymbol [Faxmachine] [\MartinVogelSymbol{118}] - + \definesymbol [Clocklogo] [\MartinVogelSymbol {85}] \definesymbol [Industry] [\MartinVogelSymbol {73}] \definesymbol [Coffeecup] [\MartinVogelSymbol {75}] @@ -185,12 +185,12 @@ \definesymbol [Frowny] [\MartinVogelSymbol{167}] \definesymbol [Smiley] [\MartinVogelSymbol{169}] \definesymbol [Bicycle] [\MartinVogelSymbol{174}] - + \definesymbol [Rightscissors] [\MartinVogelSymbol {81}] \definesymbol [Leftscissors] [\MartinVogelSymbol {83}] \definesymbol [Cutright] [\MartinVogelSymbol{113}] \definesymbol [Cutleft] [\MartinVogelSymbol{115}] - \definesymbol [Kutline] [\MartinVogelSymbol {82}] % K ? + \definesymbol [Kutline] [\MartinVogelSymbol {82}] % K ? \definesymbol [Cutline] [\MartinVogelSymbol{114}] \stopsymbolset @@ -218,4 +218,4 @@ %D \showsymbolset[martinvogel 2] %D \showsymbolset[martinvogel 3] -\endinput +\endinput diff --git a/tex/context/base/symb-nav.tex b/tex/context/base/symb-nav.tex index 161fa5dad..765a9bd73 100644 --- a/tex/context/base/symb-nav.tex +++ b/tex/context/base/symb-nav.tex @@ -13,9 +13,9 @@ \unprotect -\definefontsynonym [ContextNavigation] [contnav] +\loadmapfile[original-base.map] % \loadmapfile [original-context-symbol.map] -\loadmapfile [original-context-symbol.map] +\definefontsynonym [ContextNavigation] [contnav] % \def\ContextNavigationGlyph#1{\getglyph{ContextNavigation}{\char#1}} diff --git a/tex/context/base/syst-etx.tex b/tex/context/base/syst-etx.tex index da0d6e269..adb98ba09 100644 --- a/tex/context/base/syst-etx.tex +++ b/tex/context/base/syst-etx.tex @@ -253,4 +253,4 @@ \endTEX -\protect \endinput +\protect \endinput \ No newline at end of file diff --git a/tex/context/base/syst-ext.tex b/tex/context/base/syst-ext.tex index 2f99824f1..f86bff57b 100644 --- a/tex/context/base/syst-ext.tex +++ b/tex/context/base/syst-ext.tex @@ -3409,14 +3409,26 @@ %D dimension is advanced accordingly, otherwise it gets the %D value. +% \def\doadaptdimension#1#2\\#3\\% +% {\if#1+% +% \dodoglobal\advance#3 #1#2\relax +% \else\if#1-% +% \dodoglobal\advance#3 #1#2\relax +% \else +% \dodoglobal#3=#1#2\relax +% \fi\fi} +% +% more fuzzy but also more efficient + \def\doadaptdimension#1#2\\#3\\% {\if#1+% - \dodoglobal\advance#3 #1#2\relax + \dodoglobal\advance \else\if#1-% - \dodoglobal\advance#3 #1#2\relax + \dodoglobal\advance \else - \dodoglobal#3=#1#2\relax - \fi\fi} + \dodoglobal + \fi\fi + #3 #1#2\relax} \def\adaptdimension#1#2% {\expandafter\doadaptdimension#2\\#1\\} @@ -3644,21 +3656,59 @@ %D The magic factor $72/72.27$ can be found in most \TEX\ %D related books. -\def\ScaledPointsToBigPoints #1{\PointsToBigPoints {#1sp}} -\def\ScaledPointsToWholeBigPoints#1{\PointsToWholeBigPoints{#1sp}} +% \def\ScaledPointsToBigPoints #1{\PointsToBigPoints {#1sp}} +% \def\ScaledPointsToWholeBigPoints#1{\PointsToWholeBigPoints{#1sp}} +% +% \def\PointsToBigPoints#1#2% +% {\scratchdimen#1% +% \scratchdimen.996264\scratchdimen +% \edef#2{\withoutpt\the\scratchdimen}} +% +% \def\PointsToWholeBigPoints#1#2% +% {\scratchdimen#1% +% \scratchdimen.996264\scratchdimen +% \scratchcounter\scratchdimen +% \advance\scratchcounter \medcard +% \divide\scratchcounter \maxcard +% \edef#2{\the\scratchcounter}} + +% \PointsToBigPoints{10.53940pt}\test \test +% \PointsToBigPoints{10.53941pt}\test \test +% \PointsToBigPoints{10.53942pt}\test \test + +% \PointsToWholeBigPoints{10.53940pt}\test \test +% \PointsToWholeBigPoints{10.53941pt}\test \test +% \PointsToWholeBigPoints{10.53942pt}\test \test -\def\PointsToBigPoints#1#2% - {\scratchdimen#1% - \scratchdimen.996264\scratchdimen - \edef#2{\withoutpt\the\scratchdimen}} +\beginTEX -\def\PointsToWholeBigPoints#1#2% - {\scratchdimen#1% - \scratchdimen.996264\scratchdimen - \scratchcounter\scratchdimen - \advance\scratchcounter \medcard - \divide\scratchcounter \maxcard - \edef#2{\the\scratchcounter}} + \def\PointsToBigPoints#1#2% + {\scratchdimen#1% + \scratchdimen.996264\scratchdimen + \edef#2{\withoutpt\the\scratchdimen}} + + \def\PointsToWholeBigPoints#1#2% + {\scratchdimen#1% + \scratchdimen.996264\scratchdimen + \scratchcounter\scratchdimen + \advance\scratchcounter \medcard + \divide\scratchcounter \maxcard + \edef#2{\the\scratchcounter}} + +\endTEX + +\beginETEX \dimexpr \numexpr + + \def\PointsToBigPoints#1#2% + {\edef#2{\withoutpt\the\dimexpr(.996264\dimexpr(#1))}} + + \def\PointsToWholeBigPoints#1#2% + {\edef#2{\the\numexpr(\numexpr(\dimexpr(.996264\dimexpr(#1)))/\maxcard)}} + +\endETEX + +\def\ScaledPointsToBigPoints #1{\PointsToBigPoints {\number#1\scaledpoint}} +\def\ScaledPointsToWholeBigPoints#1{\PointsToWholeBigPoints{\number#1\scaledpoint}} %D \macros %D {PointsToReal} @@ -4003,18 +4053,22 @@ \beginTEX -\def\twodigitrounding#1{#1} + \def\twodigitrounding#1{#1} \endTEX -\beginETEX +\beginETEX \dimexpr + + \def\dotwodigitrounding#1.#2#3#4\relax% + {\ifx#2*#1\else#1.#2#3\fi} -\def\dotwodigitrounding#1.#2#3#4\relax% - {\ifx#2*#1\else#1.#2#3\fi} + % \def\twodigitrounding#1% + % {\@EA\@EA\@EA\dotwodigitrounding\@EA\WITHOUTPT + % \the\dimexpr#1pt+.005pt\relax000.*00\relax} -\def\twodigitrounding#1% - {\@EA\@EA\@EA\dotwodigitrounding\@EA\WITHOUTPT - \the\dimexpr#1pt+.005pt\relax000.*00\relax} + \def\twodigitrounding#1% + {\@EA\@EA\@EA\dotwodigitrounding\@EA\WITHOUTPT + \the\dimexpr#1\points+.005\points\relax000.*00\relax} \endETEX diff --git a/tex/context/base/type-akb.tex b/tex/context/base/type-akb.tex index 937e67ac0..af2ba760c 100644 --- a/tex/context/base/type-akb.tex +++ b/tex/context/base/type-akb.tex @@ -3,7 +3,7 @@ %D version=2001.07.08, %D title=\CONTEXT\ Typescript Macros, %D subtitle=Adobe's Famous Gang of Fonts, -%D author=Patrick Gundlach, +%D author=Patrick Gundlach, %D date=\currentdate, %D copyright={PRAGMA / Hans Hagen \& Ton Otten}] %C @@ -13,18 +13,18 @@ %D Last Change: Tue Mar 18 16:01:03 2003 -%D This module is written by Patrick Gundlach (patrick@gundla.ch) -%D and maps to the standard postscript fonts conforming the -%D psnfss system as used by \LaTeX. -%D +%D This module is written by Patrick Gundlach (patrick@gundla.ch) +%D and maps to the standard postscript fonts conforming the +%D psnfss system as used by \LaTeX. +%D %D \starttypen %D \setupencoding[default=texnansi] %D \usetypescript[adobekb][\defaultencoding] %D \stoptypen %D -%D The following is not needed since the file is already +%D The following is not needed since the file is already %D registered: -%D +%D %D \starttypen %D \usetypescriptfile[akb] %D \stoptypen @@ -199,4 +199,4 @@ \stoptypescript -\endinput +\endinput \ No newline at end of file diff --git a/tex/context/base/type-buy.tex b/tex/context/base/type-buy.tex index b87dfe6e9..c53beb489 100644 --- a/tex/context/base/type-buy.tex +++ b/tex/context/base/type-buy.tex @@ -48,10 +48,193 @@ \stoptypescript +% Lucida Bright : Biggelow and Holmes + +\starttypescript [all] [lucida] [ec,8r,texnansi] + \loadmapfile [\typescriptthree-bh-lucida.map] +\stoptypescript + + +\starttypescript [serif] [lucida] [name] + \definefontsynonym [Serif] [LucidaBright] + \definefontsynonym [SerifBold] [LucidaBright-Demi] + \definefontsynonym [SerifItalic] [LucidaBright-Italic] + \definefontsynonym [SerifSlanted] [LucidaBright-Oblique] + \definefontsynonym [SerifBoldItalic] [LucidaBright-DemiItalic] + \definefontsynonym [SerifBoldSlanted] [LucidaBright-DemiItalic] + \definefontsynonym [SerifCaps] [LucidaBrightSmallcaps] + \definefontsynonym [OldStyle] [MathItalic] +\stoptypescript + +\starttypescript [sans] [lucida] [name] + \definefontsynonym [Sans] [LucidaSans] + \definefontsynonym [SansBold] [LucidaSans-Demi] + \definefontsynonym [SansItalic] [LucidaSans-Italic] + \definefontsynonym [SansSlanted] [LucidaSans-Italic] + \definefontsynonym [SansBoldItalic] [LucidaSans-DemiItalic] + \definefontsynonym [SansBoldSlanted] [LucidaSans-DemiItalic] + \definefontsynonym [SansCaps] [LucidaSans] +\stoptypescript + +\starttypescript [mono] [lucida] [name] + \definefontsynonym [Mono] [LucidaSans-Typewriter] + \definefontsynonym [MonoBold] [LucidaSans-TypewriterBold] + \definefontsynonym [MonoItalic] [LucidaSans-TypewriterOblique] + \definefontsynonym [MonoSlanted] [LucidaSans-TypewriterOblique] + \definefontsynonym [MonoBoldItalic] [LucidaSans-TypewriterBoldOblique] + \definefontsynonym [MonoBoldSlanted] [LucidaSans-TypewriterBoldOblique] + \definefontsynonym [MonoCaps] [LucidaSans-Typewriter] +\stoptypescript + +\starttypescript [math] [lucida] [name] + \definefontsynonym [MathRoman] [LucidaBright] + \definefontsynonym [MathExtension] [LucidaNewMath-Extension] + \definefontsynonym [MathItalic] [LucidaNewMath-AltItalic] + \definefontsynonym [MathSymbol] [LucidaNewMath-Symbol] + \definefontsynonym [MathAlpha] [LucidaNewMath-Arrows] + \definefontsynonym [MathBeta] [LucidaNewMath-Roman] +\stoptypescript + + \definefontsynonym [LucidaNewMath-AltDemiItalic] [lbmdo] + \definefontsynonym [LucidaNewMath-Arrows-Demi] [lbmad] + \definefontsynonym [LucidaNewMath-Extension] [lbme] + \definefontsynonym [LucidaNewMath-Demibold] [lbmd] + \definefontsynonym [LucidaNewMath-DemiItalic] [lbmdi] + \definefontsynonym [LucidaNewMath-Symbol-Demi] [lbmsd] + +\starttypescript [boldmath] [lucida] [name] + \definefontsynonym [MathRoman] [LucidaBright-Demi] + \definefontsynonym [MathExtension] [LucidaNewMath-Extension] + \definefontsynonym [MathItalic] [LucidaNewMath-AltDemiItalic] + \definefontsynonym [MathSymbol] [LucidaNewMath-Symbol-Demi] + \definefontsynonym [MathAlpha] [LucidaNewMath-Arrows-Demi] + \definefontsynonym [MathBeta] [LucidaNewMath-DemiBold] +\stoptypescript + +\starttypescript [bfmath] [lucida] [name] + \definefontsynonym [MathRomanBold] [LucidaNewMath-Demibold] + \definefontsynonym [MathExtensionBold] [LucidaNewMath-Extension] + \definefontsynonym [MathItalicBold] [LucidaNewMath-AltDemiItalic] + \definefontsynonym [MathSymbolBold] [LucidaNewMath-Symbol-Demi] + \definefontsynonym [MathAlphaBold] [LucidaNewMath-Arrows-Demi] + \definefontsynonym [MathBetaBold] [LucidaNewMath-DemiBold] % ?? +\stoptypescript + +\starttypescript [handwriting] [lucida] [name] + \definefontsynonym [Handwriting] [LucidaHandwriting-Italic] +\stoptypescript + +\starttypescript [calligraphy] [lucida] [name] + \definefontsynonym [Calligraphy] [LucidaCalligraphy-Italic] +\stoptypescript + +\starttypescript [serif] [lucida] [texnansi,ec,8r] + \definefontsynonym [LucidaBright] [\typescriptthree-lbr] [encoding=\typescriptthree] + \definefontsynonym [LucidaBright-Demi] [\typescriptthree-lbd] [encoding=\typescriptthree] + \definefontsynonym [LucidaBright-DemiItalic] [\typescriptthree-lbdi] [encoding=\typescriptthree] + \definefontsynonym [LucidaBright-Italic] [\typescriptthree-lbi] [encoding=\typescriptthree] + \definefontsynonym [LucidaBrightSmallcaps] [\typescriptthree-lbrsc] [encoding=\typescriptthree] + \definefontsynonym [LucidaBrightSmallcaps-Demi] [\typescriptthree-lbdsc] [encoding=\typescriptthree] + \definefontsynonym [LucidaBright-Oblique] [\typescriptthree-lbsl] [encoding=\typescriptthree] +\stoptypescript + +\starttypescript [sans] [lucida] [texnansi,ec,8r] + \definefontsynonym [LucidaSans] [\typescriptthree-lsr] [encoding=\typescriptthree] + \definefontsynonym [LucidaSans-Demi] [\typescriptthree-lsd] [encoding=\typescriptthree] + \definefontsynonym [LucidaSans-DemiItalic] [\typescriptthree-lsdi] [encoding=\typescriptthree] + \definefontsynonym [LucidaSans-Italic] [\typescriptthree-lsi] [encoding=\typescriptthree] + \definefontsynonym [LucidaSans-Bold] [\typescriptthree-lsb] [encoding=\typescriptthree] + \definefontsynonym [LucidaSans-BoldItalic] [\typescriptthree-lsbi] [encoding=\typescriptthree] +\stoptypescript + +\starttypescript [mono] [lucida] [texnansi,ec,8r] + \definefontsynonym [LucidaSans-Typewriter] [\typescriptthree-lstr] [encoding=\typescriptthree] + \definefontsynonym [LucidaSans-TypewriterBold] [\typescriptthree-lstb] [encoding=\typescriptthree] + \definefontsynonym [LucidaSans-TypewriterBoldOblique] [\typescriptthree-lstbo] [encoding=\typescriptthree] + \definefontsynonym [LucidaSans-TypewriterOblique] [\typescriptthree-lsto] [encoding=\typescriptthree] +\stoptypescript + +\starttypescript [math] [lucida] [texnansi,ec,8r] + \definefontsynonym [LucidaBright] [\typescriptthree-lbr] [encoding=\typescriptthree] + \definefontsynonym [LucidaNewMath-AltItalic] [lbmo] + \definefontsynonym [LucidaNewMath-Arrows] [lbma] + \definefontsynonym [LucidaNewMath-Extension] [lbme] + \definefontsynonym [LucidaNewMath-Roman] [lbmr] + \definefontsynonym [LucidaNewMath-Italic] [lbmi] + \definefontsynonym [LucidaNewMath-Symbol] [lbms] + \definefontsynonym [LucidaBlackletter] [lbl] +\stoptypescript + +\starttypescript [boldmath,bfmath] [lucida] [texnansi,ec,8r] + \definefontsynonym [LucidaNewMath-AltDemiItalic] [lbmdo] + \definefontsynonym [LucidaNewMath-Arrows-Demi] [lbmad] + \definefontsynonym [LucidaNewMath-Extension] [lbme] + \definefontsynonym [LucidaNewMath-DemiBold] [lbmd] + \definefontsynonym [LucidaNewMath-DemiItalic] [lbmdi] + \definefontsynonym [LucidaNewMath-Symbol-Demi] [lbmsd] +\stoptypescript + +\starttypescript [calligraphy] [lucida] [texnansi,ec,8r] + \definefontsynonym [LucidaCalligraphy-Italic] [\typescriptthree-lbc] [encoding=\typescriptthree] +\stoptypescript + +\starttypescript [casual] [lucida] [texnansi,ec,8r] + \definefontsynonym [LucidaCasual] [\typescriptthree-lbkr] [encoding=\typescriptthree] + \definefontsynonym [LucidaCasual-Italic] [\typescriptthree-lbki] [encoding=\typescriptthree] +\stoptypescript + +\starttypescript [handwriting] [lucida] [texnansi,ec,8r] + \definefontsynonym [LucidaHandwriting-Italic] [\typescriptthree-lbh] [encoding=\typescriptthree] +\stoptypescript + +\starttypescript [fax] [lucida] [texnansi,ec,8r] + \definefontsynonym [LucidaFax] [\typescriptthree-lfr] [encoding=\typescriptthree] + \definefontsynonym [LucidaFax-Demi] [\typescriptthree-lfd] [encoding=\typescriptthree] + \definefontsynonym [LucidaFax-DemiItalic] [\typescriptthree-lfdi] [encoding=\typescriptthree] + \definefontsynonym [LucidaFax-Italic] [\typescriptthree-lfi] [encoding=\typescriptthree] +\stoptypescript + +% Informal : Vulis + +\starttypescript [all] [informal] [default] + \loadmapfile[original-micropress-informal.map] +\stoptypescript + +\starttypescript [casual] [informal] [name] + \definefontsynonym [Serif] [Informal-Regular] + \definefontsynonym [SerifBold] [Informal-Bold] + \definefontsynonym [SerifSlanted] [Informal-Oblique] + \definefontsynonym [SerifItalic] [Informal-Oblique] + \definefontsynonym [SerifBoldSlanted] [Informal-BoldOblique] + \definefontsynonym [SerifBoldItalic] [Informal-BoldOblique] + \definefontsynonym [SerifCaps] [Informal-Regular] +\stoptypescript + +\starttypescript [math] [informal] [name] + \definefontsynonym [MathRoman] [Informal-Regular] + \definefontsynonym [MathExtension] [Informal-MathExtendedSymbols] + \definefontsynonym [MathItalic] [Informal-MathItalics] + \definefontsynonym [MathSymbol] [Informal-MathSymbols] +\stoptypescript + +\starttypescript [casual] [informal] [default] + \definefontsynonym [Informal-Regular] [ifrm10cm] + \definefontsynonym [Informal-Bold] [ifrb10cm] + \definefontsynonym [Informal-Oblique] [ifro10cm] + \definefontsynonym [Informal-BoldOblique] [ifbo10cm] +\stoptypescript + +\starttypescript [math] [informal] [default] + \definefontsynonym [Informal-Regular] [ifrm10cm] + \definefontsynonym [Informal-MathExtendedSymbols] [ifex10] + \definefontsynonym [Informal-MathItalics] [ifmi10] + \definefontsynonym [Informal-MathSymbols] [ifsy10] +\stoptypescript + % ITC Officina -\starttypescript [map] [ec,8r,texnansi] - \loadmapfile [\typefaceencoding-itc-officina] +\starttypescript [all] [officina] [ec,8r,texnansi] + \loadmapfile [\typescriptthree-itc-officina.map] \stoptypescript \starttypescript [serif] [officina] [name] @@ -80,34 +263,34 @@ \starttypescript [serif] [officina] [texnansi,ec,8r] - \definefontsynonym [OfficinaSerif-Book] [\typefaceencoding-ovbk] [encoding=\typefaceencoding] - \definefontsynonym [OfficinaSerif-BookItalic] [\typefaceencoding-ovwi] [encoding=\typefaceencoding] - \definefontsynonym [OfficinaSerif-Bold] [\typefaceencoding-ovb] [encoding=\typefaceencoding] - \definefontsynonym [OfficinaSerif-BoldItalic] [\typefaceencoding-ovbi] [encoding=\typefaceencoding] + \definefontsynonym [OfficinaSerif-Book] [\typescriptthree-ovbk] [encoding=\typescriptthree] + \definefontsynonym [OfficinaSerif-BookItalic] [\typescriptthree-ovwi] [encoding=\typescriptthree] + \definefontsynonym [OfficinaSerif-Bold] [\typescriptthree-ovb] [encoding=\typescriptthree] + \definefontsynonym [OfficinaSerif-BoldItalic] [\typescriptthree-ovbi] [encoding=\typescriptthree] - \definefontsynonym [OfficinaSerif-BookSlanted][\typefaceencoding-ovbk-slanted-167] [encoding=\typefaceencoding] - \definefontsynonym [OfficinaSerif-BoldSlanted][\typefaceencoding-ovb-slanted-167] [encoding=\typefaceencoding] - \definefontsynonym [OfficinaSerif-Caps] [\typefaceencoding-ovbk-capitalized-800] [encoding=\typefaceencoding] + \definefontsynonym [OfficinaSerif-BookSlanted][\typescriptthree-ovbk-slanted-167] [encoding=\typescriptthree] + \definefontsynonym [OfficinaSerif-BoldSlanted][\typescriptthree-ovb-slanted-167] [encoding=\typescriptthree] + \definefontsynonym [OfficinaSerif-Caps] [\typescriptthree-ovbk-capitalized-800] [encoding=\typescriptthree] \stoptypescript \starttypescript [sans] [officina] [texnansi,ec,8r] - \definefontsynonym [OfficinaSans-Book] [\typefaceencoding-owbk] [encoding=\typefaceencoding] - \definefontsynonym [OfficinaSans-BookItalic] [\typefaceencoding-owwi] [encoding=\typefaceencoding] - \definefontsynonym [OfficinaSans-Bold] [\typefaceencoding-owb] [encoding=\typefaceencoding] - \definefontsynonym [OfficinaSans-BoldItalic] [\typefaceencoding-owbi] [encoding=\typefaceencoding] + \definefontsynonym [OfficinaSans-Book] [\typescriptthree-owbk] [encoding=\typescriptthree] + \definefontsynonym [OfficinaSans-BookItalic] [\typescriptthree-owwi] [encoding=\typescriptthree] + \definefontsynonym [OfficinaSans-Bold] [\typescriptthree-owb] [encoding=\typescriptthree] + \definefontsynonym [OfficinaSans-BoldItalic] [\typescriptthree-owbi] [encoding=\typescriptthree] - \definefontsynonym [OfficinaSans-BookSlanted][\typefaceencoding-owbk-slanted-167] [encoding=\typefaceencoding] - \definefontsynonym [OfficinaSans-BoldSlanted][\typefaceencoding-owb-slanted-167] [encoding=\typefaceencoding] - \definefontsynonym [OfficinaSans-Caps] [\typefaceencoding-owbk-capitalized-800] [encoding=\typefaceencoding] + \definefontsynonym [OfficinaSans-BookSlanted][\typescriptthree-owbk-slanted-167] [encoding=\typescriptthree] + \definefontsynonym [OfficinaSans-BoldSlanted][\typescriptthree-owb-slanted-167] [encoding=\typescriptthree] + \definefontsynonym [OfficinaSans-Caps] [\typescriptthree-owbk-capitalized-800] [encoding=\typescriptthree] \stoptypescript % FontFont Meta -\starttypescript [map] [ec,8r,texnansi] - \loadmapfile [\typefaceencoding-fontfont-meta] +\starttypescript [all] [meta] [ec,8r,texnansi] + \loadmapfile [\typescriptthree-fontfont-meta.map] \stoptypescript \starttypescript [sans] [meta] [name] @@ -134,104 +317,104 @@ \starttypescript [sans] [meta,meta-book] [texnansi,ec,8r] - \definefontsynonym [MetaBook-Roman] [\typefaceencoding-mtbk] [encoding=\typefaceencoding] - \definefontsynonym [MetaBook-Italic] [\typefaceencoding-mtbki] [encoding=\typefaceencoding] - \definefontsynonym [MetaBook-Caps] [\typefaceencoding-mtbkc] [encoding=\typefaceencoding] - \definefontsynonym [MetaBook-ItalicCaps] [\typefaceencoding-mtbkic] [encoding=\typefaceencoding] + \definefontsynonym [MetaBook-Roman] [\typescriptthree-mtbk] [encoding=\typescriptthree] + \definefontsynonym [MetaBook-Italic] [\typescriptthree-mtbki] [encoding=\typescriptthree] + \definefontsynonym [MetaBook-Caps] [\typescriptthree-mtbkc] [encoding=\typescriptthree] + \definefontsynonym [MetaBook-ItalicCaps] [\typescriptthree-mtbkic] [encoding=\typescriptthree] \stoptypescript \starttypescript [sans] [meta-lf,meta-book-lf] [texnansi,ec,8r] - \definefontsynonym [MetaBookLF-Roman] [\typefaceencoding-mtbkf] [encoding=\typefaceencoding] - \definefontsynonym [MetaBookLF-Italic] [\typefaceencoding-mtbkfi] [encoding=\typefaceencoding] - \definefontsynonym [MetaBookLF-Caps] [\typefaceencoding-mtbkfc] [encoding=\typefaceencoding] - \definefontsynonym [MetaBookLF-ItalicCaps] [\typefaceencoding-mtbkfic] [encoding=\typefaceencoding] + \definefontsynonym [MetaBookLF-Roman] [\typescriptthree-mtbkf] [encoding=\typescriptthree] + \definefontsynonym [MetaBookLF-Italic] [\typescriptthree-mtbkfi] [encoding=\typescriptthree] + \definefontsynonym [MetaBookLF-Caps] [\typescriptthree-mtbkfc] [encoding=\typescriptthree] + \definefontsynonym [MetaBookLF-ItalicCaps] [\typescriptthree-mtbkfic] [encoding=\typescriptthree] \stoptypescript \starttypescript [sans] [meta,meta-bold] [texnansi,ec,8r] - \definefontsynonym [MetaBold-Roman] [\typefaceencoding-mtbd] [encoding=\typefaceencoding] - \definefontsynonym [MetaBold-Italic] [\typefaceencoding-mtbdi] [encoding=\typefaceencoding] - \definefontsynonym [MetaBold-Caps] [\typefaceencoding-mtbdc] [encoding=\typefaceencoding] - \definefontsynonym [MetaBold-ItalicCaps] [\typefaceencoding-mtbdic] [encoding=\typefaceencoding] + \definefontsynonym [MetaBold-Roman] [\typescriptthree-mtbd] [encoding=\typescriptthree] + \definefontsynonym [MetaBold-Italic] [\typescriptthree-mtbdi] [encoding=\typescriptthree] + \definefontsynonym [MetaBold-Caps] [\typescriptthree-mtbdc] [encoding=\typescriptthree] + \definefontsynonym [MetaBold-ItalicCaps] [\typescriptthree-mtbdic] [encoding=\typescriptthree] \stoptypescript \starttypescript [sans] [meta-lf,meta-bold-lf] [texnansi,ec,8r] - \definefontsynonym [MetaBoldLF-Roman] [\typefaceencoding-mtbdf] [encoding=\typefaceencoding] - \definefontsynonym [MetaBoldLF-Italic] [\typefaceencoding-mtbdfi] [encoding=\typefaceencoding] - \definefontsynonym [MetaBoldLF-Caps] [\typefaceencoding-mtbdfc] [encoding=\typefaceencoding] - \definefontsynonym [MetaBoldLF-ItalicCaps] [\typefaceencoding-mtbdfic] [encoding=\typefaceencoding] + \definefontsynonym [MetaBoldLF-Roman] [\typescriptthree-mtbdf] [encoding=\typescriptthree] + \definefontsynonym [MetaBoldLF-Italic] [\typescriptthree-mtbdfi] [encoding=\typescriptthree] + \definefontsynonym [MetaBoldLF-Caps] [\typescriptthree-mtbdfc] [encoding=\typescriptthree] + \definefontsynonym [MetaBoldLF-ItalicCaps] [\typescriptthree-mtbdfic] [encoding=\typescriptthree] \stoptypescript \starttypescript [sans] [meta-normal] [texnansi,ec,8r] - \definefontsynonym [MetaNormal-Roman] [\typefaceencoding-mtn] [encoding=\typefaceencoding] - \definefontsynonym [MetaNormal-Italic] [\typefaceencoding-mtni] [encoding=\typefaceencoding] - \definefontsynonym [MetaNormal-Caps] [\typefaceencoding-mtnc] [encoding=\typefaceencoding] - \definefontsynonym [MetaNormal-ItalicCaps] [\typefaceencoding-mtnic] [encoding=\typefaceencoding] + \definefontsynonym [MetaNormal-Roman] [\typescriptthree-mtn] [encoding=\typescriptthree] + \definefontsynonym [MetaNormal-Italic] [\typescriptthree-mtni] [encoding=\typescriptthree] + \definefontsynonym [MetaNormal-Caps] [\typescriptthree-mtnc] [encoding=\typescriptthree] + \definefontsynonym [MetaNormal-ItalicCaps] [\typescriptthree-mtnic] [encoding=\typescriptthree] \stoptypescript \starttypescript [sans] [meta-normal-lf] [texnansi,ec,8r] - \definefontsynonym [MetaNormalLF-Roman] [\typefaceencoding-mtnf] [encoding=\typefaceencoding] - \definefontsynonym [MetaNormalLF-Italic] [\typefaceencoding-mtnfi] [encoding=\typefaceencoding] - \definefontsynonym [MetaNormalLF-Caps] [\typefaceencoding-mtnfc] [encoding=\typefaceencoding] - \definefontsynonym [MetaNormalLF-ItalicCaps] [\typefaceencoding-mtnfic] [encoding=\typefaceencoding] + \definefontsynonym [MetaNormalLF-Roman] [\typescriptthree-mtnf] [encoding=\typescriptthree] + \definefontsynonym [MetaNormalLF-Italic] [\typescriptthree-mtnfi] [encoding=\typescriptthree] + \definefontsynonym [MetaNormalLF-Caps] [\typescriptthree-mtnfc] [encoding=\typescriptthree] + \definefontsynonym [MetaNormalLF-ItalicCaps] [\typescriptthree-mtnfic] [encoding=\typescriptthree] \stoptypescript \starttypescript [sans] [meta-medium] [texnansi,ec,8r] - \definefontsynonym [MetaMedium-Roman] [\typefaceencoding-mtm] [encoding=\typefaceencoding] - \definefontsynonym [MetaMedium-Italic] [\typefaceencoding-mtmi] [encoding=\typefaceencoding] - \definefontsynonym [MetaMedium-Caps] [\typefaceencoding-mtmc] [encoding=\typefaceencoding] - \definefontsynonym [MetaMedium-ItalicCaps] [\typefaceencoding-mtmic] [encoding=\typefaceencoding] + \definefontsynonym [MetaMedium-Roman] [\typescriptthree-mtm] [encoding=\typescriptthree] + \definefontsynonym [MetaMedium-Italic] [\typescriptthree-mtmi] [encoding=\typescriptthree] + \definefontsynonym [MetaMedium-Caps] [\typescriptthree-mtmc] [encoding=\typescriptthree] + \definefontsynonym [MetaMedium-ItalicCaps] [\typescriptthree-mtmic] [encoding=\typescriptthree] \stoptypescript \starttypescript [sans] [meta-medium-lf] [texnansi,ec,8r] - \definefontsynonym [MetaMediumLF-Roman] [\typefaceencoding-mtmf] [encoding=\typefaceencoding] - \definefontsynonym [MetaMediumLF-Italic] [\typefaceencoding-mtmfi] [encoding=\typefaceencoding] - \definefontsynonym [MetaMediumLF-Caps] [\typefaceencoding-mtmfc] [encoding=\typefaceencoding] - \definefontsynonym [MetaMediumLF-ItalicCaps] [\typefaceencoding-mtmfic] [encoding=\typefaceencoding] + \definefontsynonym [MetaMediumLF-Roman] [\typescriptthree-mtmf] [encoding=\typescriptthree] + \definefontsynonym [MetaMediumLF-Italic] [\typescriptthree-mtmfi] [encoding=\typescriptthree] + \definefontsynonym [MetaMediumLF-Caps] [\typescriptthree-mtmfc] [encoding=\typescriptthree] + \definefontsynonym [MetaMediumLF-ItalicCaps] [\typescriptthree-mtmfic] [encoding=\typescriptthree] \stoptypescript \starttypescript [sans] [meta-black] [texnansi,ec,8r] - \definefontsynonym [MetaBlack-Roman] [\typefaceencoding-mtbl] [encoding=\typefaceencoding] - \definefontsynonym [MetaBlack-Italic] [\typefaceencoding-mtbli] [encoding=\typefaceencoding] - \definefontsynonym [MetaBlack-Caps] [\typefaceencoding-mtblc] [encoding=\typefaceencoding] - \definefontsynonym [MetaBlack-ItalicCaps] [\typefaceencoding-mtblic] [encoding=\typefaceencoding] + \definefontsynonym [MetaBlack-Roman] [\typescriptthree-mtbl] [encoding=\typescriptthree] + \definefontsynonym [MetaBlack-Italic] [\typescriptthree-mtbli] [encoding=\typescriptthree] + \definefontsynonym [MetaBlack-Caps] [\typescriptthree-mtblc] [encoding=\typescriptthree] + \definefontsynonym [MetaBlack-ItalicCaps] [\typescriptthree-mtblic] [encoding=\typescriptthree] \stoptypescript \starttypescript [sans] [meta-black-lf] [texnansi,ec,8r] - \definefontsynonym [MetaBlackLF-Roman] [\typefaceencoding-mtblf] [encoding=\typefaceencoding] - \definefontsynonym [MetaBlackLF-Italic] [\typefaceencoding-mtblfi] [encoding=\typefaceencoding] - \definefontsynonym [MetaBlackLF-Caps] [\typefaceencoding-mtblfc] [encoding=\typefaceencoding] - \definefontsynonym [MetaBlackLF-ItalicCaps] [\typefaceencoding-mtblfic] [encoding=\typefaceencoding] + \definefontsynonym [MetaBlackLF-Roman] [\typescriptthree-mtblf] [encoding=\typescriptthree] + \definefontsynonym [MetaBlackLF-Italic] [\typescriptthree-mtblfi] [encoding=\typescriptthree] + \definefontsynonym [MetaBlackLF-Caps] [\typescriptthree-mtblfc] [encoding=\typescriptthree] + \definefontsynonym [MetaBlackLF-ItalicCaps] [\typescriptthree-mtblfic] [encoding=\typescriptthree] \stoptypescript -\starttypescript [expert] [meta] % incomplete +\starttypescript [expert] [meta] % incomplete - \definefontsynonym [MetaNormal-Expert] [mtnx] + \definefontsynonym [MetaNormal-Expert] [mtnx] \stoptypescript -%D Linotype Univers +%D Linotype Univers -\starttypescript [map] [all] % [texnansi] - \loadmapfile[texnansi-linotype-univers.map] +\starttypescript [all] [univers] [texnansi] + \loadmapfile[\typescriptthree-linotype-univers.map] \stoptypescript \starttypescript [sans] [univers,univers-light,univers-black] [name] @@ -261,23 +444,23 @@ \starttypescript [sans] [univers,univers-black,univers-light] [texnansi,ec,8r] - \definefontsynonym [Univers-Light] [\typefaceencoding-lt50136] [encoding=\typefaceencoding] - \definefontsynonym [Univers-LightOblique] [\typefaceencoding-lt50137] [encoding=\typefaceencoding] + \definefontsynonym [Univers-Light] [\typescriptthree-lt50136] [encoding=\typescriptthree] + \definefontsynonym [Univers-LightOblique] [\typescriptthree-lt50137] [encoding=\typescriptthree] - \definefontsynonym [Univers] [\typefaceencoding-lt50138] [encoding=\typefaceencoding] - \definefontsynonym [Univers-Oblique] [\typefaceencoding-lt50139] [encoding=\typefaceencoding] - \definefontsynonym [Univers-Bold] [\typefaceencoding-lt50140] [encoding=\typefaceencoding] - \definefontsynonym [Univers-BoldOblique] [\typefaceencoding-lt50141] [encoding=\typefaceencoding] + \definefontsynonym [Univers] [\typescriptthree-lt50138] [encoding=\typescriptthree] + \definefontsynonym [Univers-Oblique] [\typescriptthree-lt50139] [encoding=\typescriptthree] + \definefontsynonym [Univers-Bold] [\typescriptthree-lt50140] [encoding=\typescriptthree] + \definefontsynonym [Univers-BoldOblique] [\typescriptthree-lt50141] [encoding=\typescriptthree] - \definefontsynonym [Univers-Black] [\typefaceencoding-lt50142] [encoding=\typefaceencoding] - \definefontsynonym [Univers-BlackOblique] [\typefaceencoding-lt50143] [encoding=\typefaceencoding] + \definefontsynonym [Univers-Black] [\typescriptthree-lt50142] [encoding=\typescriptthree] + \definefontsynonym [Univers-BlackOblique] [\typescriptthree-lt50143] [encoding=\typescriptthree] \stoptypescript % mendoza -\starttypescript [all] - \loadmapfile[texnansi-itc-mendoza.map] +\starttypescript [all] [mendoza] [ec,8r,texnansi] + \loadmapfile[\typescriptthree-itc-mendoza.map] \stoptypescript \starttypescript [serif] [mendoza] [name] @@ -292,21 +475,21 @@ \stoptypescript -\starttypescript [serif] [mendoza] [texnansi] +\starttypescript [serif] [mendoza] [ec,8r,texnansi] - \definefontsynonym[MendozaRoman-Bold] [texnansi-zab] [encoding=texnansi] - \definefontsynonym[MendozaRoman-BoldItalic] [texnansi-zabi][encoding=texnansi] - \definefontsynonym[MendozaRoman-Medium] [texnansi-zam] [encoding=texnansi] - \definefontsynonym[MendozaRoman-MediumItalic][texnansi-zami][encoding=texnansi] - \definefontsynonym[MendozaRoman-Book] [texnansi-zaw] [encoding=texnansi] - \definefontsynonym[MendozaRoman-BookItalic] [texnansi-zawi][encoding=texnansi] + \definefontsynonym[MendozaRoman-Bold] [\typescriptthree-zab] [encoding=\typescriptthree] + \definefontsynonym[MendozaRoman-BoldItalic] [\typescriptthree-zabi][encoding=\typescriptthree] + \definefontsynonym[MendozaRoman-Medium] [\typescriptthree-zam] [encoding=\typescriptthree] + \definefontsynonym[MendozaRoman-MediumItalic][\typescriptthree-zami][encoding=\typescriptthree] + \definefontsynonym[MendozaRoman-Book] [\typescriptthree-zaw] [encoding=\typescriptthree] + \definefontsynonym[MendozaRoman-BookItalic] [\typescriptthree-zawi][encoding=\typescriptthree] \stoptypescript -% frutiger +% frutiger -\starttypescript [all] - \loadmapfile[texnansi-adobe-frutiger.map] +\starttypescript [all] [frutiger] [ec,8r,texnansi] + \loadmapfile[\typescriptthree-adobe-frutiger.map] \stoptypescript \starttypescript [sans] [frutiger] [name] @@ -321,62 +504,34 @@ \stoptypescript -\starttypescript [sans] [frutiger] [texnansi] - - \definefontsynonym[Frutiger-Bold] [texnansi-ftb] [encoding=texnansi] - \definefontsynonym[Frutiger-BoldItalic] [texnansi-ftbi] [encoding=texnansi] - \definefontsynonym[Frutiger-Black] [texnansi-ftbl] [encoding=texnansi] - \definefontsynonym[Frutiger-BlackItalic][texnansi-ftbli][encoding=texnansi] - \definefontsynonym[Frutiger-Italic] [texnansi-fti] [encoding=texnansi] - \definefontsynonym[Frutiger-Light] [texnansi-ftl] [encoding=texnansi] - \definefontsynonym[Frutiger-LightItalic][texnansi-ftli] [encoding=texnansi] - \definefontsynonym[Frutiger-Roman] [texnansi-ftr] [encoding=texnansi] - \definefontsynonym[Frutiger-UltraBlack] [texnansi-ftubl][encoding=texnansi] - -\stoptypescript - -% utopia (already in other files) -% -% \starttypescript [map] [ec,8r,texnansi] -% \loadmapfile [\typefaceencoding-adobe-utopia] -% \stoptypescript -% -% \starttypescript [serif] [utopia] [name] -% -% \definefontsynonym [Serif] [Utopia-Regular] -% \definefontsynonym [SerifItalic] [Utopia-Italic] -% \definefontsynonym [SerifSlanted] [Utopia-Slanted] -% \definefontsynonym [SerifBold] [Utopia-Bold] -% \definefontsynonym [SerifBoldItalic] [Utopia-BoldItalic] -% \definefontsynonym [SerifBoldSlanted][Utopia-BoldSlanted] -% -% \stoptypescript -% -% \starttypescript [serif] [utopia] [texnansi] -% -% \definefontsynonym [Utopia-Regular] [texnansi-utrg] [encoding=texnansi] -% \definefontsynonym [Utopia-Italic] [texnansi-uti] [encoding=texnansi] -% \definefontsynonym [Utopia-Slanted] [texnansi-uti] [encoding=texnansi] -% \definefontsynonym [Utopia-Bold] [texnansi-utb] [encoding=texnansi] -% \definefontsynonym [Utopia-BoldItalic] [texnansi-utbi] [encoding=texnansi] -% \definefontsynonym [Utopia-BoldSlanted] [texnansi-utbi] [encoding=texnansi] -% -% \stoptypescript - -% kabel - - \starttypescript [map] [ec,8r,texnansi] - \loadmapfile [\typefaceencoding-itc-kabel] - \stoptypescript - - \starttypescript [sans] [kabel] [texnansi] - - \definefontsynonym [ItcKabel-Bold] [texnansi-kbb] [encoding=texnansi] - \definefontsynonym [ItcKabel-Demi] [texnansi-kbd] [encoding=texnansi] - \definefontsynonym [ItcKabel-Medium] [texnansi-kbm] [encoding=texnansi] - \definefontsynonym [ItcKabel-Ultra] [texnansi-kbu] [encoding=texnansi] - \definefontsynonym [ItcKabel-Book] [texnansi-kbw] [encoding=texnansi] - - \stoptypescript - -\endinput +\starttypescript [sans] [frutiger] [ec,8r,texnansi] + + \definefontsynonym[Frutiger-Bold] [\typescriptthree-ftb] [encoding=\typescriptthree] + \definefontsynonym[Frutiger-BoldItalic] [\typescriptthree-ftbi] [encoding=\typescriptthree] + \definefontsynonym[Frutiger-Black] [\typescriptthree-ftbl] [encoding=\typescriptthree] + \definefontsynonym[Frutiger-BlackItalic][\typescriptthree-ftbli][encoding=\typescriptthree] + \definefontsynonym[Frutiger-Italic] [\typescriptthree-fti] [encoding=\typescriptthree] + \definefontsynonym[Frutiger-Light] [\typescriptthree-ftl] [encoding=\typescriptthree] + \definefontsynonym[Frutiger-LightItalic][\typescriptthree-ftli] [encoding=\typescriptthree] + \definefontsynonym[Frutiger-Roman] [\typescriptthree-ftr] [encoding=\typescriptthree] + \definefontsynonym[Frutiger-UltraBlack] [\typescriptthree-ftubl][encoding=\typescriptthree] + +\stoptypescript + +% kabel + +\starttypescript [all] [kabel] [ec,8r,texnansi] + \loadmapfile [\typescriptthree-itc-kabel.map] +\stoptypescript + +\starttypescript [sans] [kabel] [ec,8r,texnansi] + + \definefontsynonym [ItcKabel-Bold] [\typescriptthree-kbb] [encoding=\typescriptthree] + \definefontsynonym [ItcKabel-Demi] [\typescriptthree-kbd] [encoding=\typescriptthree] + \definefontsynonym [ItcKabel-Medium] [\typescriptthree-kbm] [encoding=\typescriptthree] + \definefontsynonym [ItcKabel-Ultra] [\typescriptthree-kbu] [encoding=\typescriptthree] + \definefontsynonym [ItcKabel-Book] [\typescriptthree-kbw] [encoding=\typescriptthree] + +\stoptypescript + +\endinput diff --git a/tex/context/base/type-enc.tex b/tex/context/base/type-enc.tex index 16eaff96f..1ecd20247 100644 --- a/tex/context/base/type-enc.tex +++ b/tex/context/base/type-enc.tex @@ -28,9 +28,7 @@ % % \starttext \showfont[Serif] \stoptext -\starttypescript [all] [latin-modern] [texnansi,qx] - - \loadmapfile[\typescriptthree-lm.map] +\starttypescript [all] [latin-modern] [texnansi,ec,qx] % Regular @@ -111,89 +109,6 @@ \stoptypescript -\starttypescript [all] [latin-modern] [ec] - - \loadmapfile[cork-lm.map] - - % Regular - - \definefontsynonym [cmr5] [cork-lmr5] [encoding=ec] - \definefontsynonym [cmr6] [cork-lmr6] [encoding=ec] - \definefontsynonym [cmr7] [cork-lmr7] [encoding=ec] - \definefontsynonym [cmr8] [cork-lmr8] [encoding=ec] - \definefontsynonym [cmr9] [cork-lmr9] [encoding=ec] - \definefontsynonym [cmr10] [cork-lmr10] [encoding=ec] - \definefontsynonym [cmr12] [cork-lmr12] [encoding=ec] - \definefontsynonym [cmr17] [cork-lmr17] [encoding=ec] - - \definefontsynonym [cmbx5] [cork-lmbx5] [encoding=ec] - \definefontsynonym [cmbx6] [cork-lmbx6] [encoding=ec] - \definefontsynonym [cmbx7] [cork-lmbx7] [encoding=ec] - \definefontsynonym [cmbx8] [cork-lmbx8] [encoding=ec] - \definefontsynonym [cmbx9] [cork-lmbx9] [encoding=ec] - \definefontsynonym [cmbx10] [cork-lmbx10] [encoding=ec] - \definefontsynonym [cmbx12] [cork-lmbx12] [encoding=ec] - - \definefontsynonym [cmsl10] [cork-lmro10] [encoding=ec] - \definefontsynonym [cmsl12] [cork-lmro12] [encoding=ec] - \definefontsynonym [cmsl8] [cork-lmro8] [encoding=ec] - \definefontsynonym [cmsl9] [cork-lmro9] [encoding=ec] - - \definefontsynonym [cmti7] [cork-lmri7] [encoding=ec] - \definefontsynonym [cmti8] [cork-lmri8] [encoding=ec] - \definefontsynonym [cmti9] [cork-lmri9] [encoding=ec] - \definefontsynonym [cmti10] [cork-lmri10] [encoding=ec] - \definefontsynonym [cmti12] [cork-lmri12] [encoding=ec] - - \definefontsynonym [cmb10] [cork-lmb10] [encoding=ec] - \definefontsynonym [cmbsl10] [cork-lmbo10] [encoding=ec] - \definefontsynonym [cmbxsl10] [cork-lmbxo10] [encoding=ec] - \definefontsynonym [cmbxti10] [cork-lmbxi10] [encoding=ec] - - \definefontsynonym [cmcsc10] [cork-lmcsc10] [encoding=ec] - \definefontsynonym [cmcscsl10][cork-lmcsco10] [encoding=ec] - - % Mono - - \definefontsynonym [cmtt8] [cork-lmtt8] [encoding=ec] - \definefontsynonym [cmtt9] [cork-lmtt9] [encoding=ec] - \definefontsynonym [cmtt10] [cork-lmtt10] [encoding=ec] - \definefontsynonym [cmtt12] [cork-lmtt12] [encoding=ec] - - \definefontsynonym [cmitt10] [cork-lmtti10] [encoding=ec] - \definefontsynonym [cmsltt10] [cork-lmtto10] [encoding=ec] - - \definefontsynonym [cmvtt10] [cork-lmvtt10] [encoding=ec] - \definefontsynonym [cmvtti10] [cork-lmvtto] [encoding=ec] - - \definefontsynonym [cmcsc10] [cork-lmcsc10] [encoding=ec] - - % Sans - - \definefontsynonym [cmss8] [cork-lmss8] [encoding=ec] - \definefontsynonym [cmss9] [cork-lmss9] [encoding=ec] - \definefontsynonym [cmss10] [cork-lmss10] [encoding=ec] - \definefontsynonym [cmss12] [cork-lmss12] [encoding=ec] - \definefontsynonym [cmss17] [cork-lmss17] [encoding=ec] - - \definefontsynonym [cmssi10] [cork-lmsso10] [encoding=ec] - \definefontsynonym [cmssi12] [cork-lmsso12] [encoding=ec] - \definefontsynonym [cmssi17] [cork-lmsso17] [encoding=ec] - \definefontsynonym [cmssi8] [cork-lmsso8] [encoding=ec] - \definefontsynonym [cmssi9] [cork-lmsso9] [encoding=ec] - - \definefontsynonym [cmssq8] [cork-lmssq8] [encoding=ec] - \definefontsynonym [cmssqb8] [cork-lmssqbx8] [encoding=ec] - \definefontsynonym [cmssqbi8] [cork-lmssqbo8] [encoding=ec] - \definefontsynonym [cmssqi8] [cork-lmssqo8] [encoding=ec] - - \definefontsynonym [cmssbx10] [cork-lmssbx10] [encoding=ec] - \definefontsynonym [cmssdc10] [cork-lmssdc10] [encoding=ec] - \definefontsynonym [cmssbi10] [cork-lmssbo10] [encoding=ec] - \definefontsynonym [cmssdi10] [cork-lmssdo10] [encoding=ec] - -\stoptypescript - \starttypescript [all] [computer-modern] [ec] % will become ae \definefontsynonym [cmb10] [aeb10] [encoding=ec,handling=glm] \definefontsynonym [cmbx10] [aebx10] [encoding=ec,handling=glm] @@ -940,6 +855,22 @@ \definefontsynonym [Courier-BoldOblique] [\typefaceencoding-ucrbo8a] [encoding=\typefaceencoding] \stoptypescript +% alternative 1 +% +% \definefontsynonym[qx-ucrr8a] [qcrr] +% \definefontsynonym[qx-ucrb8a] [qcrb] +% \definefontsynonym[qx-ucrr08a] [qcrri] +% \definefontsynonym[qx-ucrbo8a] [qcrbi] +% +% alternative 2 + +\starttypescript [mono] [courier] [qx] + \definefontsynonym [Courier] [qcrr] [encoding=qx] + \definefontsynonym [Courier-Bold] [qcrb] [encoding=qx] + \definefontsynonym [Courier-Oblique] [qcrri] [encoding=qx] + \definefontsynonym [Courier-BoldOblique] [qcrbi] [encoding=qx] +\stoptypescript + % Helvetica (URW) \starttypescript [sans] [helvetica] [texnansi,ec,8r] @@ -951,6 +882,15 @@ \definefontsynonym [Helvetica-BoldOblique] [\typefaceencoding-uhvbo8a] [encoding=\typefaceencoding] \stoptypescript +\starttypescript [sans] [helvetica] [qx] % narrow + \definefontsynonym [Helvetica] [qhvr] [encoding=qx] % qhvcr + \definefontsynonym [Helvetica-Italic] [qhvri] [encoding=qx] % qhvcri + \definefontsynonym [Helvetica-Oblique] [qhvri] [encoding=qx] % qhvcri + \definefontsynonym [Helvetica-Bold] [qhvb] [encoding=qx] % qhvcb + \definefontsynonym [Helvetica-BoldItalic] [qhvbi] [encoding=qx] % qhvcbi + \definefontsynonym [Helvetica-BoldOblique] [qhvbi] [encoding=qx] % qhvcbi +\stoptypescript + % Times Roman (URW) \starttypescript [serif] [times] [texnansi,ec,8r] @@ -965,6 +905,18 @@ \definefontsynonym [Times] [Times-Roman] \stoptypescript +\starttypescript [serif] [times] [qx] + \definefontsynonym [Times-Roman] [qtmr] [encoding=qx] + \definefontsynonym [Times-Italic] [qtmri] [encoding=qx] + \definefontsynonym [Times-Bold] [qtmb] [encoding=qx] + \definefontsynonym [Times-BoldItalic] [qtmbi] [encoding=qx] + + \definefontsynonym [Times-Slanted] [Times-Italic] + \definefontsynonym [Times-BoldSlanted] [Times-BoldItalic] + + \definefontsynonym [Times] [Times-Roman] +\stoptypescript + % Math Times (tx) \starttypescript [math] [times] [all] @@ -1015,6 +967,17 @@ \definefontsynonym [Palatino-Caps] [\typefaceencoding-uplr8a-capitalized-800] [encoding=\typefaceencoding] \stoptypescript +\starttypescript [serif] [palatino] [qx] + \definefontsynonym [Palatino] [qplr] [encoding=qx] + \definefontsynonym [Palatino-Italic] [qplri] [encoding=qx] + \definefontsynonym [Palatino-Bold] [qplb] [encoding=qx] + \definefontsynonym [Palatino-BoldItalic] [qplbi] [encoding=qx] + + \definefontsynonym [Palatino-Slanted] [Palatino-Italic] + \definefontsynonym [Palatino-BoldSlanted] [Palatino-BoldItalic] + \definefontsynonym [Palatino-Caps] [Palatino] +\stoptypescript + % Palatino Math (PX) \starttypescript [math] [palatino] [all] @@ -1048,12 +1011,27 @@ \definefontsynonym [Bookman-Light-Caps] [\typefaceencoding-ubkl8a-capitalized-800] [encoding=\typefaceencoding] \stoptypescript +\starttypescript [serif] [bookman] [qx] + \definefontsynonym [Bookman-Light] [qbkr] [encoding=qx] + \definefontsynonym [Bookman-LightItalic] [qbkri] [encoding=qx] + \definefontsynonym [Bookman-DemiBold] [qbkb] [encoding=qx] + \definefontsynonym [Bookman-DemiBoldItalic] [qbkbi] [encoding=qx] + + \definefontsynonym [Bookman-LightSlanted] [Bookman-LightItalic] + \definefontsynonym [Bookman-DemiBoldSlanted] [Bookman-DemiBoldItalic] + \definefontsynonym [Bookman-Light-Caps] [Bookman-Light] +\stoptypescript + % Chancery (URW) \starttypescript [calligraphy] [chancery] [ec,texnansi,8r] \definefontsynonym [Chancery] [\typefaceencoding-uzcmi8a] [encoding=\typefaceencoding] \stoptypescript +\starttypescript [calligraphy] [chancery] [qx] + \definefontsynonym [Chancery] [qzcmi] [encoding=qx] +\stoptypescript + % New Century Schoolbook (URW) \starttypescript [serif] [schoolbook] [ec,texnansi,8r] @@ -1100,94 +1078,6 @@ \definefontsynonym [MartinVogel] [fmvr8x] \stoptypescript -% Commercial fonts / still to be sorted out - -% Informal (VTEX) - -\starttypescript [casual] [informal] [default] - \definefontsynonym [Informal-Regular] [ifrm10cm] - \definefontsynonym [Informal-Bold] [ifrb10cm] - \definefontsynonym [Informal-Oblique] [ifro10cm] - \definefontsynonym [Informal-BoldOblique] [ifbo10cm] -\stoptypescript - -% Informal Math (VTEX) - -\starttypescript [math] [informal] [default] - \definefontsynonym [Informal-Regular] [ifrm10cm] - \definefontsynonym [Informal-MathExtendedSymbols] [ifex10] - \definefontsynonym [Informal-MathItalics] [ifmi10] - \definefontsynonym [Informal-MathSymbols] [ifsy10] -\stoptypescript - -% Lucida Bright (BH) - -\starttypescript [serif] [lucida] [texnansi,ec,8r] - \definefontsynonym [LucidaBright] [\typefaceencoding-lbr] [encoding=\typefaceencoding] - \definefontsynonym [LucidaBright-Demi] [\typefaceencoding-lbd] [encoding=\typefaceencoding] - \definefontsynonym [LucidaBright-DemiItalic] [\typefaceencoding-lbdi] [encoding=\typefaceencoding] - \definefontsynonym [LucidaBright-Italic] [\typefaceencoding-lbi] [encoding=\typefaceencoding] - \definefontsynonym [LucidaBrightSmallcaps] [\typefaceencoding-lbrsc] [encoding=\typefaceencoding] - \definefontsynonym [LucidaBrightSmallcaps-Demi] [\typefaceencoding-lbdsc] [encoding=\typefaceencoding] - \definefontsynonym [LucidaBright-Oblique] [\typefaceencoding-lbsl] [encoding=\typefaceencoding] -\stoptypescript - -\starttypescript [sans] [lucida] [texnansi,ec,8r] - \definefontsynonym [LucidaSans] [\typefaceencoding-lsr] [encoding=\typefaceencoding] - \definefontsynonym [LucidaSans-Demi] [\typefaceencoding-lsd] [encoding=\typefaceencoding] - \definefontsynonym [LucidaSans-DemiItalic] [\typefaceencoding-lsdi] [encoding=\typefaceencoding] - \definefontsynonym [LucidaSans-Italic] [\typefaceencoding-lsi] [encoding=\typefaceencoding] - \definefontsynonym [LucidaSans-Bold] [\typefaceencoding-lsb] [encoding=\typefaceencoding] - \definefontsynonym [LucidaSans-BoldItalic] [\typefaceencoding-lsbi] [encoding=\typefaceencoding] -\stoptypescript - -\starttypescript [mono] [lucida] [texnansi,ec,8r] - \definefontsynonym [LucidaSans-Typewriter] [\typefaceencoding-lstr] [encoding=\typefaceencoding] - \definefontsynonym [LucidaSans-TypewriterBold] [\typefaceencoding-lstb] [encoding=\typefaceencoding] - \definefontsynonym [LucidaSans-TypewriterBoldOblique] [\typefaceencoding-lstbo] [encoding=\typefaceencoding] - \definefontsynonym [LucidaSans-TypewriterOblique] [\typefaceencoding-lsto] [encoding=\typefaceencoding] -\stoptypescript - -\starttypescript [math] [lucida] [texnansi,ec,8r] - \definefontsynonym [LucidaBright] [\typefaceencoding-lbr] [encoding=\typefaceencoding] - \definefontsynonym [LucidaNewMath-AltItalic] [lbmo] - \definefontsynonym [LucidaNewMath-Arrows] [lbma] - \definefontsynonym [LucidaNewMath-Extension] [lbme] - \definefontsynonym [LucidaNewMath-Roman] [lbmr] - \definefontsynonym [LucidaNewMath-Italic] [lbmi] - \definefontsynonym [LucidaNewMath-Symbol] [lbms] - \definefontsynonym [LucidaBlackletter] [lbl] -\stoptypescript - -\starttypescript [boldmath,bfmath] [lucida] [texnansi,ec,8r] - \definefontsynonym [LucidaNewMath-AltDemiItalic] [lbmdo] - \definefontsynonym [LucidaNewMath-Arrows-Demi] [lbmad] - \definefontsynonym [LucidaNewMath-Extension] [lbme] - \definefontsynonym [LucidaNewMath-DemiBold] [lbmd] - \definefontsynonym [LucidaNewMath-DemiItalic] [lbmdi] - \definefontsynonym [LucidaNewMath-Symbol-Demi] [lbmsd] -\stoptypescript - -\starttypescript [calligraphy] [lucida] [texnansi,ec,8r] - \definefontsynonym [LucidaCalligraphy-Italic] [\typefaceencoding-lbc] [encoding=\typefaceencoding] -\stoptypescript - -\starttypescript [casual] [lucida] [texnansi,ec,8r] - \definefontsynonym [LucidaCasual] [\typefaceencoding-lbkr] [encoding=\typefaceencoding] - \definefontsynonym [LucidaCasual-Italic] [\typefaceencoding-lbki] [encoding=\typefaceencoding] -\stoptypescript - -\starttypescript [handwriting] [lucida] [texnansi,ec,8r] - \definefontsynonym [LucidaHandwriting-Italic] [\typefaceencoding-lbh] [encoding=\typefaceencoding] -\stoptypescript - -\starttypescript [fax] [lucida] [texnansi,ec,8r] - \definefontsynonym [LucidaFax] [\typefaceencoding-lfr] [encoding=\typefaceencoding] - \definefontsynonym [LucidaFax-Demi] [\typefaceencoding-lfd] [encoding=\typefaceencoding] - \definefontsynonym [LucidaFax-DemiItalic] [\typefaceencoding-lfdi] [encoding=\typefaceencoding] - \definefontsynonym [LucidaFax-Italic] [\typefaceencoding-lfi] [encoding=\typefaceencoding] -\stoptypescript - %D For those who want to use the existing tfm and vf files we %D provide: diff --git a/tex/context/base/type-exa.tex b/tex/context/base/type-exa.tex index 46d1811cc..cbd55abd5 100644 --- a/tex/context/base/type-exa.tex +++ b/tex/context/base/type-exa.tex @@ -77,6 +77,7 @@ \definetypeface [lucida] [ss] [sans] [lucida] [default] [encoding=\typescripttwo] \definetypeface [lucida] [tt] [mono] [lucida] [default] [encoding=\typescripttwo] \definetypeface [lucida] [hw] [handwriting] [lucida] [default] [encoding=\typescripttwo] + %definetypeface [lucida] [cg] [calligraphy] [lucida] [default] [encoding=\typescripttwo] \stoptypescript diff --git a/tex/context/base/type-ini.tex b/tex/context/base/type-ini.tex index 48e67009b..580dde7e4 100644 --- a/tex/context/base/type-ini.tex +++ b/tex/context/base/type-ini.tex @@ -58,8 +58,7 @@ \pushmacro\typescriptthree \pushmacro\stoptypescript \typescriptfoundfalse - \writestatus\m!fonts - {[\@@typescriptone] [\@@typescripttwo] [\@@typescriptthree]}% + \writestatus\m!fonts{[\@@typescriptone] [\@@typescripttwo] [\@@typescriptthree]}% \processcommacommand[\typescriptfiles]\dododousetypescript \firsttypescriptpassfalse % testen \popmacro\stoptypescript @@ -299,9 +298,11 @@ % \expanded{\processcommalist[#1]}\docommando % \ifproductionrun \loadallfontmapfiles \fi} +% this mechanism will be adapted to the new pdftex features + \def\dopreloadmapfile#1% {\doifinstringelse{.}{#1} - {\writestatus{pdftex}{compensate map file: #1}% + {\writestatus\m!fonts{assuming map file: #1}% \setxvalue{#1 \c!status}{3}% \doglobal\removefromcommalist{#1}\allfontmapsfiles} {\expanded{\dopreloadmapfile{#1.\f!fontmapextension}}}} @@ -309,59 +310,88 @@ \def\preloadmapfile[#1]% {\expanded{\processcommalist[#1]}\dopreloadmapfile} -\def\doloadmapfile#1% - {\doifinstringelse{.}{#1} - {\doglobal\pretocommalist{#1}\allfontmapsfiles} - {\expanded{\doloadmapfile{#1.\f!fontmapextension}}}} - -\def\loadmapfile[#1]% last added first ! - {\expanded{\processcommalist[#1]}\doloadmapfile - \ifproductionrun \loadallfontmapfiles \fi} - -\def\doloadfontmapfile#1% will be special - {\doifundefined{#1 \c!status} - {\ifnum\realpageno>\plusone - \writestatus{pdftex}{too late for map file: #1}% - \else - \writestatus{pdftex}{using map file: #1}% - \fi - \doiffileelse{#1}{\pdfmapfile{+#1}}\donothing - \setxvalue{#1 \c!status}{1}}} +\def\loadmapfile[#1]% + {\expanded{\processcommalist[#1]}\loadthemapfile} + +% too soon, no driver known, \ifproductionrun \loadallfontmapfiles \fi} + +% temp hack, will become just \addto + +\ifx\pdftexversion\undefined + + \def\loadthemapfile#1% + {\doifinstringelse{.}{#1} + {\doglobal\addtocommalist{#1}\allfontmapsfiles} + {\expanded{\loadthemapfile{#1.\f!fontmapextension}}}} + +\else\ifnum\pdftexversion<200 + + \def\loadthemapfile#1% + {\doifinstringelse{.}{#1} + {\doglobal\pretocommalist{#1}\allfontmapsfiles} + {\expanded{\loadthemapfile{#1.\f!fontmapextension}}}} + +\else + + \def\loadthemapfile#1% + {\doifinstringelse{.}{#1} + %{\doglobal\pretocommalist{#1}\allfontmapsfiles} + {\doglobal\addtocommalist{#1}\allfontmapsfiles} + {\expanded{\loadthemapfile{#1.\f!fontmapextension}}}} + + +\fi \fi + +\def\doloadfontmapfile#1% + {\ifundefined{#1 \c!status}% + \writestatus\m!fonts{using map file: #1}% + \doloadmapfile{+}{#1}% + \setxvalue{#1 \c!status}{1}% + \fi} \def\doreportfontmapfile#1% - {\doifundefined{#1 \c!status} - {\writestatus{pdftex}{needs map file: #1}% - \setxvalue{#1 \c!status}{2}}} + {\ifundefined{#1 \c!status}% + \writestatus\m!fonts{needs map file: #1}% + \setxvalue{#1 \c!status}{2}% + \fi} \def\loadallfontmapfiles {%\message{[\allfontmapsfiles]}% + \ifconditional\resettingmapfile + \doresetmapfilelist + \global\setfalse\resettingmapfile + \fi \ifx\allfontmapsfiles\empty \else \ifautoloadmapfiles - \ifcase\pdfoutput \else \ifx\pdfmapfile\undefined \else - \processcommacommand[\allfontmapsfiles]\doloadfontmapfile - \forgetmapfiles - \fi \fi + \processcommacommand[\allfontmapsfiles]\doloadfontmapfile \else \processcommacommand[\allfontmapsfiles]\doreportfontmapfile - \forgetmapfiles \fi + \forgetmapfiles \fi} -\appendtoks \loadallfontmapfiles \to \everyjob +% since this is driver dependent, and since we may set map files +% before an output format is defined, we need to postpone it + +%appendtoks \loadallfontmapfiles \to \everyPDFximage \appendtoks \loadallfontmapfiles \to \everystarttext \appendtoks \loadallfontmapfiles \to \everybeforepagebody \newif\ifautoloadmapfiles +\let\allfontmapsfiles\empty + \def\forgetmapfiles - {\global\let\allfontmapsfiles\empty} + {\globallet\allfontmapsfiles\empty} + +\newconditional\resettingmapfile -\forgetmapfiles +\def\resetmapfiles + {\global\settrue\resettingmapfile} \def\disablemapfiles - {\ifcase\pdfoutput \else \ifx\pdfmapfile\undefined \else - \pdfmapfile{}% this will (kind of reset) the map file loading - \fi \fi} + {\resetmapfiles + \forgetmapfiles} % \definetypeface [#1:joke] [#2:rm] % \definetypeface [#1:joke] [#2:rm] [#3:...] @@ -384,10 +414,10 @@ \def\dodefinetypeface[#1][#2][#3][#4][#5][#6]% {\dododefinetypeface[#1][#2] \iffifthargument % sixth is optional - % \getparameters[\??ts][rscale=1,\s!encoding=\defaultencoding,#6] - % we need to expand since in #6 there can be a \typescripttwo -\expanded{\getparameters[\??ts][\s!rscale=1,\s!encoding=\defaultencoding,#6]}% -% toch niet \expanded{\getparameters[\??ts][\s!rscale=1,\s!encoding=\s!default,#6]}% + % \getparameters[\??ts][rscale=1,\s!encoding=\defaultencoding,#6] + % we need to expand since in #6 there can be a \typescripttwo + \expanded{\getparameters[\??ts][\s!rscale=1,\s!encoding=\defaultencoding,#6]}% + % toch niet \expanded{\getparameters[\??ts][\s!rscale=1,\s!encoding=\s!default,#6]}% \pushmacro\relativefontsize \pushmacro\typefaceencoding \pushmacro\fontclass @@ -398,7 +428,7 @@ %\writestatus{typeface}{[#1] [#2] [#3] [#4]} \writestatus\m!fonts{[#1] [#2] [#3] [#4]} \usetypescript[map][\typefaceencoding] - \usetypescript[#3][#4][name,default,\typefaceencoding,special] + \usetypescript[#3,map][#4][name,default,\typefaceencoding,special] \usetypescript[#3][#5][size] \popmacro\fontclass \popmacro\typefaceencoding diff --git a/tex/context/base/type-map.tex b/tex/context/base/type-map.tex index bea38ec32..471d7897a 100644 --- a/tex/context/base/type-map.tex +++ b/tex/context/base/type-map.tex @@ -11,107 +11,125 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -%D Beware, this may change to run time loading once pdftex can do -%D that per page. +%D This one plays safe: + +\starttypescript [map] [base] [all] + \loadmapfile[original-base.map] + \loadmapfile[ec-base.map] + \loadmapfile[8r-base.map] + \loadmapfile[qx-base.map] + \loadmapfile[texnansi-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] +\stoptypescript -%D We cannot be too clever here since loading the mapfile is -%D a time sensitive operation. Better to load a couple more -%D then to run into problems. +% This is the base map file, load it to be sure. -\starttypescript [map] [all] +\starttypescript [map] [all] [ec,8r,texnansi] + \loadmapfile[original-base.map] + \loadmapfile[\typescriptthree-base.map] +\stoptypescript + +% if we were in full control, we could have +% +% \starttypescript [berry] [ec] +% \loadmapfile[ec-base.map] +% \stoptypescript + +% cmr and related + +\starttypescript [all] [cmr] \loadmapfile[original-ams-cmr.map] \loadmapfile[original-ams-euler.map] \stoptypescript -\starttypescript [map] [lm] - \loadmapfile[original-ams-lmr.map] +\starttypescript [all] [il2,csr] + \loadmapfile[original-public-csr.map] \stoptypescript -\starttypescript [map] [il2] - \loadmapfile[il2-ams-cmr.map] +\starttypescript [all] [pl0,plr] + \loadmapfile[original-public-plr.map] \stoptypescript -\starttypescript [map] [pl0] - \loadmapfile[pl0-ams-cmr.map] +\starttypescript [all] [lm,lmr] + \loadmapfile[original-public-lm.map] \stoptypescript -% beware, this one will not handle \usetypescript [map] [x,y] -% -% \starttypescript [map] [ec,texnansi,8r] -% \loadmapfile[\typescripttwo-urw-times.map] -% \loadmapfile[\typescripttwo-urw-helvetica.map] -% \stoptypescript +% latin modern -\starttypescript [map] [8r] - \loadmapfile[8r-adobe-utopia.map] - \loadmapfile[8r-bitstrea-charter.map] - \loadmapfile[8r-public-antp.map] - \loadmapfile[8r-public-antt.map] - \loadmapfile[8r-urw-bookman.map] - \loadmapfile[8r-urw-courier.map] - \loadmapfile[8r-urw-helvetica.map] - \loadmapfile[8r-urw-palatino.map] - \loadmapfile[8r-urw-times.map] - \loadmapfile[8r-urw-zapfchan.map] - \loadmapfile[8r-urw-ncntrsbk.map] -\stoptypescript - -\starttypescript [map] [ec] - \loadmapfile[ec-adobe-utopia.map] - \loadmapfile[ec-bitstrea-charter.map] - \loadmapfile[ec-public-antp.map] - \loadmapfile[ec-public-antt.map] - \loadmapfile[ec-urw-bookman.map] - \loadmapfile[ec-urw-courier.map] - \loadmapfile[ec-urw-helvetica.map] - \loadmapfile[ec-urw-palatino.map] - \loadmapfile[ec-urw-times.map] - \loadmapfile[ec-urw-zapfchan.map] - \loadmapfile[ec-urw-ncntrsbk.map] -\stoptypescript - -\starttypescript [map] [texnansi] - \loadmapfile[texnansi-adobe-utopia.map] - \loadmapfile[texnansi-bitstrea-charter.map] - \loadmapfile[texnansi-public-antp.map] - \loadmapfile[texnansi-public-antt.map] - \loadmapfile[texnansi-urw-bookman.map] - \loadmapfile[texnansi-urw-courier.map] - \loadmapfile[texnansi-urw-helvetica.map] - \loadmapfile[texnansi-urw-palatino.map] - \loadmapfile[texnansi-urw-times.map] - \loadmapfile[texnansi-urw-zapfchan.map] - \loadmapfile[texnansi-urw-ncntrsbk.map] -\stoptypescript - -\starttypescript [map] [ec,texnansi,8r] - \loadmapfile[original-youngryu-px.map] - \loadmapfile[original-youngryu-tx.map] +\starttypescript [all] [latin-modern] [ec,texnansi,qx] + \loadmapfile[\typescriptthree-public-lm.map] \stoptypescript -% to do +\starttypescript [var] [latin-modern] [ec,texnansi,qx] + \loadmapfile[\typescriptthree-var-exclusive-public-lm.map] +\stoptypescript -\starttypescript [map] [default] - \loadmapfile[original-micropress-informal.map] +% the next applies to texfont generated metrics + +\starttypescript [all] [utopia] [ec,8r,texnansi] + \loadmapfile[\typescriptthree-adobe-utopia.map] \stoptypescript -\starttypescript [map] [texnansi] - \loadmapfile[texnansi-bh-lucida.map] +\starttypescript [all] [charter] [ec,8r,texnansi] + \loadmapfile[\typescriptthree-bitstrea-charter.map] \stoptypescript -\starttypescript [map] [ec] - \loadmapfile[ec-bh-lucida.map] - % this may change to original-*.map - \loadmapfile[fourier.map] - \loadmapfile[fourier-utopia-expert.map] +\starttypescript [all] [antykwa-torunska] [ec,8r,texnansi] + \loadmapfile[\typescriptthree-public-antt.map] +\stoptypescript + +\starttypescript [all] [antykwa-poltawskiego] [ec,8r,texnansi] + \loadmapfile[\typescriptthree-public-antp.map] +\stoptypescript + +\starttypescript [all] [bookman] [ec,8r,texnansi] + \loadmapfile[\typescriptthree-urw-bookman.map] \stoptypescript -\starttypescript [map] [8r] - \loadmapfile[8r-bh-lucida.map] +\starttypescript [all] [courier] [ec,8r,texnansi] + \loadmapfile[\typescriptthree-urw-courier.map] \stoptypescript -%\starttypescript [math] [helvetica] [all] -% \loadmapfile[original-micropress-helvetica.map] -%\stoptypescript +\starttypescript [all] [helvetica] [ec,8r,texnansi] + \loadmapfile[\typescriptthree-urw-helvetica.map] +\stoptypescript + +\starttypescript [all] [palatino] [ec,8r,texnansi] + \loadmapfile[\typescriptthree-urw-palatino.map] +\stoptypescript + +\starttypescript [all] [times] [ec,8r,texnansi] + \loadmapfile[\typescriptthree-urw-times.map] +\stoptypescript + +\starttypescript [all] [chancery] [ec,8r,texnansi] + \loadmapfile[\typescriptthree-urw-zapfchan.map] +\stoptypescript + +\starttypescript [all] [schoolbook] [ec,8r,texnansi] + \loadmapfile[\typescriptthree-urw-ncntrsbk.map] +\stoptypescript + +% once i can be sure that the map files are in the tree, i will +% use those instead of original (too many variants anyway) + +\starttypescript [all] [palatino] [default,ec,texnansi,8r] + \loadmapfile[original-youngryu-px.map] +\stoptypescript + +\starttypescript [all] [times] [default,ec,texnansi,8r] + \loadmapfile[original-youngryu-tx.map] +\stoptypescript + +% to do: maybe original, maybe not + +\starttypescript [all] [fourier] [ec] + \loadmapfile[fourier.map] + \loadmapfile[fourier-utopia-expert.map] +\stoptypescript \endinput \ No newline at end of file diff --git a/tex/context/base/type-syn.tex b/tex/context/base/type-syn.tex index ca05e6827..d8a7d458a 100644 --- a/tex/context/base/type-syn.tex +++ b/tex/context/base/type-syn.tex @@ -111,100 +111,6 @@ \definefontsynonym [MathBeta] [AMS-SymbolB] \stoptypescript -% Lucida Bright : Biggelow and Holmes - -\starttypescript [serif] [lucida] [name] - \definefontsynonym [Serif] [LucidaBright] - \definefontsynonym [SerifBold] [LucidaBright-Demi] - \definefontsynonym [SerifItalic] [LucidaBright-Italic] - \definefontsynonym [SerifSlanted] [LucidaBright-Oblique] - \definefontsynonym [SerifBoldItalic] [LucidaBright-DemiItalic] - \definefontsynonym [SerifBoldSlanted] [LucidaBright-DemiItalic] - \definefontsynonym [SerifCaps] [LucidaBrightSmallcaps] - \definefontsynonym [OldStyle] [MathItalic] -\stoptypescript - -\starttypescript [sans] [lucida] [name] - \definefontsynonym [Sans] [LucidaSans] - \definefontsynonym [SansBold] [LucidaSans-Demi] - \definefontsynonym [SansItalic] [LucidaSans-Italic] - \definefontsynonym [SansSlanted] [LucidaSans-Italic] - \definefontsynonym [SansBoldItalic] [LucidaSans-DemiItalic] - \definefontsynonym [SansBoldSlanted] [LucidaSans-DemiItalic] - \definefontsynonym [SansCaps] [LucidaSans] -\stoptypescript - -\starttypescript [mono] [lucida] [name] - \definefontsynonym [Mono] [LucidaSans-Typewriter] - \definefontsynonym [MonoBold] [LucidaSans-TypewriterBold] - \definefontsynonym [MonoItalic] [LucidaSans-TypewriterOblique] - \definefontsynonym [MonoSlanted] [LucidaSans-TypewriterOblique] - \definefontsynonym [MonoBoldItalic] [LucidaSans-TypewriterBoldOblique] - \definefontsynonym [MonoBoldSlanted] [LucidaSans-TypewriterBoldOblique] - \definefontsynonym [MonoCaps] [LucidaSans-Typewriter] -\stoptypescript - -\starttypescript [math] [lucida] [name] - \definefontsynonym [MathRoman] [LucidaBright] - \definefontsynonym [MathExtension] [LucidaNewMath-Extension] - \definefontsynonym [MathItalic] [LucidaNewMath-AltItalic] - \definefontsynonym [MathSymbol] [LucidaNewMath-Symbol] - \definefontsynonym [MathAlpha] [LucidaNewMath-Arrows] - \definefontsynonym [MathBeta] [LucidaNewMath-Roman] -\stoptypescript - - \definefontsynonym [LucidaNewMath-AltDemiItalic] [lbmdo] - \definefontsynonym [LucidaNewMath-Arrows-Demi] [lbmad] - \definefontsynonym [LucidaNewMath-Extension] [lbme] - \definefontsynonym [LucidaNewMath-Demibold] [lbmd] - \definefontsynonym [LucidaNewMath-DemiItalic] [lbmdi] - \definefontsynonym [LucidaNewMath-Symbol-Demi] [lbmsd] - -\starttypescript [boldmath] [lucida] [name] - \definefontsynonym [MathRoman] [LucidaBright-Demi] - \definefontsynonym [MathExtension] [LucidaNewMath-Extension] - \definefontsynonym [MathItalic] [LucidaNewMath-AltDemiItalic] - \definefontsynonym [MathSymbol] [LucidaNewMath-Symbol-Demi] - \definefontsynonym [MathAlpha] [LucidaNewMath-Arrows-Demi] - \definefontsynonym [MathBeta] [LucidaNewMath-DemiBold] -\stoptypescript - -\starttypescript [bfmath] [lucida] [name] - \definefontsynonym [MathRomanBold] [LucidaNewMath-Demibold] - \definefontsynonym [MathExtensionBold] [LucidaNewMath-Extension] - \definefontsynonym [MathItalicBold] [LucidaNewMath-AltDemiItalic] - \definefontsynonym [MathSymbolBold] [LucidaNewMath-Symbol-Demi] - \definefontsynonym [MathAlphaBold] [LucidaNewMath-Arrows-Demi] - \definefontsynonym [MathBetaBold] [LucidaNewMath-DemiBold] % ?? -\stoptypescript - -\starttypescript [handwriting] [lucida] [name] - \definefontsynonym [Handwriting] [LucidaHandwriting-Italic] -\stoptypescript - -\starttypescript [calligraphy] [lucida] [name] - \definefontsynonym [Calligraphy] [LucidaCalligraphy-Italic] -\stoptypescript - -% Informal : Vulis - -\starttypescript [casual] [informal] [name] - \definefontsynonym [Serif] [Informal-Regular] - \definefontsynonym [SerifBold] [Informal-Bold] - \definefontsynonym [SerifSlanted] [Informal-Oblique] - \definefontsynonym [SerifItalic] [Informal-Oblique] - \definefontsynonym [SerifBoldSlanted] [Informal-BoldOblique] - \definefontsynonym [SerifBoldItalic] [Informal-BoldOblique] - \definefontsynonym [SerifCaps] [Informal-Regular] -\stoptypescript - -\starttypescript [math] [informal] [name] - \definefontsynonym [MathRoman] [Informal-Regular] - \definefontsynonym [MathExtension] [Informal-MathExtendedSymbols] - \definefontsynonym [MathItalic] [Informal-MathItalics] - \definefontsynonym [MathSymbol] [Informal-MathSymbols] -\stoptypescript - % Antykwa Torunska : \starttypescript [serif] [antykwa-torunska] [name] @@ -269,7 +175,7 @@ \definefontsynonym [Calligraphy] [Chancery] \stoptypescript -% schoolbook : +% Schoolbook : \starttypescript [serif] [schoolbook] [name] \definefontsynonym [Serif] [Schoolbook-Roman] diff --git a/tex/context/base/unic-000.tex b/tex/context/base/unic-000.tex index 329dc4e6c..047814cb8 100644 --- a/tex/context/base/unic-000.tex +++ b/tex/context/base/unic-000.tex @@ -121,102 +121,102 @@ \startunicodevector 0 \expandafter\strippedcsname \ifcase\numexpr(#1-159)!\@@unknownchar\or - \unknownchar \or % NO-BREAK SPACE - \exclamdown \or - \textcent \or - \textsterling \or - \textcurrency \or - \textyen \or - \textbrokenbar \or - \sectionmark \or - \textdiaeresis \or - \copyright \or - \ordfeminine \or % FEMININE ORDINAL INDICATOR - \unknownchar \or % LEFT-POINTING DOUBLE ANGLE QUOTATION MARK - \textlognot \or - \softhyphen \or - \registered \or - \textmacron \or - \textdegree \or - \textpm \or - \unknownchar \or % SUPERSCRIPT TWO - \unknownchar \or % SUPERSCRIPT THREE - \textacute \or - \unknownchar \or % MICRO SIGN - \unknownchar \or % PILCROW SIGN - \unknownchar \or % MIDDLE DOT - \textcedilla \or - \unknownchar \or % SUPERSCRIPT ONE - \ordmasculine \or % MASCULINE ORDINAL INDICATOR - \unknownchar \or % RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK - \unknownchar \or % VULGAR FRACTION ONE QUARTER - \unknownchar \or % VULGAR FRACTION ONE HALF - \unknownchar \or % VULGAR FRACTION THREE QUARTERS - \questiondown \or - \Agrave \or - \Aacute \or - \Acircumflex \or - \Atilde \or - \Adiaeresis \or - \Aring \or - \AEligature \or - \Ccedilla \or - \Egrave \or - \Eacute \or - \Ecircumflex \or - \Ediaeresis \or - \Igrave \or - \Iacute \or - \Icircumflex \or - \Idiaeresis \or - \unknownchar \or % \Eth \or - \Ntilde \or - \Ograve \or - \Oacute \or - \Ocircumflex \or - \Otilde \or - \Odiaeresis \or - \unknownchar \or - \Ostroke \or - \Ugrave \or - \Uacute \or - \Ucircumflex \or - \Udiaeresis \or - \Yacute \or - \Thorn \or - \ssharp \or - \agrave \or - \aacute \or - \acircumflex \or - \atilde \or - \adiaeresis \or - \aring \or - \aeligature \or - \ccedilla \or - \egrave \or - \eacute \or - \ecircumflex \or - \ediaeresis \or - \igrave \or - \iacute \or - \icircumflex \or - \idiaeresis \or - \unknownchar \or % \eth \or - \ntilde \or - \ograve \or - \oacute \or - \ocircumflex \or - \ohungarumlaut \or - \odiaeresis \or - \unknownchar \or - \ostroke \or - \ugrave \or - \uacute \or - \ucircumflex \or - \udiaeresis \or - \yacute \or - \thorn \or - \ydiaeresis \else + \nonbreakablespace \or + \exclamdown \or + \textcent \or + \textsterling \or + \textcurrency \or + \textyen \or + \textbrokenbar \or + \sectionmark \or + \textdiaeresis \or + \copyright \or + \ordfeminine \or % FEMININE ORDINAL INDICATOR + \unknownchar \or % LEFT-POINTING DOUBLE ANGLE QUOTATION MARK + \textlognot \or + \softhyphen \or + \registered \or + \textmacron \or + \textdegree \or + \textpm \or + \twosuperior \or + \threesuperior \or + \textacute \or + \unknownchar \or % MICRO SIGN + \unknownchar \or % PILCROW SIGN + \periodcentered \or + \textcedilla \or + \onesuperior \or + \ordmasculine \or % MASCULINE ORDINAL INDICATOR + \unknownchar \or % RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK + \onequarter \or + \onehalf \or + \threequarter \or + \questiondown \or + \Agrave \or + \Aacute \or + \Acircumflex \or + \Atilde \or + \Adiaeresis \or + \Aring \or + \AEligature \or + \Ccedilla \or + \Egrave \or + \Eacute \or + \Ecircumflex \or + \Ediaeresis \or + \Igrave \or + \Iacute \or + \Icircumflex \or + \Idiaeresis \or + \unknownchar \or % \Eth \or + \Ntilde \or + \Ograve \or + \Oacute \or + \Ocircumflex \or + \Otilde \or + \Odiaeresis \or + \unknownchar \or + \Ostroke \or + \Ugrave \or + \Uacute \or + \Ucircumflex \or + \Udiaeresis \or + \Yacute \or + \Thorn \or + \ssharp \or + \agrave \or + \aacute \or + \acircumflex \or + \atilde \or + \adiaeresis \or + \aring \or + \aeligature \or + \ccedilla \or + \egrave \or + \eacute \or + \ecircumflex \or + \ediaeresis \or + \igrave \or + \iacute \or + \icircumflex \or + \idiaeresis \or + \unknownchar \or % \eth \or + \ntilde \or + \ograve \or + \oacute \or + \ocircumflex \or + \ohungarumlaut \or + \odiaeresis \or + \unknownchar \or + \ostroke \or + \ugrave \or + \uacute \or + \ucircumflex \or + \udiaeresis \or + \yacute \or + \thorn \or + \ydiaeresis \else \unknownchar \fi \stopunicodevector diff --git a/tex/context/base/verb-ini.tex b/tex/context/base/verb-ini.tex index 029964154..617a9314e 100644 --- a/tex/context/base/verb-ini.tex +++ b/tex/context/base/verb-ini.tex @@ -8,11 +8,11 @@ %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 Today I would implement the pretty handler slightly -%D different, using stack and intermediate flushing. Maybe +%D Today I would implement the pretty handler slightly +%D different, using stack and intermediate flushing. Maybe %D even without active chars. So, someday \unknown %D Because this module is quite independant of system macros, @@ -25,8 +25,8 @@ %D lines of verbatim blocks are kept together. The second %D adaption is due to the fact that I wanted to support pretty %D printing not only for \TEX\ sources, but also for \PERL, -%D \METAPOST\ and probably more. The \JAVASCRIPT\ module is -%D closely related to \PERL, so we will not mention that one +%D \METAPOST\ and probably more. The \JAVASCRIPT\ module is +%D closely related to \PERL, so we will not mention that one %D again. \ifx \undefined \writestatus \input supp-mis.tex \fi @@ -112,7 +112,7 @@ \def\obeyedpage {\vfill\eject} %D Because we will introduce a status variable, we can define -%D a better \type {\obeyedspace}. +%D a better \type {\obeyedspace}. \def\obeyedspace {\ifprocessingverbatim\hbox{ }\else\space\fi} @@ -143,7 +143,7 @@ \catcode`\^^L=\@@active \def^^L{\par} -%D The following indirect definitions enable us to implement +%D The following indirect definitions enable us to implement %D all kind of \type{\obeyed} handlers. \bgroup @@ -161,11 +161,11 @@ \gdef\ignorepages {\catcode`\^^L=\@@ignore} % \@@active\def^^L{\obeyedline}} \gdef\ignoreeofs {\catcode`\^^Z=\@@ignore} -%D For testing (see digit parser) we need an indirect macro +%D For testing (see digit parser) we need an indirect macro %D in order to compare the next (\type {\next}) token -%D (possibly \type {^^M}) being \type {\obeyedline}. +%D (possibly \type {^^M}) being \type {\obeyedline}. -\gdef\nextobeyedline{\obeyedline} +\gdef\nextobeyedline{\obeyedline} \egroup @@ -199,14 +199,14 @@ %D \macros %D {processingverbatim} -%D +%D %D Typesetting a file in most cases results in more than one %D page. Because we don't want problems with files that are %D read in during the construction of the page, we set \type %D {\ifprocessingverbatim}, so the output routine can adapt %D its behavior. Originally we used \type {\scratchread}, but %D because we want to support nesting, we decided to use a -%D separate input file. +%D separate input file. \newif\ifprocessingverbatim @@ -247,11 +247,11 @@ \def\setverbatimspaceskip {\setbox\scratchbox\hbox{x}% - \spaceskip\wd\scratchbox + \spaceskip\wd\scratchbox \xspaceskip\spaceskip} \def\setupinlineverbatim - {\verbatimfont + {\verbatimfont \setverbatimspaceskip \let\obeytabs\ignoretabs \let\obeylines\ignorelines @@ -336,11 +336,11 @@ %D %D \egroup %D -%D The long ones are \type{\nobreaks} and the short ones +%D The long ones are \type{\nobreaks} and the short ones %D \type{\goodbreaks}. And this is how it's done: \def\doverbatimnobreak - {\ifoptimizeverbatim\penalty500\fi} + {\ifoptimizeverbatim\penalty500\fi} \def\doverbatimgoodbreak {\ifoptimizeverbatim\penalty\linepenalty\fi} @@ -357,8 +357,8 @@ % \else % \global\chardef\verbatimstatus=1 % \fi} -% -% more efficient +% +% more efficient \global\chardef\verbatimstatus0 @@ -464,7 +464,7 @@ \escapechar=-1 \xdef\verbatimname{\string#1}% \egroup - \def\endofdisplayverbatim{\csname\verbatimname\endcsname}% + \def\endofdisplayverbatim{\csname\verbatimname\endcsname}% \bgroup \parindent\zeropoint \ifdim\lastskip<\parskip @@ -477,9 +477,9 @@ \expandafter\let\csname\verbatimname\endcsname\relax \edef\endofverbatimcommand{\csname\verbatimname\endcsname}% \edef\endofverbatimcommand{\meaning\endofverbatimcommand}% - \verbatimfont + \verbatimfont \setverbatimspaceskip - \global\linepartrue % needed for paragraph numbering + \global\linepartrue % needed for paragraph numbering \setupcopyverbatim \initializeverbatimline \copyverbatimline} @@ -523,7 +523,7 @@ %D characters with special meanings. This macro is not used %D in the verbatim macros, but is best defined in this module. -\def\doprocesscatcodes#1% using a toks does not speed this up +\def\doprocesscatcodes#1% using a toks does not speed this up {\scratchcounter\ifeightbitcharacters 255\else 127\fi\relax \loop \savecatcode @@ -550,10 +550,10 @@ \def\setcatcodes#1% {\doprocesscatcodes{\catcode\scratchcounter=#1}} -\def\uncatcodeallcharacters % slow one, with restore +\def\uncatcodeallcharacters % slow one, with restore {\setcatcodes\@@letter} -\def\uncatcodecharacters % quick one +\def\uncatcodecharacters % quick one {\setnaturalcatcodes} \newtoks\everycommoncatcodes @@ -563,25 +563,25 @@ \def\setcommoncatcodes {\catcode`\!\@@other \catcode`\?\@@other \catcode`\@\@@other \catcode`\=\@@other \catcode`\<\@@other \catcode`\>\@@other - \catcode`\*\@@other \catcode`\/\@@other + \catcode`\*\@@other \catcode`\/\@@other \catcode`\-\@@other \catcode`\+\@@other \catcode`\:\@@other \catcode`\;\@@other - \catcode`\.\@@other \catcode`\,\@@other + \catcode`\.\@@other \catcode`\,\@@other \catcode`\'\@@other \catcode`\"\@@other \catcode`\`\@@other \catcode`\(\@@other \catcode`\)\@@other \the\everycommoncatcodes} -\def\setnaturalcatcodes % see elsewhere, merge 'm +\def\setnaturalcatcodes % see elsewhere, merge 'm {\setcommoncatcodes \uncatcodespacetokens - \catcode`\#\@@other - \catcode`\$\@@other - \catcode`\%\@@other - \catcode`\&\@@other - \catcode`\\\@@other - \catcode`\^\@@other + \catcode`\#\@@other + \catcode`\$\@@other + \catcode`\%\@@other + \catcode`\&\@@other + \catcode`\\\@@other + \catcode`\^\@@other \catcode`\_\@@other - \catcode`\{\@@other + \catcode`\{\@@other \catcode`\|\@@other \catcode`\}\@@other \catcode`\~\@@other @@ -590,16 +590,16 @@ \def\setnormalcatcodes {\setcommoncatcodes \uncatcodespacetokens - \catcode`\#\@@parameter - \catcode`\$\@@mathshift + \catcode`\#\@@parameter + \catcode`\$\@@mathshift \catcode`\%\@@comment - \catcode`\&\@@alignment - \catcode`\\\@@escape - \catcode`\^\@@superscript - \catcode`\_\@@subscript - \catcode`\{\@@begingroup - \catcode`\|\@@active - \catcode`\}\@@endgroup + \catcode`\&\@@alignment + \catcode`\\\@@escape + \catcode`\^\@@superscript + \catcode`\_\@@subscript + \catcode`\{\@@begingroup + \catcode`\|\@@active + \catcode`\}\@@endgroup \catcode`\~\@@active \the\everynormalcatcodes} @@ -642,9 +642,9 @@ \saverestoreactivecatcode {\@EA\let\@EA~\csname\@@aa@@\the\scratchcounter\endcsname}} -%D Especially when we enable pretty printing, we need to -%D restore the meaning of active characters too. Just think of -%D using \type{||} in headers and footers. +%D Especially when we enable pretty printing, we need to +%D restore the meaning of active characters too. Just think of +%D using \type{||} in headers and footers. \def\saverestoreactivecatcode#1% {\edef\saveduccode{\the\uccode`~}% @@ -678,18 +678,18 @@ \let\endrestorecatcodes \egroup \fi} -%D \macros +%D \macros %D {makeallother} %D -%D With \type {\makeallother} each character ($>0$) gets the -%D category code 12. +%D With \type {\makeallother} each character ($>0$) gets the +%D category code 12. %D -%D The next alternative was okay when memory was still low. +%D The next alternative was okay when memory was still low. %D %D \starttypen %D \def\makeallother% %D {\dorecurse{255}{\catcode\recurselevel=\@@other}} -%D \stoptypen +%D \stoptypen %D %D Today we prebuild a token list: @@ -702,7 +702,7 @@ \def\makeallother{\the\makeallothertoks} -\fi +\fi %D The main copying routine of display verbatim does an %D ordinary string||compare on the saved closing command and @@ -761,7 +761,7 @@ \let\endverbatimline \relax \long\def\dodoverbatimline#1% we don't want to group - {\bgroup % due to pretty status + {\bgroup % due to pretty status \iflinepar\else\EveryPar{}\fi \leavevmode \xdef\dokeepverbatimlinedata @@ -783,10 +783,10 @@ %D \macros %D {flushrestofverbatimline} %D -%D Some pretty drivers will collect tokens for the sake of -%D testing on keywords. This collected string needs to be +%D Some pretty drivers will collect tokens for the sake of +%D testing on keywords. This collected string needs to be %D flushed. The \type {\relax} can serve as signal that there -%D is nothing more to be interpreted. +%D is nothing more to be interpreted. \let\flushrestofverbatimline\empty @@ -874,20 +874,20 @@ \advance\scratchcounter \plusone \@EA\doprocesstabskip \else\ifnum\scratchcounter>\spacespertab - % nothing + % nothing \else \advance\scratchcounter \plusone \@EAEAEA\doprocesstabskip \fi\fi} -\let\endoftabskipping=\relax % will become obsolete +\let\endoftabskipping=\relax % will become obsolete % \def\doprocesstabskipline#1% % {\bgroup % \scratchcounter1 % \dodoprocesstabskipline#1\relax\endoftabskipping % \egroup} -% +% % \def\dodoprocesstabskipline#1#2\endoftabskipping % {\ifnum\scratchcounter>\spacespertab % \scratchcounter\plusone @@ -906,7 +906,7 @@ \def\doprocesstabskipline#1% {\bgroup \scratchcounter\plusone - \dodoprocesstabskipline#1\relax + \dodoprocesstabskipline#1\relax \egroup} \def\dodoprocesstabskipline#1% @@ -915,28 +915,28 @@ \fi \scratchcounter \plusone \ifx#1\relax \else \ifcase\tabskipmode - % can't happen - \or - % go on + % can't happen + \or + % go on \else\ifnum`#1<128 - % ok, no special character + % ok, no special character \else\ifnum\catcode`#1=\active - % quits parsing, else utf lookahead problems + % quits parsing, else utf lookahead problems \chardef\tabskipmode\zerocount \fi\fi\fi - \ifcase\tabskipmode + \ifcase\tabskipmode \@EAEAEA#1% \else \@EAEAEA#1\@EAEAEA\dodoprocesstabskipline \fi \fi} - -% ^ will be replaced + +% ^ will be replaced \chardef\tabskipmode=1 % 0=quit 1=no test 2=test on active>128 % - + \def\processverbatimline#1{#1} % remove the fake grouping %D \macros @@ -966,7 +966,7 @@ \processingverbatimtrue \global\verbatimlinenumber0 \global\linepartrue - \beginofverbatimlines + \beginofverbatimlines \bgroup \parindent\zeropoint \ifdim\lastskip<\parskip @@ -975,7 +975,7 @@ \fi \parskip\zeropoint \uncatcodecharacters - \verbatimfont + \verbatimfont \setverbatimspaceskip \frenchspacing \obeyspaces @@ -984,13 +984,13 @@ \obeypages \obeycharacters \ignoreeofs - \catcode`\^^M=\@@ignore % \par is already taken care of + \catcode`\^^M=\@@ignore % \par is already taken care of \openin\verbatiminput=#1\relax \skipfirstverbatimlinefalse \initializeverbatimline \def\readline% {\ifeof\verbatiminput \else - \ifx\firstverbatimfileline\empty + \ifx\firstverbatimfileline\empty \global\advance\verbatimlinenumber\plusone \read\verbatiminput to \verbatimline \else @@ -999,12 +999,12 @@ \fi \fi \ifeof\verbatiminput - \ifx\lastverbatimfileline\empty + \ifx\lastverbatimfileline\empty \presetlastverbatimline \let\readline\relax - \else % we will re-enter the \ifeof branch twice + \else % we will re-enter the \ifeof branch twice \presetnormalverbatimline - \def\readline% + \def\readline% {\let\verbatimline\lastverbatimfileline \let\lastverbatimfileline\empty}% \fi @@ -1024,11 +1024,11 @@ \fi \closein\verbatiminput \egroup - \endofverbatimlines + \endofverbatimlines \egroup \ignorespaces} -%D Something new: +%D Something new: \def\processfilelinesverbatim#1#2#3% {\bgroup @@ -1046,21 +1046,21 @@ \processfileverbatim{#1}% \egroup} -%D \macros +%D \macros %D {firstverbatimfileline, lastverbatimfileline} %D -%D The following two macros can be set to achieve special +%D The following two macros can be set to achieve special %D effects, like: %D %D \starttypen %D \convertargument\StartFake{something}\to\firstverbatimfileline %D \convertargument\StopFake\to\firstverbatimfileline -%D \stoptypen +%D \stoptypen %D -%D These hooks were needed for typesetting flowchart -%D definitions verbatim, since the temporary files does not -%D have the start and stop commands embedded. - +%D These hooks were needed for typesetting flowchart +%D definitions verbatim, since the temporary files does not +%D have the start and stop commands embedded. + \let\firstverbatimfileline\empty \let\lastverbatimfileline \empty @@ -1081,7 +1081,7 @@ %D character(s) without much expansion problems and/or %D increasing run time. -%D By the way, \TEX\ defines \type{\+} as an outer macro, so we +%D By the way, \TEX\ defines \type{\+} as an outer macro, so we %D have to redefine this one to keep ourselves out of complaints. \def\+{\tabalign} @@ -1239,10 +1239,10 @@ %D %D \typebuffer %D -%D along with: -%D +%D along with: +%D %D \typebuffer[pretty] -%D +%D %D When needed, one can use grouping. %D %D \startbuffer @@ -1254,7 +1254,7 @@ %D %D \typebuffer %D -%D Here we tell the visualizer that the \type +{+ should be +%D Here we tell the visualizer that the \type +{+ should be %D treated like a \type +[+ so we get: %D %D {\newprettytrue\typebuffer} @@ -1282,7 +1282,7 @@ %D {\newprettytrue\typebuffer} %D %D \egroup -%D +%D %D Don't forget to set: \newif\ifnewpretty @@ -1309,12 +1309,12 @@ \installnewpretty P \setupprettyPLtype \installnewpretty T \setupprettyTEXtype -%D \macros +%D \macros %D {ifnaturaltextext} %D -%D When one uses \ETEX, switching to normal \TEX\ is possible -%D too. We also introduce a switch that can be used in the -%D drivers and set in higher level shell macros. +%D When one uses \ETEX, switching to normal \TEX\ is possible +%D too. We also introduce a switch that can be used in the +%D drivers and set in higher level shell macros. \newif\ifnaturaltextext @@ -1339,20 +1339,20 @@ \installnewpretty N \naturaltextext -%D When seen in action this gives: -%D +%D When seen in action this gives: +%D %D \startbuffer %D \startTEX %D \def\mathematics#1% %%\ N usage: \type {\mathematics{x^2}} %D {\ifmmode#1\else$#1$\fi} %%\ N becomes: \mathematics{X^2} %D \stopTEX %D \stopbuffer -%D -%D \haalbuffer -%D -%D This is keyed in as: -%D -%D \typebuffer +%D +%D \haalbuffer +%D +%D This is keyed in as: +%D +%D \typebuffer %D This means that when the interpreter modules support this %D mechanism, by default we have some keys already available. @@ -1401,7 +1401,7 @@ %D main reason for this is that in \JAVA\ we have to deal with %D \type{//}. Personally I prefer the double \type{%%} because %D is stands out and is more symmetrical with the double -%D slash. +%D slash. \bgroup \catcode`\|=\@@escape @@ -1504,12 +1504,12 @@ \def\doifprettyidentifierelse#1% {\doifincsnameelse{\space#1\space}} -%D \macros +%D \macros %D {prettyidentifierfont,prettyvariablefont,prettynaturalfont} %D -%D When one want to typeset identifiers and system variables -%D in a different typeface, one has to set the next two -%D variables. +%D When one want to typeset identifiers and system variables +%D in a different typeface, one has to set the next two +%D variables. \let\prettyidentifierfont=\relax \let\prettyvariablefont =\relax @@ -1538,14 +1538,14 @@ %D %D Although for pretty printing \PERL\ and \JAVASCRIPT\ code %D one has to implement a bit more clever mechanism, the next -%D switches can be used to turn off pretty printing. The -%D boolean turns on this feature. +%D switches can be used to turn off pretty printing. The +%D boolean turns on this feature. \newif\ifdisablepretty \disableprettyfalse \newif\ifprettydisabled \prettydisabledfalse \def\disableprettynow - {\ifdisablepretty\ifprettydisabled\else + {\ifdisablepretty\ifprettydisabled\else \let\prettyidentifierfont\relax \let\prettyvariablefont\relax \let\prettycomment\relax @@ -1562,20 +1562,20 @@ \def\enableprettynow {\prettydisabledfalse \let\prettyidentifierfont\normalprettyidentifierfont - \let\prettyvariablefont \normalprettyvariablefont - \let\prettynaturalfont \normalprettynaturalfont + \let\prettyvariablefont \normalprettyvariablefont + \let\prettynaturalfont \normalprettynaturalfont \let\beginofpretty \normalbeginofpretty \let\endofpretty \normalendofpretty} -%D This feature is hooked into the verbatim line handling +%D This feature is hooked into the verbatim line handling %D routine with: \def\beginverbatimline {\prettydisabledfalse - \ifnewpretty\else\let\handlenewpretty\empty\fi % moved + \ifnewpretty\else\let\handlenewpretty\empty\fi % moved \let\normalprettyidentifierfont\prettyidentifierfont - \let\normalprettyvariablefont \prettyvariablefont - \let\normalprettynaturalfont \prettynaturalfont + \let\normalprettyvariablefont \prettyvariablefont + \let\normalprettynaturalfont \prettynaturalfont \let\normalbeginofpretty \beginofpretty \let\normalendofpretty \endofpretty} @@ -1614,11 +1614,11 @@ %D %D Here is the implementation: -\newif\ifcontrolspace -\newif\ifverbatimtabs -\newif\ifprettyverbatim +\newif\ifcontrolspace +\newif\ifverbatimtabs +\newif\ifprettyverbatim -\ifCONTEXT \else +\ifCONTEXT \else \def\presettyping {\ifcontrolspace \let\obeyspace \setcontrolspace \fi @@ -1901,7 +1901,7 @@ %D macros, which of course are not available in a stand alone %D application of this module. -\ifCONTEXT +\ifCONTEXT \let\doifendofverbatim=\doifelse @@ -1926,9 +1926,9 @@ % \expandafter\let\csname\verbatimname\endcsname=\relax % \expandafter\convertargument\csname\verbatimname\endcsname % \to\endofverbatimcommand -% \verbatimfont +% \verbatimfont % \setverbatimspaceskip -% \global\linepartrue % needed for paragraph numbering +% \global\linepartrue % needed for paragraph numbering % \setupcopyverbatim % \initializeverbatimline % \copyverbatimline} @@ -1949,7 +1949,7 @@ \copyverbatimline}} %D As a bonus, we provide the next alternative, which takes -%D end tags like \type {Hello World!}. +%D end tags like \type {Hello World!}. % \def\processtaggeddisplayverbatim#1% % {\par @@ -1963,9 +1963,9 @@ % \fi % \parskip\zeropoint % \processingverbatimtrue -% \verbatimfont +% \verbatimfont % \setverbatimspaceskip -% \global\linepartrue % needed for paragraph numbering +% \global\linepartrue % needed for paragraph numbering % \setupcopyverbatim % \initializeverbatimline % \copyverbatimline} @@ -1996,9 +1996,9 @@ \expandafter\convertargument\csname\verbatimname\endcsname \to\endofverbatimcommand \fi - \verbatimfont + \verbatimfont \setverbatimspaceskip - \global\linepartrue % needed for paragraph numbering + \global\linepartrue % needed for paragraph numbering \setupcopyverbatim \initializeverbatimline \copyverbatimline} @@ -2011,8 +2011,8 @@ %D \macros %D {installprettyescape} %D -%D The next feature is dedicated to Fabrice Popineau who -%D wanted math inside verbatim. +%D The next feature is dedicated to Fabrice Popineau who +%D wanted math inside verbatim. \def\prettyescapecnt{255} @@ -2034,7 +2034,7 @@ \def\dodoinstallprettyescape#1#2#3% {\unexpanded\setgvalue{PRETTY@#1@\prettyescapecnt}##1##2#2{#3{##2}}% - \expanded % we need to freeze the counter + \expanded % we need to freeze the counter {\doglobal\noexpand\appendtoks \noexpand\doif{#1}\noexpand\prettyidentifier {\noexpand\setpretty`\string#2=\prettyescapecnt @@ -2042,7 +2042,7 @@ }\to \everysetupverbatim \egroup} -%D An example of its usage is: +%D An example of its usage is: %D %D \startbuffer %D \def\xverbatimmath#1#2{\naturaltextext\mathematics{#1}\relax} @@ -2057,7 +2057,7 @@ %D if $x>10$ : %D $x := 20$ %D ~x := 20~ -%D *x := 20* +%D *x := 20* %D end %D \stopMP %D \stopbuffer diff --git a/tex/context/base/xtag-ini.tex b/tex/context/base/xtag-ini.tex index 9ea384ad7..fd545cd78 100644 --- a/tex/context/base/xtag-ini.tex +++ b/tex/context/base/xtag-ini.tex @@ -699,8 +699,19 @@ \fi \fi} +% \long\def\docleanupXMLarguments#1/ #2\relax % space added earlier +% {\edef\currentXMLarguments{#1}} +% +% \startbuffer +% +% \stopbuffer +% +% \showXMLbuffer +% +% No \type {\edef} in the following, else \showXMLbuffer fails: + \long\def\docleanupXMLarguments#1/ #2\relax % space added earlier - {\edef\currentXMLarguments{#1}} + {\def\currentXMLarguments{#1}} % no \edef, goes wrong in \showXML \def\executeXMLelementA % no fallback {\ifcsname\@@XMLelement:\currentXMLfullidentifier\endcsname @@ -1330,10 +1341,24 @@ % % The next speed optimization is suggested by Taco. Since we % are dealing with validated code, we can grab larger chunks. +% +% \long\def\doparseXMLarguments#1% space goes ok +% {\if#1>% +% \let\dodoparseXMLarguments\empty +% \else\if#1/% +% \chardef\kindofXMLelement\emptyXMLtag +% \else +% \XMLtoks{#1}% +% \let\dodoparseXMLarguments\dodoparseXMLargumentsX +% \fi\fi +% \dodoparseXMLarguments} +% +% we squeeze out one more assignment \long\def\doparseXMLarguments#1% space goes ok {\if#1>% - \let\dodoparseXMLarguments\empty + %\let\dodoparseXMLarguments\empty + \expandafter\gobbleoneargument % speedup \else\if#1/% \chardef\kindofXMLelement\emptyXMLtag \else @@ -1342,6 +1367,27 @@ \fi\fi \dodoparseXMLarguments} +% slightly faster: +% +% \long\def\doparseXMLarguments#1% space goes ok +% {\if#1>% +% \@EA\gobbleoneargument +% \else\if#1/% +% \chardef\kindofXMLelement\emptyXMLtag +% \@EAEAEA\gobbletwoarguments +% \else +% \@EAEAEA\dodoparseXMLargumentsX +% \fi\fi#1} +% +% \def\dodoparseXMLargumentsX#1=#2% +% {\def\@@XMLname{#1}% +% \getXMLNSSSS#1:\relax +% \if#2"% +% \expandafter\dodoparseXMLargumentsD +% \else +% \expandafter\dodoparseXMLargumentsS +% \fi} + \def\dodoparseXMLargumentsX#1=#2% {\edef\@@XMLname{\the\XMLtoks#1}% \@EA\getXMLNSSSS\@@XMLname:\relax @@ -1810,10 +1856,17 @@ %D Arguments (attributes) \unknown +% \long\def\setXMLarguments#1#2#3% element [tag] settings +% {\doifassignmentelse{#2} +% {\long\setvalue{\@@XMLpars:#1}{\getrawparameters[\@@XMLvariable:#1:][#2]}} +% {\long\setvalue{\@@XMLmap :#1}{#2}% later we can init vars by this name +% \doifsomething{#3}{\long\setvalue{\@@XMLpars:#1}{\getrawparameters[#2][#3]}}}} + \long\def\setXMLarguments#1#2#3% element [tag] settings {\doifassignmentelse{#2} - {\long\setvalue{\@@XMLpars:#1}{\getrawparameters[\@@XMLvariable:#1:][#2]}} - {\long\setvalue{\@@XMLmap :#1}{#2}% later we can init vars by this name + {\letbeundefined{\@@XMLmap:#1}% + \long\setvalue{\@@XMLpars:#1}{\getrawparameters[\@@XMLvariable:#1:][#2]}} + {\long\setvalue{\@@XMLmap:#1}{#2}% later we can init vars by this name \doifsomething{#3}{\long\setvalue{\@@XMLpars:#1}{\getrawparameters[#2][#3]}}}} \def\presetXMLarguments#1% diff --git a/tex/context/sample/demo-mps.tex b/tex/context/sample/demo-mps.tex new file mode 100644 index 000000000..57bb690c0 --- /dev/null +++ b/tex/context/sample/demo-mps.tex @@ -0,0 +1,23 @@ +% interface=en + +\starttext + +\setupcolors + [state=start] + +\startMPpage + path p ; color c[] ; + p := fullsquare scaled 4cm ; + c[0] := transparent(1,.5,red) ; + c[1] := transparent(1,.5,green) ; + c[2] := transparent(1,.5,blue) ; + for i = 0 upto 2 : + fill p rotated (i*30) withcolor white ; + endfor ; + for i = 0 upto 2 : + fill p rotated (i*30) withcolor c[i] ; + endfor ; + addbackground withcolor transparent(1,.5,cmyk(0,0,1,0)) ; +\stopMPpage + +\stoptext \ No newline at end of file diff --git a/tex/context/sample/demo-tex.tex b/tex/context/sample/demo-tex.tex new file mode 100644 index 000000000..309a0acfc --- /dev/null +++ b/tex/context/sample/demo-tex.tex @@ -0,0 +1,23 @@ +% interface=en + +\setuppapersize + [S6][S6] + +\setuplayout + [width=middle, + height=middle] + +\setuphead + [chapter] + [header=high, + style=\bfc, + alternative=middle] + +\starttext + +\title{Peter D. Ward} \processfile{ward} +\title{Hermann Zapf} \processfile{zapf} +\title{Bill Bryson} \processfile{bryson} +\title{Edward R. Tufte} \processfile{tufte} + +\stoptext \ No newline at end of file diff --git a/tex/context/sample/demo-xml.tex b/tex/context/sample/demo-xml.tex new file mode 100644 index 000000000..bf527a747 --- /dev/null +++ b/tex/context/sample/demo-xml.tex @@ -0,0 +1,53 @@ +% interface=en + +\defineXMLargument + [title] [label=] + {\title[\XMLop{label}]} + +\defineXMLenvironment + [itemize] [packed=] + {\doifelseXMLop{packed}{yes} + {\startitemize[packed]} + {\startitemize}} + {\stopitemize} + +\defineXMLenvironment + [item] + {\item} + {\par} + +\defineXMLenvironment + [p] + {\ignorespaces} + {\par} + +\starttext + +\startXMLdata +Just an Example + +

There are three items:

+ + + Number One + Number Two + Number Three + + +

And tree more

+ + + First Line + Second Line + Third Line + +\stopXMLdata + +Instead of putting the data in here you can put it in a file, say +\type {sample.xml} and load that file using: + +\starttyping +\processXMLfilegrouped{sample.xml} +\stoptyping + +\stoptext \ No newline at end of file diff --git a/tex/context/user/cont-sys.rme b/tex/context/user/cont-sys.rme index 5e2adef31..1f9bd0dc2 100644 --- a/tex/context/user/cont-sys.rme +++ b/tex/context/user/cont-sys.rme @@ -8,97 +8,112 @@ %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. \unprotect -% Occasionally we will support both A4 and letter in -% styles. If you want letter size paper to be the default, +% Occasionally we will support both A4 and letter in +% styles. If you want letter size paper to be the default, % uncomment: % % \enablemode[\systemmodeprefix letter] % % If you always want to default to letter, you may uncomment % the following line, but beware: it makes your documents less -% portable: +% portable: % % \setuppapersize[letter][letter] -% -% If you want some extras, just uncomment the following + +% If you want some extras, just uncomment the following % line: % -% \usemodule[plus] % experimental code -% -% Here you can take care of overloading some (style) -% defaults. What goes here, depends on your local system. +% \usemodule[plus] % experimental code % +% Here you can take care of overloading some (style) +% defaults. What goes here, depends on your local system. + % The following commands sets the default font encoding: % -% \setupencoding [\s!default=texnansi] +% \setupencoding [\s!default=texnansi] % -% or: +% or: % -% \setupencoding [\s!default=ec] +% \setupencoding [\s!default=ec] % -% If you want the default berry names: +% If you want the default berry names: % % \usetypescript [berry] [\defaultencoding] % -% If you run into missing font metrics kind of problems, -% you may want to uncomment: -% -% \usetypescript[adobekb] [\defaultencoding] +% If you run into missing font metrics kind of problems, +% you may want to uncomment: % -% You can let \CONTEXT\ load the map files for \PDFTEX. +% \usetypescript[adobekb] [\defaultencoding] + +% You can let \CONTEXT\ load the map files for \PDFTEX. % % \autoloadmapfilestrue % -% If you use the more verbose naming scheme, uncomment this: +% (1) use this when you have a big mapfile % -% \usetypescript [map] [default,\defaultencoding] +% \preloadmapfile[original-base.map] +% \preloadmapfile[ec-base.map] +% \preloadmapfile[8r-base.map] +% \preloadmapfile[qx-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] % -% or : +% (2) otherwise, use this if you have a fast machine % -% \usetypescript [map] [all] +% \resetmapfiles \usetypescript [map] [base] [all] % -% In case you have set psfonts.map already, you can comment -% the following lines. Beware: pdftex uses the fontname -% (second entry on map file lines) for (not so) clever -% remapping, so in case of troubles, remove the names (is -% safe)! +% (3) or this if it's a slow one: % -% \preloadmapfile [original-ams-cmr] -% \preloadmapfile [original-ams-euler] -% \preloadmapfile [il2-ams-cmr] -% \preloadmapfile [pl0-ams-cmr] +% \resetmapfiles % -% Some styles default to Lucida Bright. You can overload -% Lucida by Times cum suis. Watch out, the pos collection -% is not scaled relatively. +% \loadmapfile[original-base.map] +% \loadmapfile[ec-base.map] +% \loadmapfile[8r-base.map] +% \loadmapfile[qx-base.map] +% \loadmapfile[texnansi-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[texnansi-public-lm.map] +% \loadmapfile[ec-public-lm.map] + +% When you have your own fonts installed, you may want to predefine: % -% \definetypescriptsynonym [lbr] [pos] +% \usetypescriptfile[type-buy] + +% Some styles default to Lucida Bright. You can overload +% Lucida by Times cum suis. Watch out, the pos collection +% is not scaled relatively. % +% \definetypescriptsynonym [lbr] [pos] + % Compensate for missing files: % % \definefontsynonym [gbhei] [gbsong] % \definefontsynonym [gbheisl] [gbsong] % \definefontsynonym [gbheisl] [gbsong] -% -% The already loaded map file list can be reset with: -% -% \forgetmapfiles -% -% Setting up a global figure path: + +% Setting up a global figure path % % \setupexternalfigures [\c!gebied={e:/fig/eps,t:/mine/figs}] % -% Loading a specific special driver: +% Loading a specific special driver: % % \setupoutput [dviwindo] -% Changing language defaults: -% +% Changing language defaults +% % \setuplanguage % [nl] % [\c!leftquote=\upperleftsinglesixquote, @@ -106,38 +121,38 @@ % Loading local preferences, for example % -% \input prag-gen % company styles -% \input prag-log % more company styles +% \input prag-gen % company styles +% \input prag-log % more company styles % -% Enabling run time \METAPOST\ (also enable \write18 in +% Enabling run time \METAPOST\ (also enable \write18 in % texmf.cnf): -% \runMPgraphicstrue +% \runMPgraphicstrue % \runMPTEXgraphicstrue % This saves some runtime, but needs a format, which you can -% make with 'texexec --make --alone metafun'. Make sure that -% the mem files are moved to the used web2c path (locate with +% make with 'texexec --make --alone metafun'. Make sure that +% the mem files are moved to the used web2c path (locate with % 'kpsewhich plain.mem'). \useMETAFUNformattrue -% Enabling nested pretty printing: +% Enabling nested pretty printing -\newprettytrue +\newprettytrue -% This can be a way to get things working on system with +% This can be a way to get things working on system with % name clashes. (Some \TeX's tend do search system wide.) \protectbufferstrue -% You can enable a more extensive figure searching, but -% normally this is not really needed and even annoying. +% You can enable a more extensive figure searching, but +% normally this is not really needed and even annoying. % -% \runutilityfiletrue - -% You can also load additional encodings here: +% \runutilityfiletrue +% You can also load additional encodings here: +% % \useencoding[x5] % % \useregime[cyr] @@ -145,6 +160,6 @@ % \enableregime[cp1251] % \setupbodyfont[cyr] -% So far. +% So far. -\protect \endinput +\protect \endinput \ No newline at end of file -- cgit v1.2.3