diff options
| author | Context Git Mirror Bot <phg42.2a@gmail.com> | 2015-07-01 23:15:05 +0200 | 
|---|---|---|
| committer | Context Git Mirror Bot <phg42.2a@gmail.com> | 2015-07-01 23:15:05 +0200 | 
| commit | 865735f6a380cd9a5b5eb1b64d4c82b78e7c0ed1 (patch) | |
| tree | 7684538cdd4ba6a2d0ee57005bfdc0d406555bd5 /scripts | |
| parent | ce4c6e98782de9bab14ed3963c403edbac974879 (diff) | |
| download | context-865735f6a380cd9a5b5eb1b64d4c82b78e7c0ed1.tar.gz | |
2015-07-01 21:42:00
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/context/lua/mtx-fonts.lua | 2 | ||||
| -rw-r--r-- | scripts/context/lua/mtxlibs.lua | 1 | ||||
| -rw-r--r-- | scripts/context/lua/mtxrun.lua | 253 | ||||
| -rw-r--r-- | scripts/context/stubs/mswin/mtxrun.lua | 253 | ||||
| -rw-r--r-- | scripts/context/stubs/unix/mtxrun | 253 | ||||
| -rw-r--r-- | scripts/context/stubs/win64/mtxrun.lua | 253 | 
6 files changed, 966 insertions, 49 deletions
| diff --git a/scripts/context/lua/mtx-fonts.lua b/scripts/context/lua/mtx-fonts.lua index 7f2a6a87f..dde145e50 100644 --- a/scripts/context/lua/mtx-fonts.lua +++ b/scripts/context/lua/mtx-fonts.lua @@ -10,7 +10,7 @@ local getargument = environment.getargument  local setargument = environment.setargument  local givenfiles  = environment.files -local otfversion  = 2.815 +local otfversion  = 2.816  local helpinfo = [[  <?xml version="1.0"?> diff --git a/scripts/context/lua/mtxlibs.lua b/scripts/context/lua/mtxlibs.lua index 30567d3e0..91eb9f9fa 100644 --- a/scripts/context/lua/mtxlibs.lua +++ b/scripts/context/lua/mtxlibs.lua @@ -89,6 +89,7 @@ local ownlibs = {      "util-str.lua",      "util-tab.lua",      "util-fil.lua", +    "util-sac.lua",      "util-sto.lua",   -- "util-lua.lua", -- no need for compiling      "util-prs.lua", diff --git a/scripts/context/lua/mtxrun.lua b/scripts/context/lua/mtxrun.lua index 111691f61..19a23ceca 100644 --- a/scripts/context/lua/mtxrun.lua +++ b/scripts/context/lua/mtxrun.lua @@ -6575,7 +6575,7 @@ do -- create closure to overcome 200 locals limit  package.loaded["util-fil"] = package.loaded["util-fil"] or true --- original size: 2521, stripped down to: 1962 +-- original size: 3387, stripped down to: 2739  if not modules then modules={} end modules ['util-fil']={    version=1.001, @@ -6589,17 +6589,61 @@ local extract=bit32.extract  utilities=utilities or {}  local files={}  utilities.files=files +local zerobased={} +function files.open(filename,zb) +  local f=io.open(filename,"rb") +  zerobased[f]=zb or false +  return f +end +function files.close(f) +  zerobased[f]=nil +  f:close() +end +function files.size(f) +  return f:seek("end") +end +function files.setposition(f,n) +  if zerobased[f] then +    f:seek("set",n) +  else +    f:seek("set",n-1) +  end +end +function files.getposition(f) +  if zerobased[f] then +    return f:seek() +  else +    return f:seek()+1 +  end +end +function files.look(f,n,chars) +  local p=f:seek() +  local s=f:read(n) +  f:seek("set",p) +  if chars then +    return s +  else +    return byte(s,1,#s) +  end +end +function files.skip(f,n) +  if n==1 then +    f:read(n) +  else +    f:seek("set",f:seek()+n) +  end +end  function files.readbyte(f)    return byte(f:read(1))  end -function files.readchar(f) -  return f:read(1) -end  function files.readbytes(f,n)    return byte(f:read(n),1,n)  end -function files.skipbytes(f,n) -  f:read(n or 1)  +function files.readchar(f) +  return f:read(1) +end +function files.readstring(f,n) +  return f:read(n or 1)  end  function files.readinteger1(f)     local n=byte(f:read(1)) @@ -6651,9 +6695,6 @@ function files.readfixed4(f)      return n+(0x100*c+d)/0xFFFF    end  end -function files.readstring(f,n) -  return f:read(n or 1) -end  function files.read2dot14(f)    local a,b=byte(f:read(2),1,2)    local n=0x100*a+b @@ -6666,6 +6707,193 @@ function files.read2dot14(f)      return n+m/0x4000    end  end +function files.skipshort(f,n) +  f:read(2*(n or 1)) +end +function files.skiplong(f,n) +  f:read(4*(n or 1)) +end + + +end -- of closure + +do -- create closure to overcome 200 locals limit + +package.loaded["util-sac"] = package.loaded["util-sac"] or true + +-- original size: 4062, stripped down to: 3208 + +if not modules then modules={} end modules ['util-sac']={ +  version=1.001, +  comment="companion to luat-lib.mkiv", +  author="Hans Hagen, PRAGMA-ADE, Hasselt NL", +  copyright="PRAGMA ADE / ConTeXt Development Team", +  license="see context related readme files" +} +local byte,sub=string.byte,string.sub +local extract=bit32.extract +utilities=utilities or {} +local streams={} +utilities.streams=streams +function streams.open(filename,zerobased) +  local f=io.loaddata(filename) +  return { f,1,#f,zerobased or false } +end +function streams.close() +end +function streams.size(f) +  return f and f[3] or 0 +end +function streams.setposition(f,i) +  if f[4] then +    if i<=0 then +      f[2]=1 +    else +      f[2]=i+1 +    end +  else +    if i<=1 then +      f[2]=1 +    else +      f[2]=i +    end +  end +end +function streams.getposition(f) +  if f[4] then +    return f[2]-1 +  else +    return f[2] +  end +end +function streams.look(f,n,chars) +  local b=f[2] +  local e=b+n-1 +  if chars then +    return sub(f[1],b,e) +  else +    return byte(f[1],b,e) +  end +end +function streams.skip(f,n) +  f[2]=f[2]+n +end +function streams.readbyte(f) +  local i=f[2] +  f[2]=i+1 +  return byte(f[1],i) +end +function streams.readbytes(f,n) +  local i=f[2] +  local j=i+n +  f[2]=j +  return byte(f[1],i,j-1) +end +function streams.skipbytes(f,n) +  f[2]=f[2]+n +end +function streams.readchar(f) +  local i=f[2] +  f[2]=i+1 +  return sub(f[1],i,i) +end +function streams.readstring(f,n) +  local i=f[2] +  local j=i+n +  f[2]=j +  return sub(f[1],i,j-1) +end +function streams.readinteger1(f)  +  local i=f[2] +  f[2]=i+1 +  local n=byte(f[1],i) +  if n>=0x80 then +    return n-0xFF-1 +  else +    return n +  end +end +streams.readcardinal1=streams.readbyte  +streams.readcardinal=streams.readcardinal1 +streams.readinteger=streams.readinteger1 +function streams.readcardinal2(f) +  local i=f[2] +  local j=i+1 +  f[2]=j+1 +  local a,b=byte(f[1],i,j) +  return 0x100*a+b +end +function streams.readinteger2(f) +  local i=f[2] +  local j=i+1 +  f[2]=j+1 +  local a,b=byte(f[1],i,j) +  local n=0x100*a+b +  if n>=0x8000 then +    return n-0xFFFF-1 +  else +    return n +  end +end +function streams.readcardinal3(f) +  local i=f[2] +  local j=i+2 +  f[2]=j+1 +  local a,b,c=byte(f[1],i,j) +  return 0x10000*a+0x100*b+c +end +function streams.readcardinal4(f) +  local i=f[2] +  local j=i+3 +  f[2]=j+1 +  local a,b,c,d=byte(f[1],i,j) +  return 0x1000000*a+0x10000*b+0x100*c+d +end +function streams.readinteger4(f) +  local i=f[2] +  local j=i+3 +  f[2]=j+1 +  local a,b,c,d=byte(f[1],i,j) +  local n=0x1000000*a+0x10000*b+0x100*c+d +  if n>=0x8000000 then +    return n-0xFFFFFFFF-1 +  else +    return n +  end +end +function streams.readfixed4(f) +  local i=f[2] +  local j=i+3 +  f[2]=j+1 +  local a,b,c,d=byte(f[1],i,j) +  local n=0x100*a+b +  if n>=0x8000 then +    return n-0xFFFF-1+(0x100*c+d)/0xFFFF +  else +    return n+(0x100*c+d)/0xFFFF +  end +end +function streams.read2dot14(f) +  local i=f[2] +  local j=i+1 +  f[2]=j+1 +  local a,b=byte(f[1],i,j) +  local n=0x100*a+b +  local m=extract(n,0,30) +  if n>0x7FFF then +    n=extract(n,30,2) +    return m/0x4000-4 +  else +    n=extract(n,30,2) +    return n+m/0x4000 +  end +end +function streams.skipshort(f,n) +  f[2]=f[2]+2*(n or 1) +end +function streams.skiplong(f,n) +  f[2]=f[2]+4*(n or 1) +end  end -- of closure @@ -18106,10 +18334,10 @@ end  end -- of closure --- used libraries    : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua +-- used libraries    : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua  -- skipped libraries : - --- original bytes    : 752548 --- stripped bytes    : 271649 +-- original bytes    : 757476 +-- stripped bytes    : 272592  -- end library merge @@ -18154,6 +18382,7 @@ local ownlibs = { -- order can be made better      'util-str.lua', -- code might move to l-string      'util-tab.lua',      'util-fil.lua', +    'util-sac.lua',      'util-sto.lua',      'util-prs.lua',      'util-fmt.lua', diff --git a/scripts/context/stubs/mswin/mtxrun.lua b/scripts/context/stubs/mswin/mtxrun.lua index 111691f61..19a23ceca 100644 --- a/scripts/context/stubs/mswin/mtxrun.lua +++ b/scripts/context/stubs/mswin/mtxrun.lua @@ -6575,7 +6575,7 @@ do -- create closure to overcome 200 locals limit  package.loaded["util-fil"] = package.loaded["util-fil"] or true --- original size: 2521, stripped down to: 1962 +-- original size: 3387, stripped down to: 2739  if not modules then modules={} end modules ['util-fil']={    version=1.001, @@ -6589,17 +6589,61 @@ local extract=bit32.extract  utilities=utilities or {}  local files={}  utilities.files=files +local zerobased={} +function files.open(filename,zb) +  local f=io.open(filename,"rb") +  zerobased[f]=zb or false +  return f +end +function files.close(f) +  zerobased[f]=nil +  f:close() +end +function files.size(f) +  return f:seek("end") +end +function files.setposition(f,n) +  if zerobased[f] then +    f:seek("set",n) +  else +    f:seek("set",n-1) +  end +end +function files.getposition(f) +  if zerobased[f] then +    return f:seek() +  else +    return f:seek()+1 +  end +end +function files.look(f,n,chars) +  local p=f:seek() +  local s=f:read(n) +  f:seek("set",p) +  if chars then +    return s +  else +    return byte(s,1,#s) +  end +end +function files.skip(f,n) +  if n==1 then +    f:read(n) +  else +    f:seek("set",f:seek()+n) +  end +end  function files.readbyte(f)    return byte(f:read(1))  end -function files.readchar(f) -  return f:read(1) -end  function files.readbytes(f,n)    return byte(f:read(n),1,n)  end -function files.skipbytes(f,n) -  f:read(n or 1)  +function files.readchar(f) +  return f:read(1) +end +function files.readstring(f,n) +  return f:read(n or 1)  end  function files.readinteger1(f)     local n=byte(f:read(1)) @@ -6651,9 +6695,6 @@ function files.readfixed4(f)      return n+(0x100*c+d)/0xFFFF    end  end -function files.readstring(f,n) -  return f:read(n or 1) -end  function files.read2dot14(f)    local a,b=byte(f:read(2),1,2)    local n=0x100*a+b @@ -6666,6 +6707,193 @@ function files.read2dot14(f)      return n+m/0x4000    end  end +function files.skipshort(f,n) +  f:read(2*(n or 1)) +end +function files.skiplong(f,n) +  f:read(4*(n or 1)) +end + + +end -- of closure + +do -- create closure to overcome 200 locals limit + +package.loaded["util-sac"] = package.loaded["util-sac"] or true + +-- original size: 4062, stripped down to: 3208 + +if not modules then modules={} end modules ['util-sac']={ +  version=1.001, +  comment="companion to luat-lib.mkiv", +  author="Hans Hagen, PRAGMA-ADE, Hasselt NL", +  copyright="PRAGMA ADE / ConTeXt Development Team", +  license="see context related readme files" +} +local byte,sub=string.byte,string.sub +local extract=bit32.extract +utilities=utilities or {} +local streams={} +utilities.streams=streams +function streams.open(filename,zerobased) +  local f=io.loaddata(filename) +  return { f,1,#f,zerobased or false } +end +function streams.close() +end +function streams.size(f) +  return f and f[3] or 0 +end +function streams.setposition(f,i) +  if f[4] then +    if i<=0 then +      f[2]=1 +    else +      f[2]=i+1 +    end +  else +    if i<=1 then +      f[2]=1 +    else +      f[2]=i +    end +  end +end +function streams.getposition(f) +  if f[4] then +    return f[2]-1 +  else +    return f[2] +  end +end +function streams.look(f,n,chars) +  local b=f[2] +  local e=b+n-1 +  if chars then +    return sub(f[1],b,e) +  else +    return byte(f[1],b,e) +  end +end +function streams.skip(f,n) +  f[2]=f[2]+n +end +function streams.readbyte(f) +  local i=f[2] +  f[2]=i+1 +  return byte(f[1],i) +end +function streams.readbytes(f,n) +  local i=f[2] +  local j=i+n +  f[2]=j +  return byte(f[1],i,j-1) +end +function streams.skipbytes(f,n) +  f[2]=f[2]+n +end +function streams.readchar(f) +  local i=f[2] +  f[2]=i+1 +  return sub(f[1],i,i) +end +function streams.readstring(f,n) +  local i=f[2] +  local j=i+n +  f[2]=j +  return sub(f[1],i,j-1) +end +function streams.readinteger1(f)  +  local i=f[2] +  f[2]=i+1 +  local n=byte(f[1],i) +  if n>=0x80 then +    return n-0xFF-1 +  else +    return n +  end +end +streams.readcardinal1=streams.readbyte  +streams.readcardinal=streams.readcardinal1 +streams.readinteger=streams.readinteger1 +function streams.readcardinal2(f) +  local i=f[2] +  local j=i+1 +  f[2]=j+1 +  local a,b=byte(f[1],i,j) +  return 0x100*a+b +end +function streams.readinteger2(f) +  local i=f[2] +  local j=i+1 +  f[2]=j+1 +  local a,b=byte(f[1],i,j) +  local n=0x100*a+b +  if n>=0x8000 then +    return n-0xFFFF-1 +  else +    return n +  end +end +function streams.readcardinal3(f) +  local i=f[2] +  local j=i+2 +  f[2]=j+1 +  local a,b,c=byte(f[1],i,j) +  return 0x10000*a+0x100*b+c +end +function streams.readcardinal4(f) +  local i=f[2] +  local j=i+3 +  f[2]=j+1 +  local a,b,c,d=byte(f[1],i,j) +  return 0x1000000*a+0x10000*b+0x100*c+d +end +function streams.readinteger4(f) +  local i=f[2] +  local j=i+3 +  f[2]=j+1 +  local a,b,c,d=byte(f[1],i,j) +  local n=0x1000000*a+0x10000*b+0x100*c+d +  if n>=0x8000000 then +    return n-0xFFFFFFFF-1 +  else +    return n +  end +end +function streams.readfixed4(f) +  local i=f[2] +  local j=i+3 +  f[2]=j+1 +  local a,b,c,d=byte(f[1],i,j) +  local n=0x100*a+b +  if n>=0x8000 then +    return n-0xFFFF-1+(0x100*c+d)/0xFFFF +  else +    return n+(0x100*c+d)/0xFFFF +  end +end +function streams.read2dot14(f) +  local i=f[2] +  local j=i+1 +  f[2]=j+1 +  local a,b=byte(f[1],i,j) +  local n=0x100*a+b +  local m=extract(n,0,30) +  if n>0x7FFF then +    n=extract(n,30,2) +    return m/0x4000-4 +  else +    n=extract(n,30,2) +    return n+m/0x4000 +  end +end +function streams.skipshort(f,n) +  f[2]=f[2]+2*(n or 1) +end +function streams.skiplong(f,n) +  f[2]=f[2]+4*(n or 1) +end  end -- of closure @@ -18106,10 +18334,10 @@ end  end -- of closure --- used libraries    : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua +-- used libraries    : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua  -- skipped libraries : - --- original bytes    : 752548 --- stripped bytes    : 271649 +-- original bytes    : 757476 +-- stripped bytes    : 272592  -- end library merge @@ -18154,6 +18382,7 @@ local ownlibs = { -- order can be made better      'util-str.lua', -- code might move to l-string      'util-tab.lua',      'util-fil.lua', +    'util-sac.lua',      'util-sto.lua',      'util-prs.lua',      'util-fmt.lua', diff --git a/scripts/context/stubs/unix/mtxrun b/scripts/context/stubs/unix/mtxrun index 111691f61..19a23ceca 100644 --- a/scripts/context/stubs/unix/mtxrun +++ b/scripts/context/stubs/unix/mtxrun @@ -6575,7 +6575,7 @@ do -- create closure to overcome 200 locals limit  package.loaded["util-fil"] = package.loaded["util-fil"] or true --- original size: 2521, stripped down to: 1962 +-- original size: 3387, stripped down to: 2739  if not modules then modules={} end modules ['util-fil']={    version=1.001, @@ -6589,17 +6589,61 @@ local extract=bit32.extract  utilities=utilities or {}  local files={}  utilities.files=files +local zerobased={} +function files.open(filename,zb) +  local f=io.open(filename,"rb") +  zerobased[f]=zb or false +  return f +end +function files.close(f) +  zerobased[f]=nil +  f:close() +end +function files.size(f) +  return f:seek("end") +end +function files.setposition(f,n) +  if zerobased[f] then +    f:seek("set",n) +  else +    f:seek("set",n-1) +  end +end +function files.getposition(f) +  if zerobased[f] then +    return f:seek() +  else +    return f:seek()+1 +  end +end +function files.look(f,n,chars) +  local p=f:seek() +  local s=f:read(n) +  f:seek("set",p) +  if chars then +    return s +  else +    return byte(s,1,#s) +  end +end +function files.skip(f,n) +  if n==1 then +    f:read(n) +  else +    f:seek("set",f:seek()+n) +  end +end  function files.readbyte(f)    return byte(f:read(1))  end -function files.readchar(f) -  return f:read(1) -end  function files.readbytes(f,n)    return byte(f:read(n),1,n)  end -function files.skipbytes(f,n) -  f:read(n or 1)  +function files.readchar(f) +  return f:read(1) +end +function files.readstring(f,n) +  return f:read(n or 1)  end  function files.readinteger1(f)     local n=byte(f:read(1)) @@ -6651,9 +6695,6 @@ function files.readfixed4(f)      return n+(0x100*c+d)/0xFFFF    end  end -function files.readstring(f,n) -  return f:read(n or 1) -end  function files.read2dot14(f)    local a,b=byte(f:read(2),1,2)    local n=0x100*a+b @@ -6666,6 +6707,193 @@ function files.read2dot14(f)      return n+m/0x4000    end  end +function files.skipshort(f,n) +  f:read(2*(n or 1)) +end +function files.skiplong(f,n) +  f:read(4*(n or 1)) +end + + +end -- of closure + +do -- create closure to overcome 200 locals limit + +package.loaded["util-sac"] = package.loaded["util-sac"] or true + +-- original size: 4062, stripped down to: 3208 + +if not modules then modules={} end modules ['util-sac']={ +  version=1.001, +  comment="companion to luat-lib.mkiv", +  author="Hans Hagen, PRAGMA-ADE, Hasselt NL", +  copyright="PRAGMA ADE / ConTeXt Development Team", +  license="see context related readme files" +} +local byte,sub=string.byte,string.sub +local extract=bit32.extract +utilities=utilities or {} +local streams={} +utilities.streams=streams +function streams.open(filename,zerobased) +  local f=io.loaddata(filename) +  return { f,1,#f,zerobased or false } +end +function streams.close() +end +function streams.size(f) +  return f and f[3] or 0 +end +function streams.setposition(f,i) +  if f[4] then +    if i<=0 then +      f[2]=1 +    else +      f[2]=i+1 +    end +  else +    if i<=1 then +      f[2]=1 +    else +      f[2]=i +    end +  end +end +function streams.getposition(f) +  if f[4] then +    return f[2]-1 +  else +    return f[2] +  end +end +function streams.look(f,n,chars) +  local b=f[2] +  local e=b+n-1 +  if chars then +    return sub(f[1],b,e) +  else +    return byte(f[1],b,e) +  end +end +function streams.skip(f,n) +  f[2]=f[2]+n +end +function streams.readbyte(f) +  local i=f[2] +  f[2]=i+1 +  return byte(f[1],i) +end +function streams.readbytes(f,n) +  local i=f[2] +  local j=i+n +  f[2]=j +  return byte(f[1],i,j-1) +end +function streams.skipbytes(f,n) +  f[2]=f[2]+n +end +function streams.readchar(f) +  local i=f[2] +  f[2]=i+1 +  return sub(f[1],i,i) +end +function streams.readstring(f,n) +  local i=f[2] +  local j=i+n +  f[2]=j +  return sub(f[1],i,j-1) +end +function streams.readinteger1(f)  +  local i=f[2] +  f[2]=i+1 +  local n=byte(f[1],i) +  if n>=0x80 then +    return n-0xFF-1 +  else +    return n +  end +end +streams.readcardinal1=streams.readbyte  +streams.readcardinal=streams.readcardinal1 +streams.readinteger=streams.readinteger1 +function streams.readcardinal2(f) +  local i=f[2] +  local j=i+1 +  f[2]=j+1 +  local a,b=byte(f[1],i,j) +  return 0x100*a+b +end +function streams.readinteger2(f) +  local i=f[2] +  local j=i+1 +  f[2]=j+1 +  local a,b=byte(f[1],i,j) +  local n=0x100*a+b +  if n>=0x8000 then +    return n-0xFFFF-1 +  else +    return n +  end +end +function streams.readcardinal3(f) +  local i=f[2] +  local j=i+2 +  f[2]=j+1 +  local a,b,c=byte(f[1],i,j) +  return 0x10000*a+0x100*b+c +end +function streams.readcardinal4(f) +  local i=f[2] +  local j=i+3 +  f[2]=j+1 +  local a,b,c,d=byte(f[1],i,j) +  return 0x1000000*a+0x10000*b+0x100*c+d +end +function streams.readinteger4(f) +  local i=f[2] +  local j=i+3 +  f[2]=j+1 +  local a,b,c,d=byte(f[1],i,j) +  local n=0x1000000*a+0x10000*b+0x100*c+d +  if n>=0x8000000 then +    return n-0xFFFFFFFF-1 +  else +    return n +  end +end +function streams.readfixed4(f) +  local i=f[2] +  local j=i+3 +  f[2]=j+1 +  local a,b,c,d=byte(f[1],i,j) +  local n=0x100*a+b +  if n>=0x8000 then +    return n-0xFFFF-1+(0x100*c+d)/0xFFFF +  else +    return n+(0x100*c+d)/0xFFFF +  end +end +function streams.read2dot14(f) +  local i=f[2] +  local j=i+1 +  f[2]=j+1 +  local a,b=byte(f[1],i,j) +  local n=0x100*a+b +  local m=extract(n,0,30) +  if n>0x7FFF then +    n=extract(n,30,2) +    return m/0x4000-4 +  else +    n=extract(n,30,2) +    return n+m/0x4000 +  end +end +function streams.skipshort(f,n) +  f[2]=f[2]+2*(n or 1) +end +function streams.skiplong(f,n) +  f[2]=f[2]+4*(n or 1) +end  end -- of closure @@ -18106,10 +18334,10 @@ end  end -- of closure --- used libraries    : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua +-- used libraries    : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua  -- skipped libraries : - --- original bytes    : 752548 --- stripped bytes    : 271649 +-- original bytes    : 757476 +-- stripped bytes    : 272592  -- end library merge @@ -18154,6 +18382,7 @@ local ownlibs = { -- order can be made better      'util-str.lua', -- code might move to l-string      'util-tab.lua',      'util-fil.lua', +    'util-sac.lua',      'util-sto.lua',      'util-prs.lua',      'util-fmt.lua', diff --git a/scripts/context/stubs/win64/mtxrun.lua b/scripts/context/stubs/win64/mtxrun.lua index 111691f61..19a23ceca 100644 --- a/scripts/context/stubs/win64/mtxrun.lua +++ b/scripts/context/stubs/win64/mtxrun.lua @@ -6575,7 +6575,7 @@ do -- create closure to overcome 200 locals limit  package.loaded["util-fil"] = package.loaded["util-fil"] or true --- original size: 2521, stripped down to: 1962 +-- original size: 3387, stripped down to: 2739  if not modules then modules={} end modules ['util-fil']={    version=1.001, @@ -6589,17 +6589,61 @@ local extract=bit32.extract  utilities=utilities or {}  local files={}  utilities.files=files +local zerobased={} +function files.open(filename,zb) +  local f=io.open(filename,"rb") +  zerobased[f]=zb or false +  return f +end +function files.close(f) +  zerobased[f]=nil +  f:close() +end +function files.size(f) +  return f:seek("end") +end +function files.setposition(f,n) +  if zerobased[f] then +    f:seek("set",n) +  else +    f:seek("set",n-1) +  end +end +function files.getposition(f) +  if zerobased[f] then +    return f:seek() +  else +    return f:seek()+1 +  end +end +function files.look(f,n,chars) +  local p=f:seek() +  local s=f:read(n) +  f:seek("set",p) +  if chars then +    return s +  else +    return byte(s,1,#s) +  end +end +function files.skip(f,n) +  if n==1 then +    f:read(n) +  else +    f:seek("set",f:seek()+n) +  end +end  function files.readbyte(f)    return byte(f:read(1))  end -function files.readchar(f) -  return f:read(1) -end  function files.readbytes(f,n)    return byte(f:read(n),1,n)  end -function files.skipbytes(f,n) -  f:read(n or 1)  +function files.readchar(f) +  return f:read(1) +end +function files.readstring(f,n) +  return f:read(n or 1)  end  function files.readinteger1(f)     local n=byte(f:read(1)) @@ -6651,9 +6695,6 @@ function files.readfixed4(f)      return n+(0x100*c+d)/0xFFFF    end  end -function files.readstring(f,n) -  return f:read(n or 1) -end  function files.read2dot14(f)    local a,b=byte(f:read(2),1,2)    local n=0x100*a+b @@ -6666,6 +6707,193 @@ function files.read2dot14(f)      return n+m/0x4000    end  end +function files.skipshort(f,n) +  f:read(2*(n or 1)) +end +function files.skiplong(f,n) +  f:read(4*(n or 1)) +end + + +end -- of closure + +do -- create closure to overcome 200 locals limit + +package.loaded["util-sac"] = package.loaded["util-sac"] or true + +-- original size: 4062, stripped down to: 3208 + +if not modules then modules={} end modules ['util-sac']={ +  version=1.001, +  comment="companion to luat-lib.mkiv", +  author="Hans Hagen, PRAGMA-ADE, Hasselt NL", +  copyright="PRAGMA ADE / ConTeXt Development Team", +  license="see context related readme files" +} +local byte,sub=string.byte,string.sub +local extract=bit32.extract +utilities=utilities or {} +local streams={} +utilities.streams=streams +function streams.open(filename,zerobased) +  local f=io.loaddata(filename) +  return { f,1,#f,zerobased or false } +end +function streams.close() +end +function streams.size(f) +  return f and f[3] or 0 +end +function streams.setposition(f,i) +  if f[4] then +    if i<=0 then +      f[2]=1 +    else +      f[2]=i+1 +    end +  else +    if i<=1 then +      f[2]=1 +    else +      f[2]=i +    end +  end +end +function streams.getposition(f) +  if f[4] then +    return f[2]-1 +  else +    return f[2] +  end +end +function streams.look(f,n,chars) +  local b=f[2] +  local e=b+n-1 +  if chars then +    return sub(f[1],b,e) +  else +    return byte(f[1],b,e) +  end +end +function streams.skip(f,n) +  f[2]=f[2]+n +end +function streams.readbyte(f) +  local i=f[2] +  f[2]=i+1 +  return byte(f[1],i) +end +function streams.readbytes(f,n) +  local i=f[2] +  local j=i+n +  f[2]=j +  return byte(f[1],i,j-1) +end +function streams.skipbytes(f,n) +  f[2]=f[2]+n +end +function streams.readchar(f) +  local i=f[2] +  f[2]=i+1 +  return sub(f[1],i,i) +end +function streams.readstring(f,n) +  local i=f[2] +  local j=i+n +  f[2]=j +  return sub(f[1],i,j-1) +end +function streams.readinteger1(f)  +  local i=f[2] +  f[2]=i+1 +  local n=byte(f[1],i) +  if n>=0x80 then +    return n-0xFF-1 +  else +    return n +  end +end +streams.readcardinal1=streams.readbyte  +streams.readcardinal=streams.readcardinal1 +streams.readinteger=streams.readinteger1 +function streams.readcardinal2(f) +  local i=f[2] +  local j=i+1 +  f[2]=j+1 +  local a,b=byte(f[1],i,j) +  return 0x100*a+b +end +function streams.readinteger2(f) +  local i=f[2] +  local j=i+1 +  f[2]=j+1 +  local a,b=byte(f[1],i,j) +  local n=0x100*a+b +  if n>=0x8000 then +    return n-0xFFFF-1 +  else +    return n +  end +end +function streams.readcardinal3(f) +  local i=f[2] +  local j=i+2 +  f[2]=j+1 +  local a,b,c=byte(f[1],i,j) +  return 0x10000*a+0x100*b+c +end +function streams.readcardinal4(f) +  local i=f[2] +  local j=i+3 +  f[2]=j+1 +  local a,b,c,d=byte(f[1],i,j) +  return 0x1000000*a+0x10000*b+0x100*c+d +end +function streams.readinteger4(f) +  local i=f[2] +  local j=i+3 +  f[2]=j+1 +  local a,b,c,d=byte(f[1],i,j) +  local n=0x1000000*a+0x10000*b+0x100*c+d +  if n>=0x8000000 then +    return n-0xFFFFFFFF-1 +  else +    return n +  end +end +function streams.readfixed4(f) +  local i=f[2] +  local j=i+3 +  f[2]=j+1 +  local a,b,c,d=byte(f[1],i,j) +  local n=0x100*a+b +  if n>=0x8000 then +    return n-0xFFFF-1+(0x100*c+d)/0xFFFF +  else +    return n+(0x100*c+d)/0xFFFF +  end +end +function streams.read2dot14(f) +  local i=f[2] +  local j=i+1 +  f[2]=j+1 +  local a,b=byte(f[1],i,j) +  local n=0x100*a+b +  local m=extract(n,0,30) +  if n>0x7FFF then +    n=extract(n,30,2) +    return m/0x4000-4 +  else +    n=extract(n,30,2) +    return n+m/0x4000 +  end +end +function streams.skipshort(f,n) +  f[2]=f[2]+2*(n or 1) +end +function streams.skiplong(f,n) +  f[2]=f[2]+4*(n or 1) +end  end -- of closure @@ -18106,10 +18334,10 @@ end  end -- of closure --- used libraries    : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua +-- used libraries    : l-lua.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua  -- skipped libraries : - --- original bytes    : 752548 --- stripped bytes    : 271649 +-- original bytes    : 757476 +-- stripped bytes    : 272592  -- end library merge @@ -18154,6 +18382,7 @@ local ownlibs = { -- order can be made better      'util-str.lua', -- code might move to l-string      'util-tab.lua',      'util-fil.lua', +    'util-sac.lua',      'util-sto.lua',      'util-prs.lua',      'util-fmt.lua', | 
