From fab4c585fb2e32c04b8086db8b08a3478538230c Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Tue, 19 Oct 2004 00:00:00 +0200 Subject: stable 2004.10.19 --- tex/context/base/cont-fil.tex | 4 +- tex/context/base/cont-new.tex | 50 ++++- tex/context/base/cont-sys.ori | 38 ++-- tex/context/base/context.tex | 2 +- tex/context/base/core-int.tex | 3 +- tex/context/base/core-itm.tex | 87 ++++---- tex/context/base/core-job.tex | 3 +- tex/context/base/core-mis.tex | 28 +-- tex/context/base/core-reg.tex | 10 +- tex/context/base/core-spa.tex | 2 +- tex/context/base/core-syn.tex | 97 ++++----- tex/context/base/core-uti.tex | 5 - tex/context/base/font-chi.tex | 217 +++++++++---------- tex/context/base/page-mul.tex | 10 +- tex/context/base/page-set.tex | 2 +- tex/context/base/s-abr-01.tex | 4 + tex/context/base/s-chi-00.tex | 8 +- tex/context/base/spec-fdf.tex | 1 + tex/context/base/supp-box.tex | 1 - tex/context/base/supp-mps.tex | 2 +- tex/context/base/syst-ext.tex | 4 +- tex/context/base/syst-new.tex | 21 +- tex/context/base/x-fe.tex | 10 +- tex/context/base/x-fo.tex | 470 +++++++++++++++++++++++++++++------------- tex/context/base/xtag-ini.tex | 10 +- tex/context/foxet/fo-0101.fo | 13 +- tex/context/foxet/fo-0102.fo | 11 +- tex/context/foxet/fo-0103.fo | 19 +- tex/context/foxet/fo-0301.fo | 24 +-- tex/context/foxet/fo-0601.fo | 4 +- tex/context/foxet/fo-0602.fo | 2 +- tex/context/foxet/fo-0603.fo | 2 +- tex/context/foxet/fo-0604.fo | 2 +- tex/context/foxet/fo-0612.fo | 2 +- tex/context/foxet/fo-0621.fo | 44 ++-- tex/context/foxet/fo-0641.fo | 2 +- tex/context/foxet/fo-0642.fo | 2 +- tex/context/foxet/fo-0643.fo | 2 +- tex/context/foxet/fo-0644.fo | 2 +- tex/context/foxet/fo-0650.fo | 10 +- tex/context/foxet/fo-0651.fo | 12 +- tex/context/foxet/fo-0701.fo | 4 +- tex/context/foxet/fo-0801.fo | 11 +- tex/context/foxet/fo-0901.fo | 20 +- tex/context/foxet/fo-0902.fo | 33 +++ tex/context/foxet/fo-1101.fo | 61 +++--- tex/context/foxet/fo-1102.fo | 128 ++++++++++++ tex/context/foxet/fo-1103.fo | 85 ++++++++ tex/context/foxet/fo-1104.fo | 28 +++ tex/context/foxet/fo-1201.fo | 40 ++++ tex/context/user/cont-sys.rme | 38 ++-- 51 files changed, 1137 insertions(+), 553 deletions(-) create mode 100644 tex/context/foxet/fo-0902.fo create mode 100644 tex/context/foxet/fo-1102.fo create mode 100644 tex/context/foxet/fo-1103.fo create mode 100644 tex/context/foxet/fo-1104.fo create mode 100644 tex/context/foxet/fo-1201.fo (limited to 'tex') diff --git a/tex/context/base/cont-fil.tex b/tex/context/base/cont-fil.tex index 6c39a2c4d..680e21a22 100644 --- a/tex/context/base/cont-fil.tex +++ b/tex/context/base/cont-fil.tex @@ -90,8 +90,8 @@ \definefilesynonym [abr-smallcaps] [abr-02] \definefilesynonym [chinese] [chi-00] -\definefilesynonym [chi-simplified] [chi-01] -\definefilesynonym [chi-traditional] [chi-02] +%definefilesynonym [chi-simplified] [chi-01] +%definefilesynonym [chi-traditional] [chi-02] \definefilesynonym [greek] [grk-00] diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex index 966740bd3..66dc52c3c 100644 --- a/tex/context/base/cont-new.tex +++ b/tex/context/base/cont-new.tex @@ -31,6 +31,23 @@ \unexpanded\def\xmlrent#1{\doXMLentity#1;} +% And so, after a few years of keeping this potentially dangerous +% speedup in cont-exp, we now move it to the kernel: the next +% patch is 30\% faster on main interface (seconds) (9->7 sec on +% 1 million calls). Another speed up is still under testing. + +\startinterface english + + \def\dosetevalue #1#2{\@EA\edef\csname#1#2\endcsname} + \def\dosetgvalue #1#2{\@EA\gdef\csname#1#2\endcsname} + \def\dosetvalue #1#2{\@EA\def \csname#1#2\endcsname} + \def\docopyvalue#1#2#3{\@EA\def \csname#1#3\@EA\endcsname\@EA{\csname#2#3\endcsname}} + +\stopinterface + +\def\XMLprocess#1% + {\begingroup\enableXML\XMLflush{#1}\endgroup} + % In 2005 we will abandon support for font encodings that don't have % the ascii characters { } $ etc in their normal slot, i.e. latin modern % instead of computer modern. Then we can also clean up some of the ugly @@ -126,6 +143,30 @@ \showmessage\m!floatblocks9\empty \someherefloat} % [#1] +%D \starttyping +%D {\sanitizePDFdocencoding test \CONTEXT\ test \to\oeps\stripstring\oeps\tttf[\oeps]} +%D \stoptyping + +\def\stripstring#1% #1 is \cs + {\bgroup + \convertcommand#1\to\ascii + \global\let\globalascii\empty + \donefalse + \expandafter\handletokens\ascii\with\dostripstring + \egroup + \let#1\globalascii} + +\def\dostripstring#1% + {\ifx#1\blankspace + \donetrue + \else + \ifdone\ifx\globalascii\empty\else + \xdef\globalascii{\globalascii\space}% + \donefalse + \fi\fi + \xdef\globalascii{\globalascii#1}% + \fi} + %D Ok, I got tired of making dediccated clean up macros using the %D same mechanism again and again, so now we have: %D @@ -557,8 +598,13 @@ \global\percentdimendonefalse \def\%{\dimexpr(#1/100)\global\percentdimendonetrue\ignorespaces}| scantokens add's a space \catcode`%=\@@active + \catcode`\\=\@@escape \let%\%| - \global\globalscratchdimen\scantokens\@EA{\@@expanded}| i'm lazy and use etex +\scratchdimen#1| +\xdef\@@expanded{\@@expanded\scratchdimen\!!zeropoint}| trick: when 1.2 => .2\scratchdimen and 0pt typeset +\startnointerference + \global\globalscratchdimen\scantokens\@EA{\@@expanded}| i'm lazy and use etex +\stopnointerference \egroup #1\globalscratchdimen \fi} @@ -566,7 +612,7 @@ \bgroup -\obeylines +\obeylines % don't remove %'s ! \gdef\collapsedspace#1% {\ifx#1^^M% diff --git a/tex/context/base/cont-sys.ori b/tex/context/base/cont-sys.ori index 1f9bd0dc2..6860efefa 100644 --- a/tex/context/base/cont-sys.ori +++ b/tex/context/base/cont-sys.ori @@ -51,9 +51,9 @@ % \usetypescript[adobekb] [\defaultencoding] % You can let \CONTEXT\ load the map files for \PDFTEX. -% -% \autoloadmapfilestrue -% + +\autoloadmapfilestrue + % (1) use this when you have a big mapfile % % \preloadmapfile[original-base.map] @@ -72,21 +72,21 @@ % \resetmapfiles \usetypescript [map] [base] [all] % % (3) or this if it's a slow one: -% -% \resetmapfiles -% -% \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] + +\resetmapfiles + +\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: % @@ -162,4 +162,4 @@ % So far. -\protect \endinput \ No newline at end of file +\protect \endinput diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex index dee6cd6e3..9ce29a94a 100644 --- a/tex/context/base/context.tex +++ b/tex/context/base/context.tex @@ -31,7 +31,7 @@ %D 2004.8.30 the low level interface is english. Watch out and adapt %D your styles an modules. -\def\contextversion{2004.10.07} +\def\contextversion{2004.10.19} %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-int.tex b/tex/context/base/core-int.tex index 230f833b5..223ca6c40 100644 --- a/tex/context/base/core-int.tex +++ b/tex/context/base/core-int.tex @@ -577,8 +577,7 @@ \fi \global\chardef\previousbookmarklevel\currentbookmarklevel \global\utilitydonetrue - \insertsomebookmark - {#1}{\the\currentbookmarklevel}{\bookmarklevelcount}{#4}{#6}} + \insertsomebookmark{#1}{\the\currentbookmarklevel}{\bookmarklevelcount}{#4}{#6}} \def\dogetbookmarkelement#1#2#3#4#5#6% {\doifnot{#1}\@@bookmark diff --git a/tex/context/base/core-itm.tex b/tex/context/base/core-itm.tex index a248b1077..86171507e 100644 --- a/tex/context/base/core-itm.tex +++ b/tex/context/base/core-itm.tex @@ -154,31 +154,31 @@ {\processaction [#2#3#4] [ \v!packed*=>\packitems, - \v!intro*=>\itemintrotrue, - \v!autointro*=>\autoitemintrotrue, - \v!broad*=>\setitemparameter{#1}\c!factor{1}, - #2#3*\v!broad*=>\setitemparameter{#1}\c!factor{#2#3}, - #2*\v!broad*=>\setitemparameter{#1}\c!factor{#2}, - \v!text*=>\textitemstrue - \settrue\inlinelistitem - \dosetuppackeditemgroup{#1}% - \packitems, - \v!columns*=>\packitems, - \v!margin*=>\setitemparameter{#1}\c!width{-2em}, % signal - \v!inmargin*=>\setitemparameter{#1}\c!width{-2em}, % signal - \v!atmargin*=>\doifnot{#1}{1}{\setitemparameter{#1}\c!width{0em}}, % signal - \v!intext*=>\settrue\inlinelistitem, % new - \v!loose*=>\optimizeitemsfalse, - \v!paragraph*=>\paragraphitemstrue - \packitems, - \v!joinedup*=>\dosetuppackeditemgroup{#1}% - \packitems, + \v!intro*=>\itemintrotrue, + \v!autointro*=>\autoitemintrotrue, + \v!broad*=>\setitemparameter{#1}\c!factor{1}, + #2#3*\v!broad*=>\setitemparameter{#1}\c!factor{#2#3}, + #2*\v!broad*=>\setitemparameter{#1}\c!factor{#2}, + \v!text*=>\textitemstrue + \settrue\inlinelistitem + \dosetuppackeditemgroup{#1}% + \packitems, + \v!columns*=>\packitems, + \v!margin*=>\setitemparameter{#1}\c!width{-2em}, % signal + \v!inmargin*=>\setitemparameter{#1}\c!width{-2em}, % signal + \v!atmargin*=>\doifnot{#1}{1}{\setitemparameter{#1}\c!width{0em}}, % signal + \v!intext*=>\settrue\inlinelistitem, % new + \v!loose*=>\optimizeitemsfalse, + \v!paragraph*=>\paragraphitemstrue + \packitems, + \v!joinedup*=>\dosetuppackeditemgroup{#1}% + \packitems, \v!serried*=>\setitemparameter{#1}\c!factor{-1}, #2#3*\v!serried*=>\setitemparameter{#1}\c!factor{-#2#3}, #2*\v!serried*=>\setitemparameter{#1}\c!factor{-#2}, \v!stopper*=>\setitemparameter{#1}\c!placestopper\v!yes, - \v!unpacked*=>\packeditemsfalse, - \v!standard*=>\dosetupstandarditemgroup{#1}]} + \v!unpacked*=>\packeditemsfalse, + \v!standard*=>\dosetupstandarditemgroup{#1}]} \def\dosetupstandarditemgroup#1% {\getparameters @@ -195,8 +195,8 @@ \def\dosetuppackeditemgroup#1% {\letitemparameter{#1}\c!beforehead\empty - \letitemparameter{#1}\c!afterhead \empty - \letitemparameter{#1}\c!before \empty + \letitemparameter{#1}\c!afterhead \empty + \letitemparameter{#1}\c!before \empty \letitemparameter{#1}\c!after \empty \letitemparameter{#1}\c!inbetween \empty} @@ -412,23 +412,24 @@ \processfirstactioninset [#1] [ \v!one=>\!!counta1\relax, - \v!two=>\!!counta2\relax, - \v!three=>\!!counta3\relax, + \v!two=>\!!counta2\relax, + \v!three=>\!!counta3\relax, \v!four=>\!!counta4\relax, \v!five=>\!!counta5\relax, \s!unknown=>\@EA\!!counta\getitemparameter\itemlevel\c!n]% % new - \edef\columneditemleftskip{\the\leftskip}% - \def\postprocesscolumnbox##1% - {\scratchdimen\columneditemleftskip - \divide\scratchdimen \nofcolumns - \hbox{\hskip\columneditemleftskip\hbox{\box##1}}}% - \scratchdimen-\columneditemleftskip - \multiply\scratchdimen \nofcolumns - \advance\scratchdimen \columneditemleftskip - \advance\scratchdimen \hsize - \edef\columntextwidth{\the\scratchdimen}% - \leftskip\zeropoint +% now handled in column routines +% \edef\columneditemleftskip{\the\leftskip}% +% \def\postprocesscolumnbox##1% +% {\scratchdimen\columneditemleftskip +% \divide\scratchdimen \nofcolumns +% \hbox{\hskip\columneditemleftskip\hbox{\box##1}}}% +% \scratchdimen-\columneditemleftskip +% \multiply\scratchdimen \nofcolumns +% \advance\scratchdimen \columneditemleftskip +% \advance\scratchdimen \hsize +% \edef\columntextwidth{\the\scratchdimen}% +% \leftskip\zeropoint % so far \startcolumns [\c!n=\!!counta, % netter \??op\itemlevel\c!n @@ -493,6 +494,20 @@ \fi \fi} +% test / example +% +% \startnarrower[left] \startcolumns[n=3] \startitemize +% \item \input ward \item \input ward \item \input ward +% \stopitemize \stopcolumns\stopnarrower \blank +% +% \startnarrower[left] \startitemize[columns,three] +% \item \input ward \item \input ward \item \input ward +% \stopitemize \stopnarrower \blank +% +% \setupitemize[leftmargin=1.5em] \startitemize[columns,three] +% \item \input ward \item \input ward \item \input ward +% \stopitemize \blank + \def\stopitemgroup {\iftextitems \removeunwantedspaces\space\ignorespaces diff --git a/tex/context/base/core-job.tex b/tex/context/base/core-job.tex index 5957b5c98..b45b5d495 100644 --- a/tex/context/base/core-job.tex +++ b/tex/context/base/core-job.tex @@ -134,7 +134,8 @@ \loadallsystemfiles\f!filfilename \donothing \loadallsystemfiles\f!sysfilename - {\doglobal\appendtoks + {\loadallsystemfiles{\f!sysfilename.rme}\donothing % new, fall back + \doglobal\appendtoks \loadallsystemfiles\f!errfilename\donothing \to\everygoodbye}} diff --git a/tex/context/base/core-mis.tex b/tex/context/base/core-mis.tex index d157a7ee4..be7ba2008 100644 --- a/tex/context/base/core-mis.tex +++ b/tex/context/base/core-mis.tex @@ -78,7 +78,9 @@ %D A possibly growing list: -\appendtoks \def\executesynonym#1#2#3#4{#3}\to\simplifiedcommands +%appendtoks \def\executesynonym#1#2#3#4{#3}\to\simplifiedcommands +%appendtoks \def\executesort#1#2#3{#3}\to\simplifiedcommands + \appendtoks \def\ { }\to\simplifiedcommands \appendtoks\def\type#1{\string\\\strippedcsname#1}\to\simplifiedcommands \appendtoks \def\TeX{TeX}\to\simplifiedcommands @@ -107,10 +109,10 @@ {\advance\!!counta \plusone \processaction [\@@isalign] - [ \v!left=>\hbox to \scratchdimen{\strut##1\hss}, - \v!right=>\hbox to \scratchdimen{\hss\strut##1}, + [ \v!left=>\hbox to \scratchdimen{\strut##1\hss}, + \v!right=>\hbox to \scratchdimen{\hss\strut##1}, \v!middle=>\hbox to \scratchdimen{\hss\strut##1\hss}, - \v!margin=>\ifnum\!!counta=\plusone\hss\else\hfill\fi + \v!margin=>\ifnum\!!counta=\plusone\hss\else\hfill\fi \strut##1% \ifnum\!!counta=\nofitems\hss\else\hfill\fi, \s!default=>\hbox to \scratchdimen{\hss\strut##1\hss}, % midden @@ -1625,19 +1627,19 @@ \getfromcommacommand[\@@ldlocation][1]% \processaction [\commalistelement] - [ \v!left=>\chardef\pairedlocationa0, - \v!right=>\chardef\pairedlocationa1, - \v!top=>\chardef\pairedlocationa2, - \v!bottom=>\chardef\pairedlocationa3]% + [ \v!left=>\chardef\pairedlocationa0, + \v!right=>\chardef\pairedlocationa1, + \v!top=>\chardef\pairedlocationa2, + \v!bottom=>\chardef\pairedlocationa3]% \getfromcommacommand[\@@ldlocation][2]% \processaction [\commalistelement] - [ \v!left=>\chardef\pairedlocationb0, - \v!right=>\chardef\pairedlocationb1, + [ \v!left=>\chardef\pairedlocationb0, + \v!right=>\chardef\pairedlocationb1, \v!high=>\chardef\pairedlocationb2, - \v!top=>\chardef\pairedlocationb2, - \v!low=>\chardef\pairedlocationb3, - \v!bottom=>\chardef\pairedlocationb3, + \v!top=>\chardef\pairedlocationb2, + \v!low=>\chardef\pairedlocationb3, + \v!bottom=>\chardef\pairedlocationb3, \v!middle=>\chardef\pairedlocationb4]} \def\betweenbothpairedboxes diff --git a/tex/context/base/core-reg.tex b/tex/context/base/core-reg.tex index 4830dcb32..2836fab43 100644 --- a/tex/context/base/core-reg.tex +++ b/tex/context/base/core-reg.tex @@ -929,12 +929,10 @@ {\iffirstargument \begingroup \def\currentregister{#1}% - \expanded % the expansion is needed because we don't want \v!'s in the tuo file (french) - {\plaatsvolledig - {\noexpand\systemsuppliedchapter}% - {\currentregister}% - {\noexpand\headtext{\currentregister}}% - {\noexpand\placeregister[\currentregister][#2]}}% + % the expansion is needed because we don't want \v!'s in the tuo file (french) + \expanded{\systemsuppliedchapter[\currentregister]{\noexpand\headtext{\currentregister}}}% + \placeregister[\currentregister][#2]% + \page[\v!yes]% \endgroup \fi} diff --git a/tex/context/base/core-spa.tex b/tex/context/base/core-spa.tex index 416071374..f429e874f 100644 --- a/tex/context/base/core-spa.tex +++ b/tex/context/base/core-spa.tex @@ -2467,7 +2467,7 @@ % Nodig i.v.m. inspringen eerste alineas -\def\explicithmode{\unhbox\voidb@x} +\def\explicithmode{\unhbox\voidb@x} % can probably become \dontleavehmode % Nog doen: % diff --git a/tex/context/base/core-syn.tex b/tex/context/base/core-syn.tex index e32e55f0a..8d49b0196 100644 --- a/tex/context/base/core-syn.tex +++ b/tex/context/base/core-syn.tex @@ -28,6 +28,8 @@ \newif\ifsynonymmeaning +% \def\currentsynonymparameter#1{\csname\??sm\currentsynonym#1\endcsname} + \def\dosetupsynonyms[#1][#2]% {\getparameters[\??sm#1][#2]} @@ -53,7 +55,7 @@ {\setvalue{#1\s!entry}{\getvalue{\??sm#1\c!command}}} % 3 argumenten {\setvalue{#1\s!entry}{\dohandlesynonymentry{#1}}}} -\def\doplaatslijstmetsynoniemen#1#2% +\def\doplacelistofsynonyms#1#2% {\whitespace \begingroup \def\currentsynonym{#1}% @@ -71,19 +73,15 @@ \c!indentnext=\getvalue{\??sm#1\c!indentnext}, \c!headstyle=, \c!style=]% -% \setupwhitespace[\v!none]% \doutilities{#1}\jobname{#2}\relax\par \endgroup \ifutilitydone\else\nowhitespace\fi} -\def\dovolledigelijstmetsynoniemen#1#2% expansion needed to avoid v! (due to french active !) - {\expanded - {\plaatsvolledig - {\noexpand\systemsuppliedchapter}% - {#1}% - {\noexpand\headtext{#2}}% - {\noexpand\doplaatslijstmetsynoniemen{#1}{#2}}}} +\def\docompletelistofsynonyms#1#2% expansion needed to avoid v! (due to french active !) + {\expanded{\systemsuppliedchapter[#1]{\noexpand\headtext{#2}}}% + \doplacelistofsynonyms{#1}{#2}% + \page[\v!yes]} \def\processsynonym#1#2#3% {\begingroup % anders in mathmode lege \hbox, zie eenheden @@ -96,11 +94,6 @@ \fi \endgroup} -%\def\getsynonymmeaning#1#2#3% -% {\doifdefinedelse{#2#3} -% {{\synonymmeaningtrue\getvalue{#2#3}}} -% {{\showmessage\m!systems{18}{#1,#3}}}} - \def\getsynonymmeaning#1#2#3% {\bgroup \doifundefined{#2#3} @@ -141,7 +134,7 @@ {\dodoloadsynonym{#1}{##1}{##2}{##3}}% \global\utilitydonetrue}} -\def\dolaadsynoniemen#1#2% +\def\doloadsynonyms#1#2% {\bgroup \let\dosetsynonym\doloadsynonym \showmessage\m!systems{19}{#2}% @@ -152,6 +145,7 @@ \def\dodocomplexsynonym[#1][#2]#3#4% {\doifsomething{#2} {\getvalue{\s!check#1}{#2}% + \doglobal\appendtoks\setvalue{#2}{#2}\to\simplifiedcommands \doifelsevalue{\??sm#1\c!conversion}\v!yes {\unexpanded\setgvalue{#2}{\expandsynonym{#1}{#2}{#3}{#4}}} {\doifelsevalue{\??sm#1\c!state}\v!start @@ -182,30 +176,22 @@ \fi \dosetupsynonyms [#1]% - [\c!synonymstyle=, - \c!textstyle=, - \c!state=\v!start, - \c!criterium=, - \c!location=\v!left, - \c!width=5em, - \c!distance=0pt, - \c!sample=, - \c!hang=, - \c!align=, - \c!before=, - \c!inbetween=, - \c!after=, + [\c!synonymstyle=,\c!textstyle=, + \c!state=\v!start,\c!criterium=, + \c!location=\v!left,\c!width=5em,\c!distance=0pt, + \c!sample=,\c!hang=,\c!align=, + \c!before=,\c!inbetween=,\c!after=, \c!indentnext=\v!no, \c!expansion=]% \presetheadtext[#2=\Word{#2}]% changes the \if...argument \addutilityreset{#1}% - \setvalue{\e!setup#2\e!endsetup}{\dodoubleargument\getparameters[\??sm#1]}% to be obsolete - \setvalue{\s!set#1}{\dosetsynonym{#1}}% - \setvalue{\s!reset#1}{\doresetsynonym{#1}}% - \setvalue{\s!check#1}##1{\checkdefined{synoniemen}{#1}{##1}}% - \setvalue{\e!load#2}{\dolaadsynoniemen{#1}{#2}}% - \setvalue{\e!place\e!listof#2}{\doplaatslijstmetsynoniemen{#1}{#2}}% - \setvalue{\e!complete\e!listof#2}{\dovolledigelijstmetsynoniemen{#1}{#2}}} + \setvalue{\e!setup #2\e!endsetup}{\dodoubleargument\getparameters[\??sm#1]}% to be obsolete + \setvalue{\s!set #1}{\dosetsynonym{#1}}% + \setvalue{\s!reset #1}{\doresetsynonym{#1}}% + \setvalue{\s!check #1}##1{\checkdefined{synonym}{#1}{##1}}% + \setvalue{\e!load #2}{\doloadsynonyms{#1}{#2}}% + \setvalue{\e!place\e!listof #2}{\doplacelistofsynonyms{#1}{#2}}% + \setvalue{\e!complete\e!listof#2}{\docompletelistofsynonyms{#1}{#2}}} \def\definesynonyms {\doquadrupleempty\dodefinesynonyms} @@ -225,10 +211,10 @@ \def\setupsorting {\dodoubleargument\dosetupsorting} -\def\doresetsorteren#1% +\def\doresetsort#1% {\letvalue{#1\s!entry}\gobblethreearguments} -\def\dosetsorteren#1% +\def\dosetsort#1% {\setvalue{#1\s!entry}##1##2##3% {\def\dowritesort####1####2####3{}% \global\utilitydonetrue @@ -240,18 +226,18 @@ \getvalue{\??so#1\c!after}}% \egroup}} -\def\doplaatslijstmetsorteren#1% NOG EEN RUWE VERSIE MAKEN - {\whitespace % ZONDER WITRUIMTE ETC ETC +\def\doplacelistofsorts#1% NOG EEN RUWE VERSIE MAKEN + {\whitespace % ZONDER WITRUIMTE ETC ETC \begingroup \setupwhitespace[\v!none]% \doutilities{#1}\jobname{#1}\relax\par \endgroup \ifutilitydone\else\nowhitespace\fi} -\def\dovolledigelijstmetsorteren#1#2% - {\plaatsvolledig - {\systemsuppliedchapter}{#1}{\headtext{#2}} - {\doplaatslijstmetsorteren{#1}}} +\def\docompletelistofsorts#1#2% + {\expanded{\systemsuppliedchapter[#1]{\noexpand\headtext{#2}}}% + \doplacelistofsorts{#1}% + \page[\v!yes]} \def\processsort#1#2#3% {\explicithmode @@ -274,12 +260,6 @@ \unexpanded\setgvalue{#2}{\processsort{#1}{#3}{#2}}% \fi} -% \def\executesort#1#2#3% -% {\preexecutesort{#1}{#2}{#3}% -% \processsort{#1}{#3}{#2}} -% -% Better because it catches nested logo's: - \def\executesort#1#2#3% {\bgroup \def\executesort##1##2##3{##3}% Trick needed for nested logo's. @@ -292,9 +272,9 @@ {\setgvalue{##1}{##2}% \global\utilitydonetrue}} -\def\dolaadsorteren#1#2% +\def\doloadsort#1#2% {\bgroup - \let\dosetsorteren\doloadsort + \let\dosetsort\doloadsort \showmessage\m!systems{20}{#2}% \doutilities{#1}\jobname\empty\relax\relax \egroup @@ -303,6 +283,7 @@ \def\dodocomplexsort[#1][#2]#3% {\doifsomething{#2} {\getvalue{\s!check#1}{#2}% + \doglobal\appendtoks\setvalue{#2}{#2}\to\simplifiedcommands \doifelsevalue{\??so#1\c!state}\v!start {\doifelsevalue{\??so#1\c!criterium}\v!all {\preexecutesort{#1}{#2}{#3}} @@ -316,7 +297,7 @@ \dowritesort{#2}{#4}{#4}% \fi} -% if #3=\relax or \v!geen, then no command but still protected +% if #3=\relax or \v!none, then no command but still protected \def\dodefinesorting[#1][#2][#3]% {\getparameters[\??so#1] @@ -339,12 +320,12 @@ \addutilityreset{#1}% \presetheadtext[#2=\Word{#2}]% after \ifthirdargument -) \setvalue{\e!setup#2\e!endsetup}[##1]{\getparameters[\??so#1][##1]}% to be obsolete - \setvalue{\s!set#1}{\dosetsorteren{#1}}% - \setvalue{\s!reset#1}{\doresetsorteren{#1}}% - \setvalue{\e!load#2}{\dolaadsorteren{#1}{#2}}% - \setvalue{\s!check#1}##1{\checkdefined{sorteren}{#1}{##1}}% - \setvalue{\e!place\e!listof#2}{\doplaatslijstmetsorteren{#1}}% - \setvalue{\e!complete\e!listof#2}{\dovolledigelijstmetsorteren{#1}{#2}}} + \setvalue{\s!set#1}{\dosetsort{#1}}% + \setvalue{\s!reset#1}{\doresetsort{#1}}% + \setvalue{\e!load#2}{\doloadsort{#1}{#2}}% + \setvalue{\s!check#1}##1{\checkdefined{sort}{#1}{##1}}% + \setvalue{\e!place\e!listof#2}{\doplacelistofsorts{#1}}% + \setvalue{\e!complete\e!listof#2}{\docompletelistofsorts{#1}{#2}}} \def\definesorting {\dotripleempty\dodefinesorting} diff --git a/tex/context/base/core-uti.tex b/tex/context/base/core-uti.tex index a32b670d8..6ea2c1812 100644 --- a/tex/context/base/core-uti.tex +++ b/tex/context/base/core-uti.tex @@ -576,11 +576,6 @@ \prependtoks \resetutilities \to \everyjob -% left over - -\def\plaatsvolledig#1#2#3#4% kop, ref, tit, do - {#1[#2]{#3}#4\page[\v!yes]} - % Experiment % %\installprogram{Hello World} diff --git a/tex/context/base/font-chi.tex b/tex/context/base/font-chi.tex index 1dc4cbfa8..c568a25ef 100644 --- a/tex/context/base/font-chi.tex +++ b/tex/context/base/font-chi.tex @@ -215,45 +215,47 @@ % % chinese classes: left=1|right=2|center=3 -\def\analyzechineseunicodeglyph% - {\chardef\chineseSstatus=0\getvalue{uc\the\unicodeposition}\relax} +\chardef\plusfour=4 -\def\analyzechineseunicodeenviroment% +\def\analyzechineseunicodeglyph + {\chardef\chineseSstatus\zerocount\getvalue{uc\the\unicodeposition}\relax} + +\def\analyzechineseunicodeenviroment {% left - \ifx (\nextglyph \chardef\chineseAstatus=1 \else - \ifx [\nextglyph \chardef\chineseAstatus=1 \else + \ifx (\nextglyph \chardef\chineseAstatus\plusone \else + \ifx [\nextglyph \chardef\chineseAstatus\plusone \else % right - \ifx ,\nextglyph \chardef\chineseAstatus=2 \else - \ifx .\nextglyph \chardef\chineseAstatus=2 \else - \ifx ?\nextglyph \chardef\chineseAstatus=2 \else - \ifx ;\nextglyph \chardef\chineseAstatus=2 \else - \ifx :\nextglyph \chardef\chineseAstatus=2 \else - \ifx !\nextglyph \chardef\chineseAstatus=2 \else - \ifx )\nextglyph \chardef\chineseAstatus=2 \else - \ifx ]\nextglyph \chardef\chineseAstatus=2 \else + \ifx ,\nextglyph \chardef\chineseAstatus\plustwo \else + \ifx .\nextglyph \chardef\chineseAstatus\plustwo \else + \ifx ?\nextglyph \chardef\chineseAstatus\plustwo \else + \ifx ;\nextglyph \chardef\chineseAstatus\plustwo \else + \ifx :\nextglyph \chardef\chineseAstatus\plustwo \else + \ifx !\nextglyph \chardef\chineseAstatus\plustwo \else + \ifx )\nextglyph \chardef\chineseAstatus\plustwo \else + \ifx ]\nextglyph \chardef\chineseAstatus\plustwo \else % space - \ifx\nextglyph\blankspace \chardef\chineseAstatus=3 \else - \ifx\nextglyph\space \chardef\chineseAstatus=3 \else - \chardef\chineseAstatus=0 + \ifx\nextglyph\blankspace \chardef\chineseAstatus\plusthree \else + \ifx\nextglyph\space \chardef\chineseAstatus\plusthree \else + \chardef\chineseAstatus\zerocount % unknown \fi\fi\fi\fi\fi \fi\fi\fi\fi\fi \fi\fi % maybe save the last skip? - \chardef\chineseBstatus=\ifdim\lastskip=\!!zeropoint 4 \else0 \fi - \ifdim\lastskip=\chineseLsignal \chardef\chineseBstatus=1 \else - \ifdim\lastskip=\chineseRsignal \chardef\chineseBstatus=2 \else - \ifdim\lastskip=\chineseSsignal \chardef\chineseBstatus=3 \else + \chardef\chineseBstatus\ifdim\lastskip=\zeropoint\plusfour\else\zerocount\fi + \ifdim\lastskip=\chineseLsignal \chardef\chineseBstatus\plusone \else + \ifdim\lastskip=\chineseRsignal \chardef\chineseBstatus\plustwo \else + \ifdim\lastskip=\chineseSsignal \chardef\chineseBstatus\plusthree \else \scratchskip=\lastskip \unskip - \ifdim\lastskip=\chineseLsignal \chardef\chineseBstatus=1 \else - \ifdim\lastskip=\chineseRsignal \chardef\chineseBstatus=2 \else - \ifdim\lastskip=\chineseSsignal \chardef\chineseBstatus=3 \else + \ifdim\lastskip=\chineseLsignal \chardef\chineseBstatus\plusone \else + \ifdim\lastskip=\chineseRsignal \chardef\chineseBstatus\plustwo \else + \ifdim\lastskip=\chineseSsignal \chardef\chineseBstatus\plusthree \else \space\scratchskip=\lastskip \unskip \setbox\scratchbox=\hbox\bgroup (\space \ifdim\lastskip=\scratchskip - \egroup \chardef\chineseBstatus=1 + \egroup \chardef\chineseBstatus\plusone \else \egroup - \ifdim\scratchskip=\!!zeropoint \chardef\chineseBstatus=4 \fi + \ifdim\scratchskip=\zeropoint \chardef\chineseBstatus\plusfour \fi \fi \fi\fi\fi \fi\fi\fi} @@ -362,11 +364,11 @@ \nointerlineskip \fi \ifcase\prevchineseSstatus\relax - \ifnum\chineseSstatus=2 \par\nobreak\else\allowbreak\fi + \ifnum\chineseSstatus=\plustwo \par\nobreak\else\allowbreak\fi \or % left \par\nobreak \or % right - \ifnum\chineseSstatus=2 \par\nobreak\else\allowbreak\fi + \ifnum\chineseSstatus=\plustwo \par\nobreak\else\allowbreak\fi \fi \global\chardef\prevchineseSstatus\chineseSstatus % pagebody ... \box\scratchbox\par @@ -390,13 +392,11 @@ {\bgroup \def\maxnofcolumns{25}% \verticalchinesetrue - \global\chardef\prevchineseSstatus=0 + \global\chardef\prevchineseSstatus\zerocount \let\nochinese\nochineseinvertical \doif\@@vtn\v!fit - {\dimen0=\textwidth - \advance\dimen0 \@@vtdistance - \dimen2=\bodyfontsize - \advance\dimen2 \@@vtdistance + {\dimen0=\textwidth \advance\dimen0 \@@vtdistance + \dimen2=\bodyfontsize \advance\dimen2 \@@vtdistance \divide\dimen0 \number\dimen2 \edef\@@vtn{\number\dimen0}}% \startcolumns @@ -519,22 +519,25 @@ \newif\iftracechinese -\def\showchinesetracelegend% +\def\showchinesetracelegend {\definetabulate[\s!dummy][|c|l|l|l|]% \startdummy - \HL \NC \bf key \NC \bf meaning \NC \bf glyph \NC \bf keys \NC \NR \HL - \NC u \NC unknown character type \NC \color[green]{current} \NC u l r \NC\NR - \NC l \NC left boundary character \NC \color[red]{previous} \NC u l r c n \NC\NR - \NC r \NC right boundary character \NC \color[blue]{next} \NC u l r s \NC\NR - \NC c \NC chinese character \NC \NC \NC\NR - \NC s \NC following space \NC \NC \NC\NR - \NC n \NC no preceding space \NC \NC \NC\NR \HL + \HL + \NC \bf key \NC \bf meaning \NC \bf glyph \NC \bf keys \NC\NR + \HL + \NC u \NC unknown character type \NC \color[green]{current} \NC u l r \NC\NR + \NC l \NC left boundary character \NC \color[red]{previous} \NC u l r c n \NC\NR + \NC r \NC right boundary character \NC \color[blue]{next} \NC u l r s \NC\NR + \NC c \NC chinese character \NC \NC \NC\NR + \NC s \NC following space \NC \NC \NC\NR + \NC n \NC no preceding space \NC \NC \NC\NR + \HL \stopdummy} -\def\tracedchineseglyph% +\def\tracedchineseglyph {\leavevmode \ruledhbox - {\setbox\scratchbox=\hbox{\insertunicodeglyph}% + {\setbox\scratchbox\hbox{\insertunicodeglyph}% \hbox to \wd\scratchbox {\localcolortrue \copy\scratchbox @@ -782,7 +785,7 @@ \def\arabicchinesenumber#1% {\expandafter\doarabicchinesenumber\number#1@\relax} -\def\doarabicchinesenumber#1#2\relax% +\def\doarabicchinesenumber#1#2\relax {\if#1@\else \chinesedigit{#1}\empty \doarabicchinesenumber#2\relax @@ -889,12 +892,12 @@ \setupunicodefont [chinese] - [ \c!scale=\chineseunicodescale, - \c!height=\chineseunicodeheight, - \c!depth=\chineseunicodedepth, + [ \c!scale=\chineseunicodescale, + \c!height=\chineseunicodeheight, + \c!depth=\chineseunicodedepth, \c!conversion=\chinesenumber, - \c!commands=\setchineseencoding, % needed for digits - \c!command=\handlechineseunicodeglyph] + \c!commands=\setchineseencoding, % needed for digits + \c!command=\handlechineseunicodeglyph] %D For the moment, this encoding is implemented rather ugly. The %D trick is to move the encoding value from the current font @@ -902,7 +905,7 @@ \let\chineseencoding\empty -\def\setchineseencoding% normally SomeChineseRegular +\def\setchineseencoding % normally SomeChineseRegular {\getfontfileparameters\unicodestyle \ifx\currentfontfileencoding\undefined \else \let\chineseencoding\currentfontfileencoding @@ -949,73 +952,73 @@ %D In addition to these fonts, we (pre|)|define some commonly %D used fonts: -\definefontsynonym [SimplifiedChineseSongTiRegular] [gbsong] [encoding=gbk] -\definefontsynonym [SimplifiedChineseSongTiSlanted] [gbsongsl] [encoding=gbk] -\definefontsynonym [SimplifiedChineseSongTiBold] [gbsong] [encoding=gbk] -\definefontsynonym [SimplifiedChineseSongTiBoldSlanted][gbsongsl] [encoding=gbk] - -\definefontsynonym [TraditionalChineseSongTiRegular] [b5song] [encoding=big5] -\definefontsynonym [TraditionalChineseSongTiSlanted] [b5songsl] [encoding=big5] -\definefontsynonym [TraditionalChineseSongTiBold] [b5song] [encoding=big5] -\definefontsynonym [TraditionalChineseSongTiBoldSlanted][b5songsl] [encoding=big5] - -\definefontsynonym [SimplifiedChineseHeiTiRegular] [gbhei] [encoding=gbk] -\definefontsynonym [SimplifiedChineseHeiTiSlanted] [gbheisl] [encoding=gbk] -\definefontsynonym [SimplifiedChineseHeiTiBold] [gbhei] [encoding=gbk] -\definefontsynonym [SimplifiedChineseHeiTiBoldSlanted] [gbheisl] [encoding=gbk] - -\definefontsynonym [TraditionalChineseHeiTiRegular] [b5hei] [encoding=big5] -\definefontsynonym [TraditionalChineseHeiTiSlanted] [b5heisl] [encoding=big5] -\definefontsynonym [TraditionalChineseHeiTiBold] [b5hei] [encoding=big5] -\definefontsynonym [TraditionalChineseHeiTiBoldSlanted][b5heisl] [encoding=big5] - -\definefontsynonym [SimplifiedChineseKaiTiRegular] [gbkai] [encoding=gbk] -\definefontsynonym [SimplifiedChineseKaiTiSlanted] [gbkaisl] [encoding=gbk] -\definefontsynonym [SimplifiedChineseKaiTiBold] [gbkai] [encoding=gbk] -\definefontsynonym [SimplifiedChineseKaiTiBoldSlanted] [gbkaisl] [encoding=gbk] - -\definefontsynonym [TraditionalChineseKaiTiRegular] [b5kai] [encoding=big5] -\definefontsynonym [TraditionalChineseKaiTiSlanted] [b5kaisl] [encoding=big5] -\definefontsynonym [TraditionalChineseKaiTiBold] [b5kai] [encoding=big5] -\definefontsynonym [TraditionalChineseKaiTiBoldSlanted] [b5kaisl] [encoding=big5] - -\definefontsynonym [SimplifiedChineseFangSongRegular] [gbfs] [encoding=gbk] -\definefontsynonym [SimplifiedChineseFangSongSlanted] [gbfssl] [encoding=gbk] -\definefontsynonym [SimplifiedChineseFangSongBold] [gbfs] [encoding=gbk] -\definefontsynonym [SimplifiedChineseFangSongBoldSlanted] [gbfssl] [encoding=gbk] - -\definefontsynonym [TraditionalChineseFangSongRegular] [b5fs] [encoding=big5] -\definefontsynonym [TraditionalChineseFangSongSlanted] [b5fssl] [encoding=big5] -\definefontsynonym [TraditionalChineseFangSongBold] [b5fs] [encoding=big5] -\definefontsynonym [TraditionalChineseFangSongBoldSlanted] [b5fssl] [encoding=big5] - -\definefontsynonym [SimplifiedChineseLiShuRegular] [gbli] [encoding=gbk] -\definefontsynonym [SimplifiedChineseLiShuSlanted] [gblisl] [encoding=gbk] -\definefontsynonym [SimplifiedChineseLiShuBold] [gbli] [encoding=gbk] -\definefontsynonym [SimplifiedChineseLiShuBoldSlanted] [gblisl] [encoding=gbk] - -\definefontsynonym [TraditionalChineseLiShuRegular] [b5li] [encoding=big5] -\definefontsynonym [TraditionalChineseLiShuSlanted] [b5lisl] [encoding=big5] -\definefontsynonym [TraditionalChineseLiShuBold] [b5li] [encoding=big5] -\definefontsynonym [TraditionalChineseLiShuBoldSlanted] [b5lisl] [encoding=big5] +\definefontsynonym [SimplifiedChineseSongTiRegular] [gbsong] [encoding=gbk] +\definefontsynonym [SimplifiedChineseSongTiSlanted] [gbsongsl] [encoding=gbk] +\definefontsynonym [SimplifiedChineseSongTiBold] [gbsong] [encoding=gbk] +\definefontsynonym [SimplifiedChineseSongTiBoldSlanted] [gbsongsl] [encoding=gbk] + +\definefontsynonym [TraditionalChineseSongTiRegular] [b5song] [encoding=big5] +\definefontsynonym [TraditionalChineseSongTiSlanted] [b5songsl] [encoding=big5] +\definefontsynonym [TraditionalChineseSongTiBold] [b5song] [encoding=big5] +\definefontsynonym [TraditionalChineseSongTiBoldSlanted] [b5songsl] [encoding=big5] + +\definefontsynonym [SimplifiedChineseHeiTiRegular] [gbhei] [encoding=gbk] +\definefontsynonym [SimplifiedChineseHeiTiSlanted] [gbheisl] [encoding=gbk] +\definefontsynonym [SimplifiedChineseHeiTiBold] [gbhei] [encoding=gbk] +\definefontsynonym [SimplifiedChineseHeiTiBoldSlanted] [gbheisl] [encoding=gbk] + +\definefontsynonym [TraditionalChineseHeiTiRegular] [b5hei] [encoding=big5] +\definefontsynonym [TraditionalChineseHeiTiSlanted] [b5heisl] [encoding=big5] +\definefontsynonym [TraditionalChineseHeiTiBold] [b5hei] [encoding=big5] +\definefontsynonym [TraditionalChineseHeiTiBoldSlanted] [b5heisl] [encoding=big5] + +\definefontsynonym [SimplifiedChineseKaiTiRegular] [gbkai] [encoding=gbk] +\definefontsynonym [SimplifiedChineseKaiTiSlanted] [gbkaisl] [encoding=gbk] +\definefontsynonym [SimplifiedChineseKaiTiBold] [gbkai] [encoding=gbk] +\definefontsynonym [SimplifiedChineseKaiTiBoldSlanted] [gbkaisl] [encoding=gbk] + +\definefontsynonym [TraditionalChineseKaiTiRegular] [b5kai] [encoding=big5] +\definefontsynonym [TraditionalChineseKaiTiSlanted] [b5kaisl] [encoding=big5] +\definefontsynonym [TraditionalChineseKaiTiBold] [b5kai] [encoding=big5] +\definefontsynonym [TraditionalChineseKaiTiBoldSlanted] [b5kaisl] [encoding=big5] + +\definefontsynonym [SimplifiedChineseFangSongRegular] [gbfs] [encoding=gbk] +\definefontsynonym [SimplifiedChineseFangSongSlanted] [gbfssl] [encoding=gbk] +\definefontsynonym [SimplifiedChineseFangSongBold] [gbfs] [encoding=gbk] +\definefontsynonym [SimplifiedChineseFangSongBoldSlanted] [gbfssl] [encoding=gbk] + +\definefontsynonym [TraditionalChineseFangSongRegular] [b5fs] [encoding=big5] +\definefontsynonym [TraditionalChineseFangSongSlanted] [b5fssl] [encoding=big5] +\definefontsynonym [TraditionalChineseFangSongBold] [b5fs] [encoding=big5] +\definefontsynonym [TraditionalChineseFangSongBoldSlanted] [b5fssl] [encoding=big5] + +\definefontsynonym [SimplifiedChineseLiShuRegular] [gbli] [encoding=gbk] +\definefontsynonym [SimplifiedChineseLiShuSlanted] [gblisl] [encoding=gbk] +\definefontsynonym [SimplifiedChineseLiShuBold] [gbli] [encoding=gbk] +\definefontsynonym [SimplifiedChineseLiShuBoldSlanted] [gblisl] [encoding=gbk] + +\definefontsynonym [TraditionalChineseLiShuRegular] [b5li] [encoding=big5] +\definefontsynonym [TraditionalChineseLiShuSlanted] [b5lisl] [encoding=big5] +\definefontsynonym [TraditionalChineseLiShuBold] [b5li] [encoding=big5] +\definefontsynonym [TraditionalChineseLiShuBoldSlanted] [b5lisl] [encoding=big5] %D The following definitions provide us the commands to switch %D to these fonts. -\defineunicodefont [SimSongTi] [SimplifiedChineseSongTi] [chinese] -\defineunicodefont [TraSongTi] [TraditionalChineseSongTi] [chinese] +\defineunicodefont [SimSongTi] [SimplifiedChineseSongTi] [chinese] +\defineunicodefont [TraSongTi] [TraditionalChineseSongTi] [chinese] -\defineunicodefont [SimHeiTi] [SimplifiedChineseHeiTi] [chinese] -\defineunicodefont [TraHeiTi] [TraditionalChineseHeiTi] [chinese] +\defineunicodefont [SimHeiTi] [SimplifiedChineseHeiTi] [chinese] +\defineunicodefont [TraHeiTi] [TraditionalChineseHeiTi] [chinese] -\defineunicodefont [SimKaiTi] [SimplifiedChineseKaiTi] [chinese] -\defineunicodefont [TraKaiTi] [TraditionalChineseKaiTi] [chinese] +\defineunicodefont [SimKaiTi] [SimplifiedChineseKaiTi] [chinese] +\defineunicodefont [TraKaiTi] [TraditionalChineseKaiTi] [chinese] \defineunicodefont [SimFangSong] [SimplifiedChineseFangSong] [chinese] \defineunicodefont [TraFangSong] [TraditionalChineseFangSong] [chinese] -\defineunicodefont [SimLiShu] [SimplifiedChineseLiShu] [chinese] -\defineunicodefont [TraLiShu] [TraditionalChineseLiShu] [chinese] +\defineunicodefont [SimLiShu] [SimplifiedChineseLiShu] [chinese] +\defineunicodefont [TraLiShu] [TraditionalChineseLiShu] [chinese] % \definealternativestyle [ChineseTitleFont] [\bfd\SimKaiTi] [] @@ -1035,7 +1038,7 @@ %D Use the next macro when you want the next item to be put %D tight to the previous chinese character. -\def\stillchinese% +\def\stillchinese {\hskip\chineseSsignal\relax} %D \macros diff --git a/tex/context/base/page-mul.tex b/tex/context/base/page-mul.tex index 8e5fb5888..739e1f7b6 100644 --- a/tex/context/base/page-mul.tex +++ b/tex/context/base/page-mul.tex @@ -264,8 +264,8 @@ %D register \type{\localcolumnwidth}, which is calculated as: \def\setcolumnhsize % beware, this one is available for use in macros - {\setbox0\hbox{\parindent\zeropoint\betweencolumns}% - \intercolumnwidth\wd0 + {\setbox\scratchbox\hbox{\parindent\zeropoint\betweencolumns}% + \intercolumnwidth\wd\scratchbox \localcolumnwidth\columntextwidth \advance\localcolumnwidth -\leftskip \advance\localcolumnwidth -\rightskip @@ -276,9 +276,9 @@ \advance\localcolumnwidth -\nofcolumns\intercolumnwidth \advance\localcolumnwidth \intercolumnwidth \divide \localcolumnwidth \nofcolumns - \dimen0=\columntextoffset - \multiply\dimen0 2 - \advance\localcolumnwidth -\dimen0 + \scratchdimen\columntextoffset + \multiply\scratchdimen \plustwo + \advance\localcolumnwidth -\scratchdimen \usercolumnwidth\localcolumnwidth \hsize\localcolumnwidth} % we don't do it \global diff --git a/tex/context/base/page-set.tex b/tex/context/base/page-set.tex index 1aeb05a96..cc5fc1d35 100644 --- a/tex/context/base/page-set.tex +++ b/tex/context/base/page-set.tex @@ -2163,7 +2163,7 @@ \def\OTRSETsometopfloat {\def\floatmethod{TOPS}\OTRSETsomeslotfloat} % check \def\OTRSETsomebottomfloat{\def\floatmethod{BOTS}\OTRSETsomeslotfloat} % check -\def\OTRSETflushfloatbox% nog verder doorvoeren en meer info in marge +\def\OTRSETflushfloatbox % nog verder doorvoeren en meer info in marge {\iftestfloatbox\ruledhbox\fi{\box\floatbox}} \def\OTRSETsomeslotfloat[#1]% diff --git a/tex/context/base/s-abr-01.tex b/tex/context/base/s-abr-01.tex index 1eb1baf69..63a67fe04 100644 --- a/tex/context/base/s-abr-01.tex +++ b/tex/context/base/s-abr-01.tex @@ -39,6 +39,7 @@ \logo [CMYK] {cmyk} \logo [CODHOST] {CodHost} \logo [CONTEXT] {\ConTeXt} +\logo [CSS] {css} \logo [CTAN] {ctan} \logo [CWEB] {cweb} \logo [DANTE] {Dante} @@ -107,6 +108,7 @@ \logo [LATEX] {\LaTeX} \logo [LINUX] {linux} \logo [LISP] {Lisp} +\logo [MACOSX] {MacOSX} \logo [MAKEMPY] {MakeMPY} \logo [MAPS] {Maps} \logo [MATHML] {MathML} @@ -209,7 +211,9 @@ \logo [XFDF] {xfdf} \logo [XPDFETEX] {xpdfe\TeX} \logo [XSLT] {xslt} +\logo [XSLTPROC] {xsltproc} \logo [XSL] {xsl} +\logo [XETEX] {XeTeX} \logo [XSLFO] {xsl-fo} \logo [XYPIC] {XYPIC} % wrong logo \logo [YandY] {y\&y} diff --git a/tex/context/base/s-chi-00.tex b/tex/context/base/s-chi-00.tex index c62a02d08..bb41b5b05 100644 --- a/tex/context/base/s-chi-00.tex +++ b/tex/context/base/s-chi-00.tex @@ -34,10 +34,10 @@ \setupmarking [\v!chapter\v!number] [\c!headlabel=\v!yes,\c!headconversion=\v!yes] \setupmarking [\v!section\v!number] [\c!headlabel=\v!yes,\c!headconversion=\v!yes] -\setuplabeltext[cn][\v!subsection={\symbol[S]\kern.25em}] -\setuplabeltext[cn][\v!subsubsection={\symbol[S]\kern.25em}] -\setuplabeltext[cn][\v!subsubsubsection={\symbol[S]\kern.25em}] -\setuplabeltext[cn][\v!subsubsubsubsection={\symbol[S]\kern.25em}] +\setuplabeltext [cn] [\v!subsection={\symbol[S]\kern.25em}] +\setuplabeltext [cn] [\v!subsubsection={\symbol[S]\kern.25em}] +\setuplabeltext [cn] [\v!subsubsubsection={\symbol[S]\kern.25em}] +\setuplabeltext [cn] [\v!subsubsubsubsection={\symbol[S]\kern.25em}] % nog taalonafhankelijk maken -> \e!tabel enz diff --git a/tex/context/base/spec-fdf.tex b/tex/context/base/spec-fdf.tex index f17777671..a1e792bf1 100644 --- a/tex/context/base/spec-fdf.tex +++ b/tex/context/base/spec-fdf.tex @@ -1263,6 +1263,7 @@ {\bgroup % todo, unicode \sanitizePDFdocencoding#3\to\bookmarktext % uses scratchcounter + \stripstring\bookmarktext \scratchcounter#4% \advance\scratchcounter \minusone %\sanitizePDFstring#3\to\bookmarktext diff --git a/tex/context/base/supp-box.tex b/tex/context/base/supp-box.tex index a122684c1..af9f5d223 100644 --- a/tex/context/base/supp-box.tex +++ b/tex/context/base/supp-box.tex @@ -1631,7 +1631,6 @@ \box\scratchbox}% \fi} - %D \macros %D {startvboxtohbox,stopvboxtohbox,convertvboxtohbox} %D diff --git a/tex/context/base/supp-mps.tex b/tex/context/base/supp-mps.tex index b36433be0..f9ae07acc 100644 --- a/tex/context/base/supp-mps.tex +++ b/tex/context/base/supp-mps.tex @@ -650,7 +650,7 @@ \immediate\openout\MPwrite=\MPgraphicfile.mp \ifx\MPinputtranslation\empty\else \immediate\write\MPwrite{\MPinputtranslation}% - \immediate\write\MPwrite{verbatimtex \MPinputtranslation etex ;} + \immediate\write\MPwrite{verbatimtex \MPinputtranslation etex ;}% \fi \immediate\write\MPwrite{\letterpercent\space #2 graphics of job "\jobname"}% \writeMPgraph diff --git a/tex/context/base/syst-ext.tex b/tex/context/base/syst-ext.tex index 0cfd9681d..4d64b914d 100644 --- a/tex/context/base/syst-ext.tex +++ b/tex/context/base/syst-ext.tex @@ -1691,7 +1691,7 @@ %D \CONTEXT only defines lowcased macros. \def\showdefinederror#1#2% - {\writestatus{system}{#1 #2 replaces a macro, use CAPITALS!}} + {\writestatus\m!systems{#1 #2 replaces a macro, use CAPITALS!}} \def\checkdefined#1#2#3% {\doifdefined{#3}{\showdefinederror{#2}{#3}}} @@ -3998,7 +3998,7 @@ %D way we can handle the sentinal, a blank space and grouped %D tokens. -\def\dohandletokens +\def\dohandletokens % \nexthandledtoken is part of interface {\futurelet\nexthandledtoken\dodohandletokens} \long\def\handletokens#1\with#2% diff --git a/tex/context/base/syst-new.tex b/tex/context/base/syst-new.tex index 3027ac4af..c56dda731 100644 --- a/tex/context/base/syst-new.tex +++ b/tex/context/base/syst-new.tex @@ -516,15 +516,22 @@ % The following macros are used in XML handling. -\long\def\dowithstringed#1#2#3#4% " ' space - {\if#4"\@EA#1\else\if#4'\@EAEAEA#2\else\@EAEAEA#3\fi\fi#4} +% \long\def\dowithstringed#1#2#3#4% " ' space +% {\if#4"\@EA#1\else\if#4'\@EAEAEA#2\else\@EAEAEA#3\fi\fi#4} +% +% \def\unstringed +% {\dowithstringed\unstringdouble\unstringsingle\unstringspaced} +% +% \long\def\unstringdouble"#1"{#1} +% \long\def\unstringsingle'#1'{#1} +% \long\def\unstringspaced #1 {#1} -\def\unstringed - {\dowithstringed\unstringdouble\unstringsingle\unstringspaced} +\long\def\unstringed#1% " ' space + {\csname\ifcsname @u@s@#1\endcsname @u@s@#1\else\s!empty\fi\endcsname#1} -\long\def\unstringdouble"#1"{#1} -\long\def\unstringsingle'#1'{#1} -\long\def\unstringspaced #1 {#1} +\long\setvalue{@u@s@"}#1#2"{#2} +\long\setvalue{@u@s@'}#1#2'{#2} +\long\setvalue{@u@s@ }#1#2 {#2} \def\grabstring {\dowithstringed\grabstringdouble\grabstringsingle\grabstringspaced} diff --git a/tex/context/base/x-fe.tex b/tex/context/base/x-fe.tex index 96cba355f..5748c8ff0 100644 --- a/tex/context/base/x-fe.tex +++ b/tex/context/base/x-fe.tex @@ -108,11 +108,15 @@ \stopTEXpage \stopsetups -\mapXMLvalue {fe:tracing} {true} {\tracingFOtrue} -\mapXMLvalue {fe:tracing} {false} {\tracingFOfalse} +\useMPlibrary[pre] + +\mapXMLvalue {fe:tracing} {true} {\tracingFOtrue} +\mapXMLvalue {fe:tracing} {false} {\tracingFOfalse} +\mapXMLvalue {fe:testgrid} {true} {\setupbackgrounds[page][background=pagegrid]} \startsetups fe:setup - \XMLval{fe:tracing}{\XMLop{fe:tracing}}{} + \XMLval{fe:tracing} {\XMLop{fe:tracing}} {} + \XMLval{fe:testgrid}{\XMLop{fe:testgrid}}{} \stopsetups \protect \endinput diff --git a/tex/context/base/x-fo.tex b/tex/context/base/x-fo.tex index 075e88de0..094bb71fc 100644 --- a/tex/context/base/x-fo.tex +++ b/tex/context/base/x-fo.tex @@ -17,6 +17,25 @@ % beware: aftergroup vs egroup/endgroup +\unprotect + +% syst-new.tex + +\long\def\unstringed#1% " ' space + {\csname\ifcsname @u@s@#1\endcsname @u@s@#1\else\s!empty\fi\endcsname#1} + +\long\setvalue{@u@s@"}#1#2"{#2} +\long\setvalue{@u@s@'}#1#2'{#2} +\long\setvalue{@u@s@ }#1#2 {#2} + +% xtag-ini + +\def\letXMLpar #1#2{\@EA \let\csname\@@XMLvariable:#1:#2\endcsname} +\def\setXMLpar #1#2{\@EA \def\csname\@@XMLvariable:#1:#2\endcsname} +\def\setXMLepar#1#2{\@EA\edef\csname\@@XMLvariable:#1:#2\endcsname} + +\protect + %D Most time went into figuring out the specifications, especially %D because there are no examples included. Samples that circulate on the %D web are often border cases and torture test and don't have much to do @@ -212,11 +231,11 @@ border-right-color=\XMLop{border-end-color}, border-right-style=\XMLop{border-end-style}, border-right-width=\XMLop{border-end-width}, - padding=0pt, - padding-before=\XMLop{padding}, - padding-after=\XMLop{padding}, - padding-start=\XMLop{padding}, - padding-end=\XMLop{padding}, + padding=,% 0pt, + padding-before=0pt,%\XMLop{padding}, + padding-after=0pt,%\XMLop{padding}, + padding-start=0pt,%\XMLop{padding}, + padding-end=0pt,%\XMLop{padding}, padding-top=\XMLop{padding-before}, padding-bottom=\XMLop{padding-after}, padding-left=\XMLop{padding-start}, @@ -234,9 +253,9 @@ \extendXMLattributeset [fo:inherited] [font=, - font-family=Times, + font-family=,% Times, font-selection-strategy=, - font-size=12pt, + font-size=,% 12pt, font-size-adjust=1, font-style=normal, font-variant=normal, @@ -258,11 +277,11 @@ \defineXMLattributeset [fo:margin-block] - [margin=0pt, - margin-top=\XMLop{margin}, - margin-bottom=\XMLop{margin}, - margin-left=\XMLop{margin}, - margin-right=\XMLop{margin}, + [margin=, % 0pt, + margin-top=0pt,% \XMLop{margin}, + margin-bottom=0pt,% \XMLop{margin}, + margin-left=0pt,% \XMLop{margin}, + margin-right=0pt,% \XMLop{margin}, space-before=0pt, space-after=0pt, space-before.precedence=, @@ -498,10 +517,15 @@ \defineXMLattributeset [fo:writing-mode] - [text-altitude=, - text-depth=, + [%text-altitude=, + %text-depth=, unicode-bidi=] +\extendXMLattributeset % for practical reasons we inherit along the whole chain + [fo:inherited] % unless we implement relax skipping + [text-altitude=, + text-depth=] + \extendXMLattributeset [fo:inherited] [direction=, @@ -795,12 +819,13 @@ leader-pattern-width=12pt, {fo:simple-page-master-do} {fo:simple-page-master}} -% reference-orientation=0, +% reference-orientation=0deg, % writing-mode= \defineXMLenvironment [fo:simple-page-master-do] - [\XMLattributeset{fo:margin-block}, + [\XMLattributeset{fo:inherited}, % added + \XMLattributeset{fo:margin-block}, page-height=29.7cm, page-width=21cm] {\directsetup{fo:simple-page-master:start}} @@ -808,12 +833,13 @@ leader-pattern-width=12pt, % not needed any more: -\mapXMLvalue {fo:reference-orientation} {90} {90} -\mapXMLvalue {fo:reference-orientation} {180} {180} -\mapXMLvalue {fo:reference-orientation} {270} {270} -\mapXMLvalue {fo:reference-orientation} {-90} {270} -\mapXMLvalue {fo:reference-orientation} {-180} {180} -\mapXMLvalue {fo:reference-orientation} {-270} {90} +\mapXMLvalue {fo:reference-orientation} {0deg} {0} +\mapXMLvalue {fo:reference-orientation} {90deg} {90} +\mapXMLvalue {fo:reference-orientation} {180deg} {180} +\mapXMLvalue {fo:reference-orientation} {270deg} {270} +\mapXMLvalue {fo:reference-orientation} {-90deg} {270} +\mapXMLvalue {fo:reference-orientation} {-180deg} {180} +\mapXMLvalue {fo:reference-orientation} {-270deg} {90} \startsetups fo:simple-page-master:start @@ -834,6 +860,8 @@ leader-pattern-width=12pt, height=\XMLop{page-height}]} \checkFOpadding {fo:region-body} + \checkFOmargin {fo:region-body} + \checkFOmargin {fo:simple-page-master-do} \writestatus{XML-FO}{defining layout '\directsetup{fo:layout:kind}'} @@ -850,7 +878,7 @@ leader-pattern-width=12pt, \XMLpar{fo:region-body}{margin-right}{0pt}), topspace=\the\dimexpr(\XMLpar{fo:simple-page-master-do}{margin-top}{0pt}+ \XMLpar{fo:region-body}{padding-top}{0pt}+ - \XMLpar{fo:region-body}{margin-top} {0pt}), + \XMLpar{fo:region-body}{margin-top}{0pt}), bottomspace=\the\dimexpr(\XMLpar{fo:simple-page-master-do}{margin-top}{0pt}+ \XMLpar{fo:region-body}{padding-bottom}{0pt}+ \XMLpar{fo:region-body}{margin-bottom}{0pt})]} @@ -884,6 +912,7 @@ leader-pattern-width=12pt, [fo:region-body] [\XMLattributeset{fo:border-padding-background}, \XMLattributeset{fo:margin-block}, + fe:z-order=above, clip=, column-count=1, column-gap=12pt, @@ -900,12 +929,15 @@ leader-pattern-width=12pt, \mapXMLvalue {fo:odd-or-even} {odd} {odd} \mapXMLvalue {fo:odd-or-even} {even} {even} -\mapXMLvalue {fo:page-position} {even} {even} -\mapXMLvalue {fo:page-position} {odd} {odd} +\mapXMLvalue {fo:page-position} {any} {rest} % todo \mapXMLvalue {fo:page-position} {first} {current} -\mapXMLvalue {fo:page-position} {blank} {blank} % todo +\mapXMLvalue {fo:page-position} {last} {last} % todo \mapXMLvalue {fo:page-position} {rest} {rest} % todo +%mapXMLvalue {fo:blank-or-not-blank} {any} {} % todo +%mapXMLvalue {fo:blank-or-not-blank} {not-blank} {} % todo +%mapXMLvalue {fo:blank-or-not-blank} {blank} {} % todo + % check this one esp default value \startsetups fo:layout:kind @@ -918,7 +950,6 @@ leader-pattern-width=12pt, {fo:page-position} {fo:conditional-page-master-reference} {page-position} -% {\XMLop{master-reference}}} {\XMLpar{fo:page-sequence-master}{master-reference}{any}}} \stopsetups @@ -1024,6 +1055,7 @@ leader-pattern-width=12pt, \checkFOposition{fo:region-\currentcommalistitem}{background} \checkFOpadding {fo:region-\currentcommalistitem} + \checkFOmargin {fo:region-\currentcommalistitem} \stopprocesscommalist @@ -1085,7 +1117,11 @@ leader-pattern-width=12pt, {\doifnot{\XMLpar{fo:#1}{background-image}{none}}{none} {\setFOimagename{\XMLpar{fo:#1}{background-image}{dummy}}% \FObgpositionH#2% - \setpercentdimen\FObgpositionH{\XMLpav{fo:background-location}{fo:#1}{background-position-horizontal}{}}% + \setpercentdimen\FObgpositionH{\XMLpav + {fo:background-location} + {fo:#1} + {background-position-horizontal} + {\XMLpar{fo:#1}{background-position-horizontal}{}}}% \ifpercentdimendone \skip0\zeropoint plus \FObgpositionH \skip2\zeropoint plus \dimexpr(#2-\FObgpositionH)% @@ -1094,7 +1130,9 @@ leader-pattern-width=12pt, \skip2\zeropoint plus 1fill\relax \fi \FObgpositionV#3% - \setpercentdimen\FObgpositionV{\XMLpav{fo:background-location}{fo:#1}{background-position-vertical}{}}% + \setpercentdimen\FObgpositionV{\XMLpav + {fo:background-location}{fo:#1}{background-position-vertical} + {\XMLpar{fo:#1}{background-position-vertical}{}}}% \ifpercentdimendone \skip4\zeropoint plus \FObgpositionV \skip6\zeropoint plus \dimexpr(#3-\FObgpositionV)% @@ -1193,11 +1231,15 @@ leader-pattern-width=12pt, \directsetup{fo:regions:check} + \checkFOmargin{fo:simple-page-master-do} + \FOscratchML \XMLpar{fo:simple-page-master-do}{margin-left} \zeropoint \FOscratchMR \XMLpar{fo:simple-page-master-do}{margin-right} \zeropoint \FOscratchMT \XMLpar{fo:simple-page-master-do}{margin-top} \zeropoint \FOscratchMB \XMLpar{fo:simple-page-master-do}{margin-bottom}\zeropoint + \doif{\XMLpar{fo:region-body}{fe:z-order}{above}}{below}{\directsetup{fo:regions:process:body}} + \FOscratchRB \XMLpar{fo:region-before} {extent} \zeropoint \FOscratchRA \XMLpar{fo:region-after} {extent} \zeropoint \FOscratchRS \XMLpar{fo:region-start} {extent} \zeropoint @@ -1211,6 +1253,14 @@ leader-pattern-width=12pt, {\directsetup{fo:regions:process:false:true}} {\directsetup{fo:regions:process:false:false}}} + \doif{\XMLpar{fo:region-body}{fe:z-order}{above}}{above}{\directsetup{fo:regions:process:body}} + +\stopsetups + +\startsetups fo:regions:process:body + + \bgroup + \FOscratchRB \XMLpar{fo:region-body}{margin-top} \zeropoint \FOscratchRA \XMLpar{fo:region-body}{margin-bottom}\zeropoint \FOscratchRS \XMLpar{fo:region-body}{margin-left} \zeropoint @@ -1224,6 +1274,8 @@ leader-pattern-width=12pt, {\paperwidth -\FOscratchML-\FOscratchMR-\FOscratchRS-\FOscratchRE} {\paperheight-\FOscratchMT-\FOscratchMB-\FOscratchRB-\FOscratchRA} + \egroup + \stopsetups \startsetups fo:regions:process:true:true @@ -1354,17 +1406,13 @@ leader-pattern-width=12pt, \XMLattributeset{fo:margin-block}, \XMLattributeset{fo:relative-position}, \XMLattributeset{fo:keeps-and-breaks}, - text-depth=, - text-altitude=, +% text-depth=, +% text-altitude=, span=, visibility=] {\beginXMLelement\directsetup{fo:block:start}} {\directsetup{fo:block:stop}\endXMLelement} -\newdimen \dFOlineheight - -\let\FOlineheight\empty - \startsetups fo:block:start \endgraf @@ -1383,24 +1431,9 @@ leader-pattern-width=12pt, \directsetup{fo:font:setup} - % \setupinterlinespace, no, interferes with columnset and lineheight - - \edef\xFOlineheight{\XMLop{line-height}} - - \ifx\xFOlineheight\FOlineheight \else - - \let\FOlineheight\xFOlineheight - \dFOlineheight 2.8ex - \setpercentdimen\dFOlineheight\FOlineheight - \ifpercentdimendone - \expanded{\setupinterlinespace[line=\dFOlineheight]}% - \else\ifx\FOlineheight\empty \else - \doifdimensionelse\FOlineheight - {\expanded{\setupinterlinespace[line=\FOlineheight]}} - {\expanded{\setupinterlinespace[\FOlineheight]}}% - \fi \fi + % \setupinterlinespace % no, interferes with columnset and lineheight - \fi + \directsetup{fo:line-height:setup} \directsetup{fo:indent:setup} @@ -1591,8 +1624,6 @@ leader-pattern-width=12pt, \mapXMLvalue {fo:font-size} {larger} {\dFOfontsize1.20\dFOfontsize} \newdimen\dFOfontsize -\newdimen\dFOdepth -\newdimen\dFOheight % evt class Times Helvetica @@ -1636,10 +1667,10 @@ leader-pattern-width=12pt, \startsetups fo:fonts:reset - \dFOfontsize=12pt + \dFOfontsize=\bodyfontsize - \def\FOfontsize {12pt} - \def\FOfontfamily {Times} + \def\FOfontsize {10pt}% {12pt} + \def\FOfontfamily {}% {Times} \def\FOfontweight {normal} \def\FOfontstyle {normal} \def\FOfontvariant {normal} @@ -1708,10 +1739,17 @@ leader-pattern-width=12pt, \donefalse - \ifx\xFOfont\empty \else + \ifx\xFOfont\empty \else \ifx\xFOfont\relax \else \let\FOfont\xFOfont \checkFOfont\FOfont - \fi + \fi \fi + + \ifx\xFOfontsize\empty \else \ifx\xFOfontsize\FOfontsize \else + \let\FOfontsize\xFOfontsize + \doifXMLvalelse{fo:font-size}\FOfontsize + {\XMLval{fo:font-size}\FOfontsize\empty} + {\setpercentdimen\dFOfontsize\FOfontsize} + \fi \fi \ifx\xFOfontsize\empty \else \let\FOfontsize\xFOfontsize @@ -1741,42 +1779,59 @@ leader-pattern-width=12pt, \ifdone \setFOfontname - \edef\xFOfontdefinition{\FOfontname\space at \the\dimexpr(\FOfontsizeadjust\dFOfontsize)} + \ifx\FOfontname\empty \else + \edef\xFOfontdefinition{\FOfontname\space at \the\dimexpr(\FOfontsizeadjust\dFOfontsize)} + \fi \else \edef\xFOfontdefinition{\purefontname{\font} at \the\dimexpr(\FOfontsizeadjust\dFOfontsize)} \fi - \ifx\FOfontdefinition\xFOfontdefinition \else + \ifx\xFOfontdefinition\empty \else \ifx\FOfontdefinition\xFOfontdefinition \else \let\FOfontdefinition\xFOfontdefinition \expanded{\definedfont[\FOfontdefinition]} - \fi + \fi \fi - \edefXMLop\xFOtextdepth {text-depth} - \edefXMLop\xFOtextaltitude{text-altitude} - \edefXMLop\xFOlineheight {line-height} +\stopsetups + +\newdimen\dFOlineheight +\newdimen\dFOdepth +\newdimen\dFOaltitude + +\let\FOlineheight \empty +\let\FOtextdepth \empty +\let\FOtextaltitude\empty + +\startsetups fo:line-height:setup + + \edefXMLinh\xFOtextdepth {text-depth} + \edefXMLinh\xFOtextaltitude{text-altitude} + \edefXMLinh\xFOlineheight {line-height} \ifx\xFOtextdepth\empty \else \ifx\xFOtextdepth\FOtextdepth \else - \let\FOtextdepth\xFOtextdepth - \doifnot\FOtextdepth{use-font-metrics} - {\setstrut \dFOdepth=\strutdepth - \setpercentdimen\dFOdepth\FOtextdepth - \setupinterlinespace[mindepth=\dFOdepth]} + \let\FOtextdepth\xFOtextdepth + \doifnot\FOtextdepth{use-font-metrics} + {\setstrut \dFOdepth\strutdepth + \setpercentdimen\dFOdepth\FOtextdepth + \setupinterlinespace[mindepth=\dFOdepth]} \fi \fi \ifx\xFOtextaltitude\empty \else \ifx\xFOtextaltitude\FOtextaltitude \else \let\FOtextaltitude\xFOtextaltitude \doifnot\FOtextaltitude{use-font-metrics} - {\setstrut \dFOheight=\strutheight - \setpercentdimen\dFOheight\FOtextaltitude - \setupinterlinespace[minheight=\dFOheight]} + {\setstrut \dFOaltitude\strutheight \advance\dFOaltitude\strutdepth + \setpercentdimen\dFOaltitude\FOtextaltitude + \setupinterlinespace[minheight=\dFOaltitude]} \fi \fi \ifx\xFOlineheight\empty \else \ifx\xFOlineheight\FOlineheight \else \let\FOlineheight\xFOlineheight - \doifnot\FOlineheight{use-font-metrics} - {\setstrut \dFOheight=\strutheight - \setpercentdimen\dFOheight\FOlineheight - \setupinterlinespace[line=\dFOheight]} + \doifelse\FOlineheight{normal} + {\dFOlineheight2.8ex + \setupinterlinespace[line=\dFOlineheight]} + {\doifnot\FOlineheight{use-font-metrics} + {\setstrut \dFOlineheight\strutheight \advance\dFOlineheight\strutdepth + \setpercentdimen\dFOlineheight\FOlineheight + \setupinterlinespace[line=\dFOlineheight]}} \fi \fi \stopsetups @@ -1875,11 +1930,15 @@ leader-pattern-width=12pt, \FOcontainerWW\textwidth \FOcontainerHH\textheight \def\FOlayername{\XMLpar{fo:flow}{flow-name}{xsl-region-body}} + + \iftracingFO \tracelayerstrue \fi + \directsetup{fo:preset:layer} - \setlayer + \setlayerframed [\XMLpar{fo:flow}{flow-name}{xsl-region-body}] - [width=\FOcontainerW, + [frame=off, + width=\FOcontainerW, height=\FOcontainerH] \bgroup @@ -1938,8 +1997,8 @@ leader-pattern-width=12pt, alignment-adjust=, baseline-shift=, dominant-baseline=, - text-depth=, - text-altitude=, +% text-depth=, +% text-altitude=, keep-with-next=, keep-with-previous=, score-spaces=, @@ -1985,10 +2044,11 @@ leader-pattern-width=12pt, \startsetups fo:character:orient - \doifsomethingXMLop{glyph-orientation-horizontal} - {\rotate[rotation=-\XMLop{glyph-orientation-horizontal}]} +% \rotate[rotation=-\XMLop{glyph-orientation-horizontal}] - {\XMLop{character}} + \doifsomethingXMLop{glyph-orientation-horizontal} + {\rotate[rotation=\XMLval{fo:reference-orientation}{\XMLop{glyph-orientation-horizontal}}{0}]} + {\XMLop{character}} \stopsetups @@ -2019,7 +2079,7 @@ leader-pattern-width=12pt, % \XMLattributeset{fo:aural}, % display-align=, -% line-height=, +% height=, % text-align=, \defineXMLenvironmentsave @@ -2077,21 +2137,22 @@ leader-pattern-width=12pt, % leeg maken vars gaat ook goed, dan een \externalfigure \setbox\scratchbox\hbox - {\ifdim\FOgraphicheight>\zeropoint + {\setFOimagename{\XMLpar{fo:external-graphic}{src}{dummy}} + \ifdim\FOgraphicheight>\zeropoint \ifdim\FOgraphicwidth>\zeropoint - \externalfigure[\XMLop{src}][height=\FOgraphicheight,width=\FOgraphicwidth] + \externalfigure[\FOimagename][height=\FOgraphicheight,width=\FOgraphicwidth] \else - \externalfigure[\XMLop{src}][height=\FOgraphicheight] + \externalfigure[\FOimagename][height=\FOgraphicheight] \fi \else \ifdim\FOgraphicwidth>\zeropoint - \externalfigure[\XMLop{src}][width=\FOgraphicwidth] + \externalfigure[\FOimagename][width=\FOgraphicwidth] \else - \externalfigure[\XMLop{src}] + \externalfigure[\FOimagename] \fi \fi} - \XMLval{external-graphic:align}{\XMLop{vertical-align}}{}{\box\scratchbox} + \dontleavehmode \XMLval{external-graphic:align}{\XMLop{vertical-align}}{}{\box\scratchbox} \stopsetups @@ -2398,8 +2459,8 @@ leader-pattern-width=12pt, alignment-baseline=, baseline-shift=, dominant-baseline=, - text-depth=, - text-altitude=, +% text-depth=, +% text-altitude=, keep-with-next=, keep-with-previous=, letter-spacing=, @@ -2456,9 +2517,9 @@ leader-pattern-width=12pt, keep-with-next=, keep-with-previous=, score-spaces=, - text-altitude=, +% text-altitude=, text-decoration=, - text-depth=, +% text-depth=, text-shadow=, visibility=] {\directsetup{fo:page-number:process}} @@ -2514,9 +2575,9 @@ leader-pattern-width=12pt, keep-with-next=, keep-with-previous=, score-spaces=, - text-altitude=, +% text-altitude=, text-decoration=, - text-depth=, +% text-depth=, text-shadow=, visibility=] {\directsetup{fo:page-number-citation:process}} @@ -2651,8 +2712,8 @@ leader-pattern-width=12pt, border-end-precedence=, border-start-precedence=, visibility=] - {\beginXMLelement\bTABLEfoot} - {\eTABLEfoot\endXMLelement} + {\beginXMLelement\bTABLEhead} + {\eTABLEhead\endXMLelement} % \XMLattributeset{fo:aural}, @@ -2668,8 +2729,8 @@ leader-pattern-width=12pt, border-end-precedence=, border-start-precedence=, visibility=] - {\beginXMLelement\bTABLEhead} - {\eTABLEhead\endXMLelement} + {\beginXMLelement\bTABLEfoot} + {\eTABLEfoot\endXMLelement} % \XMLattributeset{fo:aural}, @@ -2710,14 +2771,16 @@ leader-pattern-width=12pt, keep-with-next=, keep-with-previous=, visibility=] - {\beginXMLelement\bTR} - {\eTR\endXMLelement} + {\beginXMLelement\bTR\inTABLErowtrue} + {\eTR\inTABLErowfalse\endXMLelement} % \XMLattributeset{fo:aural}, % display-align=, % relative-align=, % empty-cells=, +\newif\ifinTABLErow + \defineXMLnested [fo:table-cell] [\XMLattributeset{fo:inherited}, @@ -2737,7 +2800,9 @@ leader-pattern-width=12pt, number-rows-spanned=1, starts-row=, width=] - {\doif{\XMLop{starts-row}}{true}{\bTR}% + {\doif{\XMLop{starts-row}}{true} + {\ifinTABLErow\eTR\inTABLErowfalse\fi}% + \ifinTABLErow\else\bTR\inTABLErowtrue\fi \doifelsenothing{\XMLop{background-color}} {\let\FoTableBG\empty} {\checkhexcolor[\XMLop{background-color}]% @@ -2753,7 +2818,8 @@ leader-pattern-width=12pt, \ignorespaces} {\removeunwantedspaces \eTD - \doif{\XMLop{ends-row}}{true}{\eTR}} + \doif{\XMLop{ends-row}}{true} + {\eTR\inTABLErowfalse}} %D Element: fo:list-block fo:list-item fo:list-body fo:list-item-label @@ -2775,8 +2841,8 @@ leader-pattern-width=12pt, break-after=, break-before=, keep-with-next=, - keep-with-previous=, - space-between-list-rows=] % ? mentioned in bradley +% space-between-list-rows=, % ? mentioned in bradley + keep-with-previous=] {\beginXMLelement\directsetup{fo:list:start}} {\directsetup{fo:list:stop}\endXMLelement} @@ -2786,14 +2852,15 @@ leader-pattern-width=12pt, \directsetup{fe:setup} \disablemode[fo:in-list] % \forgetall, no! - \directsetup{fo:space:before} +% \directsetup{fo:break-and-space:before} + \directsetup{fo:indent:setup} \begingroup \stopsetups \startsetups fo:list:stop \endgraf \endgroup - \directsetup{fo:space:after} +% \directsetup{fo:break-and-space:after} \endgroup \stopsetups @@ -2802,6 +2869,12 @@ leader-pattern-width=12pt, % intrusion-displace=, % keep-together=, +% The list model is plain stupid. Instead of just defining a few mechanism +% or using some kind of type attribute, a strange mechanism of functions is +% used. Why on the one hand introduce redundant attributes and on the other +% hand safe a few elements. A proper segmentation of the problem would have +% brought better solutions. + \defineXMLenvironment [fo:list-item] [\XMLattributeset{fo:inherited}, @@ -2820,69 +2893,141 @@ leader-pattern-width=12pt, % check what is needed -\newdimen\FOlistitemlabelhsize \newdimen\FOlistitembodyhsize +\newdimen\FOlistitemlabelhsize \newdimen\FOlistitembodyhsize \newdimen\FOlistitemdistance \newdimen\FOlistitemlabelleftskip \newdimen\FOlistitembodyleftskip \newdimen\FOlistitemlabelrightskip \newdimen\FOlistitembodyrightskip -% keep-together=, - \defineXMLnestedsave [fo:list-item-body] [\XMLattributeset{fo:inherited}, - id=, + id=, % keep-together=, \XMLattributeset{fo:accessibility}] -% keep-together=, - \defineXMLnestedsave [fo:list-item-label] [\XMLattributeset{fo:inherited}, - id=, - \XMLattributeset{fo:accessibility}] + id=, % keep-together=, + \XMLattributeset{fo:accessibility}] \startsetups fo:list-item:start \bgroup - \startmode[fo:in-list] - - \doifsomething{\XMLpar{fo:list-block}{space-between-list-rows}{}} - {\vskip\XMLpar{fo:list-block}{space-between-list-rows}{}} % todo ! ! ! ! - - \stopmode +% \startmode[fo:in-list] +% \doifsomething{\XMLpar{fo:list-block}{space-between-list-rows}{}} +% {\vskip\XMLpar{fo:list-block}{space-between-list-rows}{}} % todo ! ! ! ! +% \stopmode \enablemode[fo:in-list] \stopsetups +% todo : relative-align in list item + +\newif\ifFOlabelend +\newif\ifFObodystart + \startsetups fo:list-item:stop - % 24 pt en 6pt in fo:root instellen + % 24pt en 6pt in fo:root instellen \edefXMLinh \FOprodis {provisional-distance-between-starts} \edefXMLinh \FOprolab {provisional-label-separation} - \FOlistitemlabelhsize \ifx\FOprodis\empty 24pt\else \FOprodis\fi - \FOlistitemlabelrightskip\ifx\FOprolab\empty 6pt\else \FOprolab\fi + \edef\FOprodis{\ifx\FOprodis\empty24pt\else\FOprodis\fi} + \edef\FOprolab{\ifx\FOprolab\empty 6pt\else\FOprolab\fi} + + \setlocalhsize + + \FOlistitemlabelleftskip \zeropoint + \FOlistitemlabelrightskip\zeropoint + \FOlistitembodyleftskip \zeropoint + \FOlistitembodyrightskip \zeropoint - \edefXMLinh \FOstartindent {start-indent} - \edefXMLinh \FOendindent {end-indent} + \doifelse{\XMLpar{fo:list-item-label}{end-indent} {}}{label-end()} \FOlabelendtrue \FOlabelendfalse + \doifelse{\XMLpar{fo:list-item-body} {start-indent}{}}{body-start()}\FObodystarttrue\FObodystartfalse -% \FOlistitemlabelleftskip \ifx\FOstartindent\empty 0pt\else \FOstartindent\fi -% \FOlistitembodyrightskip \ifx\FOendindent \empty 0pt\else \FOendindent \fi + \setpercentdimen\FOlistitemlabelleftskip {\XMLpar{fo:list-item-label}{start-indent}{0pt}} + \setpercentdimen\FOlistitembodyrightskip {\XMLpar{fo:list-item-body} {end-indent} {0pt}} + + % maybe i need to implement something configurable + + \ifFObodystart + \ifFOlabelend + \FOlistitemlabelrightskip\dimexpr(\localhsize-\FOlistitemlabelleftskip-\FOprodis+\FOprolab) + \FOlistitembodyleftskip\dimexpr(\FOlistitemlabelleftskip+\FOprodis) + \FOlistitemlabelhsize\dimexpr(\FOprodis-\FOprolab) + \else + \setpercentdimen\FOlistitemlabelrightskip{\XMLpar{fo:list-item-label}{end-indent}{0pt}} + \FOlistitemlabelhsize\dimexpr(\localhsize-\FOlistitemlabelleftskip-\FOlistitemlabelrightskip) + \FOlistitembodyleftskip\dimexpr(\FOlistitemlabelleftskip+\FOlistitemlabelhsize+\FOprolab) + \fi + \FOlistitemdistance \dimexpr(\FOprolab) + \else + \setpercentdimen\FOlistitembodyleftskip{\XMLpar{fo:list-item-body}{start-indent}{0pt}} + \ifFOlabelend + \FOlistitemlabelrightskip\dimexpr(\localhsize-\FOlistitembodyleftskip+\FOprolab) + \FOlistitemlabelhsize\dimexpr(\localhsize-\FOlistitemlabelleftskip-\FOlistitemlabelrightskip) + \FOlistitemdistance \dimexpr(\FOprolab) + \else + \setpercentdimen\FOlistitemlabelrightskip{\XMLpar{fo:list-item-label}{end-indent}{0pt}} + \FOlistitemlabelhsize\dimexpr(\localhsize-\FOlistitemlabelleftskip-\FOlistitemlabelrightskip) + \FOlistitemdistance \dimexpr(\FOlistitembodyleftskip-\FOlistitemlabelleftskip-\FOlistitemlabelhsize) + \fi + \fi + + % is this fall back permitted ? + + \ifzeropt\FOlistitemlabelleftskip \ifzeropt\FOlistitemlabelrightskip + \FOlistitembodyleftskip\FOprodis + \FOlistitemdistance\FOprolab + \FOlistitemlabelhsize\dimexpr(\FOlistitembodyleftskip-\FOlistitemdistance) + \fi \fi + + % + + \FOlistitembodyhsize\localhsize + + \advance\FOlistitembodyhsize-\FOlistitembodyleftskip + \advance\FOlistitembodyhsize-\FOlistitembodyrightskip + + \doifelse{\XMLpar{fo:list-item}{display-align}{}}{center} + {\directsetup{fo:list-item:display}} + {\directsetup{fo:list-item:text}} + + \egroup + +\stopsetups + +\startsetups fo:list-item:display + + \endgraf \advance\leftskip \FOlistitemlabelleftskip - \advance\leftskip \FOlistitemlabelhsize - \advance\leftskip \FOlistitemlabelrightskip + \advance\rightskip\FOlistitembodyrightskip + + \dontleavehmode \valign\bgroup\forgetall\vss##\vss\cr + \iftracingFO\ruledvtop\else\vbox\fi{\hsize\FOlistitemlabelhsize\XMLflush{fo:list-item-label}}\cr + \iftracingFO\ruledvtop\else\vbox\fi{\hsize\FOlistitembodyhsize \XMLflush{fo:list-item-body}}\cr + \egroup +% \dontleavehmode \placesidebyside % or maybe paired boxes (legends) +% {\ruledvtop{\forgetall\hsize\FOlistitemlabelhsize\XMLflush{fo:list-item-label}}} +% {\ruledvtop{\forgetall\hsize\FOlistitembodyhsize \XMLflush{fo:list-item-body}}} + + \endgraf + +\stopsetups + +\startsetups fo:list-item:text + + \advance\leftskip \FOlistitembodyleftskip \advance\rightskip\FOlistitembodyrightskip \setupparagraphintro[first][\directsetup{fo:list-item-label:process}] \setupparagraphintro[next] [\begstrut\resetpenalties\clubpenalties] \XMLflush{fo:list-item-body}\endstrut - \egroup - \stopsetups \newbox\FOitembox @@ -2897,7 +3042,7 @@ leader-pattern-width=12pt, \egroup \getnoflines{\dimexpr(\ht\FOitembox+\dp\FOitembox)} \setpenalties\clubpenalties\noflines\maxdimen - \strut\llap{\box\FOitembox\hskip\FOlistitemlabelrightskip} + \strut\llap{\box\FOitembox\hskip\FOlistitemdistance} \stopsetups @@ -2998,7 +3143,8 @@ leader-pattern-width=12pt, \defineXMLenvironment % todo: all inheritable [fo:wrapper] - [\XMLattributeset{fo:inherited},\XMLattributeset{fe:tracing}, + [\XMLattributeset{fo:inherited}, + \XMLattributeset{fe:tracing}, \XMLattributeset{fo:fonts}, \XMLattributeset{fo:hyphenation}] {\beginXMLelement\begingroup\directsetup{fo:wrapper}} @@ -3164,31 +3310,55 @@ leader-pattern-width=12pt, \expandafter\docheckFOposition \fi#3} -\def\checkFOpadding#1% - {\edef\FOattribute{\XMLpar{#1}{padding}\empty}% +\def\checkFOpadding{\def\FOatt{padding}\checkFOquadruple} +\def\checkFOmargin {\def\FOatt{margin}\checkFOquadruple} + +\def\checkFOquadruple#1% + {\edef\FOattribute{\XMLpar{#1}\FOatt\empty}% \ifx\FOattribute\empty\else \edef\FOtag{#1}% - \edef\FOatt{padding}% \scratchcounter\zerocount - \expanded{\docheckFOpadding\FOattribute\space\relax\space\relax}\od + \expanded{\docheckFOquadruple\FOattribute\space\relax\space\relax}\od + \ifcase\scratchcounter + \let\FOattributeT\FOattribute + \let\FOattributeR\FOattribute + \let\FOattributeB\FOattribute + \let\FOattributeL\FOattribute + \or % (tblr) + \let\FOattributeT\FOattribute + \let\FOattributeR\FOattribute + \let\FOattributeB\FOattribute + \let\FOattributeL\FOattribute + \or % (tb)(lr) + \let\FOattributeB\FOattributeT + \let\FOattributeL\FOattributeR + \or % (t)(lr)(b) + \let\FOattributeL\FOattributeR + \or % (t)(r)(b)(l) + % already ok + \fi + \letXMLpar\FOtag{\FOatt-top}\FOattributeT + \letXMLpar\FOtag{\FOatt-right}\FOattributeR + \letXMLpar\FOtag{\FOatt-bottom}\FOattributeB + \letXMLpar\FOtag{\FOatt-left}\FOattributeL \fi} -\def\docheckFOpadding#1#2 #3% +\def\docheckFOquadruple#1#2 #3% {\ifx#1\relax \expandafter\noFOchecks \else \advance\scratchcounter\plusone \ifcase\scratchcounter \or - \setXMLpar\FOtag{\FOatt-top}{#1#2}% + \edef\FOattributeT{#1#2}% \or - \setXMLpar\FOtag{\FOatt-bottom}{#1#2}% + \edef\FOattributeR{#1#2}% \or - \setXMLpar\FOtag{\FOatt-left}{#1#2}% + \edef\FOattributeB{#1#2}% \or - \setXMLpar\FOtag{\FOatt-right}{#1#2}% + \edef\FOattributeL{#1#2}% \fi - \expandafter\docheckFOpadding + \expandafter\docheckFOquadruple \fi#3} % \def\setFOimagename#1% @@ -3269,12 +3439,16 @@ leader-pattern-width=12pt, \def/##1 {}}% todo linespacing \egroup +\globallet\xFOattribute\empty + \def\checkFOfont#1% {\FOfonttoks\emptytoks \bgroup \catcode`\\=\@@escape \catcode`\{=\@@begingroup \catcode`\}=\@@endgroup +% \catcode`\:=\@@letter +% \catcode`\-=\@@letter \setcheckFOfontX \xdef\xFOattribute{#1 }% \setbox\scratchbox\hbox{\scantokens\@EA{\xFOattribute}}% @@ -3283,7 +3457,7 @@ leader-pattern-width=12pt, \egroup \the\FOfonttoks \ifx\xFOattribute\empty\else - \expanded{\docheckFOfont\xFOattribute\space\relax\space\relax}\od + \expanded{\docheckFOfont\xFOattribute\space\relax\space\relax}\od \fi \directsetup{fo:font:family:check}} @@ -3297,7 +3471,7 @@ leader-pattern-width=12pt, {\doifelsenothing{\XMLval{fo:weight}{#1#2}{}} {\doifelsenothing{\XMLval{fo:variant}{#1#2}{}} {\doifelsenothing{\XMLval{fo:style}{#1#2}{}} - {\setpercentdimen\FOfontsize{#1#2}} + {\setpercentdimen\dFOfontsize{#1#2}} {\edef\FOfontstyle{\XMLval{fo:style}{#1#2}{}}}} {\edef\FOfontvariant{\XMLval{fo:variant}{#1#2}{}}}} {\edef\FOfontweight{\XMLval{fo:weight}{#1#2}{}}}}% diff --git a/tex/context/base/xtag-ini.tex b/tex/context/base/xtag-ini.tex index ee876b1a8..4cb3940dc 100644 --- a/tex/context/base/xtag-ini.tex +++ b/tex/context/base/xtag-ini.tex @@ -40,7 +40,7 @@ \bgroup \obeylines - \gdef\startXMLdefinitions% + \gdef\startXMLdefinitions% keep % {\bgroup\obeylines\dostartXMLdefinitions} \gdef\dostartXMLdefinitions #1 @@ -2274,8 +2274,12 @@ #4% \fi} -\def\setXMLpar#1#2% - {\@EA\def\csname\@@XMLvariable:#1:#2\endcsname} +% \def\setXMLpar#1#2% +% {\@EA\def\csname\@@XMLvariable:#1:#2\endcsname} + +\def\letXMLpar #1#2{\@EA \let\csname\@@XMLvariable:#1:#2\endcsname} +\def\setXMLpar #1#2{\@EA \def\csname\@@XMLvariable:#1:#2\endcsname} +\def\setXMLepar#1#2{\@EA\edef\csname\@@XMLvariable:#1:#2\endcsname} % ancestor arguments: % diff --git a/tex/context/foxet/fo-0101.fo b/tex/context/foxet/fo-0101.fo index aae8178af..197c5834c 100644 --- a/tex/context/foxet/fo-0101.fo +++ b/tex/context/foxet/fo-0101.fo @@ -2,7 +2,16 @@ - + + + + + + + + + + + diff --git a/tex/context/foxet/fo-0102.fo b/tex/context/foxet/fo-0102.fo index 21274c626..9adcf917e 100644 --- a/tex/context/foxet/fo-0102.fo +++ b/tex/context/foxet/fo-0102.fo @@ -2,10 +2,15 @@ - + + + + + + @@ -13,4 +18,8 @@ + + + + diff --git a/tex/context/foxet/fo-0103.fo b/tex/context/foxet/fo-0103.fo index 14805a87b..95d0d4769 100644 --- a/tex/context/foxet/fo-0103.fo +++ b/tex/context/foxet/fo-0103.fo @@ -2,11 +2,20 @@ - + - - - + + + + + + + + + + + + + diff --git a/tex/context/foxet/fo-0301.fo b/tex/context/foxet/fo-0301.fo index 9b5e0cc8b..e0b8a6fc4 100644 --- a/tex/context/foxet/fo-0301.fo +++ b/tex/context/foxet/fo-0301.fo @@ -24,22 +24,22 @@ beforeafter - beforeafter - beforeafter - beforeafter - beforeafter + beforeafter + beforeafter + beforeafter + beforeafter - beforeafter - beforeafter - beforeafter - beforeafter + beforeafter + beforeafter + beforeafter + beforeafter - beforeafter - beforeafter - beforeafter - beforeafter + beforeafter + beforeafter + beforeafter + beforeafter beforeafter diff --git a/tex/context/foxet/fo-0601.fo b/tex/context/foxet/fo-0601.fo index ba3e58780..325240510 100644 --- a/tex/context/foxet/fo-0601.fo +++ b/tex/context/foxet/fo-0601.fo @@ -7,18 +7,18 @@ + - - + diff --git a/tex/context/foxet/fo-0602.fo b/tex/context/foxet/fo-0602.fo index 143dfce88..36e864767 100644 --- a/tex/context/foxet/fo-0602.fo +++ b/tex/context/foxet/fo-0602.fo @@ -8,11 +8,11 @@ + - diff --git a/tex/context/foxet/fo-0603.fo b/tex/context/foxet/fo-0603.fo index 80e178c45..268249d3e 100644 --- a/tex/context/foxet/fo-0603.fo +++ b/tex/context/foxet/fo-0603.fo @@ -7,11 +7,11 @@ + - diff --git a/tex/context/foxet/fo-0604.fo b/tex/context/foxet/fo-0604.fo index 92499d89d..891198ee0 100644 --- a/tex/context/foxet/fo-0604.fo +++ b/tex/context/foxet/fo-0604.fo @@ -7,11 +7,11 @@ + - diff --git a/tex/context/foxet/fo-0612.fo b/tex/context/foxet/fo-0612.fo index c062ec4ee..4b3de6940 100644 --- a/tex/context/foxet/fo-0612.fo +++ b/tex/context/foxet/fo-0612.fo @@ -13,7 +13,7 @@ - + diff --git a/tex/context/foxet/fo-0621.fo b/tex/context/foxet/fo-0621.fo index fa14aefc6..b46f82477 100644 --- a/tex/context/foxet/fo-0621.fo +++ b/tex/context/foxet/fo-0621.fo @@ -7,74 +7,78 @@ setting up simple page master 'any' + - setting up simple page master 'first-page' + - setting up simple page master 'left-page' + - setting up simple page master 'right-page' + - setting up simple page master 'blank-page' + - setting up simple page master 'odd' + - setting up simple page master 'even' + - setting up simple page master 'rest' + - setting up page sequence master 'demo' - - - - + + + + + + setting up page sequence master 'omed' - - - - + + + + + + - + starting page sequence 'any' - + @@ -83,7 +87,7 @@ starting page sequence 'demo' - + @@ -92,7 +96,7 @@ starting page sequence 'omed' - + diff --git a/tex/context/foxet/fo-0641.fo b/tex/context/foxet/fo-0641.fo index 1ec9772a8..9dbb90870 100644 --- a/tex/context/foxet/fo-0641.fo +++ b/tex/context/foxet/fo-0641.fo @@ -6,11 +6,11 @@ + - diff --git a/tex/context/foxet/fo-0642.fo b/tex/context/foxet/fo-0642.fo index 0c1a345b9..8f646509c 100644 --- a/tex/context/foxet/fo-0642.fo +++ b/tex/context/foxet/fo-0642.fo @@ -9,7 +9,7 @@ diff --git a/tex/context/foxet/fo-0643.fo b/tex/context/foxet/fo-0643.fo index 7accf8ab8..9595d4438 100644 --- a/tex/context/foxet/fo-0643.fo +++ b/tex/context/foxet/fo-0643.fo @@ -9,7 +9,7 @@ diff --git a/tex/context/foxet/fo-0644.fo b/tex/context/foxet/fo-0644.fo index c23647159..a408661e0 100644 --- a/tex/context/foxet/fo-0644.fo +++ b/tex/context/foxet/fo-0644.fo @@ -9,7 +9,7 @@ diff --git a/tex/context/foxet/fo-0650.fo b/tex/context/foxet/fo-0650.fo index 7ae67a1e5..54fd7c128 100644 --- a/tex/context/foxet/fo-0650.fo +++ b/tex/context/foxet/fo-0650.fo @@ -7,11 +7,11 @@ - - - - - + + + + + diff --git a/tex/context/foxet/fo-0651.fo b/tex/context/foxet/fo-0651.fo index a10163f5d..319592ba8 100644 --- a/tex/context/foxet/fo-0651.fo +++ b/tex/context/foxet/fo-0651.fo @@ -7,18 +7,18 @@ - - - - - + + + + + - + diff --git a/tex/context/foxet/fo-0701.fo b/tex/context/foxet/fo-0701.fo index 4d5391daa..fabbe0722 100644 --- a/tex/context/foxet/fo-0701.fo +++ b/tex/context/foxet/fo-0701.fo @@ -5,12 +5,12 @@ - + - + Test 1 diff --git a/tex/context/foxet/fo-0801.fo b/tex/context/foxet/fo-0801.fo index 11747d360..b18c4282f 100644 --- a/tex/context/foxet/fo-0801.fo +++ b/tex/context/foxet/fo-0801.fo @@ -43,11 +43,12 @@ - digits: - characters: - romannumerals: - complex format: - no format: + digits: + characters: + romannumerals: + complex format: + no format: + diff --git a/tex/context/foxet/fo-0901.fo b/tex/context/foxet/fo-0901.fo index e071bd919..05011269b 100644 --- a/tex/context/foxet/fo-0901.fo +++ b/tex/context/foxet/fo-0901.fo @@ -5,8 +5,8 @@ - - + + @@ -32,10 +32,20 @@ helvetica courier + + large + large + large + + + x-large + x-large + x-large + - times - helvetica - courier + xx-large + xx-large + xx-large times diff --git a/tex/context/foxet/fo-0902.fo b/tex/context/foxet/fo-0902.fo new file mode 100644 index 000000000..ebaa06651 --- /dev/null +++ b/tex/context/foxet/fo-0902.fo @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tex/context/foxet/fo-1101.fo b/tex/context/foxet/fo-1101.fo index 134e656b7..f6953d522 100644 --- a/tex/context/foxet/fo-1101.fo +++ b/tex/context/foxet/fo-1101.fo @@ -14,54 +14,49 @@ - + [a] - + - + [b] - - - - [bb] - - - - - + + + + + [bb] + + + + + + + + + + + + + [a] + + + - - test - S - S - S - F - F - F - A - A - A - R - R - R - test - Q - Q - Q - Q - diff --git a/tex/context/foxet/fo-1102.fo b/tex/context/foxet/fo-1102.fo new file mode 100644 index 000000000..f8d5a9df3 --- /dev/null +++ b/tex/context/foxet/fo-1102.fo @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + [a] + + + + + + + + [a] + + + + + + + + [a] + + + + + + + + [a] + + + + + + + + + + diff --git a/tex/context/foxet/fo-1103.fo b/tex/context/foxet/fo-1103.fo new file mode 100644 index 000000000..245f3ff0e --- /dev/null +++ b/tex/context/foxet/fo-1103.fo @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + [a] + + + + + + + + [a] + + + + + + + + [a] + + + + + + + + [a] + + + + + + + + [a] + + + + + + + + [a] + + + + + + + + [a] + + + + + + + + [a] + + + + + + + + + + diff --git a/tex/context/foxet/fo-1104.fo b/tex/context/foxet/fo-1104.fo new file mode 100644 index 000000000..6867e772f --- /dev/null +++ b/tex/context/foxet/fo-1104.fo @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + X + + + + + + + + + + diff --git a/tex/context/foxet/fo-1201.fo b/tex/context/foxet/fo-1201.fo new file mode 100644 index 000000000..364dcb214 --- /dev/null +++ b/tex/context/foxet/fo-1201.fo @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + test + S + S + S + F + F + F + A + A + A + R + R + R + test + Q + Q + Q + Q + + + + + + diff --git a/tex/context/user/cont-sys.rme b/tex/context/user/cont-sys.rme index 1f9bd0dc2..6860efefa 100644 --- a/tex/context/user/cont-sys.rme +++ b/tex/context/user/cont-sys.rme @@ -51,9 +51,9 @@ % \usetypescript[adobekb] [\defaultencoding] % You can let \CONTEXT\ load the map files for \PDFTEX. -% -% \autoloadmapfilestrue -% + +\autoloadmapfilestrue + % (1) use this when you have a big mapfile % % \preloadmapfile[original-base.map] @@ -72,21 +72,21 @@ % \resetmapfiles \usetypescript [map] [base] [all] % % (3) or this if it's a slow one: -% -% \resetmapfiles -% -% \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] + +\resetmapfiles + +\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: % @@ -162,4 +162,4 @@ % So far. -\protect \endinput \ No newline at end of file +\protect \endinput -- cgit v1.2.3