From 901949f2e0eddb33046bc7628f831560cc380001 Mon Sep 17 00:00:00 2001 From: Marius Date: Thu, 7 Jun 2012 20:00:14 +0300 Subject: beta 2012.06.07 18:39 --- tex/context/base/cont-new.mkii | 2 +- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4138 -> 4147 bytes tex/context/base/context-version.png | Bin 105769 -> 106124 bytes tex/context/base/context.mkii | 2 +- tex/context/base/context.mkiv | 2 +- tex/context/base/core-mis.mkiv | 2 +- tex/context/base/file-job.lua | 6 +- tex/context/base/font-otf.lua | 94 +++---- tex/context/base/s-map-10.mkii | 273 +++++++++++---------- tex/context/base/s-map-10.mkiv | 71 ++---- tex/context/base/status-files.pdf | Bin 24385 -> 24431 bytes tex/context/base/status-lua.pdf | Bin 181177 -> 181186 bytes tex/context/base/util-prs.lua | 6 +- tex/generic/context/luatex/luatex-fonts-merged.lua | 96 ++++---- 15 files changed, 271 insertions(+), 285 deletions(-) (limited to 'tex') diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii index e5e6984cb..a3e06dc9c 100644 --- a/tex/context/base/cont-new.mkii +++ b/tex/context/base/cont-new.mkii @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2012.06.06 10:23} +\newcontextversion{2012.06.07 18:39} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index 966f00229..877476dfa 100644 --- a/tex/context/base/cont-new.mkiv +++ b/tex/context/base/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2012.06.06 10:23} +\newcontextversion{2012.06.07 18:39} %D This file is loaded at runtime, thereby providing an %D excellent place for hacks, patches, extensions and new diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf index 04c28c4ca..435109161 100644 Binary files a/tex/context/base/context-version.pdf and b/tex/context/base/context-version.pdf differ diff --git a/tex/context/base/context-version.png b/tex/context/base/context-version.png index 9d9b69c75..edd9c1c6d 100644 Binary files a/tex/context/base/context-version.png and b/tex/context/base/context-version.png differ diff --git a/tex/context/base/context.mkii b/tex/context/base/context.mkii index 238587304..e99a9b930 100644 --- a/tex/context/base/context.mkii +++ b/tex/context/base/context.mkii @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2012.06.06 10:23} +\edef\contextversion{2012.06.07 18:39} %D For those who want to use this: diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index 03adb066a..d0f5084e7 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -23,7 +23,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2012.06.06 10:23} +\edef\contextversion{2012.06.07 18:39} %D For those who want to use this: diff --git a/tex/context/base/core-mis.mkiv b/tex/context/base/core-mis.mkiv index 5c364f3c4..2d615081f 100644 --- a/tex/context/base/core-mis.mkiv +++ b/tex/context/base/core-mis.mkiv @@ -412,7 +412,7 @@ {\dosingleargument\dosetuptab} \setuptab - [\c!location=\v!left] + [\c!alternative=\v!left] % seldom used, move from kernel to run time module diff --git a/tex/context/base/file-job.lua b/tex/context/base/file-job.lua index dc51138f3..8fe686693 100644 --- a/tex/context/base/file-job.lua +++ b/tex/context/base/file-job.lua @@ -817,9 +817,9 @@ function commands.getcommandline() -- has to happen at the tex end in order to e local commandline = options.commandline - commandline.environments = table.append(commandline.environments,settings_to_array(validstring(arguments.environments))) - commandline.modules = table.append(commandline.modules, settings_to_array(validstring(arguments.modules))) - commandline.modes = table.append(commandline.modes, settings_to_array(validstring(arguments.modes))) + commandline.environments = table.append(commandline.environments,settings_to_array(validstring(arguments.environment))) + commandline.modules = table.append(commandline.modules, settings_to_array(validstring(arguments.usemodule))) + commandline.modes = table.append(commandline.modes, settings_to_array(validstring(arguments.mode))) -- diff --git a/tex/context/base/font-otf.lua b/tex/context/base/font-otf.lua index e1339aec9..1f12a1f37 100644 --- a/tex/context/base/font-otf.lua +++ b/tex/context/base/font-otf.lua @@ -1114,7 +1114,7 @@ actions["prepare lookups"] = function(data,filename,raw) end -- The reverse handler does a bit redundant splitting but it's seldom --- seen so we don' tbother too much. We could store the replacement +-- seen so we don't bother too much. We could store the replacement -- in the current list (value instead of true) but it makes other code -- uglier. Maybe some day. @@ -1132,6 +1132,22 @@ local function t_uncover(splitter,cache,covers) return result end +local function s_uncover(splitter,cache,cover) + if cover == "" then + return nil + else + local uncovered = cache[cover] + if not uncovered then + uncovered = lpegmatch(splitter,cover) +-- for i=1,#uncovered do +-- uncovered[i] = { [uncovered[i]] = true } +-- end + cache[cover] = uncovered + end + return { uncovered } + end +end + local function t_hashed(t,cache) if t then local ht = { } @@ -1153,22 +1169,6 @@ local function t_hashed(t,cache) end end -local function s_uncover(splitter,cache,cover) - if cover == "" then - return nil - else - local uncovered = cache[cover] - if not uncovered then - uncovered = lpegmatch(splitter,cover) - for i=1,#uncovered do - uncovered[i] = { [uncovered[i]] = true } - end - cache[cover] = uncovered - end - return uncovered - end -end - local s_hashed = t_hashed local function r_uncover(splitter,cache,cover,replacements) @@ -1193,11 +1193,15 @@ local function r_uncover(splitter,cache,cover,replacements) end end -actions["reorganize lookups"] = function(data,filename,raw) +actions["reorganize lookups"] = function(data,filename,raw) -- we could check for "" and n == 0 -- we prefer the before lookups in a normal order if data.lookups then local splitter = data.helpers.tounicodetable - local cache, h_cache = { }, { } + local t_u_cache = { } + local s_u_cache = t_u_cache -- string keys + local t_h_cache = { } + local s_h_cache = t_h_cache -- table keys (so we could use one cache) + local r_u_cache = { } -- maybe shared for _, lookup in next, data.lookups do local rules = lookup.rules if rules then @@ -1205,15 +1209,15 @@ actions["reorganize lookups"] = function(data,filename,raw) if format == "class" then local before_class = lookup.before_class if before_class then - before_class = t_uncover(splitter,cache,reversed(before_class)) + before_class = t_uncover(splitter,t_u_cache,reversed(before_class)) end local current_class = lookup.current_class if current_class then - current_class = t_uncover(splitter,cache,current_class) + current_class = t_uncover(splitter,t_u_cache,current_class) end local after_class = lookup.after_class if after_class then - after_class = t_uncover(splitter,cache,after_class) + after_class = t_uncover(splitter,t_u_cache,after_class) end for i=1,#rules do local rule = rules[i] @@ -1223,7 +1227,7 @@ actions["reorganize lookups"] = function(data,filename,raw) for i=1,#before do before[i] = before_class[before[i]] or { } end - rule.before = t_hashed(before,h_cache) + rule.before = t_hashed(before,t_h_cache) end local current = class.current local lookups = rule.lookups @@ -1234,14 +1238,14 @@ actions["reorganize lookups"] = function(data,filename,raw) lookups[i] = false -- e.g. we can have two lookups and one replacement end end - rule.current = t_hashed(current,h_cache) + rule.current = t_hashed(current,t_h_cache) end local after = class.after if after then for i=1,#after do after[i] = after_class[after[i]] or { } end - rule.after = t_hashed(after,h_cache) + rule.after = t_hashed(after,t_h_cache) end rule.class = nil end @@ -1256,18 +1260,18 @@ actions["reorganize lookups"] = function(data,filename,raw) if coverage then local before = coverage.before if before then - before = t_uncover(splitter,cache,reversed(before)) - rule.before = t_hashed(before,h_cache) + before = t_uncover(splitter,t_u_cache,reversed(before)) + rule.before = t_hashed(before,t_h_cache) end local current = coverage.current if current then - current = t_uncover(splitter,cache,current) - rule.current = t_hashed(current,h_cache) + current = t_uncover(splitter,t_u_cache,current) + rule.current = t_hashed(current,t_h_cache) end local after = coverage.after if after then - after = t_uncover(splitter,cache,after) - rule.after = t_hashed(after,h_cache) + after = t_uncover(splitter,t_u_cache,after) + rule.after = t_hashed(after,t_h_cache) end rule.coverage = nil end @@ -1279,22 +1283,22 @@ actions["reorganize lookups"] = function(data,filename,raw) if reversecoverage then local before = reversecoverage.before if before then - before = t_uncover(splitter,cache,reversed(before)) - rule.before = t_hashed(before,h_cache) + before = t_uncover(splitter,t_u_cache,reversed(before)) + rule.before = t_hashed(before,t_h_cache) end local current = reversecoverage.current if current then - current = t_uncover(splitter,cache,current) - rule.current = t_hashed(current,h_cache) + current = t_uncover(splitter,t_u_cache,current) + rule.current = t_hashed(current,t_h_cache) end local after = reversecoverage.after if after then - after = t_uncover(splitter,cache,after) - rule.after = t_hashed(after,h_cache) + after = t_uncover(splitter,t_u_cache,after) + rule.after = t_hashed(after,t_h_cache) end local replacements = reversecoverage.replacements if replacements then - rule.replacements = r_uncover(splitter,cache,current,replacements) + rule.replacements = r_uncover(splitter,r_u_cache,current,replacements) end rule.reversecoverage = nil end @@ -1305,19 +1309,19 @@ actions["reorganize lookups"] = function(data,filename,raw) local glyphs = rule.glyphs if glyphs then local fore = glyphs.fore - if fore then - fore = s_uncover(splitter,cache,fore) - rule.before = s_hashed(fore,h_cache) + if fore and fore ~= "" then + fore = s_uncover(splitter,s_u_cache,fore) + rule.before = s_hashed(fore,s_h_cache) end local back = glyphs.back if back then - back = s_uncover(splitter,cache,back) - rule.after = s_hashed(back,h_cache) + back = s_uncover(splitter,s_u_cache,back) + rule.after = s_hashed(back,s_h_cache) end local names = glyphs.names if names then - names = s_uncover(splitter,cache,names) - rule.current = s_hashed(names,h_cache) + names = s_uncover(splitter,s_u_cache,names) + rule.current = s_hashed(names,s_h_cache) end rule.glyphs = nil end diff --git a/tex/context/base/s-map-10.mkii b/tex/context/base/s-map-10.mkii index 865132f97..3446a214c 100644 --- a/tex/context/base/s-map-10.mkii +++ b/tex/context/base/s-map-10.mkii @@ -1,43 +1,29 @@ %\module [ -% file=s-map-se, -% version=2005.02.03, +% file=s-map-10.mkii, +% version=2012.06.06, % title=\CONTEXT\ Style File, -% subtitle=\MAPS\ basis stijl, +% subtitle=\MAPS\ journal style, % author={Hans Hagen, Taco Hoekwater and Siep Kroonenberg}, % date=\currentdate, % copyright={NTG / MAPS}% %] -% This module re-implements the MAPS style for use with the Context +% NOTE: this (MkII) version is not guaranteed to give exactly the +% same output as the MkIV one, and exists mostly for compatibility +% with old-fashioned authors. All final typesetting for the MAPS +% is done with MkIV. If you are reading this: please consider +% switching! + +% This module implements the MAPS style for use with the Context % macro package. The original MAPS layout was designed and % implemented in LaTeX by Taco Hoekwater and Siep Kroonenberg. -% This style will be cleaned up as soon as we have time for it. - -% - three layouts: -% 1. two columns -% 2. one column, with wide outer margins (option onecolumn) -% 3. one column, with wide left margin (option asym) -% - font sizes deviate from TeX's usual geometric progression -% - use of sans-serif for headers and various details -% - option realfonts uses Bitstream Charter, Euler Math and Latin Modern. -% This is used for final typesetting. -% The default font setup, intended for authors, uses Computer -% Modern. - -% A mode nosubsub defines only two levels of sectioning. If you -% don't need more and use the two-column layout, then this option -% will probably improve the looks of your paper. - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% pdftex support \newif\ifMapsInColumns \doifmode{asym}{\enablemode[onecolumn]} % implies onecolumn \doifnotmode{onecolumn}{\MapsInColumnstrue} -\enablemode[realfonts] - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% fonts @@ -58,14 +44,15 @@ \definebodyfontenvironment [9pt][% LaTeX: small interlinespace=10pt, big=10pt, - small=7pt,% + small=8pt,% x=7pt,% - script=7pt% + script=6pt% ] \definebodyfontenvironment [10pt][% LaTeX: normalsize interlinespace=11pt, big=11pt, + a=11pt, small=9pt,% x=8pt,% script=7pt% @@ -81,63 +68,54 @@ \definebodyfontenvironment [14pt][% interlinespace=14pt, - big=24pt, + big=18pt, small=11pt, x=10pt% ] +\definebodyfontenvironment [18pt][% + interlinespace=18pt, + big=24pt, + small=14pt, + x=10pt% +] + \definebodyfontenvironment [24pt][% interlinespace=24pt, big=24pt, - small=14pt, + small=18pt, x=11pt% ] -%%% font families - -\starttypescript [map] [texnansi] - - \definetypeface[map][ss][sans] [map] [default][encoding=\typescripttwo] - \definetypeface[map][rm][serif][charter] [default][encoding=\typescripttwo,rscale=0.95] - \definetypeface[map][tt][mono] [modern] [default][encoding=\typescripttwo] - \definetypeface[map][mm][math] [euler] [default][encoding=\typescripttwo] - -% \usemathcollection[eul] +%%% font families (no realfonts, no protruding) +\starttypescript [maps][ec] +\definetypeface [maps] [rm] [serif] [modern] [default] [encoding=ec,rscale=0.95] +\definetypeface [maps] [mm] [math] [modern] [computer-modern] +\definetypeface [maps] [tt] [mono] [modern] [default] [encoding=ec,rscale=0.90] +\definetypeface [maps] [ss] [sans] [modern] [default] [encoding=ec,rscale=0.95] \stoptypescript -% activate protruding +\writestatus{maps\space warning}{This, the MkII style, is OUTDATED and UNSUPPORTED!} +\writestatus{maps\space warning}{Please consider using ConTeXt MkIV instead.} -\setupinterlinespace[line=11pt] +\startmode[realfonts] +\writestatus{maps\space error}{The MkII version of the module does not support 'realfonts'!} +\wait +\stopmode -\setupfontsynonym[handling=pure] +\setupbodyfont[maps,10pt,rm] -\setupalign[hanging] - -\usetypescript[map][texnansi] - -\setupbodyfont [map,10pt] +\setupinterlinespace[line=11pt] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% additional general typographic details \setupindenting [yes,next,11pt] % indenting after enumerations etc. -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% 3 versions of layout with matching headers - -% I would like to move the entire layout slightly toward the spine, -% but Context seems to provide no good handle for that. -% So instead, I'll use a two-column layout centered on the page and -% matching single-column layouts. - -% It is easy to do the shift toward the spine when assembling the -% volume with LaTeX pdfpages. - -\definepapersize [maps][% - width=595.3bp, % 21cm - height=756bp% 10.5in -] +\definepapersize + [maps] + [width=21cm,height=26.5cm] \setuppapersize [maps][maps] @@ -146,7 +124,7 @@ \setuplayout[% topspace=40pt, - height=692pt, + height=688pt, header=33pt, margin=106pt, leftmargindistance=11pt, @@ -177,36 +155,38 @@ \setupheads[sectionnumber=no, align=right] -\def\hfonti{\bfa} -\def\hfontii{\bf} -\def\hfontiii{\rm\bi} +\def\hfonti{\ssbfa} +\def\hfontii{\ssbf} +\def\hfontiii{\rm\it} \def\runin#1#2{#2.} \doifmodeelse{nosubsub}{% \setuphead [section][% style=\hfontii, - before={\blank[halfline]}, + before={\blank[line]}, after={}% ] \setuphead [subsection][% style=\hfontiii, command=\runin, alternative=text, + distance=6pt, before={\blank[halfline]}% ]}{% \setuphead [section][% style=\hfonti, - before={\blank[13pt]}, - after={\blank[6pt]}% + before={\blank[line]}, + after={\blank[halfline]}% ] \setuphead [subsection][% style=\hfontii, - before={\blank[6pt]}, + before={\blank[halfline]}, after={}% ] \setuphead [subsubsection][% style=\hfontiii, command=\runin, + distance=6pt, alternative=text, before={\blank[halfline]}% ]} @@ -243,23 +223,18 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% floats -\setupfloats [location=left, before={\ss}] -\setupcaptions [style={\ss}, - stopper=., +\setupfloats [location=center, before={\ss}] +\setupcaptions [headstyle={\ssbf},style={\ssx}, + suffix=,distance=6pt, inbetween={\blank[halfline]}] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% various document elements -%\startnotmode[realfonts] \def\ChkBox{% \hbox {\boxrulewidth=.4pt \raise.2ex\ruledvbox {\phantom{\vrule width .85ex height .85ex% }}}} -%\stopnotmode -%\startmode[realfonts] -%\def\ChkBox{\raise.12ex\hbox{\ws \char50}} -%\stopmode \definesymbol [1][\ChkBox] \setupitemize[1][packed] @@ -289,8 +264,7 @@ \setupdescriptions [indentnext=no] \unexpanded\def\smalltyping{% - \switchtobodyfont[tt,9pt]% - \setuplocalinterlinespace[line=11pt]% + \switchtobodyfont[tt]% \parindent=0pt } @@ -298,20 +272,23 @@ % - prettyverbatim is NOT the default % - smaller size +\unexpanded\def + \XeTeX{X\lower.5ex\hbox{\kern-.1em\mirror{E}}\kern-.1667em\TeX} + \setuptyping [% style={\smalltyping}, option=none, indentnext=no% ] -\def\footnum#1{#1.} +\def\footnum#1{#1.} \setupfootnotes [location=none, width=\textwidth, - bodyfont=9pt, - before=, - numbercommand=\footnum] + before={\blank}, + numbercommand=, + command=\footnum] \setupfootnotedefinition [location=serried, @@ -325,14 +302,15 @@ after=\blank] \def\startIntroEntry#1% - {\blank[line] - \startbaselinecorrection + {\startlinecorrection \bgroup \setupalign[right] \setuptolerance[verytolerant] \setupindenting[no] + \noindent \switchtobodyfont[9pt]% - \hyphenpenalty10000 + \setuplocalinterlinespace[line=10pt]% + %\hyphenpenalty10000 \parfillskip 0pt plus 1fill \rightskip6pt plus 1fill \ss @@ -340,7 +318,8 @@ \ignorespaces } \def\stopIntroEntry - {\par\egroup \stopbaselinecorrection} + {\par\egroup \stoplinecorrection + \blank[line] } \def\defineIntroEntry[#1][#2][#3]% {\setvalue{start#1}{\startIntroEntry{#2}}% @@ -358,12 +337,25 @@ Email=, Address=, Page=1, - Title=No Title given, - Author=No Author given, - Period=, - Number=99, - Year=2006, + Title=, + Author=, + Period=, + Number=, + Year=, #1]% + \doifnothing{\MapsPeriod}{% + \ifnum \normalmonth<6 \gdef\MapsPeriod{VOORJAAR}\else \gdef\MapsPeriod{NAJAAR}\fi} + \doifinstringelse{oorjaar}{\MapsPeriod}{\gdef\MapsPeriod{VOORJAAR}}{}% + \doifinstringelse{pring}{\MapsPeriod}{\gdef\MapsPeriod{VOORJAAR}}{}% + \doifinstringelse{ajaar}{\MapsPeriod}{\gdef\MapsPeriod{NAJAAR}}{}% + \doifinstringelse{utumn}{\MapsPeriod}{\gdef\MapsPeriod{NAJAAR}}{}% + \doifnothing{\MapsYear}{\gdef\MapsYear{\the\year}}% + \doifnothing{\MapsNumber}{% + \ifnum \normalmonth<6 + \xdef\MapsNumber{\the\numexpr (\the\year-1990)*2\relax}% + \else + \xdef\MapsNumber{\the\numexpr (\the\year-1990)*2+1\relax}% + \fi }% \doifnothing\MapsRunningAuthor {\global\let\MapsRunningAuthor\MapsAuthor}% \doifnothing\MapsRunningTitle @@ -372,28 +364,30 @@ \def\dostartArticle[#1]{% \MapsBibData[#1] \pageno=\MapsPage - \count0=\MapsPage - \setuppagenumber[number=\MapsPage] + \setuppagenumber[start=\MapsPage] + \startbaselinecorrection \bgroup \hsize = 457pt \let\\\crlf - \blank[29pt,force] - \switchtobodyfont[rm,24pt] + \blank[35pt,force] + \switchtobodyfont[24pt] \setupalign[right] - {\bf\noindent\MapsTitle\par\blank[6pt]} - \ifx\MapsSubTitle\empty \else - { \switchtobodyfont[ss,24pt]\sl\noindent - \advance \rightskip 0pt plus 2em - \MapsSubTitle\par} + {\noindent\bf\MapsTitle\par} + \ifx\MapsSubTitle\empty + \blank[30pt] + \else + \bgroup + \blank[12pt] + \switchtobodyfont[18pt]\noindent \it + \advance \rightskip 0pt plus 2em + \MapsSubTitle\par + \egroup + \blank[30pt] \fi - \doifmodeelse{newstyle} - {\blank[22pt]} - {\blank[30pt]} \egroup - \switchtobodyfont[rm,10pt] - \doifmode{newstyle} - {\noindent\MapsAuthor\blank[line]} \setupalign[width] + \switchtobodyfont[rm,10pt] + \stopbaselinecorrection \ifMapsInColumns \startcolumns\hyphenpenalty1000 \else @@ -402,16 +396,20 @@ \fi } -\definecolumnset[mapsset][n=2,grid=on] - \def\startArticle{\dosingleempty\dostartArticle} -\def\stopArticle{% - {\blank\let\\\crlf +\def\signArticle{% + \blank\let\\\crlf \noindent\switchtobodyfont[ss,9pt]% \MapsAuthor \doifsomething{\MapsAddress}{\\\MapsAddress}% - \doifsomething{\MapsEmail}{\\\MapsEmail}}% + \doifsomething{\MapsEmail}{\\\MapsEmail}% + \switchtobodyfont[10pt]% + \def\signArticle{}% +} + +\def\stopArticle{% + \par\signArticle \ifMapsInColumns \stopcolumns \fi \page } @@ -420,15 +418,23 @@ %%% `logos' %%%%%%%%%%%%%%%%%%%%%%%%%% -\def\LATEX{La\TeX} -\def\LaTeX{La\TeX} -\def\TEX{\TeX} +\unexpanded\def\LaTeX % requested by erik frambach + {{\setbox\scratchbox\hbox{L}% + \scratchdimen\ht\scratchbox + \setbox\scratchbox\hbox{\switchtobodyfont[script]A}% + L\kern-.55\wd\scratchbox + \raise\scratchdimen\hbox{\lower\ht\scratchbox\copy\scratchbox}% + \kern-.2\wd\scratchbox\TeX}} + + \def\CONTEXT{Con{\TeX}t} \def\ConTeXt{Con{\TeX}t} \def\METAFONT{Metafont} \def\METAPOST{MetaPost} \def\POSTSCRIPT{PostScript} +\def\acro#1{{\switchtobodyfont[9pt]#1}} + %%%%%%%%%%% @@ -440,8 +446,8 @@ \setuppagenumbering [alternative={singlesided,doublesided}] \setupheadertexts [{\hbox{}\hskip-117pt\TiHead}] - [{{\tfx\MapsPeriod~}\MapsYear\quad\bf\pagenumber\hskip-30pt\hbox{}}] - [{\hbox{}\hskip-147pt{\bf\pagenumber}\quad {\tfx MAPS~}\MapsNumber}] + [{\cap{\MapsPeriod\ \MapsYear}\quad\bf \pagenumber\hskip-30pt\hbox{}}] + [{\hbox{}\hskip-147pt{\bf \pagenumber}\quad \cap {maps\ \MapsNumber}}] [\AuHead] \setupfootertexts }{% one col, symmetric @@ -450,8 +456,8 @@ \setuptyping[blank=halfline] \setupheadertexts [\TiHead] - [{{\tfx\MapsPeriod~}\MapsYear\quad\bf\pagenumber\hskip-147pt\hbox{}}] - [{\hbox{}\hskip-147pt{\bf\pagenumber}\quad {\tfx MAPS~}\MapsNumber}] + [{\cap{\MapsPeriod\ \MapsYear}\quad\bf \pagenumber\hskip-147pt\hbox{}}] + [{\hbox{}\hskip-147pt{\bf \pagenumber}\quad \cap {maps\ \MapsNumber}}] [\AuHead] \setupfootertexts }}{% two col @@ -462,27 +468,24 @@ \setuptyping[blank=halfline] \setupheadertexts [\TiHead] - [{{\tfx\MapsPeriod~}\MapsYear\quad\bf\pagenumber\hskip-30pt\hbox{}}] - [{\hbox{}\hskip-30pt{\bf\pagenumber}\quad {\tfx MAPS~}\MapsNumber}] + [{\cap{\MapsPeriod\ \MapsYear}\quad\bf \pagenumber\hskip-30pt\hbox{}}] + [{\hbox{}\hskip-30pt{\bf \pagenumber}\quad \cap {maps\ \MapsNumber}}] [\AuHead] \setupfootertexts } -%\MapsBibData -% [] - -%\abovedisplayskip = 12pt -%\abovedisplayshortskip = 6pt +\def\fulltextwidth{457pt} -\newdimen\iabovedisplayskip -\newdimen\iabovedisplayshortskip -%\let\abovedisplayskip\iabovedisplayskip -%\let\abovedisplayshortskip\iabovedisplayshortskip +\def\startdescription + {\blank + \bgroup + \def\sym##1{\par\noindent\hbox{\bf\kern -16pt ##1}\hskip 12pt} + \startnarrower[left] + } +\def\stopdescription + {\par \stopnarrower \egroup \blank \noindentation } -\setuplanguage - [nl] - [\c!leftquote=\upperleftsinglesixquote, - \c!leftquotation=\upperleftdoublesixquote] +\frenchspacing +\setuptolerance[tolerant] -%\protect \endinput diff --git a/tex/context/base/s-map-10.mkiv b/tex/context/base/s-map-10.mkiv index 17e65b225..33a372de8 100644 --- a/tex/context/base/s-map-10.mkiv +++ b/tex/context/base/s-map-10.mkiv @@ -1,18 +1,16 @@ %D \module -%D [file=s-map-10, -%D version=2011.06.28, +%D [file=s-map-10.mkiv, +%D version=2012.06.06, %D title=\CONTEXT\ Style File, -%D subtitle=\MAPS\ basis stijl, +%D subtitle=\MAPS\ journal style, %D author={Hans Hagen, Taco Hoekwater and Siep Kroonenberg}, %D date=\currentdate, %D copyright=NTG/MAPS] -% This module re-implements the MAPS style for use with the Context +% This module implements the MAPS style for use with the Context % macro package. The original MAPS layout was designed and % implemented in LaTeX by Taco Hoekwater and Siep Kroonenberg. -% This style will be cleaned up as soon as we have time for it. - % - three layouts: % 1. two columns % 2. one column, with wide outer margins (option onecolumn) @@ -100,10 +98,6 @@ %%% font families -\usetypescriptfile[type-libertine] - -\usetypescriptfile[type-inconsolata] - \starttypescript [maps] \definetypeface [maps] [rm] [serif] [modern] [default] [rscale=0.95] \definetypeface [maps] [mm] [math] [modern] [latin-modern] @@ -112,6 +106,10 @@ \stoptypescript \startmode[realfonts] +\usetypescriptfile[type-libertine] + +\usetypescriptfile[type-inconsolata] + \starttypescript [maps] \definetypeface [maps] [rm] [serif] [libertine] [default] \definetypeface [maps] [mm] [math] [euler] [default] [rscale=0.9] @@ -137,33 +135,20 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% 3 versions of layout with matching headers -% I would like to move the entire layout slightly toward the spine, -% but Context seems to provide no good handle for that. -% So instead, I'll use a two-column layout centered on the page and -% matching single-column layouts. +\definepapersize + [maps] + [width=21cm,height=26.5cm] -% It is easy to do the shift toward the spine when assembling the -% volume with LaTeX pdfpages. - -\definepapersize [maps][% - width=595.3bp, % 21cm - height=756bp% 10.5in -] +\setuppapersize + [maps][maps] -\setuppapersize [maps][maps] - -% parameters: -% margin -> latex marginparwith - -\setuplayout[% - topspace=40pt, +\setuplayout[ + [topspace=40pt, height=688pt, header=33pt, margin=106pt, leftmargindistance=11pt, - rightmargindistance=11pt% -] - + rightmargindistance=11pt] \setupblank[5.5pt] @@ -174,13 +159,8 @@ \setupheader [style=\ss] \setupfooter [style=\ss] -\def\AuHead{% - %\ifnum\pageno=\MapsPage \hbox{}\else - \MapsRunningAuthor%\fi -} -\def\TiHead{% - \ifnum\pageno=\MapsPage \relax \MapsRunningAuthor %\hbox{} - \else \MapsRunningTitle\fi} +\def\AuHead{\MapsRunningAuthor} +\def\TiHead{\ifnum\pageno=\MapsPage \relax \MapsRunningAuthor \else \MapsRunningTitle\fi} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -312,17 +292,16 @@ \def\footnum#1{#1.} -\setupfootnotes - [location=none, - width=\textwidth, - before=\blank, - command=\footnum] - -\setupnotations +\setupnotation + [footnote] [alternative=serried, - numbercommand=, before=, after=, + location=none, + width=\textwidth, + before={\blank}, + numbercommand=, + command=\footnum, distance=0.5em] \setuptabulate diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 9e6ecb41c..9155dbeef 100644 Binary files a/tex/context/base/status-files.pdf and b/tex/context/base/status-files.pdf differ diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf index cc5f5e630..466493324 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf differ diff --git a/tex/context/base/util-prs.lua b/tex/context/base/util-prs.lua index ab1bfb8eb..392117f0c 100644 --- a/tex/context/base/util-prs.lua +++ b/tex/context/base/util-prs.lua @@ -60,10 +60,6 @@ local function set(key,value) hash[key] = value end -local function set(key,value) - hash[key] = value -end - local pattern_a_s = (pattern_a/set)^1 local pattern_b_s = (pattern_b/set)^1 local pattern_c_s = (pattern_c/set)^1 @@ -114,7 +110,7 @@ end local separator = comma * space^0 local value = P(lbrace * C((nobrace + nested)^0) * rbrace) + C((nested + (1-comma))^0) -local pattern = Ct(value*(separator*value)^0) +local pattern = spaces * Ct(value*(separator*value)^0) -- "aap, {noot}, mies" : outer {} removes, leading spaces ignored diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index e1172be78..a51f460ae 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : luatex-fonts-merged.lua -- parent file : luatex-fonts.lua --- merge date : 06/06/12 10:23:15 +-- merge date : 06/07/12 18:39:35 do -- begin closure to overcome local limits and interference @@ -6518,7 +6518,7 @@ actions["prepare lookups"] = function(data,filename,raw) end -- The reverse handler does a bit redundant splitting but it's seldom --- seen so we don' tbother too much. We could store the replacement +-- seen so we don't bother too much. We could store the replacement -- in the current list (value instead of true) but it makes other code -- uglier. Maybe some day. @@ -6536,6 +6536,22 @@ local function t_uncover(splitter,cache,covers) return result end +local function s_uncover(splitter,cache,cover) + if cover == "" then + return nil + else + local uncovered = cache[cover] + if not uncovered then + uncovered = lpegmatch(splitter,cover) +-- for i=1,#uncovered do +-- uncovered[i] = { [uncovered[i]] = true } +-- end + cache[cover] = uncovered + end + return { uncovered } + end +end + local function t_hashed(t,cache) if t then local ht = { } @@ -6557,22 +6573,6 @@ local function t_hashed(t,cache) end end -local function s_uncover(splitter,cache,cover) - if cover == "" then - return nil - else - local uncovered = cache[cover] - if not uncovered then - uncovered = lpegmatch(splitter,cover) - for i=1,#uncovered do - uncovered[i] = { [uncovered[i]] = true } - end - cache[cover] = uncovered - end - return uncovered - end -end - local s_hashed = t_hashed local function r_uncover(splitter,cache,cover,replacements) @@ -6597,11 +6597,15 @@ local function r_uncover(splitter,cache,cover,replacements) end end -actions["reorganize lookups"] = function(data,filename,raw) +actions["reorganize lookups"] = function(data,filename,raw) -- we could check for "" and n == 0 -- we prefer the before lookups in a normal order if data.lookups then local splitter = data.helpers.tounicodetable - local cache, h_cache = { }, { } + local t_u_cache = { } + local s_u_cache = t_u_cache -- string keys + local t_h_cache = { } + local s_h_cache = t_h_cache -- table keys (so we could use one cache) + local r_u_cache = { } -- maybe shared for _, lookup in next, data.lookups do local rules = lookup.rules if rules then @@ -6609,15 +6613,15 @@ actions["reorganize lookups"] = function(data,filename,raw) if format == "class" then local before_class = lookup.before_class if before_class then - before_class = t_uncover(splitter,cache,reversed(before_class)) + before_class = t_uncover(splitter,t_u_cache,reversed(before_class)) end local current_class = lookup.current_class if current_class then - current_class = t_uncover(splitter,cache,current_class) + current_class = t_uncover(splitter,t_u_cache,current_class) end local after_class = lookup.after_class if after_class then - after_class = t_uncover(splitter,cache,after_class) + after_class = t_uncover(splitter,t_u_cache,after_class) end for i=1,#rules do local rule = rules[i] @@ -6627,7 +6631,7 @@ actions["reorganize lookups"] = function(data,filename,raw) for i=1,#before do before[i] = before_class[before[i]] or { } end - rule.before = t_hashed(before,h_cache) + rule.before = t_hashed(before,t_h_cache) end local current = class.current local lookups = rule.lookups @@ -6638,14 +6642,14 @@ actions["reorganize lookups"] = function(data,filename,raw) lookups[i] = false -- e.g. we can have two lookups and one replacement end end - rule.current = t_hashed(current,h_cache) + rule.current = t_hashed(current,t_h_cache) end local after = class.after if after then for i=1,#after do after[i] = after_class[after[i]] or { } end - rule.after = t_hashed(after,h_cache) + rule.after = t_hashed(after,t_h_cache) end rule.class = nil end @@ -6660,18 +6664,18 @@ actions["reorganize lookups"] = function(data,filename,raw) if coverage then local before = coverage.before if before then - before = t_uncover(splitter,cache,reversed(before)) - rule.before = t_hashed(before,h_cache) + before = t_uncover(splitter,t_u_cache,reversed(before)) + rule.before = t_hashed(before,t_h_cache) end local current = coverage.current if current then - current = t_uncover(splitter,cache,current) - rule.current = t_hashed(current,h_cache) + current = t_uncover(splitter,t_u_cache,current) + rule.current = t_hashed(current,t_h_cache) end local after = coverage.after if after then - after = t_uncover(splitter,cache,after) - rule.after = t_hashed(after,h_cache) + after = t_uncover(splitter,t_u_cache,after) + rule.after = t_hashed(after,t_h_cache) end rule.coverage = nil end @@ -6683,22 +6687,22 @@ actions["reorganize lookups"] = function(data,filename,raw) if reversecoverage then local before = reversecoverage.before if before then - before = t_uncover(splitter,cache,reversed(before)) - rule.before = t_hashed(before,h_cache) + before = t_uncover(splitter,t_u_cache,reversed(before)) + rule.before = t_hashed(before,t_h_cache) end local current = reversecoverage.current if current then - current = t_uncover(splitter,cache,current) - rule.current = t_hashed(current,h_cache) + current = t_uncover(splitter,t_u_cache,current) + rule.current = t_hashed(current,t_h_cache) end local after = reversecoverage.after if after then - after = t_uncover(splitter,cache,after) - rule.after = t_hashed(after,h_cache) + after = t_uncover(splitter,t_u_cache,after) + rule.after = t_hashed(after,t_h_cache) end local replacements = reversecoverage.replacements if replacements then - rule.replacements = r_uncover(splitter,cache,current,replacements) + rule.replacements = r_uncover(splitter,r_u_cache,current,replacements) end rule.reversecoverage = nil end @@ -6709,19 +6713,19 @@ actions["reorganize lookups"] = function(data,filename,raw) local glyphs = rule.glyphs if glyphs then local fore = glyphs.fore - if fore then - fore = s_uncover(splitter,cache,fore) - rule.before = s_hashed(fore,h_cache) + if fore and fore ~= "" then + fore = s_uncover(splitter,s_u_cache,fore) + rule.before = s_hashed(fore,s_h_cache) end local back = glyphs.back if back then - back = s_uncover(splitter,cache,back) - rule.after = s_hashed(back,h_cache) + back = s_uncover(splitter,s_u_cache,back) + rule.after = s_hashed(back,s_h_cache) end local names = glyphs.names if names then - names = s_uncover(splitter,cache,names) - rule.current = s_hashed(names,h_cache) + names = s_uncover(splitter,s_u_cache,names) + rule.current = s_hashed(names,s_h_cache) end rule.glyphs = nil end -- cgit v1.2.3