From b356573a2d7c9f73058b973e322791d5eee16ef5 Mon Sep 17 00:00:00 2001 From: Marius Date: Thu, 13 Oct 2011 22:40:14 +0300 Subject: beta 2011.10.13 21:36 --- tex/context/base/anch-pgr.mkiv | 7 -- tex/context/base/chem-str.lua | 10 ++- tex/context/base/cont-new.mkii | 2 +- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4093 -> 4095 bytes tex/context/base/context-version.png | Bin 106363 -> 106350 bytes tex/context/base/context.mkii | 2 +- tex/context/base/context.mkiv | 2 +- tex/context/base/font-ctx.lua | 2 +- tex/context/base/mlib-pps.lua | 6 +- tex/context/base/mult-mps.lua | 73 ++++++++++++++++----- tex/context/base/status-files.pdf | Bin 23918 -> 23924 bytes tex/context/base/status-lua.pdf | Bin 163360 -> 163362 bytes tex/context/base/typo-itc.lua | 19 ++++-- tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 15 files changed, 84 insertions(+), 43 deletions(-) (limited to 'tex') diff --git a/tex/context/base/anch-pgr.mkiv b/tex/context/base/anch-pgr.mkiv index 19cc43e0e..f86805760 100644 --- a/tex/context/base/anch-pgr.mkiv +++ b/tex/context/base/anch-pgr.mkiv @@ -419,13 +419,6 @@ \defineoverlay[\v!text+1][\positionoverlay{\v!text+1}] \defineoverlay[\v!text+2][\positionoverlay{\v!text+2}] -%D The auxiliary \METAPOST\ macros are defined by default, -%D by saying: - -\startMPextensions - if unknown context_core : input mp-core.mp ; fi ; -\stopMPextensions - %D Some of these macros are pretty clever but too complicated %D to be nice. When things are kind of stable I'll clean up %D this mess. diff --git a/tex/context/base/chem-str.lua b/tex/context/base/chem-str.lua index 7a63c2efb..02bfcf737 100644 --- a/tex/context/base/chem-str.lua +++ b/tex/context/base/chem-str.lua @@ -393,6 +393,9 @@ function chemicals.start(settings) local textsize, rulethickness, rulecolor = settings.size, settings.rulethickness, settings.rulecolor local width, height, scale, offset = settings.width or 0, settings.height or 0, settings.scale or "medium", settings.offset or 0 local l, r, t, b = settings.left or 0, settings.right or 0, settings.top or 0, settings.bottom or 0 + -- + metacode = { "if unknown context_chem : input mp-chem.mpiv ; fi ;" } -- no format anyway + -- if scale == variables.small then scale = 500 elseif scale == variables.medium or scale == 0 then @@ -440,16 +443,19 @@ function chemicals.start(settings) height = false end scale = 0.75 * scale/625 - metacode = { format("chem_start_structure(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) ;", + -- + metacode[#metacode+1] = format("chem_start_structure(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) ;", chemicals.structures, l/25, r/25, t/25, b/25, scale, tostring(settings.axis == variables.on), tostring(width), tostring(height), tostring(offset) - ) } + ) + -- variant, keys, bonds, stack, rot, pstack = "six", { }, 6, { }, 1, { } end function chemicals.stop() metacode[#metacode+1] = "chem_stop_structure ;" + -- local mpcode = concat(metacode,"\n") if trace_structure then report_chemistry("metapost code:\n%s", mpcode) diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii index 33f40c75e..4bb76ba8c 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{2011.10.12 19:52} +\newcontextversion{2011.10.13 21:36} %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 09a4321ce..c127f3f75 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{2011.10.12 19:52} +\newcontextversion{2011.10.13 21:36} %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 9c7f6c784..dcb141009 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 d9054129f..477e5451d 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 be64609d1..7baf41486 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{2011.10.12 19:52} +\edef\contextversion{2011.10.13 21:36} %D For those who want to use this: diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index 504fee6fd..49e2088f4 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2011.10.12 19:52} +\edef\contextversion{2011.10.13 21:36} %D For those who want to use this: diff --git a/tex/context/base/font-ctx.lua b/tex/context/base/font-ctx.lua index 9a92cadec..0e92c8260 100644 --- a/tex/context/base/font-ctx.lua +++ b/tex/context/base/font-ctx.lua @@ -155,7 +155,7 @@ setmetatableindex(xheightdata, function(t,k) return quad end) -setmetatableindex(italicsdata, function(t,k) +setmetatableindex(italicsdata, function(t,k) -- is test ! local properties = fontdata[k].properties local italics = properties and properties.italic_correction if italics then diff --git a/tex/context/base/mlib-pps.lua b/tex/context/base/mlib-pps.lua index 85352d8fc..1cd74f4fc 100644 --- a/tex/context/base/mlib-pps.lua +++ b/tex/context/base/mlib-pps.lua @@ -461,9 +461,9 @@ local function sxsy(wd,ht,dp) -- helper for text return (wd ~= 0 and factor/wd) or 0, (hd ~= 0 and factor/hd) or 0 end -local no_trial_run = "_trial_run_ := false ;" -local do_trial_run = "if unknown _trial_run_ : boolean _trial_run_ fi ; _trial_run_ := true ;" -local text_data_template = "_tt_w_[%i] := %f ; _tt_h_[%i] := %f ; _tt_d_[%i] := %f ;" +local no_trial_run = "mfun_trial_run := false ;" +local do_trial_run = "if unknown mfun_trial_run : boolean mfun_trial_run fi ; mfun_trial_run := true ;" +local text_data_template = "mfun_tt_w[%i] := %f ; mfun_tt_h[%i] := %f ; mfun_tt_d[%i] := %f ;" local do_begin_fig = "; beginfig(1) ; " local do_end_fig = "; endfig ;" local do_safeguard = ";" diff --git a/tex/context/base/mult-mps.lua b/tex/context/base/mult-mps.lua index 860ae29f1..5a78bce8c 100644 --- a/tex/context/base/mult-mps.lua +++ b/tex/context/base/mult-mps.lua @@ -2,6 +2,9 @@ return { tex = { "btex", "etex", "verbatimtex", }, + shortcuts = { + "..", "...", "--", "---", "&", + }, primitives = { -- to be checked "charcode", "day", "linecap", "linejoin", "miterlimit", "month", "pausing", "prologues", "showstopping", "time", "tracingcapsules", "tracingchoices", "mpprocset", @@ -10,12 +13,12 @@ return { "tracingspecs", "tracingstats", "tracingtitles", "truecorners", "warningcheck", "year", "false", "nullpicture", "pencircle", "true", - "and", "angle", "arclength", "arctime", "ASCII", "bluepart", "boolean", "bot", + "and", "angle", "arclength", "arctime", "ASCII", "boolean", "bot", "char", "color", "cosd", "cycle", "decimal", "directiontime", "floor", "fontsize", - "greenpart", "hex", "infont", "intersectiontimes", "known", "length", "llcorner", + "hex", "infont", "intersectiontimes", "known", "length", "llcorner", "lrcorner", "makepath", "makepen", "mexp", "mlog", "normaldeviate", "not", "numeric", "oct", "odd", "or", "path", "pair", "pen", "penoffset", "picture", "point", - "postcontrol", "precontrol", "redpart", "reverse", "rotated", "scaled", + "postcontrol", "precontrol", "reverse", "rotated", "scaled", "shifted", "sind", "slanted", "sqrt", "str", "string", "subpath", "substring", "transform", "transformed", "ulcorner", "uniformdeviate", "unknown", "urcorner", "xpart", "xscaled", "xxpart", "xypart", "ypart", "yscaled", "yxpart", @@ -23,12 +26,11 @@ return { "addto", "clip", "input", "interim", "let", "newinternal", "save", "setbounds", "shipout", "show", "showdependencies", "showtoken", "showvariable", "special", - "rgbcolor", "cmykcolor", "graycolor", "begingroup", "endgroup", "of", "curl", "tension", "and", "controls", "reflectedabout", "rotatedaround", "interpath", "on", "off", "beginfig", "endfig", "def", "vardef", "enddef", "expr", "suffix", "text", "primary", "secondary", - "tertiary", "primarydef", "secondarydef", "tertiarydef", "top", "bottom", - "ulft", "urt", "llft", "lrt", "randomseed", "also", "contour", "doublepath", + "tertiary", "primarydef", "secondarydef", "tertiarydef", + "randomseed", "also", "contour", "doublepath", "withcolor", "withpen", "dashed", "if", "else", "elseif", "fi", "for", "endfor", "forever", "exitif", "forsuffixes", "downto", "upto", "step", "until", "charlist", "extensible", "fontdimen", "headerbyte", "kern", "ligtable", @@ -43,21 +45,30 @@ return { "chardy", "hppp", "tracingedges", "vppp", "extra_beginfig", "extra_endfig", "mpxbreak", "endinput", + "message", "delimiters", "turningnumber", "errmessage", + "readstring", "scantokens", "end", "outer", "inner", "write", "to", "readfrom", + "withprescript", "withpostscript", + "top", "bot", "lft", "rt", "ulft", "urt", "llft", "lrt", + -- + "redpart", "greenpart", "bluepart", "cyanpart", "magentapart", "yellowpart", "blackpart", "greypart", + "rgbcolor", "cmykcolor", "greycolor", "graycolor", + "colormodel", "graypart", }, - plain = { - "ahangle", "ahlength", "bboxmargin", "defaultpen", "defaultscale", - "labeloffset", "background", "currentpen", "currentpicture", "cuttings", + commands = { + "arrowhead", + "currentpen", "currentpicture", "cuttings", "defaultfont", "extra_beginfig", "extra_endfig", - "beveled", "black", "blue", "bp", "butt", "cc", "cm", "dd", "ditto", "down", "epsilon", - "evenly", "fullcircle", "green", "halfcircle", "identity", "in", "infinity", "left", - "mitered", "mm", "origin", "pensquare", "pt", "quartercircle", "red", "right", - "rounded", "squared", "unitsquare", "up", "white", "withdots", + "ditto", "EOF", "down", + "evenly", "fullcircle", "halfcircle", "identity", "in", "left", + "origin", "pensquare", "quartercircle", "right", + "unitsquare", "up", "withdots", "abs", "bbox", "ceiling", "center", "cutafter", "cutbefore", "dir", - "directionpoint", "div", "dotprod", "intersectionpoint", "inverse", "mod", "lft", - "round", "rt", "unitvector", "whatever", + "directionpoint", "div", "dotprod", "intersectionpoint", "inverse", "mod", + "round", "unitvector", "whatever", "cutdraw", "draw", "drawarrow", "drawdblarrow", "fill", "filldraw", "drawdot", - "loggingall", "pickup", "tracingall", "tracingnone", "undraw", "unfill", - "unfilldraw", + "loggingall", "interact", "tracingall", "tracingnone", + "pickup", + "undraw", "unfill", "unfilldraw", "buildcycle", "dashpattern", "decr", "dotlabel", "dotlabels", "drawoptions", "incr", "label", "labels", "max", "min", "thelabel", "z", "beginchar", "blacker", "capsule_end", "change_width", @@ -67,7 +78,33 @@ return { "define_whole_blacker_pixels", "define_whole_pixels", "define_whole_vertical_blacker_pixels", "define_whole_vertical_pixels", "endchar", "extra_beginchar", - "extra_endchar", "extra_setup", "font_coding_scheme", "clearxy", + "extra_endchar", "extra_setup", "font_coding_scheme", + "clearxy", "clearit", "clearpen", "shipit", "font_extra_space", + "exitunless", + "relax", "hide", "gobble", "gobbled", "stop", + "blankpicture", + "counterclockwise", "tensepath", "takepower", "direction", + "softjoin", -- "magstep", + "makelabel", -- "laboff", + "rotatedabout", "flex", "superellipse", "erase", "image", + "nullpen", "savepen", "clearpen", "penpos", "penlabels", -- "clear_pen_memory", + "range", "numtok", "thru", + "z", "laboff", + "bye", + -- + "red", "green", "blue", "cyan", "magenta", "yellow", "black", "white", "background", + "graypart", "graycolor", + -- + "mm", "pt", "dd", "bp", "cm", "pc", "cc", "in", + }, + internals = { -- we need to remove duplicates above + -- + "mitered", "rounded", "beveled", "butt", "squared", + "eps", "epsilon", "infinity", + "bboxmargin", "ahlength", "ahangle", "labeloffset", "dotlabeldiam", "defaultpen", "defaultscale", "join_radius", + -- + "pen_lft", "pen_rt", "pen_top", "pen_bot", -- "pen_count_", + -- }, } diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 1ab9590fb..1ac026c70 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 165a1e4aa..6ebf9b11b 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/typo-itc.lua b/tex/context/base/typo-itc.lua index 9cf4de8cd..322085346 100644 --- a/tex/context/base/typo-itc.lua +++ b/tex/context/base/typo-itc.lua @@ -96,14 +96,19 @@ local function process(namespace,attribute,head) local attr = forcedvariant or has_attribute(current,attribute) if attr and attr > 0 then local cd = data[char] - italic = cd.italic or cd.italic_correction - if not italic then + if not cd then + -- this really can happen italic = 0 - elseif italic ~= 0 then - lastfont = font - lastattr = attr - previous = current - prevchar = char + else + italic = cd.italic or cd.italic_correction + if not italic then + italic = 0 + elseif italic ~= 0 then + lastfont = font + lastattr = attr + previous = current + prevchar = char + end end else italic = 0 diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index f10590d90..f1a4d0c9b 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 : 10/12/11 19:52:43 +-- merge date : 10/13/11 21:36:08 do -- begin closure to overcome local limits and interference -- cgit v1.2.3