diff options
Diffstat (limited to 'tex')
| -rw-r--r-- | tex/context/base/anch-pgr.mkiv | 7 | ||||
| -rw-r--r-- | tex/context/base/chem-str.lua | 10 | ||||
| -rw-r--r-- | tex/context/base/cont-new.mkii | 2 | ||||
| -rw-r--r-- | tex/context/base/cont-new.mkiv | 2 | ||||
| -rw-r--r-- | tex/context/base/context-version.pdf | bin | 4093 -> 4095 bytes | |||
| -rw-r--r-- | tex/context/base/context-version.png | bin | 106363 -> 106350 bytes | |||
| -rw-r--r-- | tex/context/base/context.mkii | 2 | ||||
| -rw-r--r-- | tex/context/base/context.mkiv | 2 | ||||
| -rw-r--r-- | tex/context/base/font-ctx.lua | 2 | ||||
| -rw-r--r-- | tex/context/base/mlib-pps.lua | 6 | ||||
| -rw-r--r-- | tex/context/base/mult-mps.lua | 73 | ||||
| -rw-r--r-- | tex/context/base/status-files.pdf | bin | 23918 -> 23924 bytes | |||
| -rw-r--r-- | tex/context/base/status-lua.pdf | bin | 163360 -> 163362 bytes | |||
| -rw-r--r-- | tex/context/base/typo-itc.lua | 19 | 
14 files changed, 83 insertions, 42 deletions
| 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 7d7f950fa..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:30} +\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 ae1b3d2bd..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:30} +\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.pdfBinary files differ index 9c7f6c784..dcb141009 100644 --- a/tex/context/base/context-version.pdf +++ b/tex/context/base/context-version.pdf diff --git a/tex/context/base/context-version.png b/tex/context/base/context-version.pngBinary files differ index d9054129f..477e5451d 100644 --- a/tex/context/base/context-version.png +++ b/tex/context/base/context-version.png diff --git a/tex/context/base/context.mkii b/tex/context/base/context.mkii index e5991b974..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:30} +\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 a451b056b..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:30} +\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.pdfBinary files differ index a4c56c6f8..1ac026c70 100644 --- a/tex/context/base/status-files.pdf +++ b/tex/context/base/status-files.pdf diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdfBinary files differ index 165a1e4aa..6ebf9b11b 100644 --- a/tex/context/base/status-lua.pdf +++ b/tex/context/base/status-lua.pdf 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 | 
