From c8d9322c99e6fca7e972605f7a180a694d080e2c Mon Sep 17 00:00:00 2001 From: Context Git Mirror Bot Date: Fri, 10 Apr 2015 10:15:04 +0200 Subject: 2015-04-10 09:31:00 --- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4186 -> 4181 bytes tex/context/base/context.mkiv | 2 +- tex/context/base/lang-hyp.lua | 18 ++- tex/context/base/lang-hyp.mkiv | 2 + tex/context/base/lang-url.lua | 2 +- tex/context/base/mult-def.mkiv | 6 - tex/context/base/mult-sys.mkiv | 7 ++ tex/context/base/publ-imp-apa.lua | 34 +++--- tex/context/base/publ-imp-apa.mkvi | 16 +-- tex/context/base/publ-imp-aps.mkvi | 6 +- tex/context/base/publ-imp-default.mkvi | 3 +- tex/context/base/s-abr-01.tex | 1 + tex/context/base/s-math-coverage.lua | 121 ++++++++++++++------- tex/context/base/s-math-coverage.mkiv | 10 +- tex/context/base/status-files.pdf | Bin 24522 -> 24508 bytes tex/context/base/status-lua.pdf | Bin 249889 -> 249895 bytes tex/context/base/tabl-tbl.mkiv | 2 + tex/context/base/x-mathml.mkiv | 36 +++--- tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 20 files changed, 163 insertions(+), 107 deletions(-) (limited to 'tex') diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index c794639b9..c0d95f66c 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{2015.04.09 20:56} +\newcontextversion{2015.04.10 09:29} %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/context-version.pdf b/tex/context/base/context-version.pdf index 15c689560..ed87e1d5e 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.mkiv b/tex/context/base/context.mkiv index d3c2b5d0e..f5726f87e 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -39,7 +39,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2015.04.09 20:56} +\edef\contextversion{2015.04.10 09:29} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/lang-hyp.lua b/tex/context/base/lang-hyp.lua index ab6ab33df..b263ea1b0 100644 --- a/tex/context/base/lang-hyp.lua +++ b/tex/context/base/lang-hyp.lua @@ -817,6 +817,7 @@ if context then local joinerchars = featureset.joiners local alternative = featureset.alternative local rightwordmin = tonumber(featureset.rightwordmin) + local charmin = tonumber(featureset.charmin) local leftcharmin = tonumber(featureset.leftcharmin) local rightcharmin = tonumber(featureset.rightcharmin) local rightedge = featureset.rightedge @@ -830,6 +831,7 @@ if context then featureset.hyphenchars = makeset(hyphenchars or "") featureset.alternative = alternative or "hyphenate" featureset.rightwordmin = rightwordmin and rightwordmin > 0 and rightwordmin or nil + featureset.charmin = charmin and charmin > 0 and charmin or nil featureset.leftcharmin = leftcharmin and leftcharmin > 0 and leftcharmin or nil featureset.rightcharmin = rightcharmin and rightcharmin > 0 and rightcharmin or nil featureset.leftchar = leftchar @@ -877,6 +879,7 @@ if context then { "hyphens" }, { "joiners" }, { "rightwordmin", "integer" }, + { "charmin", "integer" }, { "leftcharmin", "integer" }, { "rightcharmin", "integer" }, { "leftchar", "integer" }, @@ -967,6 +970,7 @@ if context then local rightexchar = false -- utfbyte("-") local leftmin = 0 local rightmin = 0 + local charmin = 1 local leftcharmin = nil local rightcharmin = nil ----- leftwordmin = nil @@ -997,6 +1001,7 @@ if context then extrachars = f.extrachars hyphenchars = f.hyphenchars rightwordmin = f.rightwordmin + charmin = f.charmin leftcharmin = f.leftcharmin rightcharmin = f.rightcharmin leftchar = f.leftchar @@ -1024,17 +1029,22 @@ if context then end lastwordlast = rightwordmin end + if not charmin or charmin == 0 then + charmin = 1 + end else hyphenated = methods.hyphenate extrachars = false hyphenchars = false rightwordmin = false + charmin = 1 leftcharmin = false rightcharmin = false leftchar = false rightchar = false strict = false end + return a end @@ -1255,7 +1265,7 @@ if context then local code = getchar(current) local lang = getfield(current,"lang") if lang ~= language then - if size > 0 and dictionary and leftmin + rightmin <= size then + if dictionary and size > charmin and leftmin + rightmin <= size then if categories[word[1]] == "lu" and getfield(start,"uchyph") < 0 then -- skip else @@ -1307,7 +1317,7 @@ if context then size = size + 1 word[size] = char elseif dictionary then - if leftmin + rightmin <= size then + if size > charmin and leftmin + rightmin <= size then if categories[word[1]] == "lu" and getfield(start,"uchyph") < 0 then -- skip else @@ -1386,7 +1396,7 @@ if context then current = id == math_code and getnext(end_of_math(current)) or getnext(current) end if size > 0 then - if dictionary and leftmin + rightmin <= size then + if dictionary and size > charmin and leftmin + rightmin <= size then if categories[word[1]] == "lu" and getfield(start,"uchyph") < 0 then -- skip else @@ -1402,7 +1412,7 @@ if context then end -- we can have quit due to last so we need to flush the last seen word, we could move this in -- the loop and test for current but ... messy - if size > 0 and dictionary and leftmin + rightmin <= size then + if dictionary and size > charmin and leftmin + rightmin <= size then if categories[word[1]] == "lu" and getfield(start,"uchyph") < 0 then -- skip else diff --git a/tex/context/base/lang-hyp.mkiv b/tex/context/base/lang-hyp.mkiv index c5141ff6d..927f5a057 100644 --- a/tex/context/base/lang-hyp.mkiv +++ b/tex/context/base/lang-hyp.mkiv @@ -102,6 +102,7 @@ \letdummyparameter\c!rightwords\zerocount % maybe \s! \letdummyparameter\s!lefthyphenmin\zerocount \letdummyparameter\s!righthyphenmin\zerocount + \letdummyparameter\s!hyphenmin\zerocount \letdummyparameter\s!lefthyphenchar\zerocount \letdummyparameter\s!righthyphenchar\zerocount \letdummyparameter\c!alternative\empty @@ -114,6 +115,7 @@ hyphens {\dummyparameter\c!hyphens}% joiners {\dummyparameter\c!joiners}% rightwordmin \numexpr\dummyparameter\c!rightwords\relax + charmin \numexpr\dummyparameter\s!hyphenmin\relax leftcharmin \numexpr\dummyparameter\s!lefthyphenmin\relax rightcharmin \numexpr\dummyparameter\s!righthyphenmin\relax leftchar \numexpr\dummyparameter\s!lefthyphenchar\relax diff --git a/tex/context/base/lang-url.lua b/tex/context/base/lang-url.lua index 27f3116f9..ee5171eef 100644 --- a/tex/context/base/lang-url.lua +++ b/tex/context/base/lang-url.lua @@ -175,7 +175,7 @@ end implement { name = "sethyphenatedurlcharacters", actions = hyphenatedurl.setcharacters, - arguments = { "string", "integer" } + arguments = { "string", "string" } } implement { diff --git a/tex/context/base/mult-def.mkiv b/tex/context/base/mult-def.mkiv index c755597c0..6efeb3069 100644 --- a/tex/context/base/mult-def.mkiv +++ b/tex/context/base/mult-def.mkiv @@ -34,12 +34,6 @@ % start todo in mult-def.lua: -\def\s!head {head} -\def\s!symbol {symbol} -\def\s!sub {sub} -\def\s!margin {margin} -\def\s!edge {edge} - \def\v!alphabetic {alphabetic} \def\v!Alphabetic {Alphabetic} diff --git a/tex/context/base/mult-sys.mkiv b/tex/context/base/mult-sys.mkiv index 11a276fe8..63a89492a 100644 --- a/tex/context/base/mult-sys.mkiv +++ b/tex/context/base/mult-sys.mkiv @@ -315,11 +315,18 @@ \definesystemconstant {uncramped} \definesystemconstant {cramped} +\definesystemconstant {hyphenmin} \definesystemconstant {lefthyphenmin} \definesystemconstant {righthyphenmin} \definesystemconstant {lefthyphenchar} \definesystemconstant {righthyphenchar} +\definesystemconstant {head} +\definesystemconstant {symbol} +\definesystemconstant {sub} +\definesystemconstant {margin} +\definesystemconstant {edge} + \definesystemconstant {double} \definesystemconstant {decimal} \definesystemconstant {binary} diff --git a/tex/context/base/publ-imp-apa.lua b/tex/context/base/publ-imp-apa.lua index 18360d527..8e90bb986 100644 --- a/tex/context/base/publ-imp-apa.lua +++ b/tex/context/base/publ-imp-apa.lua @@ -84,7 +84,6 @@ categories.article = { sets = { author = { "author", "editor", "title" }, doi = generic.doi, - isbn = { "issn" }, }, required = { "author" @@ -93,7 +92,7 @@ categories.article = { "year", "subtitle", "type", "file", "journal", "volume", "number", "pages", - "doi", "note", "isbn" + "doi", "note", }, } @@ -110,7 +109,7 @@ categories.magazine = { "subtitle", "type", "file", "number", "month", "day", - "doi", "note", "isbn" + "doi", "note", }, } @@ -122,7 +121,6 @@ categories.periodical = { sets = { author = { "editor", "publisher" }, doi = generic.doi, - isbn = { "issn" }, }, required = { "title", @@ -133,7 +131,7 @@ categories.periodical = { "subtitle", "file", "series", "volume", "number", "month", "organization", - "doi", "note", "isbn" + "doi", "note", }, } @@ -168,7 +166,7 @@ categories.book = { "subtitle", "type", "file", "editionset", "series", "address", - "doi", "note", "isbn" + "doi", "note", }, } @@ -191,7 +189,7 @@ categories.inbook = { "editionset", "series", "month", "address", - "doi", "note", "isbn" + "doi", "note", }, } @@ -215,7 +213,7 @@ categories.incollection = { -- APA ignores this: "chapter", "month", "address", - "doi", "note", "isbn" + "doi", "note", }, } @@ -235,7 +233,7 @@ categories.booklet = { "year", "month", "subtitle", "type", "file", "address", - "doi", "note", "isbn" + "doi", "note", }, } @@ -258,7 +256,7 @@ categories.proceedings = { "editionset", "series", "month", "address", - "doi", "note", "isbn" + "doi", "note", }, } @@ -272,7 +270,7 @@ categories.inproceedings = { "month", "edition", "series", "address", "organization", - "doi", "note", "isbn" + "doi", "note", }, } @@ -295,7 +293,7 @@ categories.thesis = { "subtitle", "file", "month", "address", - "doi", "note", "isbn" + "doi", "note", }, } @@ -312,7 +310,7 @@ categories.mastersthesis = { "subtitle", "file", "month", "address", - "doi", "note", "isbn" + "doi", "note", }, } categories.phdthesis = categories.mastersthesis @@ -338,7 +336,7 @@ categories.techreport = { "subtitle", "file", "editionset", "month", - "doi", "note", "isbn" + "doi", "note", }, } @@ -359,7 +357,7 @@ categories.manual = { "address", "subtitle", "file", "editionset", "month", "year", - "doi", "note", "isbn", + "doi", "note", -- "abstract", }, } @@ -434,7 +432,6 @@ categories.electronic = { categories.misc = { sets = { doi = generic.doi, - isbn = { "isbn", "issn" }, }, required = { -- nothing is really important here @@ -444,7 +441,7 @@ categories.misc = { "title", "subtitle", "file", "year", "month", "howpublished", - "doi", "note", "isbn" + "doi", "note", }, } @@ -453,7 +450,6 @@ categories.misc = { categories.other = { sets = { doi = generic.doi, - isbn = { "isbn", "issn" }, }, required = { "author", @@ -462,7 +458,7 @@ categories.other = { }, optional = { "subtitle", "file", - "doi", "note", "isbn" + "doi", "note", }, } diff --git a/tex/context/base/publ-imp-apa.mkvi b/tex/context/base/publ-imp-apa.mkvi index 402dbdeab..2edb4dc28 100644 --- a/tex/context/base/publ-imp-apa.mkvi +++ b/tex/context/base/publ-imp-apa.mkvi @@ -248,8 +248,7 @@ \definebtx [apa:cite:authoryear] [apa:cite:author] - [\c!compress=\v!yes, - \c!left={(}, + [\c!left={(}, \c!right={)}, \c!inbetween={,\space}] @@ -997,18 +996,6 @@ \endgroup \stoptexdefinition -% also issn - see publ-imp-apa.lua - -\starttexdefinition btx:apa:isbn - \btxdoif {isbn} { - \btxleftparenthesis - \WORD{\btxfoundname{isbn}}:\btxspace - \setbreakpoints[doi] - \btxflush{isbn} - \btxrightparenthesis - } -\stoptexdefinition - \starttexdefinition btx:apa:note \btxdoif {note} { \btxleftparenthesis @@ -1021,7 +1008,6 @@ \doif {\btxfoundname{doi}} {url} { \texdefinition{btx:apa:url} } - \texdefinition{btx:apa:isbn} \doif {\btxfoundname{doi}} {doi} { \texdefinition{btx:apa:doi} } diff --git a/tex/context/base/publ-imp-aps.mkvi b/tex/context/base/publ-imp-aps.mkvi index e5ea2459a..49210dbae 100644 --- a/tex/context/base/publ-imp-aps.mkvi +++ b/tex/context/base/publ-imp-aps.mkvi @@ -245,8 +245,7 @@ \definebtx [aps:cite:authoryear] [aps:cite:author] - [\c!compress=\v!yes, - \c!left={(}, + [\c!left={(}, \c!right={)}, \c!inbetween={,\space}] @@ -290,7 +289,8 @@ \definebtx [aps:cite:year] [aps:cite] - [\c!compress=\v!yes] + [\c!compress=\v!yes, + \c!sorttype=year] \definebtx [aps:cite:title] diff --git a/tex/context/base/publ-imp-default.mkvi b/tex/context/base/publ-imp-default.mkvi index c0664f5df..a78769849 100644 --- a/tex/context/base/publ-imp-default.mkvi +++ b/tex/context/base/publ-imp-default.mkvi @@ -123,8 +123,7 @@ \definebtx [\s!default:\s!cite:authoryear] [\s!default:\s!cite:author] - [\c!compress=\v!yes, - \c!left={(}, + [\c!left={(}, \c!right={)}, \c!inbetween={,\space}] diff --git a/tex/context/base/s-abr-01.tex b/tex/context/base/s-abr-01.tex index 71c377418..00a1a5c1e 100644 --- a/tex/context/base/s-abr-01.tex +++ b/tex/context/base/s-abr-01.tex @@ -46,6 +46,7 @@ \logo [ARABTEX] {Arab\TeX} \logo [ASCII] {ascii} \logo [ASCIITEX] {ascii\TeX} +\logo [ASCIIMATH] {AsciiMath} \logo [BACHOTEX] {Bacho\TeX} \logo [BIBTEX] {bib\TeX} \logo [MLBIBTEX] {MLbib\TeX} diff --git a/tex/context/base/s-math-coverage.lua b/tex/context/base/s-math-coverage.lua index 56880f76d..3c6080dc3 100644 --- a/tex/context/base/s-math-coverage.lua +++ b/tex/context/base/s-math-coverage.lua @@ -9,45 +9,50 @@ if not modules then modules = { } end modules ['s-math-coverage'] = { local utfchar, utfbyte = utf.char, utf.byte local formatters, lower = string.formatters, string.lower local concat = table.concat +local sortedhash = table.sortedhash -moduledata.math = moduledata.math or { } -moduledata.math.coverage = moduledata.math.coverage or { } +moduledata.math = moduledata.math or { } +moduledata.math.coverage = moduledata.math.coverage or { } -local context = context +local context = context -local ctx_NC = context.NC -local ctx_NR = context.NR -local ctx_HL = context.HL +local ctx_NC = context.NC +local ctx_NR = context.NR +local ctx_HL = context.HL -local ctx_rawmathematics = context.formatted.rawmathematics -local ctx_mathematics = context.formatted.mathematics -local ctx_startimath = context.startimath -local ctx_stopimath = context.stopimath -local ctx_setmathattribute = context.setmathattribute -local ctx_underbar = context.underbar -local ctx_getglyph = context.getglyph +local ctx_startmixedcolumns = context.startmixedcolumns +local ctx_stopmixedcolumns = context.stopmixedcolumns +local ctx_setupalign = context.setupalign +local ctx_starttabulate = context.starttabulate +local ctx_stoptabulate = context.stoptabulate +local ctx_rawmathematics = context.formatted.rawmathematics +local ctx_mathematics = context.formatted.mathematics +local ctx_startimath = context.startimath +local ctx_stopimath = context.stopimath +local ctx_setmathattribute = context.setmathattribute +local ctx_underbar = context.underbar +local ctx_getglyph = context.getglyph -local styles = mathematics.styles -local alternatives = mathematics.alternatives -local charactersets = mathematics.charactersets +local styles = mathematics.styles +local alternatives = mathematics.alternatives +local charactersets = mathematics.charactersets -local getboth = mathematics.getboth -local remapalphabets = mathematics.remapalphabets +local getboth = mathematics.getboth +local remapalphabets = mathematics.remapalphabets -local chardata = characters.data -local superscripts = characters.superscripts -local subscripts = characters.subscripts +local chardata = characters.data +local superscripts = characters.superscripts +local subscripts = characters.subscripts context.writestatus("math coverage","underline: not remapped") function moduledata.math.coverage.showalphabets() - context.starttabulate { "|lT|l|Tl|" } + ctx_starttabulate { "|lT|l|Tl|" } for i=1,#styles do local style = styles[i] for i=1,#alternatives do local alternative = alternatives[i] - for i=1,#charactersets do - local alphabet = charactersets[i] + for _, alphabet in sortedhash(charactersets) do ctx_NC() if i == 1 then context("%s %s",style,alternative) @@ -80,14 +85,14 @@ function moduledata.math.coverage.showalphabets() end end end - context.stoptabulate() + ctx_stoptabulate() end function moduledata.math.coverage.showcharacters() - context.startmixedcolumns() - context.setupalign { "nothyphenated" } - context.starttabulate { "|T|i2|Tpl|" } - for u, d in table.sortedhash(chardata) do + ctx_startmixedcolumns { balance = "yes" } + ctx_setupalign { "nothyphenated" } + ctx_starttabulate { "|T|i2|Tpl|" } + for u, d in sortedhash(chardata) do local mathclass = d.mathclass local mathspec = d.mathspec if mathclass or mathspec then @@ -110,15 +115,15 @@ function moduledata.math.coverage.showcharacters() ctx_NR() end end - context.stoptabulate() - context.stopmixedcolumns() + ctx_stoptabulate() + ctx_stopmixedcolumns() end -- This is a somewhat tricky table as we need to bypass the math machinery. function moduledata.math.coverage.showscripts() - context.starttabulate { "|cT|c|cT|c|c|c|l|" } - for k, v in table.sortedhash(table.merged(superscripts,subscripts)) do + ctx_starttabulate { "|cT|c|cT|c|c|c|l|" } + for k, v in sortedhash(table.merged(superscripts,subscripts)) do local ck = utfchar(k) local cv = utfchar(v) local ss = superscripts[k] and "^" or "_" @@ -131,14 +136,14 @@ function moduledata.math.coverage.showscripts() ctx_NC() context(lower(chardata[k].description)) ctx_NC() ctx_NR() end - context.stoptabulate() + ctx_stoptabulate() end -- Handy too. function moduledata.math.coverage.showbold() - context.starttabulate { "|lT|cm|lT|cm|lT|" } - for k, v in table.sortedhash(mathematics.boldmap) do + ctx_starttabulate { "|lT|cm|lT|cm|lT|" } + for k, v in sortedhash(mathematics.boldmap) do ctx_NC() context("%U",k) ctx_NC() context("%c",k) ctx_NC() context("%U",v) @@ -146,5 +151,47 @@ function moduledata.math.coverage.showbold() ctx_NC() context(chardata[k].description) ctx_NC() ctx_NR() end - context.stoptabulate() + ctx_stoptabulate() end + +-- function moduledata.math.coverage.showentities() +-- ctx_startmixedcolumns { balance = "yes" } +-- ctx_starttabulate { "|Tl|c|Tl|" } +-- for k, v in sortedhash(characters.entities) do +-- local b = utf.byte(v) +-- local d = chardata[b] +-- local m = d.mathname +-- local c = d.contextname +-- local s = ((m and "\\"..m) or (c and "\\".. c) or v) .. "{}{}{}" +-- ctx_NC() +-- context("%U",b) +-- ctx_NC() +-- ctx_mathematics(s) +-- ctx_NC() +-- context(k) +-- ctx_NC() +-- ctx_NR() +-- end +-- ctx_stoptabulate() +-- ctx_stopmixedcolumns() +-- end + +function moduledata.math.coverage.showentities() + ctx_startmixedcolumns { balance = "yes" } + ctx_starttabulate { "|T||T|T|" } + for k, v in sortedhash(characters.entities) do + local d = chardata[v] + if d then + local m = d.mathclass or d.mathspec + local u = d.unicodeslot + ctx_NC() context(m and "m" or "t") + ctx_NC() ctx_getglyph("MathRoman",u) + ctx_NC() context("%05X",u) + ctx_NC() context(k) + ctx_NC() ctx_NR() + end + end + ctx_stoptabulate() + ctx_stopmixedcolumns() +end + diff --git a/tex/context/base/s-math-coverage.mkiv b/tex/context/base/s-math-coverage.mkiv index 9f084b284..e318c9eff 100644 --- a/tex/context/base/s-math-coverage.mkiv +++ b/tex/context/base/s-math-coverage.mkiv @@ -15,10 +15,11 @@ \registerctxluafile{s-math-coverage}{} -\installmodulecommandluasingle \showmathalphabets {moduledata.math.coverage.showalphabets} -\installmodulecommandluasingle \showmathcharacters {moduledata.math.coverage.showcharacters} -\installmodulecommandluasingle \showmathscripts {moduledata.math.coverage.showscripts} -\installmodulecommandluasingle \showmathbold {moduledata.math.coverage.showbold} +\installmodulecommandluasingle \showmathalphabets {moduledata.math.coverage.showalphabets} +\installmodulecommandluasingle \showmathcharacters{moduledata.math.coverage.showcharacters} +\installmodulecommandluasingle \showmathscripts {moduledata.math.coverage.showscripts} +\installmodulecommandluasingle \showmathbold {moduledata.math.coverage.showbold} +\installmodulecommandluasingle \showmathentities {moduledata.math.coverage.showentities} \stopmodule @@ -32,5 +33,6 @@ \showmathcharacters \page \showmathscripts \page \showmathbold \page + \showmathentities \page \stoptext diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index feb2b3c79..b68040c09 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 e0c35e9a9..6d8df7fd6 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/tabl-tbl.mkiv b/tex/context/base/tabl-tbl.mkiv index 675361b43..ae4f03825 100644 --- a/tex/context/base/tabl-tbl.mkiv +++ b/tex/context/base/tabl-tbl.mkiv @@ -1087,6 +1087,8 @@ \tabulatenoalign{\kern-\lineheight}% \fi} +% todo: make footer synonym to tail + \setuvalue{\e!start\v!tabulatehead}{\doifelsenextoptionalcs\tabl_tabulate_start_head_yes\tabl_tabulate_start_head_nop} \setuvalue{\e!start\v!tabulatetail}{\doifelsenextoptionalcs\tabl_tabulate_start_foot_yes\tabl_tabulate_start_foot_nop} diff --git a/tex/context/base/x-mathml.mkiv b/tex/context/base/x-mathml.mkiv index ac74aa414..d090d5752 100644 --- a/tex/context/base/x-mathml.mkiv +++ b/tex/context/base/x-mathml.mkiv @@ -2435,29 +2435,39 @@ \def\mmlsetfakewidth#1{\setbox\scratchbox\hbox{#1}\scratchdimen\wd\scratchbox} \def\mmlmcolumndigitspace {\mmlsetfakewidth {0}\kern\scratchdimen} -\def\mmlmcolumndigitrule {\mmlsetfakewidth {0}\vrule width \scratchdimen height .2pt depth .2pt\relax} -\def\mmlmcolumnsymbolrule {\mmlsetfakewidth{\times}\vrule width \scratchdimen height .2pt depth .2pt\relax} -\def\mmlmcolumnpunctuationrule{\mmlsetfakewidth {.}\vrule width \scratchdimen height .2pt depth .2pt\relax} +\def\mmlmcolumndigitrule {\mmlsetfakewidth {0}\vrule \s!width \scratchdimen \s!height .2\points \s!depth .2\points\relax} +\def\mmlmcolumnsymbolrule {\mmlsetfakewidth{\times}\vrule \s!width \scratchdimen \s!height .2\points \s!depth .2\points\relax} +\def\mmlmcolumnpunctuationrule{\mmlsetfakewidth {.}\vrule \s!width \scratchdimen \s!height .2\points \s!depth .2\points\relax} + +\setupMMLappearance[mspace][\c!option=] % \v!test \startxmlsetups mml:mspace \begingroup \edef\mmlspacetext{\xmlatt{#1}{spacing}} \ifx\mmlspacetext\empty - \!!widtha \xmlattdef{#1}{width} \!!zeropoint % must be string - \!!heighta\xmlattdef{#1}{height}\!!zeropoint - \!!deptha \xmlattdef{#1}{depth} \!!zeropoint - \ifdim\!!heighta=\zeropoint - \ifdim\!!deptha=\zeropoint\else - \hbox{\vrule\s!depth\!!deptha\s!height\zeropoint\s!width\zeropoint}% + \scratchwidth \xmlattdef{#1}{width} \!!zeropoint % must be string + \scratchheight\xmlattdef{#1}{height}\!!zeropoint + \scratchdepth \xmlattdef{#1}{depth} \!!zeropoint + \ifdim\scratchheight=\zeropoint + \ifdim\scratchdepth=\zeropoint\else + \hbox{\vrule\s!depth\scratchdepth\s!height\zeropoint\s!width\zeropoint}% \fi \else - \hbox{\vrule\s!depth\zeropoint\s!height\!!heighta\s!width\zeropoint}% + \hbox{\vrule\s!depth\zeropoint\s!height\scratchheight\s!width\zeropoint}% \fi - \ifdim\!!widtha=\zeropoint\else - \hskip\!!widtha + \ifdim\scratchwidth=\zeropoint\else + \ifx\MMLmspaceoption\v!test + \hbox to \scratchwidth{\showstruts\strut\hss\lower2\exheight\hbox{\infofont\xmlattdef{#1}{width}}\hss\strut} + \else + \hskip\scratchwidth + \fi \fi \else - \phantom{\triggermathstyle\normalmathstyle\mmlspacetext} + \ifx\MMLmspaceoption\v!test + \hbox{\showstruts\strut\phantom{\triggermathstyle\normalmathstyle\mmlspacetext}\strut} + \else + \phantom{\triggermathstyle\normalmathstyle\mmlspacetext} + \fi \fi \endgroup \stopxmlsetups diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 9c2f4732b..2e0518be1 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 : 04/09/15 20:56:25 +-- merge date : 04/10/15 09:29:23 do -- begin closure to overcome local limits and interference -- cgit v1.2.3