summaryrefslogtreecommitdiff
path: root/tex/context/base
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2012-05-22 02:40:13 +0300
committerMarius <mariausol@gmail.com>2012-05-22 02:40:13 +0300
commitffb360b52944514197aa47313c26816cd2fb7a7e (patch)
treeaf46811e825bb977838cd2db44646879f281b752 /tex/context/base
parent3821b4213bf250551cfa122313ae2c56f9923533 (diff)
downloadcontext-ffb360b52944514197aa47313c26816cd2fb7a7e.tar.gz
beta 2012.05.22 01:22
Diffstat (limited to 'tex/context/base')
-rw-r--r--tex/context/base/colo-ini.lua42
-rw-r--r--tex/context/base/colo-ini.mkii12
-rw-r--r--tex/context/base/colo-ini.mkiv9
-rw-r--r--tex/context/base/cont-new.mkii2
-rw-r--r--tex/context/base/cont-new.mkiv2
-rw-r--r--tex/context/base/context-version.pdfbin4074 -> 4069 bytes
-rw-r--r--tex/context/base/context-version.pngbin106092 -> 104586 bytes
-rw-r--r--tex/context/base/context.mkii2
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/font-ini.mkvi18
-rw-r--r--tex/context/base/font-mat.mkvi34
-rw-r--r--tex/context/base/grph-inc.lua2
-rw-r--r--tex/context/base/lxml-aux.lua30
-rw-r--r--tex/context/base/lxml-tab.lua2
-rw-r--r--tex/context/base/lxml-xml.lua42
-rw-r--r--tex/context/base/status-files.pdfbin24314 -> 24290 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin178785 -> 178850 bytes
-rw-r--r--tex/context/base/strc-con.mkvi1
-rw-r--r--tex/context/base/strc-des.mkvi49
-rw-r--r--tex/context/base/strc-not.mkvi27
-rw-r--r--tex/context/base/type-imp-latinmodern.mkiv76
21 files changed, 271 insertions, 81 deletions
diff --git a/tex/context/base/colo-ini.lua b/tex/context/base/colo-ini.lua
index 08f1a303f..747e2116f 100644
--- a/tex/context/base/colo-ini.lua
+++ b/tex/context/base/colo-ini.lua
@@ -835,3 +835,45 @@ commands.startcolorset = colors.pushset
commands.stopcolorset = colors.popset
commands.usecolors = colors.usecolors
+
+-- bonus
+
+function commands.pgfxcolorspec(ca) -- {}{}{colorspace}{list}
+ -- local cv = attributes.colors.values[ca]
+ local cv = colorvalues[ca]
+ if cv then
+ local model = cv[1]
+ if model == 2 then
+ context("{gray}{%1.3f}",cv[2])
+ elseif model == 3 then
+ context("{rgb}{%1.3f,%1.3f,%1.3f}",cv[3],cv[4],cv[5])
+ elseif model == 4 then
+ context("{cmyk}{%1.3f,%1.3f,%1.3f,%1.3f}",cv[6],cv[7],cv[8],cv[9])
+ else
+ context("{gray}{%1.3f}",cv[2])
+ end
+ else
+ context("{gray}{0}")
+ end
+end
+
+-- function commands.pgfregistercolor(name,attribute)
+-- local cv = colorvalues[ca]
+-- context.pushcatcodes('prt')
+-- if cv then
+-- local model = forcedmodel(cv[1])
+-- if model == 2 then
+-- context["pgfutil@definecolor"]("{%s}{gray}{%1.3f}",name,cv[2])
+-- elseif model == 3 then
+-- context["pgfutil@definecolor"]("{%s}{rgb}{%1.3f,%1.3f,%1.3f}",name,cv[3],cv[4],cv[5])
+-- elseif model == 4 then
+-- context["pgfutil@definecolor"]("{%s}{cmyk}{%1.3f,%1.3f,%1.3f,%1.3f}",name,cv[6],cv[7],cv[8],cv[9])
+-- else
+-- context["pgfutil@definecolor"]("{%s}{gray}{0}",name)
+-- end
+-- else
+-- context["pgfutil@definecolor"]("{%s}{gray}{0}",name)
+-- end
+-- context.popcatcodes()
+-- end
+
diff --git a/tex/context/base/colo-ini.mkii b/tex/context/base/colo-ini.mkii
index f14f1e15e..56b9d14da 100644
--- a/tex/context/base/colo-ini.mkii
+++ b/tex/context/base/colo-ini.mkii
@@ -2693,6 +2693,18 @@
\def\dointernalspotcolorname#1:#2:#3:#4:#5:#6:#7:#8\end{\if#1P\ifcase0#3 #1\else#2\fi\else#1\fi}
\def\dointernalspotcolorsize#1:#2:#3:#4:#5:#6:#7:#8\end{\if#1P\ifcase0#3 0\else#3\fi\else 0\fi}
+%D Because it's a persitent issue, we also provide
+
+\def\pgf@context@registercolor#1%
+ {\handlecolorwith\pgf@context@registercolor@indeed\csname\??cr#1\endcsname:::::::>#1\end}
+
+\def\pgf@context@registercolor@indeed#1:#2:#3:#4:#5:#6>#7\end
+ {\setevalue{\string\color@#7}{\noexpand\xcolor@{}{}%
+ \if#1R{rgb}{#2,#3,#4}\else
+ \if#1C{cmyk}{#2,#3,#4,#5}\else
+ \if#1S{gray}{#2}\else
+ {gray}{0}\fi\fi\fi}}
+
%D Slow but ok \unknown
\def\colorcomponents#1% might be broken
diff --git a/tex/context/base/colo-ini.mkiv b/tex/context/base/colo-ini.mkiv
index 21d70decb..5721bb513 100644
--- a/tex/context/base/colo-ini.mkiv
+++ b/tex/context/base/colo-ini.mkiv
@@ -738,6 +738,15 @@
%D
%D \stopmode
+\def\pgf@context@registercolor#1% bonus macro
+ {\setevalue{\string\color@#1}{\noexpand\xcolor@{}{}\ctxcommand{pgfxcolorspec(\thecolorattribute{#1})}}}
+
+%D \starttyping
+%D \ifdefined\pgf@context@registercolor
+%D \let\pgfutil@registercolor\pgf@context@registercolor
+%D \fi
+%D \stoptyping
+
%D \macros
%D {doifcolorelse, doifcolor}
%D
diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii
index 165cf971f..2cdbdb2cc 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.05.18 23:50}
+\newcontextversion{2012.05.22 01:22}
%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 b6532341c..462c58037 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.05.18 23:50}
+\newcontextversion{2012.05.22 01:22}
%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 a85b09e0b..0077d3618 100644
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files differ
diff --git a/tex/context/base/context-version.png b/tex/context/base/context-version.png
index 65df0f2da..1ff16a0eb 100644
--- a/tex/context/base/context-version.png
+++ b/tex/context/base/context-version.png
Binary files differ
diff --git a/tex/context/base/context.mkii b/tex/context/base/context.mkii
index a3abacbe7..6377f0513 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.05.18 23:50}
+\edef\contextversion{2012.05.22 01:22}
%D For those who want to use this:
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index 755d807ee..6f60b734c 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.05.18 23:50}
+\edef\contextversion{2012.05.22 01:22}
%D For those who want to use this:
diff --git a/tex/context/base/font-ini.mkvi b/tex/context/base/font-ini.mkvi
index f581a1685..61fa7afd1 100644
--- a/tex/context/base/font-ini.mkvi
+++ b/tex/context/base/font-ini.mkvi
@@ -1441,13 +1441,6 @@
% the rest is a size, although in practice one will seldom define the size directly. We might even
% drop that as it gives faster code.
-% \unexpanded\def\font_basics_define_body_font_nop_xx[#one#two#rest=#value]% local
-% {\ifcsname\m_font_asked_style#one#two#rest\endcsname\else\font_basics_check_fontname_combination\m_font_asked_style{#one#two}{#rest}\fi
-% \expandafter\let\csname\??fontinstanceclass\m_font_asked_body-\m_font_asked_style-#one#two-#rest\endcsname\undefined
-% \unexpanded\expandafter\normaledef\csname\??fontinstanceready\m_font_asked_body-\m_font_asked_style-#one#two-#rest\endcsname
-% {\font_helpers_trigger{\m_font_asked_body-\m_font_asked_style-#one#two#rest}{\noexpand\font_rscale_xx{\m_font_asked_style}}{\m_font_asked_body}{\normalunexpanded{#value}}}%
-% }
-
\unexpanded\def\font_basics_define_body_font_nop_xx[#one#two#rest=#value]% local
{\ifcsname\m_font_asked_style#one#two#rest\endcsname\else\font_basics_check_fontname_combination\m_font_asked_style{#one#two}{#rest}\fi
\expandafter\let\csname\??fontinstanceclass\m_font_asked_body-\m_font_asked_style-#one#two-#rest-0\endcsname\undefined
@@ -1461,15 +1454,6 @@
{\font_helpers_trigger{\m_font_asked_body-\m_font_asked_style-#one#two#rest}{\noexpand\font_rscale_xx{\m_font_asked_style}}{\m_font_asked_body}{\normalunexpanded{#value}}}%
}
-% \writestatus{fonts}{define \m_asked_style\space nop: \expandafter\meaning\csname\m_font_asked_body\m_font_asked_style#one#two#rest\endcsname}%
-
-% \unexpanded\def\font_basics_define_body_font_yes_xx[#one#two#rest=#value]% global
-% {\ifcsname\m_font_asked_style#one#two#rest\endcsname\else\font_basics_check_fontname_combination\m_font_asked_style{#one#two}{#rest}\fi
-% \global\expandafter\let\csname\??fontinstanceclass\fontclass-\m_font_asked_body-\m_font_asked_style-#one#two-#rest\endcsname\undefined
-% \unexpanded\expandafter\normalxdef\csname\??fontinstanceready\fontclass-\m_font_asked_body-\m_font_asked_style-#one#two-#rest\endcsname
-% {\font_helpers_trigger{\m_font_asked_body-\m_font_asked_style-#one#two#rest}{\number\p_font_rscale}{\m_font_asked_body}{\normalunexpanded{#value}}}%
-% }
-
\unexpanded\def\font_basics_define_body_font_yes_xx[#one#two#rest=#value]% global
{\ifcsname\m_font_asked_style#one#two#rest\endcsname\else\font_basics_check_fontname_combination\m_font_asked_style{#one#two}{#rest}\fi
\global\expandafter\let\csname\??fontinstanceclass\fontclass-\m_font_asked_body-\m_font_asked_style-#one#two-#rest-1\endcsname\undefined
@@ -1677,7 +1661,7 @@
\else
\setcurrentfontclass\m_font_keyword
\ifcase#method\relax
- \let\globalfontclass\globalfontclass
+ \let\globalfontclass\globalfontclass % -)
\else
\let\globalfontclass\fontclass
\fi
diff --git a/tex/context/base/font-mat.mkvi b/tex/context/base/font-mat.mkvi
index 7ef0f2b77..c8ab45b75 100644
--- a/tex/context/base/font-mat.mkvi
+++ b/tex/context/base/font-mat.mkvi
@@ -167,10 +167,38 @@
\font_helpers_set_math_family_bold_indeed#mbfam#familytag#mrfam%
\fi}
+%D It can happen that we use a bodyfont with no math in which case
+%D we have a problem with setting the global bodyfont size in the
+%D page builder. For instance in:
+%D
+%D \starttext
+%D \definetypeface[test][rm][serif][pagella][default]
+%D \setupbodyfont[test]
+%D test
+%D \stoptext
+%D
+%D This is why we need the check:
+
+% \def\font_helpers_preset_math_family_indeed#fam#familytag%
+% {\expandafter\ifx\csname\??fontinstanceclass\fontclass-\fontbody-\s!mm-#familytag-\fontsize-1\endcsname\relax
+% \writestatus{fonts}{math: unset for global bodyfont \fontclass\space at \fontbody}%
+% \else
+% \scriptscriptfont#fam\csname\??fontinstanceclass\fontclass-\fontbody-\s!mm-#familytag-\fontsize-3\endcsname
+% \scriptfont #fam\csname\??fontinstanceclass\fontclass-\fontbody-\s!mm-#familytag-\fontsize-2\endcsname
+% \textfont #fam\csname\??fontinstanceclass\fontclass-\fontbody-\s!mm-#familytag-\fontsize-1\endcsname
+% \fi}
+%
+% Uglier but more efficient (esp in tracing):
+
\def\font_helpers_preset_math_family_indeed#fam#familytag%
- {\scriptscriptfont#fam\csname\??fontinstanceclass\fontclass-\fontbody-\s!mm-#familytag-\fontsize-3\endcsname
- \scriptfont #fam\csname\??fontinstanceclass\fontclass-\fontbody-\s!mm-#familytag-\fontsize-2\endcsname
- \textfont #fam\csname\??fontinstanceclass\fontclass-\fontbody-\s!mm-#familytag-\fontsize-1\endcsname}
+ {\expandafter\let\expandafter\v_font_math_one\csname\??fontinstanceclass\fontclass-\fontbody-\s!mm-#familytag-\fontsize-1\endcsname
+ \ifx\v_font_math_one\relax
+ \writestatus{fonts}{math: unset for global bodyfont \fontclass\space at \fontbody}%
+ \else
+ \scriptscriptfont#fam\csname\??fontinstanceclass\fontclass-\fontbody-\s!mm-#familytag-\fontsize-3\endcsname
+ \scriptfont #fam\csname\??fontinstanceclass\fontclass-\fontbody-\s!mm-#familytag-\fontsize-2\endcsname
+ \textfont #fam\v_font_math_one
+ \fi}
\let\font_helpers_reset_fontclass_math_families\gobbleoneargument
diff --git a/tex/context/base/grph-inc.lua b/tex/context/base/grph-inc.lua
index 15aff8925..8a9fd6b47 100644
--- a/tex/context/base/grph-inc.lua
+++ b/tex/context/base/grph-inc.lua
@@ -1083,6 +1083,7 @@ end
local function runprogram(template,binary,...)
local command = format(template,binary,...)
+ local binary = match(binary,"[%S]+") -- to be sure
if os.which(binary) then
if trace_conversion or trace_programs then
report_inclusion("running: %s",command)
@@ -1166,7 +1167,6 @@ local gifconverter = { }
converters.gif = gifconverter
programs.convert = {
- -- command = "convert" -- imagemagick
command = "gm convert" -- graphicmagick
}
diff --git a/tex/context/base/lxml-aux.lua b/tex/context/base/lxml-aux.lua
index 7df6179a0..09411bfc0 100644
--- a/tex/context/base/lxml-aux.lua
+++ b/tex/context/base/lxml-aux.lua
@@ -559,6 +559,36 @@ function xml.cdatatotext(e)
end
end
+-- local x = xml.convert("<x><a>1<b>2</b>3</a></x>")
+-- xml.texttocdata(xml.first(x,"a"))
+-- print(x) -- <x><![CDATA[1<b>2</b>3]]></x>
+
+function xml.texttocdata(e) -- could be a finalizer
+ local dt = e.dt
+ local s = xml.tostring(dt) -- no shortcut?
+ e.tg = "@cd@"
+ e.special = true
+ e.ns = ""
+ e.rn = ""
+ e.dt = { s }
+ e.at = nil
+end
+
+-- local x = xml.convert("<x><a>1<b>2</b>3</a></x>")
+-- xml.tocdata(xml.first(x,"a"))
+-- print(x) -- <x><![CDATA[<a>1<b>2</b>3</a>]]></x>
+
+function xml.elementtocdata(e) -- could be a finalizer
+ local dt = e.dt
+ local s = xml.tostring(e) -- no shortcut?
+ e.tg = "@cd@"
+ e.special = true
+ e.ns = ""
+ e.rn = ""
+ e.dt = { s }
+ e.at = nil
+end
+
xml.builtinentities = table.tohash { "amp", "quot", "apos", "lt", "gt" } -- used often so share
local entities = characters and characters.entities or nil
diff --git a/tex/context/base/lxml-tab.lua b/tex/context/base/lxml-tab.lua
index 0a43f4352..fddd55a09 100644
--- a/tex/context/base/lxml-tab.lua
+++ b/tex/context/base/lxml-tab.lua
@@ -1312,7 +1312,7 @@ xml.tocdata(e,"error")
</typing>
--ldx]]--
-function xml.tocdata(e,wrapper)
+function xml.tocdata(e,wrapper) -- a few more in the aux module
local whatever = type(e) == "table" and xmltostring(e.dt) or e or ""
if wrapper then
whatever = format("<%s>%s</%s>",wrapper,whatever,wrapper)
diff --git a/tex/context/base/lxml-xml.lua b/tex/context/base/lxml-xml.lua
index 7e7922cfb..d0e256078 100644
--- a/tex/context/base/lxml-xml.lua
+++ b/tex/context/base/lxml-xml.lua
@@ -7,7 +7,7 @@ if not modules then modules = { } end modules ['lxml-xml'] = {
}
local concat = table.concat
-local find = string.find
+local find, lower, upper = string.find, string.lower, string.upper
local xml = xml
@@ -403,3 +403,43 @@ end
function xml.textonly(e) -- no pattern
return concat(textonly(e,{}))
end
+
+--
+
+-- local x = xml.convert("<x><a x='+'>1<B>2</B>3</a></x>")
+-- xml.filter(x,"**/lowerall()") print(x)
+-- xml.filter(x,"**/upperall()") print(x)
+
+function finalizers.lowerall(collected)
+ for c=1,#collected do
+ local e = collected[c]
+ if not e.special then
+ e.tg = lower(e.tg)
+ local eat = e.at
+ if eat then
+ local t = { }
+ for k,v in next, eat do
+ t[lower(k)] = v
+ end
+ e.at = t
+ end
+ end
+ end
+end
+
+function finalizers.upperall(collected)
+ for c=1,#collected do
+ local e = collected[c]
+ if not e.special then
+ e.tg = upper(e.tg)
+ local eat = e.at
+ if eat then
+ local t = { }
+ for k,v in next, eat do
+ t[upper(k)] = v
+ end
+ e.at = t
+ end
+ end
+ end
+end
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index 9327292a4..a8dc4b054 100644
--- a/tex/context/base/status-files.pdf
+++ b/tex/context/base/status-files.pdf
Binary files differ
diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf
index 38c7dde20..056f5e83f 100644
--- a/tex/context/base/status-lua.pdf
+++ b/tex/context/base/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/strc-con.mkvi b/tex/context/base/strc-con.mkvi
index 3068fda0b..cc4278b1e 100644
--- a/tex/context/base/strc-con.mkvi
+++ b/tex/context/base/strc-con.mkvi
@@ -233,6 +233,7 @@
\constructionparameter\c!before
\begingroup
\edef\currentconstructionalternative{\constructionparameter\c!alternative}%
+ \checkconstructionalternativeparent % this catches an unknown alternative
\doadaptleftskip{\constructionparameter\c!margin}%
\setlocalhsize % so we can use \localhsize in width assignments
\constructionsheaddistance\constructionalternativeparameter\c!distance\relax
diff --git a/tex/context/base/strc-des.mkvi b/tex/context/base/strc-des.mkvi
index 1b29c864f..f2943d0f9 100644
--- a/tex/context/base/strc-des.mkvi
+++ b/tex/context/base/strc-des.mkvi
@@ -95,6 +95,8 @@
% \startdescription [reference]{title} text \stopdescription
% \startdescription [title=,title=,reference=] text \stopdescription
+% A bit over the top, the optional title but mkii has it too.
+
\unexpanded\def\strc_descriptions_start#1%
{\begingroup
\strc_constructions_initialize{#1}%
@@ -114,7 +116,17 @@
\expandafter\strc_descriptions_start_yes_normal
\fi}
-\unexpanded\def\strc_descriptions_start_yes_titled[#1]#2% todo userdata
+% \unexpanded\def\strc_descriptions_start_yes_titled[#1]#2% todo userdata
+% {\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference={#1},\c!title={#2},\c!bookmark=,\c!list=][]%
+% \csname\??constructionstarthandler\currentconstructionhandler\endcsname}
+
+\unexpanded\def\strc_descriptions_start_yes_titled[#1]%
+ {\doifnextbgroupelse
+ {\strc_descriptions_start_yes_titled_indeed[#1]}%
+ {\setfalse\c_strc_constructions_title_state
+ \strc_descriptions_start_yes_normal[#1]}}
+
+\unexpanded\def\strc_descriptions_start_yes_titled_indeed[#1]#2% todo userdata
{\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference={#1},\c!title={#2},\c!bookmark=,\c!list=][]%
\csname\??constructionstarthandler\currentconstructionhandler\endcsname}
@@ -129,7 +141,18 @@
\expandafter\strc_descriptions_start_nop_normal
\fi}
-\unexpanded\def\strc_descriptions_start_nop_titled#1%
+% \unexpanded\def\strc_descriptions_start_nop_titled#1%
+% {\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference=,\c!title={#1},\c!bookmark=,\c!list=][]%
+% \csname\??constructionstarthandler\currentconstructionhandler\endcsname}
+% \csname\??constructionstarthandler\currentconstructionhandler\endcsname}
+
+\unexpanded\def\strc_descriptions_start_nop_titled
+ {\doifnextbgroupelse
+ {\strc_descriptions_start_nop_titled_indeed}%
+ {\setfalse\c_strc_constructions_title_state
+ \strc_descriptions_start_nop_normal}}%
+
+\unexpanded\def\strc_descriptions_start_nop_titled_indeed#1%
{\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference=,\c!title={#1},\c!bookmark=,\c!list=][]%
\csname\??constructionstarthandler\currentconstructionhandler\endcsname}
@@ -159,6 +182,16 @@
{\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference={#1},\c!title={#2},\c!bookmark=,\c!list=][]%
\csname\??constructioncommandhandler\currentconstructionhandler\endcsname}
+\unexpanded\def\strc_descriptions_yes_titled[#1]%
+ {\doifnextbgroupelse
+ {\strc_descriptions_yes_titled_indeed[#1]}%
+ {\setfalse\c_strc_constructions_title_state
+ \strc_descriptions_yes_normal[#1]}}
+
+\unexpanded\def\strc_descriptions_yes_titled_indeed[#1]#2%
+ {\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference={#1},\c!title={#2},\c!bookmark=,\c!list=][]%
+ \csname\??constructioncommandhandler\currentconstructionhandler\endcsname}
+
\unexpanded\def\strc_descriptions_yes_normal[#1]%
{\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference={#1},\c!title=,\c!bookmark=,\c!list=][]%
\csname\??constructioncommandhandler\currentconstructionhandler\endcsname}
@@ -170,7 +203,17 @@
\expandafter\strc_descriptions_nop_normal
\fi}
-\unexpanded\def\strc_descriptions_nop_titled#1%
+% \unexpanded\def\strc_descriptions_nop_titled#1%
+% {\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference=,\c!title={#1},\c!bookmark=,\c!list=][]%
+% \csname\??constructioncommandhandler\currentconstructionhandler\endcsname}
+
+\unexpanded\def\strc_descriptions_nop_titled
+ {\doifnextbgroupelse
+ {\strc_descriptions_nop_titled_yes_indeed}%
+ {\setfalse\c_strc_constructions_title_state
+ \strc_descriptions_nop_normal}}
+
+\unexpanded\def\strc_descriptions_nop_titled_indeed#1%
{\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference=,\c!title={#1},\c!bookmark=,\c!list=][]%
\csname\??constructioncommandhandler\currentconstructionhandler\endcsname}
diff --git a/tex/context/base/strc-not.mkvi b/tex/context/base/strc-not.mkvi
index 5f1f041e3..20a664420 100644
--- a/tex/context/base/strc-not.mkvi
+++ b/tex/context/base/strc-not.mkvi
@@ -242,7 +242,7 @@
{\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference=,\c!title={#1},\c!bookmark=,\c!list=][]%
\csname\??constructionnotehandler\currentconstructionhandler\endcsname
\strc_constructions_finalize
- \endgroup}
+ \normalexpanded{\endgroup\noteparameter\c!next}}
\unexpanded\def\strc_notations_command_yes[#1]%
{\doifassignmentelse{#1}\strc_notations_command_assignment\strc_notations_command_argument[#1]}
@@ -251,13 +251,13 @@
{\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference=,\c!title=,\c!bookmark=,\c!list=,#1][]%
\csname\??constructionnotehandler\currentconstructionhandler\endcsname
\strc_constructions_finalize
- \endgroup}
+ \normalexpanded{\endgroup\noteparameter\c!next}}
\unexpanded\def\strc_notations_command_argument[#1]#2%
{\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference={#1},\c!title={#2},\c!bookmark=,\c!list=][]%
\csname\??constructionnotehandler\currentconstructionhandler\endcsname
\strc_constructions_finalize
- \endgroup}
+ \normalexpanded{\endgroup\noteparameter\c!next}}
\unexpanded\def\strc_notations_start#1#2%
{\begingroup
@@ -272,13 +272,13 @@
{\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference={#1},\c!title={#2},\c!bookmark=,\c!list=][]%
\csname\??constructionnotehandler\currentconstructionhandler\endcsname
\strc_constructions_finalize
- \endgroup}
+ \normalexpanded{\endgroup\noteparameter\c!next}}
\unexpanded\def\strc_notations_start_nop#1%
{\strc_constructions_register[\c!label={\descriptionparameter\c!text},\c!reference=,\c!title={#1},\c!bookmark=,\c!list=][]%
\csname\??constructionnotehandler\currentconstructionhandler\endcsname
\strc_constructions_finalize
- \endgroup}
+ \normalexpanded{\endgroup\noteparameter\c!next}}
\unexpanded\def\strc_notations_stop
{}
@@ -863,7 +863,7 @@
\installcorenamespace{notepositionvariant}
\installcorenamespace{notelocation}
-% \newconditional\c_strc_notes_delayed
+\newconditional\c_strc_notes_delayed
\setvalue{\??notelocation\v!page }{\letvalue{\??notelocationvariant\currentnote}\strc_notes_set_location_page}
\setvalue{\??notelocation\v!columns }{\letvalue{\??notelocationvariant\currentnote}\strc_notes_set_location_columns}
@@ -910,7 +910,7 @@
\fi}
\def\strc_notes_set_location_page
- {%\setfalse\c_strc_notes_delayed
+ {\setfalse\c_strc_notes_delayed
\strc_notes_set_distance
\strc_notes_set_columns
\global\count\currentnoteins\numexpr\plusthousand/\c_strc_notes_columns\relax
@@ -918,7 +918,7 @@
\global\skip \currentnoteins\s_strc_notes_distance}
\def\strc_notes_set_location_columns
- {%\setfalse\c_strc_notes_delayed
+ {\setfalse\c_strc_notes_delayed
\strc_notes_set_distance
\strc_notes_set_columns
\ifnum\currentnofcolumns=\zerocount
@@ -929,7 +929,7 @@
\global\skip \currentnoteins\s_strc_notes_distance}
\def\strc_notes_set_location_firstcolumn
- {%\setfalse\c_strc_notes_delayed
+ {\setfalse\c_strc_notes_delayed
\strc_notes_set_distance
\strc_notes_set_columns
\global\count\currentnoteins\plusthousand
@@ -939,7 +939,7 @@
\let\strc_notes_set_location_lastcolumn\strc_notes_set_location_firstcolumn
\def\strc_notes_set_location_text % we don't use inserts anyway (e.g. endnotes)
- {%\settrue\c_strc_notes_delayed
+ {\settrue\c_strc_notes_delayed
\ctxlua{structures.notes.setstate("\currentnote","store")}%
\global\dimen\currentnoteins\maxdimen
\global\count\currentnoteins\zerocount
@@ -1185,9 +1185,10 @@
{\strc_notes_process\strc_notes_place_inserts}
\def\strc_notes_place_inserts
- {%\ifconditional\c_strc_notes_delayed \else
- \ifdim\ht\currentnoteins>\zeropoint % or a faster delayed test
- \strc_notes_place_inserts_indeed
+ {\ifconditional\c_strc_notes_delayed \else
+ \ifdim\ht\currentnoteins>\zeropoint % or a faster delayed test
+ \strc_notes_place_inserts_indeed
+ \fi
\fi}
\def\strc_notes_place_inserts_indeed
diff --git a/tex/context/base/type-imp-latinmodern.mkiv b/tex/context/base/type-imp-latinmodern.mkiv
index f5a32fad1..698834a4b 100644
--- a/tex/context/base/type-imp-latinmodern.mkiv
+++ b/tex/context/base/type-imp-latinmodern.mkiv
@@ -28,44 +28,6 @@
\starttypescriptcollection[latinmodern]
- \starttypescript [modern-designsize]
- \definetypeface [\typescriptone] [\s!rm] [\s!serif] [latin-modern-designsize] [\s!default] [\s!designsize=\s!auto]
- \definetypeface [\typescriptone] [\s!ss] [\s!sans] [latin-modern-designsize] [\s!default] [\s!designsize=\s!auto]
- \definetypeface [\typescriptone] [\s!tt] [\s!mono] [latin-modern-designsize] [\s!default] [\s!designsize=\s!auto]
- \definetypeface [\typescriptone] [\s!mm] [\s!math] [latin-modern-designsize] [\s!default] [\s!designsize=\s!auto]
- \quittypescriptscanning
- \stoptypescript
-
- \starttypescript [modern,modern-base]
- \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern] [\s!default]
- \definetypeface [\typescriptone] [\s!ss] [\s!sans] [modern] [\s!default]
- \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern] [\s!default]
- \definetypeface [\typescriptone] [\s!mm] [\s!math] [modern] [\s!default]
- \quittypescriptscanning
- \stoptypescript
-
- \starttypescript [modernvariable,modern-variable]
- \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern-variable] [\s!default]
- \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern-variable] [\s!default]
- \definetypeface [\typescriptone] [\s!mm] [\s!math] [modern] [\s!default]
- \quittypescriptscanning
- \stoptypescript
-
- \starttypescript [modernvariablelight,modern-variable-light]
- \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern-variable-light] [\s!default]
- \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern-variable-light] [\s!default]
- \definetypeface [\typescriptone] [\s!mm] [\s!math] [modern] [\s!default]
- \quittypescriptscanning
- \stoptypescript
-
- \starttypescript [modern-mono,modern-base-mono]
- \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern] [\s!default]
- \definetypeface [\typescriptone] [\s!ss] [\s!sans] [modern] [\s!default]
- \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern-light] [\s!default]
- \definetypeface [\typescriptone] [\s!mm] [\s!math] [modern] [\s!default]
- \quittypescriptscanning
- \stoptypescript
-
\starttypescript [\s!serif] [simple] [\s!name]% for old times sake (manuals)
\definefontsynonym [\s!Simple] [\s!file:lmmonoproplt10-regular] [\s!features=\s!default]
\stoptypescript
@@ -213,6 +175,44 @@
\definefontsynonym [LMMathRoman-Bold] [\v!file:lmmath-regular.otf] [\s!features=\s!math\mathsizesuffix,\s!goodies=lm]
\stoptypescript
+ \starttypescript [modern-designsize]
+ \definetypeface [\typescriptone] [\s!rm] [\s!serif] [latin-modern-designsize] [\s!default] [\s!designsize=\s!auto]
+ \definetypeface [\typescriptone] [\s!ss] [\s!sans] [latin-modern-designsize] [\s!default] [\s!designsize=\s!auto]
+ \definetypeface [\typescriptone] [\s!tt] [\s!mono] [latin-modern-designsize] [\s!default] [\s!designsize=\s!auto]
+ \definetypeface [\typescriptone] [\s!mm] [\s!math] [latin-modern-designsize] [\s!default] [\s!designsize=\s!auto]
+ \quittypescriptscanning
+ \stoptypescript
+
+ \starttypescript [modern,modern-base]
+ \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern] [\s!default]
+ \definetypeface [\typescriptone] [\s!ss] [\s!sans] [modern] [\s!default]
+ \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern] [\s!default]
+ \definetypeface [\typescriptone] [\s!mm] [\s!math] [modern] [\s!default]
+ \quittypescriptscanning
+ \stoptypescript
+
+ \starttypescript [modernvariable,modern-variable]
+ \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern-variable] [\s!default]
+ \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern-variable] [\s!default]
+ \definetypeface [\typescriptone] [\s!mm] [\s!math] [modern] [\s!default]
+ \quittypescriptscanning
+ \stoptypescript
+
+ \starttypescript [modernvariablelight,modern-variable-light]
+ \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern-variable-light] [\s!default]
+ \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern-variable-light] [\s!default]
+ \definetypeface [\typescriptone] [\s!mm] [\s!math] [modern] [\s!default]
+ \quittypescriptscanning
+ \stoptypescript
+
+ \starttypescript [modern-mono,modern-base-mono]
+ \definetypeface [\typescriptone] [\s!rm] [\s!serif] [modern] [\s!default]
+ \definetypeface [\typescriptone] [\s!ss] [\s!sans] [modern] [\s!default]
+ \definetypeface [\typescriptone] [\s!tt] [\s!mono] [modern-light] [\s!default]
+ \definetypeface [\typescriptone] [\s!mm] [\s!math] [modern] [\s!default]
+ \quittypescriptscanning
+ \stoptypescript
+
\stoptypescriptcollection
%D It doesn't hurt to have these, at least for the moment (can go to type-imp-symbol)