diff options
Diffstat (limited to 'tex')
22 files changed, 196 insertions, 109 deletions
| diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii index bbc4328b2..84973fd1b 100644 --- a/tex/context/base/mkii/cont-new.mkii +++ b/tex/context/base/mkii/cont-new.mkii @@ -11,7 +11,7 @@  %C therefore copyrighted by \PRAGMA. See mreadme.pdf for  %C details. -\newcontextversion{2018.08.21 08:33} +\newcontextversion{2018.08.24 19:18}  %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/mkii/context.mkii b/tex/context/base/mkii/context.mkii index 969760423..15db8fef4 100644 --- a/tex/context/base/mkii/context.mkii +++ b/tex/context/base/mkii/context.mkii @@ -20,7 +20,7 @@  %D your styles an modules.  \edef\contextformat {\jobname} -\edef\contextversion{2018.08.21 08:33} +\edef\contextversion{2018.08.24 19:18}  %D For those who want to use this: diff --git a/tex/context/base/mkiv/attr-col.lua b/tex/context/base/mkiv/attr-col.lua index f970fb8e7..4e5f59fb1 100644 --- a/tex/context/base/mkiv/attr-col.lua +++ b/tex/context/base/mkiv/attr-col.lua @@ -295,7 +295,7 @@ function colors.spot(parent,f,d,p)              local v = values[n]              if v then                  -- the via cmyk hack is dirty, but it scales better -                local c, m, y, k = p*v[6], p*v[7], p*v[8], p*v[8] +                local c, m, y, k = p*v[6], p*v[7], p*v[8], p*v[9]                  local r, g, b = cmyktorgb(c,m,y,k)                  local s = cmyktogray(c,m,y,k)                  return { 5, s, r, g, b, c, m, y, k, parent, f, d, p } @@ -318,7 +318,7 @@ function colors.spot(parent,f,d,p)                          c = c + p*v[6]                          m = m + p*v[7]                          y = y + p*v[8] -                        k = k + p*v[8] +                        k = k + p*v[9]                          done = true                      end                  end diff --git a/tex/context/base/mkiv/colo-ini.lua b/tex/context/base/mkiv/colo-ini.lua index f8b9cff7f..d24939896 100644 --- a/tex/context/base/mkiv/colo-ini.lua +++ b/tex/context/base/mkiv/colo-ini.lua @@ -274,7 +274,9 @@ local function forcedmodel(model) -- delayed till the backend but mp directly              return 2          end      elseif model == 5 then -- spot -        if cmyk_okay then +        if spot_okay then +            return 5 +        elseif cmyk_okay then              return 4          elseif rgb_okay then              return 3 @@ -565,7 +567,7 @@ local function f(i,colors,fraction)      return otf  end -local function definemixcolor(makename,name,fractions,cs,global,freeze) +local function definemixcolor(makecolor,name,fractions,cs,global,freeze)      local values = { }      for i=1,#cs do -- do fraction in here          local v = colorvalues[cs[i]] @@ -593,7 +595,7 @@ local function definemixcolor(makename,name,fractions,cs,global,freeze)          end          definecolor(name,ca,global,freeze)      else -        report_colors("invalid specification of components for color %a",makename) +        report_colors("invalid specification of components for color %a",makecolor)      end  end @@ -609,12 +611,12 @@ local function definemultitonecolor(name,multispec,colorspec,selfspec)          nn = concat(nn,'_')          local parent = gsub(lower(nn),"[^%d%a%.]+","_")          if not colorspec or colorspec == "" then +            -- this can happens when we come from metapost              local cc = { }              for i=1,max do ---                 cc[i] = l_color[dd[i]]                  cc[i] = resolvedname(dd[i])              end -            definemixcolor(name,parent,pp,cc,global,freeze) -- can become local +            definemixcolor(name,parent,pp,cc,true,true)          else              if selfspec ~= "" then                  colorspec = colorspec .. "," .. selfspec @@ -646,24 +648,29 @@ colors.definemultitonecolor = definemultitonecolor  -- that we cannot cast .. so we really need to use (s,s,s) for gray in order  -- to be able to map onto 'color' -local function mpcolor(model,ca,ta,default) +local function mpcolor(model,ca,ta,default,name)      local cv = colorvalues[ca]      if cv then          local tv = transparencyvalues[ta] +        -- maybe move the 5 logic into the forcedmodel call +        local cm = cv[1]          if model == 1 then -            model = cv[1] +            model = cm          end          model = forcedmodel(model) +        if cm == 5 and model == 4 then +            model = 5 -- a cheat but ok as spot colors have a representation +        end          if tv then              if model == 2 then                  return formatters["transparent(%s,%s,(%s,%s,%s))"](tv[1],tv[2],cv[3],cv[4],cv[5])              elseif model == 3 then                  return formatters["transparent(%s,%s,(%s,%s,%s))"](tv[1],tv[2],cv[3],cv[4],cv[5])              elseif model == 4 then -                return formatters["transparent(%s,%s,cmyk(%s,%s,%s,%s))"](tv[1],tv[2],cv[6],cv[7],cv[8],cv[9]) +                return formatters["transparent(%s,%s,(%s,%s,%s,%s))"](tv[1],tv[2],cv[6],cv[7],cv[8],cv[9])              elseif model == 5 then               -- return formatters['transparent(%s,%s,multitonecolor("%s",%s,"%s","%s"))'](tv[1],tv[2],cv[10],cv[11],cv[12],cv[13]) -                return formatters['transparent(%s,%s,namedcolor("%s"))'](tv[1],tv[2],cv[10]) +                return formatters['transparent(%s,%s,namedcolor("%s"))'](tv[1],tv[2],name or cv[10])              else -- see ** in meta-ini.mkiv: return formatters["transparent(%s,%s,(%s))"](tv[1],tv[2],cv[2])                  return formatters["transparent(%s,%s,(%s,%s,%s))"](tv[1],tv[2],cv[3],cv[4],cv[5])              end @@ -673,10 +680,9 @@ local function mpcolor(model,ca,ta,default)              elseif model == 3 then                  return formatters["(%s,%s,%s)"](cv[3],cv[4],cv[5])              elseif model == 4 then -                return formatters["cmyk(%s,%s,%s,%s)"](cv[6],cv[7],cv[8],cv[9]) +                return formatters["(%s,%s,%s,%s)"](cv[6],cv[7],cv[8],cv[9])              elseif model == 5 then -             -- return formatters['multitonecolor("%s",%s,"%s","%s")'](cv[10],cv[11],cv[12],cv[13]) -                return formatters['namedcolor("%s")'](cv[10]) +                return formatters['namedcolor("%s")'](name or cv[10])              else -- see ** in meta-ini.mkiv: return formatters["%s"]((cv[2]))                  return formatters["(%s,%s,%s)"](cv[3],cv[4],cv[5])              end @@ -736,7 +742,8 @@ end  colors.namedcolorattributes = namedcolorattributes -- can be used local  local function mpnamedcolor(name) -    return mpcolor(namedcolorattributes(name)) +    local model, ca, ta = namedcolorattributes(name) +    return mpcolor(model,ca,ta,nil,name)  end  local function mpoptions(model,ca,ta,default) -- will move to mlib-col .. not really needed diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv index 80d9f45ab..5deb1b759 100644 --- a/tex/context/base/mkiv/cont-new.mkiv +++ b/tex/context/base/mkiv/cont-new.mkiv @@ -11,7 +11,7 @@  %C therefore copyrighted by \PRAGMA. See mreadme.pdf for  %C details. -\newcontextversion{2018.08.21 08:33} +\newcontextversion{2018.08.24 19:18}  %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/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv index 3afecfd75..89fc73650 100644 --- a/tex/context/base/mkiv/context.mkiv +++ b/tex/context/base/mkiv/context.mkiv @@ -42,7 +42,7 @@  %D has to match \type {YYYY.MM.DD HH:MM} format.  \edef\contextformat {\jobname} -\edef\contextversion{2018.08.21 08:33} +\edef\contextversion{2018.08.24 19:18}  \edef\contextkind   {beta}  %D For those who want to use this: diff --git a/tex/context/base/mkiv/lang-ini.mkiv b/tex/context/base/mkiv/lang-ini.mkiv index bb31da839..cc8a8ef16 100644 --- a/tex/context/base/mkiv/lang-ini.mkiv +++ b/tex/context/base/mkiv/lang-ini.mkiv @@ -620,6 +620,14 @@  \newcount\mainlanguagenumber +%D Beware: you might need to use \type {\dontleavehmode} outside and|/|or \type {\par} +%D inside the group! + +\unexpanded\def\startlanguage +  {\begingroup\language} + +\let\stoplanguage\endgroup +  % \unexpanded\def\mainlanguage[#1]%  %   {\edef\askedlanguage{#1}%  %    \ifx\askedlanguage\empty \else diff --git a/tex/context/base/mkiv/lpdf-col.lua b/tex/context/base/mkiv/lpdf-col.lua index d1a1af97d..bb7e933aa 100644 --- a/tex/context/base/mkiv/lpdf-col.lua +++ b/tex/context/base/mkiv/lpdf-col.lua @@ -617,7 +617,7 @@ function lpdf.colorvalues(model,ca,default)              return cv[3], cv[4], cv[5]          elseif model == 4 then              return cv[6], cv[7], cv[8], cv[9] -        elseif model == 4 then +        elseif model == 5 then              return cv[13]          end      else diff --git a/tex/context/base/mkiv/mlib-pps.lua b/tex/context/base/mkiv/mlib-pps.lua index 0c52aa0b9..03f712fbc 100644 --- a/tex/context/base/mkiv/mlib-pps.lua +++ b/tex/context/base/mkiv/mlib-pps.lua @@ -102,6 +102,7 @@ local f_gray  = formatters["%.3F g %.3F G"]  local f_rgb   = formatters["%.3F %.3F %.3F rg %.3F %.3F %.3F RG"]  local f_cmyk  = formatters["%.3F %.3F %.3F %.3F k %.3F %.3F %.3F %.3F K"]  local f_cm_b  = formatters["q %.6F %.6F %.6F %.6F %.6F %.6F cm"] +local f_scn   = formatters["%.3F"]  local f_shade = formatters["MpSh%s"]  local f_spot  = formatters["/%s cs /%s CS %s SCN %s scn"] @@ -114,6 +115,7 @@ directives.register("metapost.stripzeros",function()      f_rgb   = formatters["%.3N %.3N %.3N rg %.3N %.3N %.3N RG"]      f_cmyk  = formatters["%.3N %.3N %.3N %.3N k %.3N %.3N %.3N %.3N K"]      f_cm_b  = formatters["q %.6N %.6N %.6N %.6N %.6N %.6N cm"] +    f_scn   = formatters["%.3N"]  end)  local function checked_color_pair(color,...) @@ -1701,14 +1703,27 @@ local remappers = {      [4] = formatters["c=%s,m=%s,y=%s,k=%s"],  } +local processlast = 0 +local processhash = setmetatableindex(function(t,k) +    processlast = processlast + 1 +    local v = formatters["mp_%s"](processlast) +    defineprocesscolor(v,k,true,true) +    t[k] = v +    return v +end) + +local function checked_transparency(alternative,transparency,before,after) +    alternative  = tonumber(alternative)  or 1 +    transparency = tonumber(transparency) or 0 +    before[#before+1] = formatters["/Tr%s gs"](registertransparency(nil,alternative,transparency,true)) +    after [#after +1] = "/Tr0 gs" -- outertransparency +end +  local function tr_process(object,prescript,before,after)      -- before can be shortcut to t      local tr_alternative = prescript.tr_alternative      if tr_alternative then -        tr_alternative = tonumber(tr_alternative) -        local tr_transparency = tonumber(prescript.tr_transparency) -        before[#before+1] = formatters["/Tr%s gs"](registertransparency(nil,tr_alternative,tr_transparency,true)) -        after[#after+1] = "/Tr0 gs" -- outertransparency +        checked_transparency(tr_alternative,prescript.tr_transparency,before,after)      end      local cs = object.color      if cs and #cs > 0 then @@ -1719,29 +1734,35 @@ local function tr_process(object,prescript,before,after)          else              local sp_name = prescript.sp_name or "black"              if sp_type == "spot" then -                local sp_value = prescript.sp_value or "s:1" -                local sp_temp  = formatters["mp:%s"](sp_value) -                local s = split(sp_value,":") -                local r = remappers[#s] -                defineprocesscolor(sp_temp,r and r(unpack(s)) or "s=0",true,true) -                definespotcolor(sp_name,sp_temp,"p=1",true) +                local sp_value      = prescript.sp_value or "1" +                local components    = split(sp_value,":") +                local specification = remappers[#components] +                if specification then +                    specification = specification(unpack(components)) +                else +                    specification = "s=0" +                end +                local sp_spec = processhash[specification] +                definespotcolor(sp_name,sp_spec,"p=1",true)                  sp_type = "named"              elseif sp_type == "multitone" then -- (fractions of a multitone) don't work well in mupdf -                local sp_value = prescript.sp_value or "s:1" -                local sp_spec  = { } +                local sp_value = prescript.sp_value or "1" +                local sp_specs = { }                  local sp_list  = split(sp_value," ")                  for i=1,#sp_list do -                    local v = sp_list[i] -                    local t = formatters["mp:%s"](v) -                    local s = split(v,":") -                    local r = remappers[#s] -                    defineprocesscolor(t,r and r(unpack(s)) or "s=0",true,true) -                    local tt = formatters["ms:%s"](v) -                    definespotcolor(tt,t,"p=1",true) -                    sp_spec[#sp_spec+1] = formatters["%s=1"](t) +                    local sp_value      = sp_list[i] +                    local components    = split(sp_value,":") +                    local specification = remappers[#components] +                    if specification then +                        specification = specification(unpack(components)) +                    else +                        specification = "s=0" +                    end +                    local sp_spec = processhash[specification] +                    sp_specs[i] = formatters["%s=1"](sp_spec)                  end -                sp_spec = concat(sp_spec,",") -                definemultitonecolor(sp_name,sp_spec,"","",true) +                sp_specs = concat(sp_specs,",") +                definemultitonecolor(sp_name,sp_specs,"","")                  sp_type = "named"              end              if sp_type == "named" then @@ -1753,8 +1774,7 @@ local function tr_process(object,prescript,before,after)                      local t = t_list[sp_name] -- string or attribute                      local v = t and transparencyvalue(t)                      if v then -                        before[#before+1] = formatters["/Tr%s gs"](registertransparency(nil,v[1],v[2],true)) -                        after[#after+1] = "/Tr0 gs" -- outertransparency +                        checked_transparency(v[1],v[2],before,after)                      end                  end                  local c = c_list[sp_name] -- string or attribute @@ -1762,29 +1782,34 @@ local function tr_process(object,prescript,before,after)                  if v then                      -- all=1 gray=2 rgb=3 cmyk=4                      local colorspace = v[1] -                    local f = cs[1] +                    local factor     = cs[1]                      if colorspace == 2 then -                        local s = f*v[2] +                        local s = factor * v[2]                          c_b, c_a = checked_color_pair(f_gray,s,s)                      elseif colorspace == 3 then -                        local r, g, b = f*v[3], f*v[4], f*v[5] +                        local r = factor * v[3] +                        local g = factor * v[4] +                        local b = factor * v[5]                          c_b, c_a = checked_color_pair(f_rgb,r,g,b,r,g,b)                      elseif colorspace == 4 or colorspace == 1 then -                        local c, m, y, k = f*v[6], f*v[7], f*v[8], f*v[9] +                        local c = factor * v[6] +                        local m = factor * v[7] +                        local y = factor * v[8] +                        local k = factor * v[9]                          c_b, c_a = checked_color_pair(f_cmyk,c,m,y,k,c,m,y,k)                      elseif colorspace == 5 then                          -- not all viewers show the fractions ok                          local name  = v[10]                          local value = split(v[13],",") -                        if f ~= 1 then +                        if factor ~= 1 then                              for i=1,#value do -                                value[i] = f * (tonumber(value[i]) or 1) +                                value[i] = f_scn(factor * (tonumber(value[i]) or 1))                              end                          end                          value = concat(value," ")                          c_b, c_a = checked_color_pair(f_spot,name,name,value,value)                      else -                        local s = f*v[2] +                        local s = factor *v[2]                          c_b, c_a = checked_color_pair(f_gray,s,s)                      end                  end diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdfBinary files differ index bcf832f06..10ef69c69 100644 --- a/tex/context/base/mkiv/status-files.pdf +++ b/tex/context/base/mkiv/status-files.pdf diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdfBinary files differ index 01064bbff..bf0b7d9d8 100644 --- a/tex/context/base/mkiv/status-lua.pdf +++ b/tex/context/base/mkiv/status-lua.pdf diff --git a/tex/context/base/mkiv/util-soc-imp-copas.lua b/tex/context/base/mkiv/util-soc-imp-copas.lua index 8e2278eb2..0c6f65899 100644 --- a/tex/context/base/mkiv/util-soc-imp-copas.lua +++ b/tex/context/base/mkiv/util-soc-imp-copas.lua @@ -25,8 +25,11 @@ local runningcoroutine = coroutine.running  -- Meta information is public even if beginning with an "_" -local report = logs and logs.reporter("copas") or function(fmt,first,...) -    if fmt then +local function report(fmt,first,...) +    if logs then +        report = logs and logs.reporter("copas") +        report(fmt,first,...) +    elseif fmt then          fmt = "copas: " .. fmt          if first then              print(format(fmt,first,...)) @@ -734,16 +737,16 @@ local _tasks = { }  -- Lets tasks call the default _tick(). -local function addtaskRead(tsk) -    tsk.def_tick = _tickRead -    _tasks[tsk] = true +local function addtaskRead(task) +    task.def_tick = _tickRead +    _tasks[task] = true  end  -- Lets tasks call the default _tick(). -local function addtaskWrite(tsk) -    tsk.def_tick = _tickWrite -    _tasks[tsk] = true +local function addtaskWrite(task) +    task.def_tick = _tickWrite +    _tasks[task] = true  end  local function tasks() @@ -823,7 +826,7 @@ local function _select(timeout)      local now = gettime() -    local r_evs, w__evs, err = selectsocket(_reading, _writing, timeout) +    local r_evs, w_evs, err = selectsocket(_reading, _writing, timeout)      _readable_t._evs = r_evs      _writable_t._evs = w_evs @@ -888,7 +891,7 @@ local function copasstep(timeout)      local nextwait = _sleeping:getnext()      if nextwait then          timeout = timeout and min(nextwait,timeout) or nextwait -    elseif finished() then +    elseif copasfinished() then          return false      end @@ -902,7 +905,7 @@ local function copasstep(timeout)      for task in tasks() do          for event in task:events() do -            tsk:tick(event) +            task:tick(event)          end      end      return true @@ -921,10 +924,8 @@ function copas.loop(timeout)      copas.running = false  end -if logs then -    _G.copas = copas -    package.loaded.copas = copas - -- report("module (re)installed") -end +-- _G.copas = copas + +package.loaded.copas = copas  return copas diff --git a/tex/context/base/mkiv/util-soc-imp-ltn12.lua b/tex/context/base/mkiv/util-soc-imp-ltn12.lua index 0a389896b..f94c9f04f 100644 --- a/tex/context/base/mkiv/util-soc-imp-ltn12.lua +++ b/tex/context/base/mkiv/util-soc-imp-ltn12.lua @@ -5,8 +5,11 @@ local select, unpack = select, unpack  local insert, remove = table.insert, table.remove  local sub = string.sub -local report = logs and logs.reporter("ltn12") or function(fmt,first,...) -    if fmt then +local function report(fmt,first,...) +    if logs then +        report = logs and logs.reporter("ltn12") +        report(fmt,first,...) +    elseif fmt then          fmt = "ltn12: " .. fmt          if first then              print(format(fmt,first,...)) @@ -379,10 +382,6 @@ function pump.all(src, snk, step)      end  end -if logs then -    _G.ltn12 = ltn12 -    package.loaded.ltn12 = ltn12 - -- report("module (re)installed") -end +package.loaded.ltn12 = ltn12  return ltn12 diff --git a/tex/context/base/mkiv/util-soc-imp-mime.lua b/tex/context/base/mkiv/util-soc-imp-mime.lua index b1a5827ac..aea205728 100644 --- a/tex/context/base/mkiv/util-soc-imp-mime.lua +++ b/tex/context/base/mkiv/util-soc-imp-mime.lua @@ -8,8 +8,11 @@ local ltn12       = ltn12 or require("ltn12")  local filtercycle = ltn12.filter.cycle -local report = logs and logs.reporter("mime") or function(fmt,first,...) -    if fmt then +local function report(fmt,first,...) +    if logs then +        report = logs and logs.reporter("mime") +        report(fmt,first,...) +    elseif fmt then          fmt = "mime: " .. fmt          if first then              print(format(fmt,first,...)) @@ -96,10 +99,6 @@ mime.encode = choose(encodet)  mime.decode = choose(decodet)  mime.wrap   = choose(wrapt) -if logs then -    _G.mime = mime -    package.loaded.mime = mime - -- report("module (re)installed") -end +package.loaded.mime = mime  return mime diff --git a/tex/context/base/mkiv/util-soc-imp-socket.lua b/tex/context/base/mkiv/util-soc-imp-socket.lua index 0ad685d75..424b08e8f 100644 --- a/tex/context/base/mkiv/util-soc-imp-socket.lua +++ b/tex/context/base/mkiv/util-soc-imp-socket.lua @@ -12,8 +12,13 @@ local tcp4        = socket.tcp4  local tcp6        = socket.tcp6  local getaddrinfo = socket.dns.getaddrinfo -local report = logs and logs.reporter("socket") or function(fmt,first,...) -    if fmt then +local defaulthost = "0.0.0.0" + +local function report(fmt,first,...) +    if logs then +        report = logs and logs.reporter("socket") +        report(fmt,first,...) +    elseif fmt then          fmt = "socket: " .. fmt          if first then              print(format(fmt,first,...)) @@ -181,10 +186,8 @@ sourcet["default"] = sourcet["until-closed"]  socket.source = socket.choose(sourcet) -if logs then -    _G.socket = socket -    package.loaded.socket = socket - -- report("module (re)installed") -end +_G.socket = socket -- for now global + +package.loaded.socket = socket  return socket diff --git a/tex/context/base/mkiv/util-sql-imp-ffi.lua b/tex/context/base/mkiv/util-sql-imp-ffi.lua index e18736171..c4086d561 100644 --- a/tex/context/base/mkiv/util-sql-imp-ffi.lua +++ b/tex/context/base/mkiv/util-sql-imp-ffi.lua @@ -278,6 +278,7 @@ local function execute(t,query)      if query and query ~= "" then          local connection = t._connection_          local result = mysql_execute_query(connection,query,#query) +print(connection,result,query)          if result == 0 then              local result = mysql_store_result(connection)              if result ~= NULL then @@ -331,6 +332,7 @@ local function open(t,database,username,password,host,port)          local t = {              _connection_ = connection,          } +-- ffi_gc(connection, mysql_close)          return setmetatable(t,mt)      end  end @@ -348,13 +350,14 @@ local mt = {          connect = open,          close   = close,          message = message, -    } +    },  }  local function initialize()      local session = {          _session_ = mysql_initialize(instance) -- maybe share, single thread anyway      } + -- ffi_gc(session, mysql_close)      return setmetatable(session,mt)  end @@ -457,10 +460,11 @@ local function datafetched(specification,query,converter)          if type(r) == "table" then              result = r              okay = true -        elseif not m  then +        elseif not m then              okay = true          end      end +      local data, keys      if result then          if converter then @@ -477,25 +481,13 @@ local function datafetched(specification,query,converter)          report_state("message %s",message)      end -    if not result then -- can go -        if session then -            session:close() -        end -        if connection then -            connection:close() -        end -        if id then -            cache[id] = nil -        end -        return "execution error" -    end -      if not keys then          keys = { }      end      if not data then          data = { }      end +      if not id then          if connection then              connection:close() diff --git a/tex/context/base/mkiv/util-sql-logins.lua b/tex/context/base/mkiv/util-sql-logins.lua index 6773f91bf..c19bfbdf8 100644 --- a/tex/context/base/mkiv/util-sql-logins.lua +++ b/tex/context/base/mkiv/util-sql-logins.lua @@ -211,9 +211,10 @@ end  logins.userpurge = userpurge  local function verdict(okay,...) -    if not trace_logins then -        -- no tracing -    elseif okay then +--     if not trace_logins then +--         -- no tracing +--     else +    if okay then          report_logins("%s, granted",formatter(...))      else          report_logins("%s, blocked",formatter(...)) diff --git a/tex/context/base/mkiv/util-sql-users.lua b/tex/context/base/mkiv/util-sql-users.lua index 7204fb310..ee1f10b74 100644 --- a/tex/context/base/mkiv/util-sql-users.lua +++ b/tex/context/base/mkiv/util-sql-users.lua @@ -238,9 +238,7 @@ function users.valid(db,username,password,address)              name     = username,          },      } -      local data = data and data[1] -      if not data then          return false, "unknown user"      elseif not data.enabled then diff --git a/tex/context/fonts/mkiv/type-imp-firacode.mkiv b/tex/context/fonts/mkiv/type-imp-firacode.mkiv new file mode 100644 index 000000000..a4cec3af5 --- /dev/null +++ b/tex/context/fonts/mkiv/type-imp-firacode.mkiv @@ -0,0 +1,54 @@ +%D \module +%D   [       file=type-imp-firacode, +%D        version=2018.08.24, +%D          title=\CONTEXT\ Typescript Macros, +%D       subtitle=Firacode, +%D         author=Taco Hoekwater \& Hans Hagen, +%D           date=\currentdate, +%D      copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + + +\starttypescriptcollection[firacode] + +    \usetypescriptfile[dejavu] + +    \definefontfeature +      [firacode] +      [mode=node,script=dflt,language=dflt, +       calt=yes,mark=yes,mkmk=yes] + +    \starttypescript [\s!mono] [firacode] +        \definefontsynonym[FiraRetina] [\s!name:firacoderetina] [\s!features=firacode] +        \definefontsynonym[FiraLight]  [\s!name:firacodelight]  [\s!features=firacode] +        \definefontsynonym[FiraRegular][\s!name:firacoderegular][\s!features=firacode] +        \definefontsynonym[FiraMedium] [\s!name:firacodemedium] [\s!features=firacode] +        \definefontsynonym[FiraBold]   [\s!name:firacodebold]   [\s!features=firacode] +    \stoptypescript + +    \starttypescript [\s!mono] [firacode-light] +        \setups[\s!font:\s!fallback:\s!mono] +        \definefontsynonym[\s!Mono]    [FiraLight] +        \definefontsynonym[\s!MonoBold][FiraMedium] +    \stoptypescript + +    \starttypescript [\s!mono] [firacode] +        \setups[\s!font:\s!fallback:\s!mono] +        \definefontsynonym[\s!Mono]    [FiraRegular] +        \definefontsynonym[\s!MonoBold][FiraBold] +    \stoptypescript + +    \starttypescript[firacode] +        \definetypeface[firacode][\s!rm][\s!serif][dejavu]  [\s!default] +        \definetypeface[firacode][\s!ss][\s!sans] [dejavu]  [\s!default] +        \definetypeface[firacode][\s!mm][\s!math] [dejavu]  [\s!default] +        \definetypeface[firacode][\s!tt][\s!mono] [firacode][\s!default] +    \stoptypescript + +\stoptypescriptcollection + +% \setupbodyfont[firacode,12pt] + diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdfBinary files differ index 481f716ed..41053bae2 100644 --- a/tex/context/interface/mkiv/i-context.pdf +++ b/tex/context/interface/mkiv/i-context.pdf diff --git a/tex/context/interface/mkiv/i-readme.pdf b/tex/context/interface/mkiv/i-readme.pdfBinary files differ index 9c5a5ec6f..9c3eb7259 100644 --- a/tex/context/interface/mkiv/i-readme.pdf +++ b/tex/context/interface/mkiv/i-readme.pdf diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index e29a8ab22..7e833e1b3 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 : c:/data/develop/context/sources/luatex-fonts-merged.lua  -- parent file : c:/data/develop/context/sources/luatex-fonts.lua --- merge date  : 08/21/18 08:33:57 +-- merge date  : 08/24/18 19:18:34  do -- begin closure to overcome local limits and interference | 
