From ba81502d685bdba367e2a8f0bdff0f8ecc0cf7f6 Mon Sep 17 00:00:00 2001
From: Hans Hagen <pragma@wxs.nl>
Date: Sat, 13 Apr 2019 18:19:01 +0200
Subject: 2019-04-13 17:09:00

---
 tex/context/base/mkii/cont-new.mkii                |   2 +-
 tex/context/base/mkii/context.mkii                 |   2 +-
 tex/context/base/mkii/mult-pe.mkii                 |   1 +
 tex/context/base/mkiv/cont-new.mkiv                |   2 +-
 tex/context/base/mkiv/context.mkiv                 |   2 +-
 tex/context/base/mkiv/font-dsp.lua                 |  31 +++++++-----
 tex/context/base/mkiv/font-osd.lua                 |   2 +-
 tex/context/base/mkiv/font-ota.lua                 |   2 +-
 tex/context/base/mkiv/font-otj.lua                 |   2 +-
 tex/context/base/mkiv/font-ots.lua                 |   2 +-
 tex/context/base/mkiv/node-nut.lua                 |  12 +++--
 tex/context/base/mkiv/status-files.pdf             | Bin 26605 -> 26594 bytes
 tex/context/base/mkiv/status-lua.pdf               | Bin 268743 -> 268703 bytes
 tex/context/interface/mkii/keys-pe.xml             |   1 +
 tex/context/interface/mkiv/i-context.pdf           | Bin 865142 -> 865286 bytes
 tex/context/interface/mkiv/i-readme.pdf            | Bin 61161 -> 61161 bytes
 tex/generic/context/luatex/luatex-basics-nod.lua   |  31 ++----------
 tex/generic/context/luatex/luatex-fonts-merged.lua |  55 +++++++--------------
 18 files changed, 60 insertions(+), 87 deletions(-)

(limited to 'tex')

diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii
index 02708252c..a6e0a9e61 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{2019.04.12 17:43}
+\newcontextversion{2019.04.13 17:01}
 
 %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 a5c5b8be5..b95c52953 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{2019.04.12 17:43}
+\edef\contextversion{2019.04.13 17:01}
 
 %D For those who want to use this:
 
diff --git a/tex/context/base/mkii/mult-pe.mkii b/tex/context/base/mkii/mult-pe.mkii
index 57cbe5600..f24438189 100644
--- a/tex/context/base/mkii/mult-pe.mkii
+++ b/tex/context/base/mkii/mult-pe.mkii
@@ -587,6 +587,7 @@
 \setinterfacevariable{understrike}{understrike}
 \setinterfacevariable{understrikes}{understrikes}
 \setinterfacevariable{unframed}{unframed}
+\setinterfacevariable{unicode}{unicode}
 \setinterfacevariable{unit}{واحد}
 \setinterfacevariable{units}{واحدها}
 \setinterfacevariable{unknown}{ناشناس}
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index 5565f1eaf..a7f700bb0 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{2019.04.12 17:43}
+\newcontextversion{2019.04.13 17:01}
 
 %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 a3e237f20..9f6cf4f4d 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{2019.04.12 17:43}
+\edef\contextversion{2019.04.13 17:01}
 \edef\contextkind   {beta}
 
 %D Kind of special:
diff --git a/tex/context/base/mkiv/font-dsp.lua b/tex/context/base/mkiv/font-dsp.lua
index 3285c689c..0645e7c8a 100644
--- a/tex/context/base/mkiv/font-dsp.lua
+++ b/tex/context/base/mkiv/font-dsp.lua
@@ -1525,7 +1525,9 @@ function gposhandlers.pair(f,fontdata,lookupid,lookupoffset,offset,glyphs,nofgly
               classdef1    = readclassdef(f,tableoffset+classdef1,coverage)
               classdef2    = readclassdef(f,tableoffset+classdef2,nofglyphs)
         local usedcoverage = { }
-local shared = { } -- partial sparse
+        --
+        local shared       = { } -- partial sparse
+        --
         for g1, c1 in next, classdef1 do
             if coverage[g1] then
                 local l1 = classlist[c1]
@@ -1537,18 +1539,21 @@ local shared = { } -- partial sparse
                             local first  = offsets[1]
                             local second = offsets[2]
                             if first or second then
-local s1 = shared[first]
-if not s1 then
-    s1 = { }
-    shared[first] = s1
-end
-local s2 = s1[second]
-if not s2 then
-    s2 = { first, second or nil }
-    s1[second] = s2
-end
-hash[paired] = s2
---                                 hash[paired] = { first, second or nil }
+                                --
+                                local s1 = shared[first]
+                                if not s1 then
+                                    s1 = { }
+                                    shared[first] = s1
+                                end
+                                local s2 = s1[second]
+                                if not s2 then
+                                    s2 = { first, second or nil }
+                                    s1[second] = s2
+                                end
+                                hash[paired] = s2
+                                --
+                             -- hash[paired] = { first, second or nil }
+                                --
                             else
                                 -- upto the next lookup for this combination
                             end
diff --git a/tex/context/base/mkiv/font-osd.lua b/tex/context/base/mkiv/font-osd.lua
index f51ae7bf7..91cf1522c 100644
--- a/tex/context/base/mkiv/font-osd.lua
+++ b/tex/context/base/mkiv/font-osd.lua
@@ -114,7 +114,7 @@ local setchar            = nuts.setchar
 local getprop            = nuts.getprop
 local setprop            = nuts.setprop
 
-local ischar             = nuts.is_char
+local ischar             = nuts.ischar
 
 local insert_node_after  = nuts.insert_after
 local copy_node          = nuts.copy
diff --git a/tex/context/base/mkiv/font-ota.lua b/tex/context/base/mkiv/font-ota.lua
index 76c267a81..3d217b3f4 100644
--- a/tex/context/base/mkiv/font-ota.lua
+++ b/tex/context/base/mkiv/font-ota.lua
@@ -39,7 +39,7 @@ local getprop             = nuts.getprop
 local setprop             = nuts.setprop
 local getsubtype          = nuts.getsubtype
 local getchar             = nuts.getchar
-local ischar              = nuts.is_char
+local ischar              = nuts.ischar
 
 local end_of_math         = nuts.end_of_math
 
diff --git a/tex/context/base/mkiv/font-otj.lua b/tex/context/base/mkiv/font-otj.lua
index bb3038935..b8be2ec75 100644
--- a/tex/context/base/mkiv/font-otj.lua
+++ b/tex/context/base/mkiv/font-otj.lua
@@ -90,7 +90,7 @@ local getboth            = nuts.getboth
 local getdisc            = nuts.getdisc
 local setdisc            = nuts.setdisc
 local setoffsets         = nuts.setoffsets
-local ischar             = nuts.is_char
+local ischar             = nuts.ischar
 local getkern            = nuts.getkern
 local setkern            = nuts.setkern
 local setlink            = nuts.setlink
diff --git a/tex/context/base/mkiv/font-ots.lua b/tex/context/base/mkiv/font-ots.lua
index 09351b1f1..24a868887 100644
--- a/tex/context/base/mkiv/font-ots.lua
+++ b/tex/context/base/mkiv/font-ots.lua
@@ -201,7 +201,7 @@ local getattr            = nuts.getattr
 
 local getglyphdata       = nuts.getglyphdata
 
-local ischar             = nuts.is_char
+local ischar             = nuts.ischar
 local isglyph            = nuts.isglyph
 local usesfont           = nuts.uses_font
 
diff --git a/tex/context/base/mkiv/node-nut.lua b/tex/context/base/mkiv/node-nut.lua
index 124f64301..d6f5a34e4 100644
--- a/tex/context/base/mkiv/node-nut.lua
+++ b/tex/context/base/mkiv/node-nut.lua
@@ -218,8 +218,11 @@ if not nuts.mlist_to_hlist then
 
 end
 
-nuts.getfield              = direct.getfield
-nuts.setfield              = direct.setfield
+local getfield             = direct.getfield
+local setfield             = direct.setfield
+
+nuts.getfield              = getfield
+nuts.setfield              = setfield
 
 nuts.getnext               = direct.getnext
 nuts.setnext               = direct.setnext
@@ -342,11 +345,12 @@ nuts.setpenalty            = direct.setpenalty
 nuts.getbox                = direct.getbox
 nuts.setbox                = direct.setbox
 
-nuts.is_char               = direct.is_char
 nuts.ischar                = direct.is_char
-nuts.is_glyph              = direct.is_glyph
 nuts.isglyph               = direct.is_glyph
 
+----.is_char               = nuts.ischar
+----.is_glyph              = nuts.isglyph
+
 local d_remove_node        = direct.remove
 local d_flush_node         = direct.flush_node
 local d_getnext            = direct.getnext
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index bf34fe167..3855acd13 100644
Binary files a/tex/context/base/mkiv/status-files.pdf and b/tex/context/base/mkiv/status-files.pdf differ
diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf
index bab191ca1..4804fb6ae 100644
Binary files a/tex/context/base/mkiv/status-lua.pdf and b/tex/context/base/mkiv/status-lua.pdf differ
diff --git a/tex/context/interface/mkii/keys-pe.xml b/tex/context/interface/mkii/keys-pe.xml
index bd42a83dd..872e9955c 100644
--- a/tex/context/interface/mkii/keys-pe.xml
+++ b/tex/context/interface/mkii/keys-pe.xml
@@ -590,6 +590,7 @@
 		<cd:variable name='understrike' value='understrike'/>
 		<cd:variable name='understrikes' value='understrikes'/>
 		<cd:variable name='unframed' value='unframed'/>
+		<cd:variable name='unicode' value='unicode'/>
 		<cd:variable name='unit' value='واحد'/>
 		<cd:variable name='units' value='واحدها'/>
 		<cd:variable name='unknown' value='ناشناس'/>
diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdf
index 4b47392f8..5d129c4bc 100644
Binary files a/tex/context/interface/mkiv/i-context.pdf and b/tex/context/interface/mkiv/i-context.pdf differ
diff --git a/tex/context/interface/mkiv/i-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf
index d21f00223..53be62a57 100644
Binary files a/tex/context/interface/mkiv/i-readme.pdf and b/tex/context/interface/mkiv/i-readme.pdf differ
diff --git a/tex/generic/context/luatex/luatex-basics-nod.lua b/tex/generic/context/luatex/luatex-basics-nod.lua
index 9e035efa6..2b996829e 100644
--- a/tex/generic/context/luatex/luatex-basics-nod.lua
+++ b/tex/generic/context/luatex/luatex-basics-nod.lua
@@ -146,7 +146,8 @@ nodes.handlers.unprotectglyphs = node.unprotect_glyphs -- beware: nodes!
 -- we can go nuts (e.g. experimental); this split permits us us keep code
 -- used elsewhere stable but at the same time play around in context
 
--- much of this will go away
+-- much of this will go away .. it's part of the context interface and not
+-- officially in luatex-*.lua
 
 local direct             = node.direct
 local nuts               = { }
@@ -186,7 +187,7 @@ nuts.setboth             = direct.setboth
 nuts.setchar             = direct.setchar
 nuts.setcomponents       = direct.setcomponents
 ----.setdepth            = direct.setdepth
-nuts.setdir              = direct.setdir
+----.setdir              = direct.setdir
 nuts.setdirection        = direct.setdirection
 nuts.setdisc             = direct.setdisc
 nuts.setfield            = setfield
@@ -203,11 +204,9 @@ nuts.setsplit            = direct.setsplit
 nuts.setsubtype          = direct.setsubtype
 nuts.setwidth            = direct.setwidth
 
-nuts.getglyphdata        = direct.getattr
-nuts.setglyphdata        = direct.setattr
+nuts.getglyphdata        = nuts.getattr
+nuts.setglyphdata        = nuts.setattr
 
-nuts.is_char             = direct.is_char
-nuts.is_glyph            = direct.is_glyph
 nuts.ischar              = direct.is_char
 nuts.isglyph             = direct.is_glyph
 
@@ -233,26 +232,6 @@ nuts.traverse_char       = direct.traverse_char
 nuts.traverse_glyph      = direct.traverse_glyph
 nuts.traverse_id         = direct.traverse_id
 
--- for now
-
-if not nuts.getdirection then
-
-    local getdir = direct.getdir
-
-    function nuts.getdirection(n)
-        local d = getdir(n)
-        if     d ==  "TLT" then return 0
-        elseif d ==  "TRT" then return 1
-        elseif d == "+TLT" then return 0, false
-        elseif d == "+TRT" then return 1, false
-        elseif d == "-TLT" then return 0, true
-        elseif d == "-TRT" then return 1, true
-        else                    return 0
-        end
-    end
-
-end
-
 -- properties as used in the (new) injector:
 
 local propertydata = direct.get_properties_table()
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 462cd6a2e..83ead82ca 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  : 04/12/19 17:43:58
+-- merge date  : 04/13/19 17:01:11
 
 do -- begin closure to overcome local limits and interference
 
@@ -4860,7 +4860,6 @@ nuts.setattr=direct.setfield
 nuts.setboth=direct.setboth
 nuts.setchar=direct.setchar
 nuts.setcomponents=direct.setcomponents
-nuts.setdir=direct.setdir
 nuts.setdirection=direct.setdirection
 nuts.setdisc=direct.setdisc
 nuts.setfield=setfield
@@ -4873,10 +4872,8 @@ nuts.setprev=direct.setprev
 nuts.setsplit=direct.setsplit
 nuts.setsubtype=direct.setsubtype
 nuts.setwidth=direct.setwidth
-nuts.getglyphdata=direct.getattr
-nuts.setglyphdata=direct.setattr
-nuts.is_char=direct.is_char
-nuts.is_glyph=direct.is_glyph
+nuts.getglyphdata=nuts.getattr
+nuts.setglyphdata=nuts.setattr
 nuts.ischar=direct.is_char
 nuts.isglyph=direct.is_glyph
 nuts.copy=direct.copy
@@ -4900,20 +4897,6 @@ nuts.traverse=direct.traverse
 nuts.traverse_char=direct.traverse_char
 nuts.traverse_glyph=direct.traverse_glyph
 nuts.traverse_id=direct.traverse_id
-if not nuts.getdirection then
- local getdir=direct.getdir
- function nuts.getdirection(n)
-  local d=getdir(n)
-  if  d=="TLT" then return 0
-  elseif d=="TRT" then return 1
-  elseif d=="+TLT" then return 0,false
-  elseif d=="+TRT" then return 1,false
-  elseif d=="-TLT" then return 0,true
-  elseif d=="-TRT" then return 1,true
-  else     return 0
-  end
- end
-end
 local propertydata=direct.get_properties_table()
 nodes.properties={ data=propertydata }
 if direct.set_properties_mode then
@@ -17933,7 +17916,7 @@ function gposhandlers.pair(f,fontdata,lookupid,lookupoffset,offset,glyphs,nofgly
      classdef1=readclassdef(f,tableoffset+classdef1,coverage)
      classdef2=readclassdef(f,tableoffset+classdef2,nofglyphs)
   local usedcoverage={}
-local shared={} 
+  local shared={}
   for g1,c1 in next,classdef1 do
    if coverage[g1] then
     local l1=classlist[c1]
@@ -17945,17 +17928,17 @@ local shared={}
        local first=offsets[1]
        local second=offsets[2]
        if first or second then
-local s1=shared[first]
-if not s1 then
- s1={}
- shared[first]=s1
-end
-local s2=s1[second]
-if not s2 then
- s2={ first,second or nil }
- s1[second]=s2
-end
-hash[paired]=s2
+        local s1=shared[first]
+        if not s1 then
+         s1={}
+         shared[first]=s1
+        end
+        local s2=s1[second]
+        if not s2 then
+         s2={ first,second or nil }
+         s1[second]=s2
+        end
+        hash[paired]=s2
        else
        end
       end
@@ -23737,7 +23720,7 @@ local getboth=nuts.getboth
 local getdisc=nuts.getdisc
 local setdisc=nuts.setdisc
 local setoffsets=nuts.setoffsets
-local ischar=nuts.is_char
+local ischar=nuts.ischar
 local getkern=nuts.getkern
 local setkern=nuts.setkern
 local setlink=nuts.setlink
@@ -25168,7 +25151,7 @@ local getprop=nuts.getprop
 local setprop=nuts.setprop
 local getsubtype=nuts.getsubtype
 local getchar=nuts.getchar
-local ischar=nuts.is_char
+local ischar=nuts.ischar
 local end_of_math=nuts.end_of_math
 local nodecodes=nodes.nodecodes
 local disc_code=nodecodes.disc
@@ -25599,7 +25582,7 @@ local setcomponents=nuts.setcomponents
 local getwidth=nuts.getwidth
 local getattr=nuts.getattr
 local getglyphdata=nuts.getglyphdata
-local ischar=nuts.is_char
+local ischar=nuts.ischar
 local isglyph=nuts.isglyph
 local usesfont=nuts.uses_font
 local insert_node_after=nuts.insert_after
@@ -29166,7 +29149,7 @@ local setprev=nuts.setprev
 local setchar=nuts.setchar
 local getprop=nuts.getprop
 local setprop=nuts.setprop
-local ischar=nuts.is_char
+local ischar=nuts.ischar
 local insert_node_after=nuts.insert_after
 local copy_node=nuts.copy
 local remove_node=nuts.remove
-- 
cgit v1.2.3