summaryrefslogtreecommitdiff
path: root/tex/context/base/mkxl/font-onr.lmt
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkxl/font-onr.lmt')
-rw-r--r--tex/context/base/mkxl/font-onr.lmt8
1 files changed, 5 insertions, 3 deletions
diff --git a/tex/context/base/mkxl/font-onr.lmt b/tex/context/base/mkxl/font-onr.lmt
index 2c18f6e89..d28c247df 100644
--- a/tex/context/base/mkxl/font-onr.lmt
+++ b/tex/context/base/mkxl/font-onr.lmt
@@ -26,7 +26,7 @@ local next, type, tonumber, rawset = next, type, tonumber, rawset
local match, lower, gsub, strip, find = string.match, string.lower, string.gsub, string.strip, string.find
local char, byte, sub = string.char, string.byte, string.sub
local abs = math.abs
-local bxor, rshift = bit32.bxor, bit32.rshift
+----- bxor, rshift = bit32.bxor, bit32.rshift
local P, S, R, V, Cmt, C, Ct, Cs, Carg, Cf, Cg, Cc = lpeg.P, lpeg.S, lpeg.R, lpeg.V, lpeg.Cmt, lpeg.C, lpeg.Ct, lpeg.Cs, lpeg.Carg, lpeg.Cf, lpeg.Cg, lpeg.Cc
local lpegmatch, patterns = lpeg.match, lpeg.patterns
@@ -68,8 +68,10 @@ do
local function step(c)
local cipher = byte(c)
- local plain = bxor(cipher,rshift(r,8))
- r = ((cipher + r) * c1 + c2) % 65536
+ -- local plain = bxor(cipher,rshift(r,8))
+ local plain = (cipher ~ ((r >> 8) & 0xFFFFFFFF))
+ -- r = ((cipher + r) * c1 + c2) % 65536
+ r = ((cipher + r) * c1 + c2) % 0x10000
return char(plain)
end