summaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
authorContext Git Mirror Bot <phg42.2a@gmail.com>2016-03-02 17:15:08 +0100
committerContext Git Mirror Bot <phg42.2a@gmail.com>2016-03-02 17:15:08 +0100
commit62676780b4363d25d7a247f39484b1e4a34ef7b7 (patch)
tree8678e13eee0b805e7c972b9885f21b9747493ee4 /tex
parent2a958dcf22dd71ba1e4408648676d44c16d7e3bf (diff)
downloadcontext-62676780b4363d25d7a247f39484b1e4a34ef7b7.tar.gz
2016-03-02 16:58:00
Diffstat (limited to 'tex')
-rw-r--r--tex/context/base/context-version.pdfbin4170 -> 4174 bytes
-rw-r--r--tex/context/base/mkiv/cldf-ini.lua2
-rw-r--r--tex/context/base/mkiv/cont-new.mkiv2
-rw-r--r--tex/context/base/mkiv/context.mkiv2
-rw-r--r--tex/context/base/mkiv/font-otc.lua42
-rw-r--r--tex/context/base/mkiv/font-otn.lua2
-rw-r--r--tex/context/base/mkiv/font-ots.lua2
-rw-r--r--tex/context/base/mkiv/font-tfm.lua3
-rw-r--r--tex/context/base/mkiv/l-lua.lua14
-rw-r--r--tex/context/base/mkiv/luat-mac.lua2
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin8977 -> 8976 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin267251 -> 266024 bytes
-rw-r--r--tex/context/base/mkiv/strc-not.lua3
-rw-r--r--tex/context/base/mkiv/symb-run.mkiv16
-rw-r--r--tex/context/base/mkiv/typo-krn.lua12
-rw-r--r--tex/context/modules/mkiv/m-scite.mkiv21
-rw-r--r--tex/context/modules/mkiv/s-tugboat-columns.mkiv556
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua18
18 files changed, 640 insertions, 57 deletions
diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf
index 541b6a783..a13d3088a 100644
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/cldf-ini.lua b/tex/context/base/mkiv/cldf-ini.lua
index 4da01e8e1..0c39f72f5 100644
--- a/tex/context/base/mkiv/cldf-ini.lua
+++ b/tex/context/base/mkiv/cldf-ini.lua
@@ -193,7 +193,7 @@ local registerfunction, unregisterfunction, reservefunction, knownfunctions, cal
local f_resolve = nil
local p_resolve = ((1-lpegP("."))^1 / function(s) f_resolve = f_resolve[s] end * lpegP(".")^0)^1
- function resolvestoredfunction(str)
+ local function resolvestoredfunction(str)
f_resolve = global
lpegmatch(p_resolve,str)
return f_resolve
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index ea60d4a45..8687bf616 100644
--- a/tex/context/base/mkiv/cont-new.mkiv
+++ b/tex/context/base/mkiv/cont-new.mkiv
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2016.03.01 14:03}
+\newcontextversion{2016.03.02 16:55}
%D This file is loaded at runtime, thereby providing an excellent place for
%D hacks, patches, extensions and new features.
diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv
index 44d760fb3..d8a2e57de 100644
--- a/tex/context/base/mkiv/context.mkiv
+++ b/tex/context/base/mkiv/context.mkiv
@@ -39,7 +39,7 @@
%D up and the dependencies are more consistent.
\edef\contextformat {\jobname}
-\edef\contextversion{2016.03.01 14:03}
+\edef\contextversion{2016.03.02 16:55}
\edef\contextkind {beta}
%D For those who want to use this:
diff --git a/tex/context/base/mkiv/font-otc.lua b/tex/context/base/mkiv/font-otc.lua
index 0cc7b58b0..d4c98d6fc 100644
--- a/tex/context/base/mkiv/font-otc.lua
+++ b/tex/context/base/mkiv/font-otc.lua
@@ -60,14 +60,6 @@ local function addfeature(data,feature,specifications)
return
end
-- feature has to be unique but the name entry wins eventually
- -- local gsubfeatures = features.gsub
- -- if gsubfeatures and gsubfeatures[feature] then
- -- return -- already present
- -- end
- -- local gposfeatures = features.gpos
- -- if gposfeatures and gposfeatures[feature] then
- -- return -- already present
- -- end
-- todo alse gpos
@@ -454,6 +446,9 @@ local function addfeature(data,feature,specifications)
elseif featuretype == "chainposition" then
category = "gpos"
coverage = prepare_chain(list,featuretype,sublookups)
+ else
+ report_otf("not registering feature %a, unknown category",feature)
+ return
end
if coverage and next(coverage) then
nofsteps = nofsteps + 1
@@ -487,28 +482,17 @@ local function addfeature(data,feature,specifications)
insert(sequences,sequence)
end
-- register in metadata (merge as there can be a few)
- local k = nil
- if category == "gpos" then
- if not gposfeatures then
- gposfeatures = { }
- fontfeatures.gpos = gposfeatures
- end
- k = gposfeatures[feature]
- if not k then
- k = { }
- gposfeatures[feature] = k
- end
- else
- if not gsubfeatures then
- gsubfeatures = { }
- fontfeatures.gsub = gsubfeatures
- end
- k = gsubfeatures[feature]
- if not k then
- k = { }
- gsubfeatures[feature] = k
- end
+ local features = fontfeatures[category]
+ if not features then
+ features = { }
+ fontfeatures[category] = features
+ end
+ local k = features[feature]
+ if not k then
+ k = { }
+ features[feature] = k
end
+ --
for script, languages in next, askedfeatures do
local kk = k[script]
if not kk then
diff --git a/tex/context/base/mkiv/font-otn.lua b/tex/context/base/mkiv/font-otn.lua
index 8815f2a14..e1228d004 100644
--- a/tex/context/base/mkiv/font-otn.lua
+++ b/tex/context/base/mkiv/font-otn.lua
@@ -2709,7 +2709,7 @@ local handle_contextchain = nil
-- normal_handle_contextchain(head,start,kind,chainname,contexts,sequence,lookuphash)
-function chained_contextchain(head,start,stop,...)
+local function chained_contextchain(head,start,stop,...)
local steps = currentlookup.steps
local nofsteps = currentlookup.nofsteps
if nofsteps > 1 then
diff --git a/tex/context/base/mkiv/font-ots.lua b/tex/context/base/mkiv/font-ots.lua
index 5cbdbab23..e2cccebe8 100644
--- a/tex/context/base/mkiv/font-ots.lua
+++ b/tex/context/base/mkiv/font-ots.lua
@@ -2713,7 +2713,7 @@ handlers.gpos_context = handle_contextchain
-- this needs testing
-function chained_contextchain(head,start,stop,dataset,sequence,currentlookup,rlmode)
+local function chained_contextchain(head,start,stop,dataset,sequence,currentlookup,rlmode)
local steps = currentlookup.steps
local nofsteps = currentlookup.nofsteps
if nofsteps > 1 then
diff --git a/tex/context/base/mkiv/font-tfm.lua b/tex/context/base/mkiv/font-tfm.lua
index 2dd576849..83ac2f0d8 100644
--- a/tex/context/base/mkiv/font-tfm.lua
+++ b/tex/context/base/mkiv/font-tfm.lua
@@ -34,6 +34,7 @@ local registertfmfeature = tfmfeatures.register
constructors.resolvevirtualtoo = false -- wil be set in font-ctx.lua
fonts.formats.tfm = "type1" -- we need to have at least a value here
+fonts.formats.ofm = "type1" -- we need to have at least a value here
--[[ldx--
<p>The next function encapsulates the standard <l n='tfm'/> loader as
@@ -196,3 +197,5 @@ function readers.tfm(specification)
end
return check_tfm(specification,fullname)
end
+
+readers.ofm = readers.tfm
diff --git a/tex/context/base/mkiv/l-lua.lua b/tex/context/base/mkiv/l-lua.lua
index cb6182907..b90f37e3d 100644
--- a/tex/context/base/mkiv/l-lua.lua
+++ b/tex/context/base/mkiv/l-lua.lua
@@ -19,12 +19,20 @@ if not modules then modules = { } end modules ['l-lua'] = {
-- compatibility hacksand helpers
-local major, minor = string.match(_VERSION,"^[^%d]+(%d+)%.(%d+).*$")
+_MAJORVERSION, _MINORVERSION = string.match(_VERSION,"^[^%d]+(%d+)%.(%d+).*$")
-_MAJORVERSION = tonumber(major) or 5
-_MINORVERSION = tonumber(minor) or 1
+_MAJORVERSION = tonumber(_MAJORVERSION) or 5
+_MINORVERSION = tonumber(_MINORVERSION) or 1
_LUAVERSION = _MAJORVERSION + _MINORVERSION/10
+if _LUAVERSION < 5.2 and jit then
+ --
+ -- we want loadstring cum suis to behave like 5.2
+ --
+ _MINORVERSION = 2
+ _LUAVERSION = 5.2
+end
+
-- lpeg
if not lpeg then
diff --git a/tex/context/base/mkiv/luat-mac.lua b/tex/context/base/mkiv/luat-mac.lua
index 6214e591e..4274fe9f9 100644
--- a/tex/context/base/mkiv/luat-mac.lua
+++ b/tex/context/base/mkiv/luat-mac.lua
@@ -41,7 +41,7 @@ local function set(s)
h = rep("#",2^(ns-1))
hashes[ns] = h
end
- m = h .. n
+ local m = h .. n
top[s] = m
return m
end
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index ed06b4547..e84b45754 100644
--- a/tex/context/base/mkiv/status-files.pdf
+++ b/tex/context/base/mkiv/status-files.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf
index a8fc8f408..adb87eeaa 100644
--- a/tex/context/base/mkiv/status-lua.pdf
+++ b/tex/context/base/mkiv/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/strc-not.lua b/tex/context/base/mkiv/strc-not.lua
index 024366438..ddbd2ae06 100644
--- a/tex/context/base/mkiv/strc-not.lua
+++ b/tex/context/base/mkiv/strc-not.lua
@@ -313,7 +313,8 @@ local function getdeltapage(tag,n)
local references = li.references
if references then
-- local symb = structures.references.collected[""]["symb:"..tag..":"..n]
- local symb = structures.references.collected[""]["*"..(references.internal or 0)]
+ local rymb = structures.references.collected[""]
+ local symb = rymb and rymb["*"..(references.internal or 0)]
local notepage = references.realpage or 0
local symbolpage = symb and symb.references.realpage or -1
if trace_references then
diff --git a/tex/context/base/mkiv/symb-run.mkiv b/tex/context/base/mkiv/symb-run.mkiv
index de17201c3..ed4d90861 100644
--- a/tex/context/base/mkiv/symb-run.mkiv
+++ b/tex/context/base/mkiv/symb-run.mkiv
@@ -19,7 +19,7 @@
context.start()
context.forcesymbolset { collection }
context.starttabulate { "|lT|l|l|" }
- local option = { framecolor = "orange", rulethickness = ".8pt", offset = interfaces.variables.overlay }
+ local options = { framecolor = "orange", rulethickness = ".8pt", offset = interfaces.variables.overlay }
for i=1,#symbols do
local symbol = symbols[i]
context.NC()
@@ -44,4 +44,16 @@
\gdef\symb_show_set[#1]%
{\ctxcommand{showsymbolset("#1","\symbolset{#1}")}}
-\protect \endinput
+\protect
+
+\continueifinputfile{symb-run.mkiv}
+
+\usesymbols[cc]
+
+\starttext
+
+ \showsymbolset[cc]
+
+ \symbol[cc][cc-by-sa-nc]
+
+\stoptext
diff --git a/tex/context/base/mkiv/typo-krn.lua b/tex/context/base/mkiv/typo-krn.lua
index cdb0a786c..9bf4a5a3b 100644
--- a/tex/context/base/mkiv/typo-krn.lua
+++ b/tex/context/base/mkiv/typo-krn.lua
@@ -243,7 +243,8 @@ local function inject_begin(boundary,prev,keeptogether,krn,ok) -- prev is a glyp
if charone > 0 then
local font = getfont(boundary)
local chartwo = getchar(boundary)
- local kerns = chardata[font][charone].kerns
+ local data = chardata[font][charone]
+ local kerns = data and data.kerns
local kern = new_kern((kerns and kerns[chartwo] or 0) + quaddata[font]*krn)
setlink(kern,boundary)
return kern, true
@@ -280,7 +281,8 @@ local function inject_end(boundary,next,keeptogether,krn,ok)
if charone > 0 then
local font = getfont(tail)
local chartwo = getchar(next)
- local kerns = chardata[font][charone].kerns
+ local data = chardata[font][charone]
+ local kerns = data and data.kerns
local kern = (kerns and kerns[chartwo] or 0) + quaddata[font]*krn
insert_node_after(boundary,tail,new_kern(kern))
return boundary, true
@@ -329,7 +331,8 @@ local function process_list(head,keeptogether,krn,font,okay)
-- keep 'm
else
local prevchar = getchar(prev)
- local kerns = chardata[font][prevchar].kerns
+ local data = chardata[font][prevchar]
+ local kerns = data and data.kerns
-- if kerns then
-- print("it happens indeed, basemode kerns not yet injected")
-- end
@@ -446,7 +449,8 @@ function kerns.handler(head)
if keeptogether and keeptogether(prev,start) then
-- keep 'm
else
- local kerns = chardata[font][prevchar].kerns
+ local data = chardata[font][prevchar]
+ local kerns = data and data.kerns
local kern = (kerns and kerns[char] or 0) + quaddata[font]*krn
insert_node_before(head,start,kern_injector(fillup,kern))
done = true
diff --git a/tex/context/modules/mkiv/m-scite.mkiv b/tex/context/modules/mkiv/m-scite.mkiv
index 9cf96253f..71f31bece 100644
--- a/tex/context/modules/mkiv/m-scite.mkiv
+++ b/tex/context/modules/mkiv/m-scite.mkiv
@@ -191,8 +191,17 @@ end
{\ctxlua{buffers.scite.installcommands()}%
\let\installscitecommands\relax}
-\unexpanded\def\startscite{\startlines}
-\unexpanded\def\stopscite {\stoplines}
+\unexpanded\def\startscite
+ {\begingroup
+ \dosingleempty\buff_scite_start}
+
+\def\buff_scite_start[#1]%
+ {\edef\currentscitelexer{#1}%
+ \dostartbuffer[@scite@][startscite][stopscite]}
+
+\unexpanded\def\stopscite
+ {\scitebuffer[\ifx\currentscitelexer\empty tex\else\currentscitelexer\fi][@scite@]%
+ \endgroup}
\unexpanded\def\scitefile
{\dosingleargument\module_scite_file}
@@ -204,9 +213,9 @@ end
\tt
\dontcomplain
\startcontextcode
- \startscite
+ \startlines
\getbuffer[lex]%
- \stopscite
+ \stoplines
\stopcontextcode
\stop}
@@ -224,9 +233,9 @@ end
\tt
\dontcomplain
\setcatcodetable\ctxcatcodes % needed in xml
- \startscite
+ \startlines
\getbuffer[lex]%
- \stopscite
+ \stoplines
\stop}
\protect
diff --git a/tex/context/modules/mkiv/s-tugboat-columns.mkiv b/tex/context/modules/mkiv/s-tugboat-columns.mkiv
new file mode 100644
index 000000000..f8cace1e9
--- /dev/null
+++ b/tex/context/modules/mkiv/s-tugboat-columns.mkiv
@@ -0,0 +1,556 @@
+%D \module
+%D [ file=t-tugboat
+%D version=$Id: t-tugboat.tex 91 2011-08-14 16:48:04Z karl $
+%D title=\CONTEXT\ Style File,
+%D subtitle=\TUGBOAT\ base style,
+%D author={Hans Hagen, Aditya Mahajan, \unknown},
+%D date=\currentdate,
+%D copyright=Public Domain]
+
+%D This file is derived t-tugboat by Aditya Mahajan which in turn is derived
+%D from older files. Here we use columnsets.
+
+\usemodule[newcolumnsets]
+
+%D We store the information about the article in variables.
+
+
+\setvariables
+ [tugboat]
+ [type=article,
+ %
+ year=1900,
+ volume=0,
+ number=0,
+ page=1001,
+ %
+ title=ConTeXt style for TUGboat,
+ subtitle=,
+ keywords=,
+ author=T. Boat,
+ address={Harbour Master KB \\ Harbour St. 1 \\ 8061GH Hasselt NL},
+ email={tugboat@tug.org}]
+
+%D \TUGBOAT\ uses slightly different interline space than the default. So we change
+%D the interline space.
+
+\definebodyfontenvironment [8pt] [interlinespace=9.5pt, big=9pt, small=7pt]
+\definebodyfontenvironment [9pt] [interlinespace=11pt, big=10pt, small=8pt]
+\definebodyfontenvironment [10pt] [interlinespace=12pt, big=12pt, small=9pt]
+\definebodyfontenvironment [12pt] [interlinespace=14pt, big=14.4pt,small=10pt]
+\definebodyfontenvironment [14.4pt] [interlinespace=18pt, big=14.4pt,small=12pt]
+
+%D We us e italic rather than slanted for emphasis.
+
+\setupbodyfontenvironment
+ [default]
+ [em=italic]
+
+%D \TUGBOAT\ uses Computer Modern fonts, and \CONTEXT\ uses Latin Modern by default.
+%D So, we just specify the font size.
+
+\setupbodyfont
+ [10pt]
+
+%D We break after these chars in urls, not before.
+
+\sethyphenatedurlafter /
+\sethyphenatedurlafter .
+\sethyphenatedurlafter _
+
+%D The original layout used in the \LATEX\ style for \TUGBOAT\ is a bit ambiguous.
+%D It uses low|-|level \TEX\ syntax, rather than changing the layout in a human
+%D understandable way (for example, by using the \mono{geometry} package. I have
+%D tried to translate it to \CONTEXT\ as far as I understand.
+
+\setuppapersize
+ [letter]
+ [letter]
+
+\setuplayout
+ [topspace=3.8pc,% was 3.5pc
+ header=1pc,
+ headerdistance=1.5pc,
+ height=middle,
+ footerdistance=2pc,
+ footer=1pc,
+ bottomspace=3pc,
+ %
+ backspace=6pc,
+ width=middle,
+ cutspace=6pc,
+ %
+ margin=4pc,
+ margindistance=1pc]
+
+\setupcolumnset
+ [distance=1.5pc]
+
+\setuppagenumbering
+ [location=,
+ alternative=doublesided]
+
+%D In \TUGBOAT\ different articles are glued together to form the final journal, so
+%D we do not want each article to occupy even number of pages.
+
+\installpagebreakhandler {last} {}
+
+%D We use automatic indentation control, that is: no indentation after titles and
+%D skips.
+
+\setupindenting
+ [20pt,yes]
+
+%D We do not want indentation after lists.
+
+\setupenumerations [indentnext=no]
+\setupdescriptions [indentnext=no]
+
+%D And these. We typeset itemizations ragged right.
+
+\setupitemgroup
+ [itemize]
+ [indentnext=no,
+ align=right]
+
+%D We align them at the paragraph indentation and pack them by default.
+
+\setupitemgroup
+ [itemize]
+ [each]
+ [margin=1pc,
+ width=1em,
+ distance=0pt]
+
+\setupitemgroup
+ [itemize]
+ [1]
+ [packed]
+
+%D We follow the \TUGBOAT\ style for sections. I do not know if \type {align=right}
+%D also disables hyphenation. Lets wait and see on this. Rest all is straight
+%D forward. It took me a while to realize that in \LATEX\ \type {\@startsection} the
+%D absolute value of before skip (fourth argument) is important and not the sign.
+
+\setuphead
+ [section,subsection,subsubsection,
+ subject,subsubject,subsubsubject]
+ [style=bold,
+ align=right,
+ before={\blank[8pt]},
+ after={\blank[4pt]}]
+
+%D We define a logical skip. This is equal to the \tex{topsep} in the normal style,
+%D and most environments should have this skip.
+
+\definevspacingamount[tugsmallamount] [3pt plus 1pt minus 1pt][.5\lineheight]
+\definevspacingamount[tugmediumamount][9pt plus 3pt minus 3pt][.5\lineheight]
+\definevspacingamount[tuglargeamount] [10pt plus 4pt minus 4pt][\lineheight]
+
+\defineblank[tugblank] [tugsmallamount]
+\defineblank[tugsmall] [tugsmallamount]
+\defineblank[tugmedium][tugmediumamount]
+\defineblank[tuglarge] [tuglargeamount]
+\defineblank[tughalf] [halfline]
+
+\setupblank
+ [tugblank]
+
+\setupitemize
+ [1]
+ [before={\blank[tugblank]},
+ after={\blank[tugblank]},
+ inbetween={\blank[tugblank]}]
+
+\setuplines
+ [before={\blank[tugblank]},
+ after={\blank[tugblank]},
+ inbetween={\blank[tugblank]}]
+
+%D \TUGBOAT\ uses a smaller font size for verbatim typesetting.
+
+\setuptyping
+ [option=none,
+ before={\blank[tugblank]\switchtobodyfont[small]},
+ after={\blank[tugblank]}]
+
+%D Not entirely a la \TUGBOAT:
+
+\unexpanded\def\MyFootNoteRule
+ {\hrule width 5pc height .4pt depth 0pt\relax \kern \strutdepth}
+
+\setupfootnotes
+ [bodyfont=8pt,
+ location=columns,
+ rule=on,
+ rulecommand=\MyFootNoteRule]
+
+\setupnotations
+ [location=joinedup,
+ width=fit,
+ headstyle=normal,
+ distance=.5em]
+
+%D We define a standard description and enumeration environment.
+
+\definedescription
+ [description]
+ [location=hanging,
+ width=broad,
+ before={\blank[tugblank]},
+ after={\blank[tugblank]}]
+
+\defineenumeration
+ [enumeration]
+ [location=hanging,
+ width=broad,
+ before={\blank[tugblank]},
+ after={\blank[tugblank]}]
+
+%D The bib does not handle urls nicely. So we provide a stop gap solution.
+
+\definereferenceformat
+ [cite]
+ [left={[},
+ right={]}]
+
+\defineitemgroup
+ [bibliography]
+ [levels=1]
+
+\setupitemgroup
+ [bibliography]
+ [symbol=n,
+ left={[},
+ right={]},
+ width=1.5em,
+ stopper=,
+ itemalign=flushright,
+ inbetween={\blank[small]}]
+
+%D Instead of color, we use weighted gray scales:
+
+\setupcolors
+ [conversion=always]
+
+%D English it is.
+
+\mainlanguage
+ [en]
+
+%D We define some logical skips
+
+\defineblank [tugbefore] [big]
+\defineblank [tuginbetween][big]
+\defineblank [tugafter] [tugbefore]
+
+%D Some real macros:
+
+\unexpanded\def\StartAbstract
+ {\dostartbuffer[abstract][StartAbstract][StopAbstract]}
+
+\startsetups tugboat:abstract:setup
+
+ \setuptolerance
+ [horizontal, tolerant]
+
+ \setupnarrower
+ [before={\blank[tughalf]},
+ after={\blank[tuglarge]},
+ middle=4.875pc]
+
+\stopsetups
+
+%D Headers and footers are different for normal issues and proceedings.
+
+\startsetups tugboat:banner:text:article
+
+% {\sl TUGboat},\space
+% Volume \getvariable{tugboat}{volume}\space
+% (\getvariable{tugboat}{year}),\space
+% No.\space\getvariable{tugboat}{number}
+
+\stopsetups
+
+\def\postissno{Proceedings of the \tubyear\ Annual Meeting}
+
+\startsetups tugboat:banner:text:proceedings
+
+ \setups[tugboat:banner:text:article]
+ \thinspace\emdash\thinspace
+ \postissno
+
+\stopsetups
+
+\startsetups tugboat:banner:setup:article
+
+ \setupheadertexts
+ [\setups{tugboat:banner:text:article}]
+ [pagenumber]
+
+% There are no footers in regular articles
+%
+% \setupfootertexts
+% [][\getvariable{tugboat}{author}]
+% [\getvariable{tugboat}{title}][]
+
+\stopsetups
+
+\startsetups tugboat:banner:setup:proceedings
+
+ \setupheadertexts
+ [][\getvariable{tugboat}{title}]
+ [\getvariable{tugboat}{author}][]
+
+ \setupfootertexts
+ [\setups{tugboat:banner:text:proceedings}]
+ [pagenumber]
+
+\stopsetups
+
+%D Article is default so,
+
+\setups[tugboat:banner:setup:article]
+
+%D It all starts here:
+
+\unexpanded\def\StartArticle{\directsetup{tugboat:\getvariable{tugboat}{type}:start}}
+\unexpanded\def\StopArticle {\directsetup{tugboat:article:stop}}
+
+\startsetups tugboat:introduction:article
+
+ \start
+ \unexpanded\def\\{\unskip\space\&\space\ignorespaces}
+ \hbox{\indent\getvariable{tugboat}{author}}
+ \par
+ \stop
+
+\stopsetups
+
+\startsetups tugboat:introduction:proceedings
+
+ \blank[20pt]
+
+ \start
+ \switchtobodyfont[12pt]
+ \def\\{\unskip\space\&\space\ignorespaces}
+ \getvariable{tugboat}{author}
+ \par
+ \stop
+
+ \start
+ \switchtobodyfont[9pt]
+ \unexpanded\def\\{\unskip,\space\ignorespaces}
+ \getvariable{tugboat}{address}
+ \par
+ \start
+ \tt
+ \getvariable{tugboat}{email}
+ \stop
+ \par
+ \stop
+
+\stopsetups
+
+\startsetups tugboat:columns:presets
+
+ % balancing data (heights)
+
+\stopsetups
+
+\startsetups tugboat:article:start
+
+ \starttext
+
+ \setups{tugboat:columns:presets}
+
+ \setups{tugboat:banner:setup:\getvariable{tugboat}{type}}
+
+ \startcolumnset
+
+ \setupheadertexts
+ [\setups{tugboat:banner:text:article}]
+ [pagenumber]
+
+ \setuppagenumber
+ [number=\getvariable{tugboat}{page}]
+
+ \snaptogrid \vbox \bgroup
+ \forgetall
+ \hrule height .6pt
+ \blank[halfline]
+ \start
+ \let\\=\par
+ \start
+ \bf
+ \getvariable{tugboat}{title}
+ \stop
+ \par
+ \blank[halfline]
+ \hskip20pt\getvariable{tugboat}{author}
+ \stop
+
+ \blank[line]
+
+ \doiftext {\getbuffer[abstract]} {
+ \let\\=\endgraf
+ \setups[tugboat:abstract:setup]
+ \startsubject[title={Abstract}]
+ \getbuffer[abstract]
+ \stopsubject
+ }
+ \egroup
+
+\stopsetups
+
+\startsetups tugboat:proceedings:start
+
+ \starttext
+
+ \setups{tugboat:banner:setup:\getvariable{tugboat}{type}}
+
+ \setupheader
+ [state=empty]
+
+ \setuppagenumber
+ [number=\getvariable{tugboat}{page}]
+
+ \snaptogrid \vbox \bgroup
+
+ \forgetall
+
+ \start
+ \switchtobodyfont[14.4pt]
+ \let\\=\par
+ \getvariable{tugboat}{title}
+ \par
+ \stop
+
+ \setups{tugboat:introduction:\getvariable{tugboat}{type}}
+
+ \blank[tugmedium]
+
+ \let\\=\par
+
+ \setups[tugboat:abstract:setup]
+
+ \midaligned{\bf Abstract}
+
+ \startnarrower[middle]
+ \getbuffer[abstract]
+ \stopnarrower
+
+ \egroup
+
+ \startcolumnset
+
+\stopsetups
+
+\def\signaturewidth{13pc}
+
+\startsetups tugboat:affiliation:article
+
+ \blank[line]
+
+ \snaptogrid \vbox \bgroup
+
+ \forgetall
+
+ \leftskip=\dimexpr\textwidth-\signaturewidth\relax
+
+ \let\\=\par
+
+ \dontleavehmode\llap {
+ $\diamond$\enspace
+ }
+ \getvariable{tugboat}{author}
+ \par
+
+ \getvariable{tugboat}{address}
+ \par
+
+ {\tt\getvariable{tugboat}{email}}
+
+ \egroup
+
+\stopsetups
+
+\startsetups tugboat:affiliation:proceedings
+
+ % nothing fancy at the end
+
+\stopsetups
+
+\startsetups tugboat:article:stop
+
+ \setups{tugboat:affiliation:\getvariable{tugboat}{type}}
+
+ \blank[line]
+
+ \startpacked
+ \placenote[endnotes]
+ \stoppacked
+
+ \stopcolumnset
+
+ \page
+
+ \stoptext
+
+\stopsetups
+
+%D Normal word spacing, really?
+
+\setuptolerance
+ [strict]
+
+%D Use this in documents:
+
+% \setuptolerance
+% [verytolerant,stretch]
+
+%D Logos, abbreviations (load a local file if needed).
+
+\usemodule[abr-03]
+
+% \unexpanded\def\Dash {\unskip\thinspace\emdash\thinspace\ignorespaces}
+% \unexpanded\def\slash{/\penalty\zerocount\hskip\zeropoint\relax} % |/|
+
+%D Language stuff.
+
+\hyphenation{Post-Script data-base data-bases}
+
+\setuplanguage
+ [lefthyphenmin=2,
+ rightthyphenmin=3]
+
+%D A hack to read tugboat.dates settings.
+
+\newcount\issueseqno
+
+\def\tubyear{1234}
+\def\tubvol {5}
+\def\tubnum {6}
+
+\def\issyear #1.{\def\tubyear{#1}}
+\def\vol #1, #2.{\def\tubvol {#1}%
+ \def\tubnum {#2}}
+
+%D Good bye.
+
+\continueifinputfile{s-tugboat-columns.mkiv}
+
+\StartArticle
+
+ \StartAbstract
+ \input bryson
+ \StopAbstract
+
+ \dorecurse{30}{\input ward \par} \page
+
+ \startitemize
+ \startitem \input ward \stopitem
+ \startitem \input ward \stopitem
+ \stopitemize
+
+\StopArticle
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 809b7ff2f..85cf556b5 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 : c:/data/develop/context/sources/luatex-fonts-merged.lua
-- parent file : c:/data/develop/context/sources/luatex-fonts.lua
--- merge date : 03/01/16 14:03:56
+-- merge date : 03/02/16 16:55:49
do -- begin closure to overcome local limits and interference
@@ -11,10 +11,14 @@ if not modules then modules={} end modules ['l-lua']={
copyright="PRAGMA ADE / ConTeXt Development Team",
license="see context related readme files"
}
-local major,minor=string.match(_VERSION,"^[^%d]+(%d+)%.(%d+).*$")
-_MAJORVERSION=tonumber(major) or 5
-_MINORVERSION=tonumber(minor) or 1
+_MAJORVERSION,_MINORVERSION=string.match(_VERSION,"^[^%d]+(%d+)%.(%d+).*$")
+_MAJORVERSION=tonumber(_MAJORVERSION) or 5
+_MINORVERSION=tonumber(_MINORVERSION) or 1
_LUAVERSION=_MAJORVERSION+_MINORVERSION/10
+if _LUAVERSION<5.2 and jit then
+ _MINORVERSION=2
+ _LUAVERSION=5.2
+end
if not lpeg then
lpeg=require("lpeg")
end
@@ -5858,7 +5862,8 @@ tfm.maxnestingsize=65536*1024
local tfmfeatures=constructors.newfeatures("tfm")
local registertfmfeature=tfmfeatures.register
constructors.resolvevirtualtoo=false
-fonts.formats.tfm="type1"
+fonts.formats.tfm="type1"
+fonts.formats.ofm="type1"
function tfm.setfeatures(tfmdata,features)
local okay=constructors.initializefeatures("tfm",tfmdata,features,trace_features,report_tfm)
if okay then
@@ -5984,6 +5989,7 @@ function readers.tfm(specification)
end
return check_tfm(specification,fullname)
end
+readers.ofm=readers.tfm
end -- closure
@@ -13863,7 +13869,7 @@ otf.chainhandlers={
verbose=verbose_handle_contextchain,
}
local handle_contextchain=nil
-function chained_contextchain(head,start,stop,...)
+local function chained_contextchain(head,start,stop,...)
local steps=currentlookup.steps
local nofsteps=currentlookup.nofsteps
if nofsteps>1 then