diff options
author | Hans Hagen <pragma@wxs.nl> | 2007-04-17 12:51:00 +0200 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2007-04-17 12:51:00 +0200 |
commit | 846455e735faabe2352a1c37c2733a4256dde4c0 (patch) | |
tree | 0264850bca2f593f9a9d0767c6a45ef1124c59ad | |
parent | 307dc2a385a62e9c390e045f39c1b288631c9481 (diff) | |
download | context-846455e735faabe2352a1c37c2733a4256dde4c0.tar.gz |
stable 2007.04.17 12:51
38 files changed, 445 insertions, 295 deletions
diff --git a/scripts/context/perl/mptopdf.pl b/scripts/context/perl/mptopdf.pl index b1589a9d3..a6b946baa 100644 --- a/scripts/context/perl/mptopdf.pl +++ b/scripts/context/perl/mptopdf.pl @@ -37,12 +37,11 @@ my $PassOn = '' ; "passon" => \$PassOn, "latex" => \$Latex ) ; -my $program = "MPtoPDF 1.3.2" ; +my $program = "MPtoPDF 1.3.3" ; my $pattern = "@ARGV" ; # was $ARGV[0] my $miktex = 0 ; my $done = 0 ; my $report = '' ; -my $texlatexswitch = " --tex=latex --format=latex " ; my $mplatexswitch = " --tex=latex " ; my $dosish = ($Config{'osname'} =~/^(ms)?dos|^os\/2|^mswin/i) ; @@ -94,12 +93,15 @@ if (($pattern eq '')||($Help)) { } } else { if ($Latex) { - $rest .= " $texlatexswitch" ; + $rest .= " $mplatexswitch" ; + $mpbin = "mpost --mem=mpost" ; + } else { + $mpbin = "texexec --mptex $PassOn " ; } - $mpbin = "texexec --mptex $PassOn" ; } - print "\n$program : running '$mpbin'\n" ; - my $error = system ("$mpbin $rest $pattern") ; + my $runner = "$mpbin $rest $pattern" ; + print "\n$program : running '$runner'\n" ; + my $error = system ($runner) ; if ($error) { print "\n$program : error while processing mp file\n" ; exit ; diff --git a/scripts/context/ruby/base/tex.rb b/scripts/context/ruby/base/tex.rb index bb961111c..6c77ab059 100644 --- a/scripts/context/ruby/base/tex.rb +++ b/scripts/context/ruby/base/tex.rb @@ -153,11 +153,12 @@ class TEX ['pdftex','pdfetex','aleph','omega', 'xetex','luatex'] .each do |p| @@prognames[p] = 'context' end ['mpost'] .each do |p| @@prognames[p] = 'metafun' end + ['latex','pdflatex'] .each do |p| @@prognames[p] = 'latex' end ['plain','default','standard','mptopdf'] .each do |f| @@texmethods[f] = 'plain' end ['cont-en','cont-nl','cont-de','cont-it', 'cont-fr','cont-cz','cont-ro','cont-uk'] .each do |f| @@texmethods[f] = 'context' end - ['latex'] .each do |f| @@texmethods[f] = 'latex' end + ['latex','pdflatex'] .each do |f| @@texmethods[f] = 'latex' end ['plain','default','standard'] .each do |f| @@mpsmethods[f] = 'plain' end ['metafun'] .each do |f| @@mpsmethods[f] = 'metafun' end @@ -479,8 +480,10 @@ class TEX def validprogname(str) if str then [str].flatten.each do |s| + s = s.sub(/\.\S*/,"") return @@prognames[s] if @@prognames.key?(s) end + return str[0].sub(/\.\S*/,"") else return nil end @@ -496,11 +499,7 @@ class TEX else return "" end if format then - # if engine then - # "#{prefix}=#{engine}/#{format}" - # else - "#{prefix}=#{format}" - # end + "#{prefix}=#{format.sub(/\.\S+$/,"")}" else prefix end @@ -910,9 +909,14 @@ class TEX end if ok then # we have a valid line + @@preamblekeys.each do |v| setvariable(v[1],vars[v[0]]) if vars.key?(v[0]) && vars[v[0]] end + +if getvariable('given.backend') == "standard" or getvariable('given.backend') == "" then + setvariable('backend',@@backends[getvariable('texengine')] || 'standard') +end break end else diff --git a/scripts/context/ruby/base/texutil.rb b/scripts/context/ruby/base/texutil.rb index 7c402b98f..31f0efb51 100644 --- a/scripts/context/ruby/base/texutil.rb +++ b/scripts/context/ruby/base/texutil.rb @@ -447,10 +447,12 @@ class TeXUtil end def MyExtras::finalizer(logger) - @@programs.each do |p| - cmd = @@programs[p.to_i] - logger.report("running #{cmd}") - system(cmd) +unless (ENV["CTX.TEXUTIL.EXTRAS"] =~ /^(no|off|false|0)$/io) || (ENV["CTX_TEXUTIL_EXTRAS"] =~ /^(no|off|false|0)$/io) then + @@programs.each do |p| + cmd = @@programs[p.to_i] + logger.report("running #{cmd}") + system(cmd) +end end end diff --git a/scripts/context/ruby/rlxtools.rb b/scripts/context/ruby/rlxtools.rb index ea065612f..1617fcad4 100644 --- a/scripts/context/ruby/rlxtools.rb +++ b/scripts/context/ruby/rlxtools.rb @@ -300,6 +300,7 @@ class Commands begin str = nil if FileTest.file?(filename) then + # todo: use pdfinto for pdf files, identify is bugged if centimeters then result = `identify -units PixelsPerCentimeter -format \"x=%x,y=%y,w=%w,h=%h,b=%b\" #{filename}`.chomp.split(',') else diff --git a/scripts/context/ruby/texexec.rb b/scripts/context/ruby/texexec.rb index 9b79369d8..568bbee1c 100644 --- a/scripts/context/ruby/texexec.rb +++ b/scripts/context/ruby/texexec.rb @@ -570,6 +570,8 @@ class Commands job.setvariable(k,@commandline.option(k)) unless @commandline.option(k).empty? end +job.setvariable('given.backend',job.getvariable('backend')) + if (str = @commandline.option('engine')) && ! str.standard? && ! str.empty? then job.setvariable('texengine',str) elsif @commandline.oneof('pdfetex','pdftex','pdf') then diff --git a/tex/context/base/colo-ini.tex b/tex/context/base/colo-ini.tex index 0042429f5..da0ab0a06 100644 --- a/tex/context/base/colo-ini.tex +++ b/tex/context/base/colo-ini.tex @@ -388,6 +388,7 @@ \def\dodefinespotcolor[#1][#2][#3]% todo: always global {\doifnot{#1}{#2} {\@@resetcolorparameters +\doglobal\addtocommalist{#1}\colorlist % optional \edef\@@cl@@n{#2}% \getparameters[\??cl @@][#3]% \doifnothing\@@cl@@p{\let\@@cl@@p\!!plusone}% @@ -484,6 +485,7 @@ \def\dodefinespotcolor[#1][#2][#3]% todo: always global (REDEFINED) {\doifnot{#1}{#2} {\@@resetcolorparameters +\doglobal\addtocommalist{#1}\colorlist % optional \edef\@@cl@@n{#2}% \getparameters[\??cl @@][#3]% \doifnothing \@@cl@@p{\let\@@cl@@p\!!plusone}% @@ -2311,6 +2313,15 @@ \fetchruntimecommand \showpalet {\f!colorprefix\s!run} %D \macros +%D {showcolorcomponents} +%D +%D \starttyping +%D \showcolorcomponents[color-1,color-2] +%D \stoptyping + +\fetchruntimecommand \showcolorcomponents {\f!colorprefix\s!run} + +%D \macros %D {definecolorgroup} %D %D The naming of the colors in this palet suggests some diff --git a/tex/context/base/colo-run.tex b/tex/context/base/colo-run.tex index 9b3d0e94b..82f106e2a 100644 --- a/tex/context/base/colo-run.tex +++ b/tex/context/base/colo-run.tex @@ -222,4 +222,29 @@ \endgraf} \dorecurse\!!counta{\dododocomparecolorgroup\recurselevel}}} +\gdef\dogetcolorcomponents#1% + {\startnointerference + \localcolortrue + \def\doexeccolorR ##1:##2:##3:##4:##5\od{\global\globalscratchtoks{\NC\Od#1 \NC#1\NC a=\Do##4 \enspace t=\Do##5 \NC r=\Do##1 \enspace g=\Do##2 \enspace b=\Do##3 \NC\NR}}% + \def\doexeccolorC##1:##2:##3:##4:##5:##6\od{\global\globalscratchtoks{\NC\Od#1 \NC#1\NC a=\Do##5 \enspace t=\Do##6 \NC c=\Do##1 \enspace m=\Do##2 \enspace y=\Do##3 \enspace k=\Do##4 \NC\NR}}% + \def\doexeccolorS ##1:##2:##3\od{\global\globalscratchtoks{\NC\Od#1 \NC#1\NC a=\Do##2 \enspace t=\Do##3 \NC s=\Do##1 \NC\NR}}% + %\def\doexeccolorP##1:##2:##3:##4:##5:##6\od{\global\globalscratchtoks{\NC\Od#1 \NC#1\NC a=\Do##5 \enspace t=\Do##6 \NC p=\Do##4 \enspace f=\Do##2 \enspace d=\Do##3 \enspace n=##1 \NC\NR}}% + \def\doexeccolorP##1:##2:##3:##4:##5:##6\od{\global\globalscratchtoks{\NC\Od#1 \NC#1\NC a=\Do##5 \enspace t=\Do##6 \NC p=\Do##4 \enspace n=##1 \NC\NR}}% + \let\doexeccolorPindex\doexeccolorP + \backgroundline[#1]{}% + \stopnointerference + \appendetoks\the\globalscratchtoks\to\scratchtoks} + +\gdef\showcolorcomponents[#1]% + {\bgroup + \def\Od##1 {\backgroundline[##1]{\strut\quad \color[white]{white}\quad\color[black]{black}\quad\quad}}% + \def\Do##1 {\twodigitrounding{##1}}% + \scratchtoks\emptytoks + \appendtoks\starttabulate[|l|l|l|l|]\to\scratchtoks + \appendtoks\NC color \NC name \NC transparency \NC specification \NC\NR\TB\to\scratchtoks + \processcommacommand[#1]\dogetcolorcomponents + \appendtoks\stoptabulate\to\scratchtoks + \tt\the\scratchtoks + \egroup} + \protect \endinput diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex index 7e9949446..4dfdcfcbe 100644 --- a/tex/context/base/context.tex +++ b/tex/context/base/context.tex @@ -42,7 +42,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2007.03.22 13:34} +\edef\contextversion{2007.04.17 12:51} %D For those who want to use this: @@ -203,6 +203,8 @@ \loadmkivfile{char-def.tex} \loadmkivfile{char-utf.tex} +\loadmkivfile{node-ini.tex} + %D We also use some third party macros. These are loaded by %D saying: diff --git a/tex/context/base/core-fig.tex b/tex/context/base/core-fig.tex index b6a655c4f..3464b80fe 100644 --- a/tex/context/base/core-fig.tex +++ b/tex/context/base/core-fig.tex @@ -732,7 +732,7 @@ \xdef\noffigurepages{\number\nofinsertpages}% \else \ifdim\naturalfigurewidth>\zeropoint - \ifnum\figurestatus>9 + \ifnum\figurestatus>\!!ten\relax \doshowfiguremessage3\expandedfigurename \else \doshowfiguremessage4\expandedfigurename diff --git a/tex/context/base/core-grd.tex b/tex/context/base/core-grd.tex index a1167cebc..16dc750c0 100644 --- a/tex/context/base/core-grd.tex +++ b/tex/context/base/core-grd.tex @@ -356,10 +356,13 @@ {\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 - \dosomebreak\allowbreak\verticalstrut\nobreak\vskip-\struttotal % new: \dosomebreak + % \verticalstrut\nobreak\vskip-\struttotal + % \verticalstrut\vskip-\struttotal + % \nobreak really needed + % \dosomebreak\allowbreak % no: spoils heads, so only under know situation, not in snapper + \verticalstrut + \nobreak + \vskip-\struttotal %\ifdim\pagetotal>\topskip \else % eigenlijk signal %\writestatus{grid}{removing dummy at top of page}% diff --git a/tex/context/base/core-not.tex b/tex/context/base/core-not.tex index d0049d653..c8e7c2a52 100644 --- a/tex/context/base/core-not.tex +++ b/tex/context/base/core-not.tex @@ -847,12 +847,15 @@ % % this should be checked, smells like a mix-up % % does not split: \ifcase\noteparameter\c!n\unvbox\else\box\fi\currentnoteins \ifcase\noteparameter\c!n\relax - \unvbox\currentnoteins +\iftrialtypesetting\unvcopy\else\unvbox\fi\currentnoteins +% \unvbox\currentnoteins \or - \box\currentnoteins +\iftrialtypesetting\copy\else\box\fi\currentnoteins +% \box\currentnoteins \obeydepth % (a) added , since split footnotes will not align properly \else - \unvbox\currentnoteins +\iftrialtypesetting\unvcopy\else\unvbox\fi\currentnoteins +% \unvbox\currentnoteins \fi % this is too ugly actually \stoppopnotes}% diff --git a/tex/context/base/core-pgr.tex b/tex/context/base/core-pgr.tex index 22015fb3e..3b5e8119e 100644 --- a/tex/context/base/core-pgr.tex +++ b/tex/context/base/core-pgr.tex @@ -596,7 +596,7 @@ %D \setupbackground %D [test] %D [mp=mpos:par:columnset, -%D methodmethode=mpos:par:columnset] +%D method=mpos:par:columnset] %D \stoptyping %D We need to treat floats in a special way. diff --git a/tex/context/base/core-reg.tex b/tex/context/base/core-reg.tex index af90cebd0..2b486fcd0 100644 --- a/tex/context/base/core-reg.tex +++ b/tex/context/base/core-reg.tex @@ -157,7 +157,7 @@ \def\dostartregister[#1][#2][#3][#4]#5% % 3 args: #3 is sortkey {\chardef\registerpagestatus\plustwo % 4 args: #3 is type, #4 is sortkey \def\currentregister{#1}% - \iffourarguments + \iffourthargument \setgvalue{\??id#1\??id#2}{\dodostopregister[#1][#4]{#5}}% \dodoregister[#4]{#3}{#5}% \else diff --git a/tex/context/base/core-sec.tex b/tex/context/base/core-sec.tex index ef33e7735..467b0cf50 100644 --- a/tex/context/base/core-sec.tex +++ b/tex/context/base/core-sec.tex @@ -1116,6 +1116,29 @@ % % \placefigure[left]{}{} \section{\dorecurse{10}{bagger }} \input tufte +% \def\dohandlepagebreakAB#1% will be replaced by a more clever (signaling) mechanism (in beta) +% {\doifnotvalue{\??ko#1\c!aligntitle}\v!float\flushsidefloats +% \getvalue{\??ko#1\c!before}% +% % \whitespace vervangen door \noindent elders +% \relax +% \ifpaginageblokkeerd +% \global\paginageblokkeerdfalse +% \else +% \!!countb\getvalue{\??se\@@sectie\c!level}\relax +% \ifnum\!!countb>\@@kolevel\relax +% \!!counta20000 +% \multiply\!!countb 500 +% \advance\!!counta \!!countb +% \dosomebreak{\penalty\!!counta}% +% \else +% \dosomebreak\allowbreak +% \fi +% \fi +% \doifvalue{\??ko#1\c!aligntitle}\v!float\indent +% \xdef\@@kolevel{\getvalue{\??se\@@sectie\c!level}}} + +\chardef\somebreakmethod\plusone + \def\dohandlepagebreakAB#1% will be replaced by a more clever (signaling) mechanism (in beta) {\doifnotvalue{\??ko#1\c!aligntitle}\v!float\flushsidefloats \getvalue{\??ko#1\c!before}% @@ -1124,14 +1147,24 @@ \ifpaginageblokkeerd \global\paginageblokkeerdfalse \else - \!!countb\getvalue{\??se\@@sectie\c!level}\relax - \ifnum\!!countb>\@@kolevel\relax - \!!counta20000 - \multiply\!!countb 500 - \advance\!!counta \!!countb - \dosomebreak{\penalty\!!counta}% + \ifcase\somebreakmethod + % 0 = nothing + \or + % 1 = old weighted version + \!!countb\getvalue{\??se\@@sectie\c!level}\relax + \ifnum\!!countb>\@@kolevel\relax + \!!counta20000 + \multiply\!!countb 500 + \advance\!!counta \!!countb + \dosomebreak{\penalty\!!counta}% + \else + \dosomebreak\allowbreak % brr + \fi + \or + % 2 = strict version + \dosomebreak{\penalty\maxdimen}% \else - \dosomebreak\allowbreak + % nothing \fi \fi \doifvalue{\??ko#1\c!aligntitle}\v!float\indent @@ -1938,7 +1971,7 @@ % no message needed here, should be a proper switch \noflines\zerocount \ifdisplaysectionhead - % new + % new (tod tight == one following line up) \processaction [\getvalue{\??ko#1\c!hang}] [ \v!line=>\hangheadplacement\noflines\zerocount, diff --git a/tex/context/base/core-spa.tex b/tex/context/base/core-spa.tex index d4a574738..d98480248 100644 --- a/tex/context/base/core-spa.tex +++ b/tex/context/base/core-spa.tex @@ -3010,7 +3010,7 @@ % \voorkeur … la \blanko % % Om ongewenste witruimte te voorkomen kan met \dosomebreak{\break} -% een \penalty v¢¢r witruimte worden geplaatst. +% een \penalty voor witruimte worden geplaatst. \def\removelastskip % a redefinition of plain {\ifvmode\ifdim\lastskip=\zeropoint\else\vskip-\lastskip\fi\fi} @@ -3028,18 +3028,18 @@ % % don't change the next improvement: -\def\dosomebreak#1% - {\endgraf % beware, this forces a newline - \ifvmode - \ifdim\lastskip=\zeropoint - #1\relax - \else - \scratchskip\lastskip - \removelastskip - #1\relax - \vskip\scratchskip - \fi - \fi} +% \def\dosomebreak#1% +% {\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! @@ -4644,7 +4644,7 @@ \setupwhitespace [\v!none] -% still old-fachioned +% still old-fashioned \indenting [\v!never] diff --git a/tex/context/base/core-trf.tex b/tex/context/base/core-trf.tex index 7a62d5392..03889f1fb 100644 --- a/tex/context/base/core-trf.tex +++ b/tex/context/base/core-trf.tex @@ -170,6 +170,7 @@ % preparations \checkscaleboxsettings % calculators + % beware, they operate in sequence, and calculate missing dimensions / messy %setscaleboxbynature % when? needed? \setscaleboxbyfactor \setscaleboxbyscale @@ -219,21 +220,21 @@ {\doapplyscaleboxsize \ifdim\scaleboxsizex>\scaleboxsizey \docalculatescaleboxnorm \scaleboxdimx\c!factor\c!maxwidth\hsize\scaleboxhsize - \docalculatescaleboxscales\scaleboxdimx\scaleboxsizex\scaleboxdimy\scaleboxsizey +% not here: \docalculatescaleboxscales\scaleboxdimx\scaleboxsizex\scaleboxdimy\scaleboxsizey \else \docalculatescaleboxnorm \scaleboxdimy\c!factor\c!maxheight\scaleboxoutervsize\scaleboxvsize - \docalculatescaleboxscales\scaleboxdimy\scaleboxsizey\scaleboxdimx\scaleboxsizex +% not here: \docalculatescaleboxscales\scaleboxdimy\scaleboxsizey\scaleboxdimx\scaleboxsizex \fi \donetrue} {\doifinsetelse{\scaleparameter\c!hfactor}{\v!max,\v!fit,\v!broad} {\doapplyscaleboxsize \docalculatescaleboxnorm \scaleboxdimy\c!hfactor\c!maxheight\scaleboxoutervsize\scaleboxvsize - \docalculatescaleboxscales\scaleboxdimy\scaleboxsizey\scaleboxdimx\scaleboxsizex +% not here: \docalculatescaleboxscales\scaleboxdimy\scaleboxsizey\scaleboxdimx\scaleboxsizex \donetrue} {\doifinsetelse{\scaleparameter\c!wfactor}{\v!max,\v!fit,\v!broad} {\doapplyscaleboxsize \docalculatescaleboxnorm \scaleboxdimx\c!wfactor\c!maxwidth\hsize\scaleboxhsize - \docalculatescaleboxscales\scaleboxdimx\scaleboxsizex\scaleboxdimy\scaleboxsizey +% not here: \docalculatescaleboxscales\scaleboxdimx\scaleboxsizex\scaleboxdimy\scaleboxsizey \donetrue} {\docalculatescaleboxnorm\scaleboxdimy\c!factor \c!height \textheight\scaleboxvsize \docalculatescaleboxnorm\scaleboxdimy\c!hfactor\c!height \textheight\scaleboxvsize diff --git a/tex/context/base/core-uti.tex b/tex/context/base/core-uti.tex index b630a1350..8cf91912d 100644 --- a/tex/context/base/core-uti.tex +++ b/tex/context/base/core-uti.tex @@ -133,7 +133,7 @@ \to \everyopenutilities \appendtoks - \immediate\closeout\utility@tui % niet echt nodig +% \immediate\closeout\utility@tui % niet echt nodig \reportutilityproblems % should be a message : \let\writeutilitycommand \gobbleoneargument diff --git a/tex/context/base/core-var.tex b/tex/context/base/core-var.tex index 0c740d4b8..9a5cde07d 100644 --- a/tex/context/base/core-var.tex +++ b/tex/context/base/core-var.tex @@ -452,20 +452,34 @@ % \errorisfatalfalse} % % permit nested definitions while preventing nested set/reset +% +% wrong: +% +% \long\def\dosetvariables[#1][#2][#3]% +% {\errorisfataltrue +% \getrawparameters[\??vars:*:][\s!reset=*,\s!set=*,#3]% +% \doifelse{\getvalue{\??vars:*:\s!reset}\getvalue{\??vars:*:\s!set}}{**} +% {\doifelse{#2}\currentvariableclass +% {#1[\??vars:#2:][#3]} +% {\pushmacro\currentvariableclass +% \def\currentvariableclass{#2}% +% \getvariable{#2}\s!reset +% #1[\??vars:#2:][#3]% +% \getvariable{#2}\s!set +% \popmacro\currentvariableclass}}% +% {#1[\??vars:#2:][#3]}% +% \errorisfatalfalse} -\long\def\dosetvariables[#1][#2][#3]% +\long\def\dosetvariables[#1][#2][#3]% tricky, test on s-pre-60 {\errorisfataltrue - \getrawparameters[\??vars:*:][\s!reset=*,\s!set=*,#3]% - \doifelse{\getvalue{\??vars:*:\s!reset}\getvalue{\??vars:*:\s!set}}{**} - {\doifelse{#2}\currentvariableclass - {#1[\??vars:#2:][#3]} - {\pushmacro\currentvariableclass - \def\currentvariableclass{#2}% - \getvariable{#2}\s!reset - #1[\??vars:#2:][#3]% - \getvariable{#2}\s!set - \popmacro\currentvariableclass}}% - {#1[\??vars:#2:][#3]}% + \doifelse{#2}\currentvariableclass + {#1[\??vars:#2:][#3]}% + {\pushmacro\currentvariableclass + \def\currentvariableclass{#2}% + \getvariable{#2}\s!reset + #1[\??vars:#2:][#3]% + \getvariable{#2}\s!set + \popmacro\currentvariableclass}% \errorisfatalfalse} \long\def\setvariable #1#2#3{\long\setvalue {\??vars:#1:#2}{#3}} diff --git a/tex/context/base/enco-agr.tex b/tex/context/base/enco-agr.tex index 7aa53a48d..77fe0a826 100644 --- a/tex/context/base/enco-agr.tex +++ b/tex/context/base/enco-agr.tex @@ -61,9 +61,7 @@ \definecharacter greekdasia 60 \definecharacter greekpsili 62 - -% Question, etc., look out of sync with Oxonia, however - +\definecharacter greekquestionmark 63 \definecharacter dialytika 64 \definecharacter greekAlpha 65 \definecharacter greekBeta 66 diff --git a/tex/context/base/page-ini.tex b/tex/context/base/page-ini.tex index 180b5ca4f..bbcc41f0a 100644 --- a/tex/context/base/page-ini.tex +++ b/tex/context/base/page-ini.tex @@ -519,7 +519,7 @@ 8: balanced in -- step(s) 9: check raggedness 10: (less than) 1 line left - 11: float to wide for column + 11: float too wide for column 12: float moved to next column / -- 13: wide float moved to top of columns \stopmessages diff --git a/tex/context/base/page-lyr.tex b/tex/context/base/page-lyr.tex index b0fabc3f7..cd8f6acc7 100644 --- a/tex/context/base/page-lyr.tex +++ b/tex/context/base/page-lyr.tex @@ -249,6 +249,14 @@ % preroll \getparameters[\??ll\currentlayer][#3]% % presets and real roll +% maybe todo: +% \doif{\layerparameter\c!method}\v!fit +% {\@@layerxsiz\thelayerwidth \currentlayer +% \@@layerysiz\thelayerheight\currentlayer +% \layerwidth \@@layerxsiz +% \layerheight\@@layerysiz +% }% + % etc \executeifdefined{\??ll\??ll\layerparameter\c!preset}\gobbletwoarguments\currentlayer{#3}% % that was real slow \doif{\layerparameter\c!position}\v!overlay % slow diff --git a/tex/context/base/page-mul.tex b/tex/context/base/page-mul.tex index bf4386b4e..edee9cee1 100644 --- a/tex/context/base/page-mul.tex +++ b/tex/context/base/page-mul.tex @@ -355,29 +355,12 @@ %D dimensions are influenced by bodyfont switches inside %D multi||column mode. -% \def\setcolumnvsize -% {%\global\vsize\columntextheight -% \global\vsize-\columntextoffset -% \global\multiply\vsize \plustwo -% \global\advance\vsize \columntextheight -% \ifdim\precolumnboxheight>\zeropoint -% \global\advance\vsize -\precolumnboxheight -% \fi -% %\getinsertionheights\to\dimen0\\% -% %\global\advance\vsize -\dimen0 -% \settotalinsertionheight -% \global\advance\vsize -\totalinsertionheight -% %%%\ifgridsnapping % evt altijd, nog testen, testing now, see columned tocs -% \getnoflines\vsize -% \vsize\noflines\openlineheight -% \advance\vsize .5\openlineheight % collect enough data -% %%%\fi -% \global\vsize\nofcolumns\vsize -% \global\pagegoal\vsize} % let's do it only here - \newdimen\mcscratchdimen \newcount\nofcolumnlines +\chardef\multicolumnlinemethod\zerocount % 0: overshoot (old default), 1: tight +% \chardef\multicolumnlinemethod\plusone + \def\getmulticolumnlines {\mcscratchdimen-\columntextoffset \multiply\mcscratchdimen \plustwo @@ -387,38 +370,22 @@ \fi \settotalinsertionheight \advance\mcscratchdimen -\totalinsertionheight - \getnoflines\mcscratchdimen + \ifcase\multicolumnlinemethod \getnoflines\mcscratchdimen + \or \getrawnoflines\mcscratchdimen + \else \getrawnoflines\mcscratchdimen + \fi % added 30/7/2004 \ifnum\layoutlines>\zerocount \ifnum\noflines>\layoutlines \noflines\layoutlines \fi \fi \nofcolumnlines\noflines} -% probaby better, test first, don't replace yet -% -% \def\getmulticolumnlines -% {\mcscratchdimen-\columntextoffset -% \multiply\mcscratchdimen \plustwo -% % \advance\mcscratchdimen \columntextheight -% \ifdim\precolumnboxheight>\zeropoint -% \advance\mcscratchdimen -\precolumnboxheight -% \fi -% \settotalinsertionheight -% \advance\mcscratchdimen -\totalinsertionheight -% \getnoflines\mcscratchdimen -% \ifnum\layoutlines>\zerocount -% \noflines-\noflines -% \advance\noflines\layoutlines -% \ifnum\noflines<\zerocount -% \noflines\zerocount -% \fi -% \fi -% \nofcolumnlines\noflines} +\def\multicolumnovershootratio{.5} % {\ifgridsnapping0\else.5\fi} \def\setcolumnvsize {\getmulticolumnlines \mcscratchdimen\nofcolumnlines\openlineheight - \advance\mcscratchdimen .5\openlineheight % collect enough data + \advance\mcscratchdimen \multicolumnovershootratio\openlineheight % collect enough data \global\vsize\nofcolumns\mcscratchdimen \global\pagegoal\vsize} % let's do it only here @@ -521,47 +488,25 @@ %D e.g. when there is no text given between \type{\begin..} %D and \type{\end..}. The \type{\par} is needed! -% \def\endmulticolumns -% {%\par -% \vskip\lineheight\vskip-\lineheight % take footnotes into account -% \dontshowcomposition -% \doflushcolumnfloat % added recently -% %\doflushcolumnfloats % no, since it results in wrong top floats -% \flushnotes % before start of columns -% \par -% \ifbalancecolumns -% \global\output{\continuousmulticolumnsout}% -% \goodbreak -% \global\output{\balancedmulticolumnsout}% -% \else -% \goodbreak -% \fi -% \eject % the prevdepth is important, try e.g. toclist in -% \prevdepth\zeropoint % columns before some noncolumned text text -% \global\output\singlecolumnout -% \global\output{\the\mainoutput}% % % % % todo -% \ifvoid\precolumnbox\else -% \unvbox\precolumnbox -% \fi -% \global\precolumnboxheight\zeropoint -% \endgroup % here -% \nofcolumns\plusone -% \setvsize % the outer one! -% \checkendcolumnfootnotes -% \dosomebreak\allowbreak -% \restoresavedfloats} +\chardef\multicolumnendsyncmethod\plusone % 1: old sync 2: new sync (cont-loc/project) \def\endmulticolumns {%\par - \vskip\lineheight\vskip-\lineheight % take footnotes into account + \ifnum\multicolumnendsyncmethod=\plustwo + \synchronizeoutput + \else + \vskip\lineheight\vskip-\lineheight % take footnotes into account + \fi \dontshowcomposition \doflushcolumnfloat % added recently %\doflushcolumnfloats % no, since it results in wrong top floats \flushnotes % before start of columns \par \ifbalancecolumns - \global\output{\continuousmulticolumnsout}% - \goodbreak + \ifnum\multicolumnendsyncmethod=\plusone + \global\output{\continuousmulticolumnsout}% + \goodbreak + \fi \global\output{\balancedmulticolumnsout}% \else \goodbreak @@ -635,10 +580,30 @@ \edef\maxcolumndepth{\the\dp\currentcolumnbox}% \fi}} -\chardef\columnedtopflushmethod\plusone + +\chardef\multicolumntopflushmethod\plusone % 0: no correction, 1: correction when topstuff, 2: correction, 3: correction++ +\chardef\multicolumntopalignmethod\plustwo % 0: nothing, 1: force grid, 2: follow grid + +\def\flushprecolumnboxnogrid + {\unvbox\precolumnbox} + +\def\flushprecolumnboxongrid + {\scratchdimen\savedpagetotal + \advance\scratchdimen -\ht\precolumnbox + \advance\scratchdimen -\dp\precolumnbox + \advance\scratchdimen -\topskip + \box\precolumnbox + \kern\scratchdimen} + +\newconditional\someprecolumncontent \def\flushcolumnedpage#1% {\bgroup + \ifvoid\precolumnbox + \setfalse\someprecolumncontent % will be set elsewhere + \else + \settrue\someprecolumncontent + \fi \forgetall \setmulticolumnsout \showcomposition @@ -686,41 +651,54 @@ \hskip-\columntextwidth \restoretextcolor{\box\scratchbox}}% \postprocesscolumnpagebox % new, acts upon \box\columnpagebox - \ifvoid\precolumnbox - \else + \ifconditional\someprecolumncontent + \settrue\someprecolumncontent % next some incredible crappy code - \ifgridsnapping - % somehow this junk fails in pascal - \scratchdimen\savedpagetotal - \advance\scratchdimen -\ht\precolumnbox - \advance\scratchdimen -\dp\precolumnbox - \advance\scratchdimen -\topskip - \box\precolumnbox - \kern\scratchdimen + \ifcase\multicolumntopalignmethod + \flushprecolumnboxnogrid % not on grid + \or + \flushprecolumnboxongrid % force on grid + \else\ifgridsnapping % somehow this junk fails in pascal + \flushprecolumnboxongrid % obey grid settings, force on grid \else - \unvbox\precolumnbox - \fi + \flushprecolumnboxnogrid % ignore grid settings, not on grid + \fi \fi \fi \global\precolumnboxheight\zeropoint \setvsize - \dosomebreak\nobreak - \ifgridsnapping \else - \ifcase\columnedtopflushmethod + \dosomebreak\nobreak % hm, only needed when topstuff + \ifgridsnapping + \else + \ifcase\multicolumntopflushmethod % sometimes method 1 goes wrong, so we need a way out; best sort this out % when we run into it again \or % \input tufte \startcolumns \showbaselines \input tufte \stopcolumns \input tufte - \scratchdimen\topskip - \advance\scratchdimen -\openstrutheight + \ifconditional\someprecolumncontent +% \scratchdimen\topskip +% \advance\scratchdimen -\openstrutheight +% \nointerlineskip +% \vskip-\scratchdimen + \nointerlineskip + \vskip\dimexpr\openstrutheight-\topskip\relax + \fi + \or +% \scratchdimen\topskip +% \advance\scratchdimen -\openstrutheight +% \nointerlineskip +% \vskip-\scratchdimen \nointerlineskip - \vskip-\scratchdimen + \vskip\dimexpr\openstrutheight-\topskip\relax \or % untested but maybe handy - \scratchdimen\topskip - \advance\scratchdimen -\openstrutheight +% \scratchdimen\topskip +% \advance\scratchdimen -\openstrutheight +% \nointerlineskip +% \vskip-\scratchdimen +% \vskip-\lineheight +% \vbox{\strut}% \nointerlineskip - \vskip-\scratchdimen - \vskip-\lineheight + \vskip\dimexpr\openstrutheight-\topskip-\lineheight\relax \vbox{\strut}% \fi \fi @@ -921,34 +899,6 @@ \fi \fi} -% \def\overlaycolumnfootnotes % VERVANGEN !!! -% {\relax -% \ifcase\clevernotes\else -% \checknotepresence -% \ifnotespresent -% % the note box has the depth of the notefont -% % because a column (i.e. first column has no depth, -% % we need to anchor top down) -% \bgroup -% \scratchdimen\ht\firstcolumnbox -% \advance\scratchdimen -\openstrutdepth % \strutdp -% \getnoflines\scratchdimen -% \advance\noflines -2 -% \scratchdimen\noflines\lineheight -% \advance\scratchdimen \topskip -% \setbox0\hbox -% {\lower\scratchdimen\vbox{\placenoteinserts}}% -% \ht0=\openstrutheight % \strutht -% \dp0=\openstrutdepth % \strutdp -% \scratchdimen\ht\lastcolumnbox -% \global\setbox\lastcolumnbox\vbox to \scratchdimen -% {\box\lastcolumnbox -% \vskip-\scratchdimen -% \restoretextcolor{\box0}}% -% \egroup -% \fi -% \fi} - \def\overlaycolumnfootnotes {\relax \ifcase\clevernotes @@ -1214,6 +1164,7 @@ \egroup \fi \else + % a one liner is not properly handled here, so best rewrite the text then \showmessage\m!columns{10}\empty \global\setbox\firstcolumnbox\vbox{\unvbox0}% \fi diff --git a/tex/context/base/ppchtex.tex b/tex/context/base/ppchtex.tex index a88c4dbd8..8f7dd0b5a 100644 --- a/tex/context/base/ppchtex.tex +++ b/tex/context/base/ppchtex.tex @@ -297,7 +297,7 @@ % and/or LaTeX2e we had to force \@@dochemicalstyle. Otherwise % some weird \nullfont error comes up. -\def\beginlatexmathmodehack% +\def\beginlatexmathmodehack {\ifmmode \let\endlatexmathmodehack=\relax \else @@ -320,7 +320,7 @@ \global\loweredsubscriptstrue \endlatexmathmodehack} -\def\resetsubscripts% +\def\resetsubscripts {\ifloweredsubscripts \beginlatexmathmodehack \def\doresetsubscript##1##2% @@ -337,14 +337,14 @@ \endlatexmathmodehack \fi} -\def\doresetsubscripts% +\def\doresetsubscripts {\resetsubscripts} -\def\sethighsubscripts% +\def\sethighsubscripts {\resetsubscripts \let\dosetsubscripts=\relax} -\def\setlowsubscripts% +\def\setlowsubscripts {\def\dosetsubscripts{\setsubscripts}} \setlowsubscripts @@ -771,7 +771,7 @@ \def\@@chemicalpostponed{}% \complexorsimpleempty\startchemical} -\def\startchemical% +\def\startchemical {\bgroup % t.b.v. ungrouped floats % \loadchemicaldimensions % \ifskipchemical @@ -785,7 +785,7 @@ % \fi \dostartchemical} -\def\stopchemical% +\def\stopchemical {%\ifskipchemical % \getchemicaldimensions{\dimen0}{\dimen2}{\dimen4}% % \dimen8=\dimen2\advance\dimen8 by \dimen4 @@ -864,7 +864,7 @@ \setcoordinatesystem point at {\the\horchemical} {\the\verchemical} \fi} -\def\resetchemicalcoordinates% +\def\resetchemicalcoordinates {\horchemical=0 \verchemical=0 \edef\chemicalxoffset{0}% @@ -875,7 +875,7 @@ \setcoordinatesystem point at 0 0 \fi} -\def\restorechemicalcoordinates% +\def\restorechemicalcoordinates {%\writestatus{ppchtex}{restoring \the\horchemical,\the\verchemical}% \edef\chemicalxoffset{\the\horchemical}% \edef\chemicalyoffset{\the\verchemical}% @@ -1745,7 +1745,7 @@ {$\simplechemical{#1}{#2}{#3}$% \egroup} % erbij -\def\simplechemical% +\def\simplechemical {\ifinner \innerchemicaltrue \else diff --git a/tex/context/base/s-abr-01.tex b/tex/context/base/s-abr-01.tex index 52d943f84..6f16942b2 100644 --- a/tex/context/base/s-abr-01.tex +++ b/tex/context/base/s-abr-01.tex @@ -42,6 +42,7 @@ \logo [CMR] {cmr} \logo [CMYK] {cmyk} \logo [CODHOST] {CodHost} +\logo [CALCMATH] {CalcMath} \logo [CONTEXT] {\ConTeXt} \logo [CSS] {css} \logo [CTAN] {ctan} diff --git a/tex/context/base/spec-def.tex b/tex/context/base/spec-def.tex index 3f26c8924..fcffbefde 100644 --- a/tex/context/base/spec-def.tex +++ b/tex/context/base/spec-def.tex @@ -981,10 +981,10 @@ \defineoutput [dpx] [dpx] \defineoutput [acrobat] [pdf,ps,tr] -\defineoutput [xetex] [dpx] -\defineoutput [xtx] [dpx] -\defineoutput [xdv] [dvi,xtx] -\defineoutput [xdv2pdf] [dvi,xtx] +\defineoutput [xetex] [dpx,xet] +\defineoutput [xtx] [dpx,xet] +\defineoutput [xdv] [dvi,xtx,xet] +\defineoutput [xdv2pdf] [dvi,xtx,xet] %D Please let me know if we need more. From now on we default %D to: diff --git a/tex/context/base/spec-xet.tex b/tex/context/base/spec-xet.tex new file mode 100644 index 000000000..f814fd6f9 --- /dev/null +++ b/tex/context/base/spec-xet.tex @@ -0,0 +1,66 @@ +%D \module +%D [ file=spec-xtx, +%D version=2004.11.08, +%D title=\CONTEXT\ Special Macros, +%D subtitle=\XETEX\ support, +%D author={Adam Lindsay \& Hans Hagen \& \unknown}, +%D date=\currentdate, +%D copyright={Adam Lindsay \& Hans Hagen}] + +\unprotect + +\definespecial\doinsertfile + {\dofileinsertion{xtx}\@@DriverImageType} + +\definefileinsertion{xtx}{jpg}{\xtxhandleotherimage} +\definefileinsertion{xtx}{png}{\xtxhandleotherimage} +\definefileinsertion{xtx}{gif}{\xtxhandleotherimage} +\definefileinsertion{xtx}{tif}{\xtxhandleotherimage} +\definefileinsertion{xtx}{pdf}{\xtxhandlepdfimage } + +\def\checkpdfimagepagenumber + {\edef\pdfimagepagenumber + {\ifx\@@DriverImagePage\empty\else\ifnum\@@DriverImagePage>\zerocount + \space page\space\@@DriverImagePage\space + \fi\fi}} + +\def\xtxhandleotherimage + {\XeTeXpicfile "\@@DriverImageFile" + \ifdim\@@DriverImageWidth >\zeropoint \!!width \@@DriverImageWidth \space\fi + \ifdim\@@DriverImageHeight>\zeropoint \!!height \@@DriverImageHeight \fi + \relax} + +\def\xtxhandlepdfimage + {\checkpdfimagepagenumber + \XeTeXpdffile "\@@DriverImageFile" + \pdfimagepagenumber + \ifdim\@@DriverImageWidth >\zeropoint \!!width \@@DriverImageWidth \space\fi + \ifdim\@@DriverImageHeight>\zeropoint \!!height \@@DriverImageHeight \fi + \relax} + +\def\dogetXTXfiguresize + {\setbox\foundexternalfigure\vbox{\XeTeXpicfile "\@@DriverImageFile"}% + \xdef\analyzedfigurewidth {\the\wd\foundexternalfigure}% + \xdef\analyzedfigureheight{\the\ht\foundexternalfigure}} + +\def\dogetXTXpdfsize + {\checkpdfimagepagenumber + \setbox\foundexternalfigure\vbox{\XeTeXpdffile "\@@DriverImageFile" \pdfimagepagenumber}% + \xdef\analyzedfigurewidth {\the\wd\foundexternalfigure}% + \xdef\analyzedfigureheight{\the\ht\foundexternalfigure}} + +\definefilechecker{xtx}{png}{\dogetXTXfiguresize} +\definefilechecker{xtx}{jpg}{\dogetXTXfiguresize} +\definefilechecker{xtx}{gif}{\dogetXTXfiguresize} +\definefilechecker{xtx}{tif}{\dogetXTXfiguresize} +\definefilechecker{xtx}{pdf}{\dogetXTXpdfsize } + +\definespecial\dogetfiguresize + {\dofilechecker{xtx}\@@DriverImageType} + +%D The figure object system caused no end of headaches. They all +%D went away with this single line: + +\setupexternalfigures[\c!object=\v!no] + +\protect \endinput diff --git a/tex/context/base/spec-xtx.tex b/tex/context/base/spec-xtx.tex index 0cd9baadd..799c6ca8d 100644 --- a/tex/context/base/spec-xtx.tex +++ b/tex/context/base/spec-xtx.tex @@ -73,64 +73,8 @@ \definespecial\doloadmapfile #1#2{\special{x:fontmapfile #1#2}} \definespecial\doloadmapline #1#2{\special{x:fontmapline #1#2}} -%D \XETEX\ supports \type{\doPDFdestination} and -%D \type{\doPDFbookmark} inherited straight from \DVIPDFMX. - -\definespecial\doinsertfile - {\dofileinsertion{xtx}\@@DriverImageType} - -\definefileinsertion{xtx}{jpg}{\xtxhandleotherimage} -\definefileinsertion{xtx}{png}{\xtxhandleotherimage} -\definefileinsertion{xtx}{gif}{\xtxhandleotherimage} -\definefileinsertion{xtx}{tif}{\xtxhandleotherimage} -\definefileinsertion{xtx}{pdf}{\xtxhandlepdfimage } - -\def\checkpdfimagepagenumber - {\edef\pdfimagepagenumber - {\ifx\@@DriverImagePage\empty\else\ifnum\@@DriverImagePage>\zerocount - \space page\space\@@DriverImagePage\space - \fi\fi}} - -\def\xtxhandleotherimage - {\XeTeXpicfile "\@@DriverImageFile" - \ifdim\@@DriverImageWidth >\zeropoint \!!width \@@DriverImageWidth \space\fi - \ifdim\@@DriverImageHeight>\zeropoint \!!height \@@DriverImageHeight \fi - \relax} - -\def\xtxhandlepdfimage - {\checkpdfimagepagenumber - \XeTeXpdffile "\@@DriverImageFile" - \pdfimagepagenumber - \ifdim\@@DriverImageWidth >\zeropoint \!!width \@@DriverImageWidth \space\fi - \ifdim\@@DriverImageHeight>\zeropoint \!!height \@@DriverImageHeight \fi - \relax} - -\def\dogetXTXfiguresize - {\setbox\foundexternalfigure\vbox{\XeTeXpicfile "\@@DriverImageFile"}% - \xdef\analyzedfigurewidth {\the\wd\foundexternalfigure}% - \xdef\analyzedfigureheight{\the\ht\foundexternalfigure}} - -\def\dogetXTXpdfsize - {\checkpdfimagepagenumber - \setbox\foundexternalfigure\vbox{\XeTeXpdffile "\@@DriverImageFile" \pdfimagepagenumber}% - \xdef\analyzedfigurewidth {\the\wd\foundexternalfigure}% - \xdef\analyzedfigureheight{\the\ht\foundexternalfigure}} - -\definefilechecker{xtx}{png}{\dogetXTXfiguresize} -\definefilechecker{xtx}{jpg}{\dogetXTXfiguresize} -\definefilechecker{xtx}{gif}{\dogetXTXfiguresize} -\definefilechecker{xtx}{tif}{\dogetXTXfiguresize} -\definefilechecker{xtx}{pdf}{\dogetXTXpdfsize } - -\definespecial\dogetfiguresize - {\dofilechecker{xtx}\@@DriverImageType} - -%D The figure object system caused no end of headaches. They all -%D went away with this single line: - -\setupexternalfigures[\c!object=\v!no] - -%D +%D \macros +%D {dosetuppaper} \ifx\pdfpagewidth\undefined \else \definespecial\dosetuppaper#1#2#3% diff --git a/tex/context/base/supp-fun.tex b/tex/context/base/supp-fun.tex index 41cd89199..080c3f958 100644 --- a/tex/context/base/supp-fun.tex +++ b/tex/context/base/supp-fun.tex @@ -137,6 +137,7 @@ \ExpandBothAfter\doifinstringelse\asciia\asciib {\noindentation \dontleavehmode + \checkindentation % redo this one %\ifhmode\hskip-\parindent\fi % sensitive for context mechanism \keeplinestogether{#6}% \setbox0\hbox{\definedfont[#2 at #3]#1{#7}\hskip#4}% @@ -163,7 +164,9 @@ \globaldropcaps\chardef\DroppedStatus\plustwo \globaldropcaps\hangindent\DroppedIndent \globaldropcaps\hangafter-\DroppedLines - \noindent +% \noindent + \noindentation + \checkindentation % redo this one \hskip-\DroppedIndent \fi \vbox{\forgetall\box0}% @@ -257,7 +260,7 @@ \globaldropcaps\hangindent\DroppedIndent \globaldropcaps\hangafter-\DroppedLines \globaldropcaps\advance\hangafter \droppedlines - \hskip-\parindent + \hskip-\parindent % brrr \let\next\AutoDroppedNext \else \globaldropcaps\chardef\DroppedStatus\zerocount diff --git a/tex/context/base/syst-ext.tex b/tex/context/base/syst-ext.tex index bee6049bf..1388f4f2b 100644 --- a/tex/context/base/syst-ext.tex +++ b/tex/context/base/syst-ext.tex @@ -4436,11 +4436,11 @@ \def\dotwodigitrounding#1.#2#3#4\relax{\ifx#2*#1\else#1.#2#3\fi} \def\integerrounding#1% - {\@EA\@EA\@EA\dointegerrounding \@EA\WITHOUTPT\the\dimexpr#1\points+32768sp\relax.\relax} + {\@EA\@EA\@EA\dointegerrounding \@EA\WITHOUTPT\the\dimexpr#1\points+.5\points\relax.\relax} \def\onedigitrounding#1% - {\@EA\@EA\@EA\doonedigitrounding\@EA\WITHOUTPT\the\dimexpr#1\points+32768sp\relax00.*0\relax} + {\@EA\@EA\@EA\doonedigitrounding\@EA\WITHOUTPT\the\dimexpr#1\points+.05\points\relax00.*0\relax} \def\twodigitrounding#1% - {\@EA\@EA\@EA\dotwodigitrounding\@EA\WITHOUTPT\the\dimexpr#1\points+32768sp\relax000.*00\relax} + {\@EA\@EA\@EA\dotwodigitrounding\@EA\WITHOUTPT\the\dimexpr#1\points+.005\points\relax000.*00\relax} \endETEX diff --git a/tex/context/base/thrd-pic.tex b/tex/context/base/thrd-pic.tex index 3c6375cbd..3c25d8a81 100644 --- a/tex/context/base/thrd-pic.tex +++ b/tex/context/base/thrd-pic.tex @@ -1339,7 +1339,7 @@ should have been specified.} %.A................. \def\plot{% \!ifnextchar"{\!plotfromfile}{\!drawcurve}} \def\!plotfromfile"#1"{% - \expandafter\!drawcurve \input #1 /} + \expandafter\!drawcurve \normalinput #1 /} % Command to set piecewise quadratic mode % See Subsections 5.1, 7.3, and 7.4 of the manual. @@ -2344,7 +2344,7 @@ should have been specified.} %.A................. \!setputobject{#1}{#2}% \!ifnextchar"{\!putfromfile}{\!multiput}} \def\!putfromfile"#1"{% - \expandafter\!multiput \input #1 /} + \expandafter\!multiput \normalinput #1 /} \def\!multiput{% \futurelet\!nextchar\!!multiput} \def\!!multiput{% @@ -2634,7 +2634,7 @@ should have been specified.} %.A................. % ** on "FILE_NAME" % ** See Subsection 5.6 of the manual. \def\replot"#1" {% - \expandafter\!replot\input #1 /} + \expandafter\!replot\normalinput #1 /} \def\!replot#1,#2. {% \!dimenA=#1sp \kern\!dimenA\raise#2sp\copy\!plotsymbol\kern-\!dimenA diff --git a/tex/context/base/type-gyr.tex b/tex/context/base/type-gyr.tex index acc55e97c..ac625d22f 100644 --- a/tex/context/base/type-gyr.tex +++ b/tex/context/base/type-gyr.tex @@ -37,16 +37,19 @@ \definetypescriptprefix [n:pagella] [TeXGyrePagella] \definetypescriptprefix [n:termes] [TeXGyreTermes] +\definetypescriptprefix [n:heros] [TeXGyreHeros] \definetypescriptprefix [n:bonum] [TeXGyreBonum] \definetypescriptprefix [n:schola] [TeXGyreSchola] +\definetypescriptprefix [n:adventor][TeXGyreAdventor] \definetypescriptprefix [f:pagella] [pl] \definetypescriptprefix [f:termes] [tm] +\definetypescriptprefix [f:heros] [hv] \definetypescriptprefix [f:bonum] [bk] \definetypescriptprefix [f:schola] [cs] +\definetypescriptprefix [f:adventor][ag] -\starttypescript [serif] [pagella,termes,bonum,schola] [ec,texnansi,cs,el,qx,rm,t5,t2a,t2b,t2c,l7x] -% \loadmapfile[\typescriptthree-q\typescriptprefix{f:\typescripttwo}.map] +\starttypescript [serif] [pagella,termes,heros,bonum,schola,adventor] [ec,texnansi,cs,el,qx,rm,t5,t2a,t2b,t2c,l7x] \loadmapfile[q\typescriptprefix{f:\typescripttwo}-\typescriptthree.map] \definefontsynonym [\typescriptprefix{n:\typescripttwo}-Regular] [\typescriptthree-q\typescriptprefix{f:\typescripttwo}r] [encoding=\typescriptthree] @@ -85,8 +88,30 @@ \stoptypescript -\starttypescript [map] [pagella,termes,bonum,schola] [ec,texnansi,cs,el,qx,rm,t5,t2a,t2b,t2c,l7x] -% \loadmapfile[\typescriptthree-q\typescriptprefix{f:\typescripttwo}.map] +\starttypescript [sans] [heros,adventor] [name] + \definefontsynonym [Sans] [\typescriptprefix{n:\typescripttwo}-Regular] + \definefontsynonym [SansItalic] [\typescriptprefix{n:\typescripttwo}-Italic] + \definefontsynonym [SansBold] [\typescriptprefix{n:\typescripttwo}-Bold] + \definefontsynonym [SansBoldItalic] [\typescriptprefix{n:\typescripttwo}-BoldItalic] + \definefontsynonym [SansCaps] [\typescriptprefix{n:\typescripttwo}-Caps] + \definefontsynonym [SansSlanted] [\typescriptprefix{n:\typescripttwo}-Slanted] + \definefontsynonym [SansBoldSlanted] [\typescriptprefix{n:\typescripttwo}-BoldSlanted] + + \definefontvariant [Sans][osf][Caps] + \definefontvariant [Sans][sc] [Caps] + + \definefontsynonym [SansRegular] [\typescriptprefix{n:\typescripttwo}-Regular] + \definefontsynonym [SansRegularCaps] [\typescriptprefix{n:\typescripttwo}-Caps] + \definefontsynonym [SansItalicCaps] [\typescriptprefix{n:\typescripttwo}-ItalicCaps] + \definefontsynonym [SansBoldCaps] [\typescriptprefix{n:\typescripttwo}-BoldCaps] + \definefontsynonym [SansBoldItalicCaps] [\typescriptprefix{n:\typescripttwo}-BoldItalicCaps] + \definefontsynonym [SansCapsCaps] [\typescriptprefix{n:\typescripttwo}-Caps] + \definefontsynonym [SansSlantedCaps] [\typescriptprefix{n:\typescripttwo}-ItalicCaps] + \definefontsynonym [SansBoldSlantedCaps] [\typescriptprefix{n:\typescripttwo}-BoldItalicCaps] + +\stoptypescript + +\starttypescript [map] [pagella,termes,bonum,schola,heros,adventor] [all] \loadmapfile[q\typescriptprefix{f:\typescripttwo}-\typescriptthree.map] \stoptypescript @@ -100,7 +125,6 @@ % qplbi TeXGyrePagella-BoldItalic \starttypescript [serif] [palatino] [ec,texnansi,cs,el,qx,rm,t5,t2a,t2b,t2c,l7x] -% \loadmapfile[\typescriptthree-qpl.map] \loadmapfile[qpl-\typescriptthree.map] \definefontsynonym [Palatino] [\typescriptthree-qplr] [encoding=\typescriptthree] @@ -134,6 +158,23 @@ \definefontsynonym [Times-BoldSlanted] [Times-BoldItalic] \stoptypescript +% TeXGyreHeros +% +% qtmr TeXGyreHeros-Regular +% qtmri TeXGyreHeros-Italic +% qtmb TeXGyreHeros-Bold +% qtmbi TeXGyreHeros-BoldItalic + +\starttypescript [serif] [heros,helvetica] [ec,texnansi,cs,el,qx,rm,t5,t2a,t2b,t2c,l7x] + \loadmapfile[qhv-\typescriptthree.map] + + \definefontsynonym [Helvetica] [\typescriptthree-qhvr] [encoding=\typescriptthree] + \definefontsynonym [Helvetica-Oblique] [\typescriptthree-qhvri] [encoding=\typescriptthree] + \definefontsynonym [Helvetica-Bold] [\typescriptthree-qhvb] [encoding=\typescriptthree] + \definefontsynonym [Helvetica-BoldOblique] [\typescriptthree-qhvbi] [encoding=\typescriptthree] + \definefontsynonym [Helvetica-Caps] [\typescriptthree-qhvr-sc] [encoding=\typescriptthree] +\stoptypescript + % TeXGyreBonum % % qtmr TeXGyreBonum-Regular @@ -163,17 +204,25 @@ % qcsbi TeXGyreSchola-BoldItalic \starttypescript [serif] [schoolbook] [ec,texnansi,cs,el,qx,rm,t5,t2a,t2b,t2c,l7x] -% \loadmapfile[\typescriptthree-qcs.map] \loadmapfile[qcs-\typescriptthree.map] - \definefontsynonym [Schoolbook-Roman] [\typescriptthree-qcsr] [encoding=\typescriptthree] - \definefontsynonym [Schoolbook-Italic] [\typescriptthree-qcsri] [encoding=\typescriptthree] - \definefontsynonym [Schoolbook-Bold] [\typescriptthree-qcsb] [encoding=\typescriptthree] - \definefontsynonym [Schoolbook-BoldItalic] [\typescriptthree-qcsbi] [encoding=\typescriptthree] - \definefontsynonym [Schoolbook-Roman-Caps] [\typescriptthree-qcsr-sc] [encoding=\typescriptthree] + \definefontsynonym [Schoolbook-Roman] [\typescriptthree-qcsr] [encoding=\typescriptthree] + \definefontsynonym [Schoolbook-Italic] [\typescriptthree-qcsri] [encoding=\typescriptthree] + \definefontsynonym [Schoolbook-Bold] [\typescriptthree-qcsb] [encoding=\typescriptthree] + \definefontsynonym [Schoolbook-BoldItalic] [\typescriptthree-qcsbi] [encoding=\typescriptthree] + \definefontsynonym [Schoolbook-Roman-Caps] [\typescriptthree-qcsr-sc] [encoding=\typescriptthree] \definefontsynonym [Schoolbook-Slanted] [Schoolbook-Italic] \definefontsynonym [Schoolbook-BoldSlanted] [Schoolbook-BoldItalic] \stoptypescript +% TeXGyreAdventor +% +% qagr TeXGyreAdventor-Regular +% qagri TeXGyreAdventor-Italic +% qagb TeXGyreAdventor-Bold +% qagbi TeXGyreAdventor-BoldItalic + +% not previously defined + \stoptypescriptcollection diff --git a/tex/context/base/unic-cjk.tex b/tex/context/base/unic-cjk.tex index a4155f136..786546318 100644 --- a/tex/context/base/unic-cjk.tex +++ b/tex/context/base/unic-cjk.tex @@ -15,4 +15,8 @@ \dostepwiserecurse{172}{215}{1}{\expanded{\defineunicodecommand{\recurselevel}} {\lookaheaduchar}} \dostepwiserecurse{249}{250}{1}{\expanded{\defineunicodecommand{\recurselevel}} {\lookaheaduchar}} +% special chars + +\dostepwiserecurse{255}{255}{1}{\expanded{\defineunicodecommand{\recurselevel}} {\lookaheaduchar}} + \endinput diff --git a/tex/context/base/x-fig-00.tex b/tex/context/base/x-fig-00.tex index cb4677fdc..0559a4056 100644 --- a/tex/context/base/x-fig-00.tex +++ b/tex/context/base/x-fig-00.tex @@ -140,7 +140,8 @@ \assignfullfilename{#1}\figurefilebase\to\filename \expanded{\processXMLfilegrouped{\filename.xml}}% \ifx\figurefilename\empty\else - \globallet\figurefilebase\figurefilebase +% \globallet\figurefilebase\figurefilebase + \globallet\figurefilebase\filename % hm, bad omen that this is needed \fi \egroup \fi} diff --git a/tex/context/base/x-res-01.tex b/tex/context/base/x-res-01.tex index 83f747f83..14dcbc570 100644 --- a/tex/context/base/x-res-01.tex +++ b/tex/context/base/x-res-01.tex @@ -256,6 +256,7 @@ {\externalfigure [\XMLflush{rl:file}] [maxheight=80pt,frame=off,maxwidth=130pt,factor=max]}% +% [factor=max]}% [GridPg]% \let\FigWid\figurenaturalwidth \let\FigHei\figurenaturalheight @@ -292,8 +293,8 @@ \doifXMLdata{rl:copyright} {\NC copyright \NC \XMLflush{rl:copyright} \NC \NR} \doifXMLdata{rl:status} - {\doif{\XMLflush{rl:status}}{obsolete} - {\NC status \NC \bf\darkred\XMLflush{rl:status} \NC \NR} + {\doifelse{\XMLflush{rl:status}}{obsolete} + {\NC status \NC \dontleavehmode \color[darkred]{\bf\XMLflush{rl:status}} \NC \NR} {\NC status \NC \XMLflush{rl:status} \NC \NR}} \doifXMLdata{rl:comment} {\NC comment \NC \XMLflush{rl:comment} \NC \NR} diff --git a/tex/context/base/x-res-04.tex b/tex/context/base/x-res-04.tex index 83998a4c4..4d4d4dc7b 100644 --- a/tex/context/base/x-res-04.tex +++ b/tex/context/base/x-res-04.tex @@ -213,7 +213,8 @@ \processXMLfilegrouped\filename} \donothing \ifx\figurefilename\empty \else - \global\let\figurefilebase\figurefilebase +% \global\let\figurefilebase\figurefilebase + \globallet\figurefilebase\filename % hm, bad omen that this is needed \fi \egroup \fi} diff --git a/tex/context/base/x-res-12.tex b/tex/context/base/x-res-12.tex index c4bc4386f..1cff48717 100644 --- a/tex/context/base/x-res-12.tex +++ b/tex/context/base/x-res-12.tex @@ -45,7 +45,7 @@ \stopXMLignore \stopXMLmapping \stopnointerference - \setanalyzedfiguredimensions\!!ten}% + \setanalyzedfiguredimensions\!!twelve}% \fi\fi} \let\doanalyzefiguredimensionsexternal\doanalyzefiguredimensionsrlx diff --git a/tex/context/base/xtag-ext.tex b/tex/context/base/xtag-ext.tex index 4de239082..9eea3643f 100644 --- a/tex/context/base/xtag-ext.tex +++ b/tex/context/base/xtag-ext.tex @@ -340,7 +340,7 @@ %D This gives: %D %D \starttyping -%D test Äk <b>test</b> <e>ediaeresis</e> test <e>ediaeresis</e> +%D test ë test</b> <e>ediaeresis</e> test <e>ediaeresis</e> %D \stoptyping \def\XMLprocessingparameter#1% diff --git a/web2c/context.cnf b/web2c/context.cnf index 9121493ca..6ca969e84 100644 --- a/web2c/context.cnf +++ b/web2c/context.cnf @@ -71,7 +71,7 @@ MISCFONTS = .;$TEXMF/fonts/misc// ENCFONTS = .;$TEXMF/{fonts/{data,enc},dvips,pdftex,dvipdfm}// CMAPFONTS = .;$TEXMF/fonts/cmap// SFDFONTS = .;$TEXMF/fonts/sfd// -OPENTYPEFONTS = .;$TEXMF/fonts/opentype//;$OSFONTDIR +OPENTYPEFONTS = .;$TEXMF/fonts/{data,opentype}//;$OSFONTDIR OFMFONTS = .;$TEXMF/fonts/{ofm,tfm}// OPLFONTS = .;$TEXMF/fonts/opl//; @@ -95,7 +95,8 @@ CTXDEVTXPATH=unset CTXDEVMPPATH=unset CTXDEVMFPATH=unset -TEXINPUTS = .;{$TXRESOURCES}//;{$CTXDEVTXPATH};$TEXMF/{pdftex,pdfetex,etex,xetex,omega,tex}/{context,plain,generic,}// +#~ TEXINPUTS = .;{$TXRESOURCES}//;{$CTXDEVTXPATH};$TEXMF/{pdftex,pdfetex,etex,xetex,omega,tex}/{context,plain,generic,}// +TEXINPUTS = .;{$TXRESOURCES}//;{$CTXDEVTXPATH};$TEXMF/{pdftex,pdfetex,etex,xetex,omega,tex}/{$progname,plain,generic,}// % TEXINPUTS.context = .;{$TXRESOURCES}//;{$CTXDEVTXPATH};$TEXMF/{pdftex,pdfetex,etex,xetex,omega,tex}/{context,plain,generic,}// % TEXINPUTS.context = .;{$TXRESOURCES}//;{$CTXDEVTXPATH};$TEXMF/{tex,omega}/{context,plain,generic}// @@ -160,6 +161,25 @@ TEX = texexec --batch --once --nomp % These values are about the same as in the main % configuration file (dest_names_size added). +buf_size = 1000000 +extra_mem_bot = 1000000 +extra_mem_top = 2000000 +font_max = 2500 +font_mem_size = 1000000 +hash_extra = 50000 +main_memory = 2000000 +max_strings = 150000 +nest_size = 500 +pdf_mem_size = 250000 +param_size = 10000 +pool_free = 47500 +pool_size = 1000000 +save_size = 10000 +stack_size = 5000 +string_vacancies = 100000 +trie_size = 500000 +hyph_size = 8191 + buf_size.context = 4000000 % needed for omega bug extra_mem_bot.context = 2000000 extra_mem_top.context = 4000000 @@ -176,7 +196,7 @@ pool_size.context = 2000000 save_size.context = 50000 stack_size.context = 10000 string_vacancies.context = 125000 -trie_size.context = 250000 +trie_size.context = 500000 hyph_size.context = 8191 % prime obj_tab_size.context = 300000 % obsolete in 1.40+ |