From 383759fd1ba196210e710705755966b981cf0add Mon Sep 17 00:00:00 2001 From: Marius Date: Fri, 2 Mar 2012 22:40:17 +0200 Subject: beta 2012.03.02 21:03 --- tex/context/base/cont-new.mkii | 2 +- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4074 -> 4068 bytes tex/context/base/context-version.png | Bin 105525 -> 103861 bytes tex/context/base/context.mkii | 2 +- tex/context/base/context.mkiv | 2 +- tex/context/base/export-example.css | 4 +- tex/context/base/page-flt.lua | 23 +++----- tex/context/base/page-flt.mkiv | 8 +-- tex/context/base/page-mis.mkiv | 22 +++---- tex/context/base/status-files.pdf | Bin 24372 -> 24322 bytes tex/context/base/status-lua.pdf | Bin 172398 -> 172399 bytes tex/context/base/strc-con.mkvi | 4 +- tex/context/base/strc-doc.lua | 2 +- tex/context/base/strc-enu.mkvi | 16 +++-- tex/context/base/strc-not.mkvi | 18 ++++-- .../base/type-imp-computer-modern-unicode.mkiv | 65 +++++++++++++-------- tex/context/base/type-imp-ghz.mkiv | 10 ++-- tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 19 files changed, 102 insertions(+), 80 deletions(-) diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii index 294101e35..3b594c5ab 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.02.29 22:50} +\newcontextversion{2012.03.02 21:03} %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 c02e88bce..7eb58cde5 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.02.29 22:50} +\newcontextversion{2012.03.02 21:03} %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 0c7d5c892..5b4ce70af 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 322541cdd..182e9dc59 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 673fe3e41..8103933c3 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.02.29 22:50} +\edef\contextversion{2012.03.02 21:03} %D For those who want to use this: diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index 4726af250..aa0ac326f 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.02.29 22:50} +\edef\contextversion{2012.03.02 21:03} %D For those who want to use this: diff --git a/tex/context/base/export-example.css b/tex/context/base/export-example.css index a6a366c1c..7e6101360 100644 --- a/tex/context/base/export-example.css +++ b/tex/context/base/export-example.css @@ -204,6 +204,8 @@ section[detail="subsummary"]>sectiontitle { /* itemtag : mixed */ /* itemcontent : mixed */ +/* there is no upper-greek */ + itemgroup { display : block ; margin-bottom : 0.5em ; @@ -221,7 +223,7 @@ itemgroup[symbol="r"] { list-style-type : lower-roman ; } itemgroup[symbol="R"] { list-style-type : upper-roman ; } itemgroup[symbol="n"] { list-style-type : decimal ; } itemgroup[symbol="g"] { list-style-type : lower-greek ; } -itemgroup[symbol="G"] { list-style-type : upper-greek ; } +itemgroup[symbol="G"] { list-style-type : lower-greek ; } item { display : list-item ; diff --git a/tex/context/base/page-flt.lua b/tex/context/base/page-flt.lua index 67dd60f7f..ecd7004ae 100644 --- a/tex/context/base/page-flt.lua +++ b/tex/context/base/page-flt.lua @@ -209,33 +209,27 @@ function floats.getvariable(name,default) end function floats.checkedpagefloat(packed) - local result = "" if structures.pages.is_odd() then if #stacks.rightpage > 0 then - result = "rightpage" + return "rightpage" elseif #stacks.page > 0 then - result = "page" + return "page" elseif #stacks.leftpage > 0 then if packed then - result = "leftpage" - else - result = "empty" + return "leftpage" end end else if #stacks.leftpage > 0 then - result = "leftpage" + return "leftpage" elseif #stacks.page > 0 then - result = "page" + return "page" elseif #stacks.rightpage > 0 then if packed then - result = "rightpage" - else - result = "empty" + return "rightpage" end end end - return result end function floats.nofstacked() @@ -276,10 +270,11 @@ commands.popfloat = floats.pop commands.consultfloat = floats.consult commands.collectfloat = floats.collect +function commands.getfloatvariable (...) local v = floats.getvariable(...) if v then context(v) end end +function commands.checkedpagefloat (...) local v = floats.checkedpagefloat(...) if v then context(v) end end + function commands.nofstackedfloats (...) context(floats.nofstacked(...)) end -function commands.getfloatvariable (...) context(floats.getvariable(...) or "") end function commands.doifelsesavedfloat(...) commands.doifelse(floats.nofstacked(...)>0) end -function commands.checkedpagefloat (...) context(floats.checkedpagefloat(...)) end function commands.analysefloatmethod(str) local method, label, row, column = floats.analysemethod(str) diff --git a/tex/context/base/page-flt.mkiv b/tex/context/base/page-flt.mkiv index e4f4b0da4..a4f510d8c 100644 --- a/tex/context/base/page-flt.mkiv +++ b/tex/context/base/page-flt.mkiv @@ -237,13 +237,13 @@ \page_otr_fill_and_eject_page} \def\doflushpagefloats - {\edef\checkedpagefloat{\ctxcommand{checkedpagefloat()}}% (true) for packed - \ifx\checkedpagefloat\empty + {\edef\m_page_otf_checked_page_float{\ctxcommand{checkedpagefloat()}}% (true) for packed + \ifx\m_page_otf_checked_page_float\empty % nothing - \else\ifx\checkedpagefloat\v!empty + \else\ifx\m_page_otf_checked_page_float\v!empty \emptyhbox \page_otr_fill_and_eject_page % why not dummy_page \else - \doflushsomepagefloat\checkedpagefloat + \doflushsomepagefloat\m_page_otf_checked_page_float \fi\fi} \def\uncenteredfloatbox % hm, where is this one used (was in save/restore, see old implementation) diff --git a/tex/context/base/page-mis.mkiv b/tex/context/base/page-mis.mkiv index 532fdde40..6137bb462 100644 --- a/tex/context/base/page-mis.mkiv +++ b/tex/context/base/page-mis.mkiv @@ -62,8 +62,9 @@ % officially we should flush again after a flush as there can be new future pages % but that will be looked into when we run into it -\unexpanded\def\page_postponed_blocks_flush - {\bgroup +\unexpanded\def\page_postponed_blocks_flush_indeed + {\begingroup + \setsystemmode\v!postponing \inpostponingtrue % for old times sake \global\pagetotal\zeropoint % here? still needed? (was after flush pagefloats) \the\everytopofpage\relax @@ -74,30 +75,21 @@ \ctxcommand{flushpostponedblocks()}% \relax \page_otr_command_flush_floats % new but potential dangerous, maybe we need a classification - \egroup} % of blocks: with and without flush + \endgroup} % of blocks: with and without flush -\def\page_postponed_blocks_flush_indeed +\def\page_postponed_blocks_flush {\ifinpostponing % probably a nested flush \else\ifnum\c_page_postponed_blocks_next_page=\zerocount % nothing in cache \else\ifnum\c_page_postponed_blocks_next_page<\zerocount % generic cache - \page_postponed_blocks_flush + \page_postponed_blocks_flush_indeed \else\ifnum\c_page_postponed_blocks_next_page>\realpageno % future content \else % pending content - \page_postponed_blocks_flush + \page_postponed_blocks_flush_indeed \fi\fi\fi\fi} -\def\page_postponed_blocks_flush - {\begingroup - \setsystemmode\v!postponing - \the\everytopofpage - %\flushrestfloats - \doflushpagefloats - \page_postponed_blocks_flush_indeed - \endgroup} - \protect \endinput diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 033d76aeb..73be9f0a9 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 ebdd12822..fa90034f8 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/strc-con.mkvi b/tex/context/base/strc-con.mkvi index 80feef962..405c16025 100644 --- a/tex/context/base/strc-con.mkvi +++ b/tex/context/base/strc-con.mkvi @@ -106,10 +106,10 @@ \appendtoks \ifx\currentconstructionparent\empty - \letvalue{\??constructionmain \currentconstruction}\currentconstruction + \letvalue{\??constructionmain\currentconstruction}\currentconstruction \definelist[\currentconstruction]% goodie \else - \letvalue{\??constructionmain \currentconstruction}\currentconstructionparent + \letvalue{\??constructionmain\currentconstruction}\currentconstructionparent \definelist[\currentconstruction][\currentconstructionparent]% goodie \fi \setevalue{\??constructionlevel\currentconstruction}{\number\constructionparameter\c!level}% diff --git a/tex/context/base/strc-doc.lua b/tex/context/base/strc-doc.lua index 91c6ba0e3..19dd528b9 100644 --- a/tex/context/base/strc-doc.lua +++ b/tex/context/base/strc-doc.lua @@ -441,7 +441,7 @@ function sections.structuredata(depth,key,default,honorcatcodetable) -- todo: sp end local data = data.status[depth] local d = data - for k in gmatch(key,"([^.]+)") do + for k in gmatch(key,"[^%.]+") do if type(d) == "table" then d = d[k] if not d then diff --git a/tex/context/base/strc-enu.mkvi b/tex/context/base/strc-enu.mkvi index 625dc6a21..58e84e527 100644 --- a/tex/context/base/strc-enu.mkvi +++ b/tex/context/base/strc-enu.mkvi @@ -121,15 +121,23 @@ \c!state=\v!start, \c!levels=4] +% to be considered: +% +% \let\??construction\??enumeration +% +% with push/pop (also at definition time) + \unexpanded\def\strc_define_commands_enumeration#1#2#3% current level parent {\doifelsenothing{#3} - {\defineconstruction[#1][\s!handler=\v!enumeration,\c!level=#2]}% - {\defineconstruction[#1][#3][\s!handler=\v!enumeration,\c!level=#2]}% + {\normalexpanded{\defineconstruction[#1][\s!handler=\v!enumeration,\c!level=#2]}% + \setevalue{\??enumeration#1:\s!parent}{\??enumeration}}% + {\normalexpanded{\defineconstruction[#1][#3][\s!handler=\v!enumeration,\c!level=#2]}% + \setevalue{\??enumeration#1:\s!parent}{\??enumeration#3}}% \setuevalue{\e!next #1}{\strc_enumerations_next }% \setuevalue{\c!reset#1}{\strc_enumerations_reset }% %setuevalue{\c!set #1}{\strc_enumerations_set }% - \setuevalue {#1}{\strc_enumerations_command{\currentenumeration}}% - \setuevalue{\e!start#1}{\strc_enumerations_start {\currentenumeration}}% + \setuevalue {#1}{\strc_enumerations_command{#1}}% + \setuevalue{\e!start#1}{\strc_enumerations_start {#1}}% \setuevalue{\e!stop #1}{\strc_enumerations_stop }} \appendtoks diff --git a/tex/context/base/strc-not.mkvi b/tex/context/base/strc-not.mkvi index d5a4ee865..b23dc3159 100644 --- a/tex/context/base/strc-not.mkvi +++ b/tex/context/base/strc-not.mkvi @@ -123,15 +123,25 @@ % mostly the same as enumersations but we want to keep them % isolated and at some point we might differentiate +% to be considered: +% +% \let\??construction\??notation +% +% with push/pop (also at definition time) + \unexpanded\def\strc_define_commands_notation#1#2#3% current level parent {\doifelsenothing{#3} - {\defineconstruction[#1][\s!handler=\v!notation,\c!level=#2]}% - {\defineconstruction[#1][#3][\s!handler=\v!notation,\c!level=#2]}% + {\normalexpanded{\defineconstruction[#1][\s!handler=\v!notation,\c!level=#2]}% + \setevalue{\??notation#1:\s!parent}{\??notation}}% + {\normalexpanded{\defineconstruction[#1][#3][\s!handler=\v!notation,\c!level=#2]}% + \setevalue{\??notation#1:\s!parent}{\??notation#3}}% \setuevalue{\e!next #1}{\strc_notations_next }% \setuevalue{\c!reset#1}{\strc_notations_reset }% %setuevalue{\c!set #1}{\strc_notations_set }% - \setuevalue {#1}{\strc_notations_command{\currentnotation}}% - \setuevalue{\e!start#1}{\strc_notations_start {\currentnotation}{#1}}% +% \setuevalue {#1}{\strc_notations_command{\currentnotation}}% +% \setuevalue{\e!start#1}{\strc_notations_start {\currentnotation}{#1}}% + \setuevalue {#1}{\strc_notations_command{#1}}% + \setuevalue{\e!start#1}{\strc_notations_start {#1}{#1}}% okay? \setuevalue{\e!stop #1}{\strc_notations_stop }} \appendtoks diff --git a/tex/context/base/type-imp-computer-modern-unicode.mkiv b/tex/context/base/type-imp-computer-modern-unicode.mkiv index 329233174..0789b922e 100644 --- a/tex/context/base/type-imp-computer-modern-unicode.mkiv +++ b/tex/context/base/type-imp-computer-modern-unicode.mkiv @@ -13,35 +13,50 @@ \starttypescriptcollection[computer-modern-unicode] - \starttypescript [serif,sans,mono] [computer-modern-unicode] - \definefontsynonym [\s!Serif] [\s!file:cmunrm] [\s!features=\s!default] - \definefontsynonym [\s!SerifItalic] [\s!file:cmunti] [\s!features=\s!default] - \definefontsynonym [\s!SerifSlanted] [\s!file:cmunsl] [\s!features=\s!default] - \definefontsynonym [\s!SerifBold] [\s!file:cmunbx] [\s!features=\s!default] - \definefontsynonym [\s!SerifBoldItalic] [\s!file:cmunbi] [\s!features=\s!default] - \definefontsynonym [\s!Sans] [\s!file:cmunss] [\s!features=\s!default] - \definefontsynonym [\s!SansItalic] [\s!file:cmunsi] [\s!features=\s!default] - \definefontsynonym [\s!SansBold] [\s!file:cmunsx] [\s!features=\s!default] - \definefontsynonym [\s!SansBoldItalic] [\s!file:cmunso] [\s!features=\s!default] - \definefontsynonym [\s!Mono] [\s!file:cmuntt] [\s!features=\s!none] - \definefontsynonym [\s!MonoItalic] [\s!file:cmunit] [\s!features=\s!none] - \definefontsynonym [\s!MonoSlanted] [\s!file:cmunst] [\s!features=\s!none] - \definefontsynonym [\s!MonoBold] [\s!file:cmuntb] [\s!features=\s!none] - \definefontsynonym [\s!MonoBoldItalic] [\s!file:cmuntx] [\s!features=\s!none] + \definefontfeature[default-slanted-concrete][default][slant=.2] + \definefontfeature[none-slanted-concrete] [none] [slant=.2] + + \starttypescript [\s!serif] [computer-modern-unicode] + \definefontsynonym [\s!Serif] [\s!file:cmunrm] [\s!features=\s!default] + \definefontsynonym [\s!SerifItalic] [\s!file:cmunti] [\s!features=\s!default] + \definefontsynonym [\s!SerifSlanted] [\s!file:cmunsl] [\s!features=\s!default] + \definefontsynonym [\s!SerifBold] [\s!file:cmunbx] [\s!features=\s!default] + \definefontsynonym [\s!SerifBoldItalic] [\s!file:cmunbi] [\s!features=\s!default] + \definefontsynonym [\s!SerifBoldSlanted][\s!SerifBoldItalic] + \stoptypescript + + \starttypescript [\s!serif] [computer-modern-unicode-concrete] + \definefontsynonym [\s!Serif] [\s!file:cmunorm] [\s!features=\s!default] + \definefontsynonym [\s!SerifItalic] [\s!file:cmunoti] [\s!features=\s!default] + \definefontsynonym [\s!SerifSlanted] [\s!file:cmunorm] [\s!features=default-slanted-concrete] + \definefontsynonym [\s!SerifBold] [\s!file:cmunobx] [\s!features=\s!default] + \definefontsynonym [\s!SerifBoldItalic] [\s!file:cmunobi] [\s!features=\s!default] + \definefontsynonym [\s!SerifBoldSlanted][\s!file:cmunobx] [\s!features=default-slanted-concrete] + \stoptypescript + + \starttypescript [\s!sans] [computer-modern-unicode,computer-modern-unicode-concrete] + \definefontsynonym [\s!Sans] [\s!file:cmunss] [\s!features=\s!default] + \definefontsynonym [\s!SansItalic] [\s!file:cmunsi] [\s!features=\s!default] + \definefontsynonym [\s!SansSlanted] [\s!file:cmunss] [\s!features=default-slanted-concrete] + \definefontsynonym [\s!SansBold] [\s!file:cmunsx] [\s!features=\s!default] + \definefontsynonym [\s!SansBoldItalic] [\s!file:cmunso] [\s!features=\s!default] + \definefontsynonym [\s!SansBoldSlanted] [\s!file:cmunsx] [\s!features=default-slanted-concrete] \stoptypescript - \starttypescript [serif] [computer-modern-unicode-concrete] - \definefontsynonym [\s!Serif] [\s!file:cmunorm] [\s!features=\s!default] - \definefontsynonym [\s!SerifItalic] [\s!file:cmunoti] [\s!features=\s!default] - \definefontsynonym [\s!SerifBold] [\s!file:cmunobx] [\s!features=\s!default] - \definefontsynonym [\s!SerifBoldItalic] [\s!file:cmunobi] [\s!features=\s!default] + \starttypescript [\s!mono] [computer-modern-unicode,computer-modern-unicode-concrete] + \definefontsynonym [\s!Mono] [\s!file:cmuntt] [\s!features=\s!none] + \definefontsynonym [\s!MonoItalic] [\s!file:cmunit] [\s!features=\s!none] + \definefontsynonym [\s!MonoSlanted] [\s!file:cmunst] [\s!features=\s!none] + \definefontsynonym [\s!MonoBold] [\s!file:cmuntb] [\s!features=\s!none] + \definefontsynonym [\s!MonoBoldItalic] [\s!file:cmuntx] [\s!features=\s!none] + \definefontsynonym [\s!MonoBoldSlanted] [\s!file:cmuntb] [\s!features=none-slanted-concrete] \stoptypescript - \starttypescript[computer-modern-unicode] - \definetypeface[computer-modern-unicode][rm][\s!serif][computer-modern-unicode][\s!default] - \definetypeface[computer-modern-unicode][ss][\s!sans] [computer-modern-unicode][\s!default] - \definetypeface[computer-modern-unicode][tt][\s!mono] [computer-modern-unicode][\s!default] - \definetypeface[computer-modern-unicode][mm][\s!math] [modern] [\s!default] + \starttypescript[computer-modern-unicode,computer-modern-unicode-concrete] + \definetypeface[\typescriptone][\s!rm][\s!serif][\typescriptone] [\s!default] + \definetypeface[\typescriptone][\s!ss][\s!sans] [computer-modern-unicode][\s!default] + \definetypeface[\typescriptone][\s!tt][\s!mono] [computer-modern-unicode][\s!default] + \definetypeface[\typescriptone][\s!mm][\s!math] [modern] [\s!default] \stoptypescript \stoptypescriptcollection diff --git a/tex/context/base/type-imp-ghz.mkiv b/tex/context/base/type-imp-ghz.mkiv index 0722c1dfe..868d73021 100644 --- a/tex/context/base/type-imp-ghz.mkiv +++ b/tex/context/base/type-imp-ghz.mkiv @@ -148,11 +148,11 @@ \stoptypescript -\starttypescript[optima-nova] - \definetypeface[optima][ss][sans][optima-nova] [default][features=default] - \definetypeface[optima][rm][sans][optima-nova] [default][features=default] - \definetypeface[optima][tt][mono][modern] [default][rscale=1.1] - \definetypeface[optima][mm][math][modern] [default][rscale=1.1] +\starttypescript[optima-nova,optima] + \definetypeface[\typescriptone][ss][sans][optima-nova] [default][features=default] + \definetypeface[\typescriptone][rm][sans][optima-nova] [default][features=default] + \definetypeface[\typescriptone][tt][mono][modern] [default][rscale=1.1] + \definetypeface[\typescriptone][mm][math][modern] [default][rscale=1.1] \quittypescriptscanning \stoptypescript diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index d3a2049cf..97e28dca9 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 : 02/29/12 22:50:46 +-- merge date : 03/02/12 21:03:58 do -- begin closure to overcome local limits and interference -- cgit v1.2.3