summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/syst-con.lua
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2020-08-11 16:54:53 +0200
committerContext Git Mirror Bot <phg@phi-gamma.net>2020-08-11 16:54:53 +0200
commit4f97d7d7cd942dfe76cd4bb54fc3f5b890654235 (patch)
tree5fad3eb091bfa3b05b46f4975d2e5f6284e4ed97 /tex/context/base/mkiv/syst-con.lua
parenta8723a3d1ee935e8d403bd0f5d96a072c0974755 (diff)
downloadcontext-4f97d7d7cd942dfe76cd4bb54fc3f5b890654235.tar.gz
2020-08-11 15:59:00
Diffstat (limited to 'tex/context/base/mkiv/syst-con.lua')
-rw-r--r--tex/context/base/mkiv/syst-con.lua18
1 files changed, 12 insertions, 6 deletions
diff --git a/tex/context/base/mkiv/syst-con.lua b/tex/context/base/mkiv/syst-con.lua
index 1af2d9a5d..6e998bdfd 100644
--- a/tex/context/base/mkiv/syst-con.lua
+++ b/tex/context/base/mkiv/syst-con.lua
@@ -30,12 +30,18 @@ function converters.octstringtonumber(n) tonumber(n, 8) end
function converters.rawcharacter (n) utfchar(0x110000+n) end
-local lchexnumber = formatters["%x"]
-local uchexnumber = formatters["%X"]
-local lchexnumbers = formatters["%02x"]
-local uchexnumbers = formatters["%02X"]
-local octnumber = formatters["%03o"]
-local nicenumber = formatters["%0.6F"]
+local f_lchexnumber = formatters["%x"]
+local f_uchexnumber = formatters["%X"]
+local f_lchexnumbers = formatters["%02x"]
+local f_uchexnumbers = formatters["%02X"]
+local f_octnumber = formatters["%03o"]
+local nicenumber = formatters["%0.6F"]
+
+local lchexnumber = function(n) if n < 0 then n = 0x100000000 + n end return f_lchexnumber (n) end
+local uchexnumber = function(n) if n < 0 then n = 0x100000000 + n end return f_uchexnumber (n) end
+local lchexnumbers = function(n) if n < 0 then n = 0x100000000 + n end return f_lchexnumbers(n) end
+local uchexnumbers = function(n) if n < 0 then n = 0x100000000 + n end return f_uchexnumbers(n) end
+local octnumber = function(n) if n < 0 then n = 0x100000000 + n end return f_octnumber (n) end
converters.lchexnumber = lchexnumber
converters.uchexnumber = uchexnumber