Fix typos and add parameters

This commit is contained in:
Marcel Krüger 2019-07-25 13:17:38 +02:00
parent 2e1616f18c
commit 29c97800a3
3 changed files with 18 additions and 7 deletions

View File

@ -59,7 +59,7 @@ callback.register("stop_run", function()
end end
pfile.root = pfile:getobj() pfile.root = pfile:getobj()
pfile.version = string.format("%i.%i", pdf.variable.majorversion, pdf.variable.minorversion) pfile.version = string.format("%i.%i", pdf.variable.majorversion, pdf.variable.minorversion)
pfile:indirect(pfile.root, string.format([[<</Type/Catalog/Version/%i.%i/Pages %i 0 R>>]], pfile.version, pfile:writepages())) pfile:indirect(pfile.root, string.format([[<</Type/Catalog/Version/%s/Pages %i 0 R>>]], pfile.version, pfile:writepages()))
pfile.info = write_infodir(pfile) pfile.info = write_infodir(pfile)
pfile:close() pfile:close()
end, "Finish PDF file") end, "Finish PDF file")

View File

@ -8,6 +8,7 @@
return token.new(t.mode, t.command) return token.new(t.mode, t.command)
end end
local dimen_cmd = token.command_id'assign_dimen' local dimen_cmd = token.command_id'assign_dimen'
local count_cmd = token.command_id'assign_int'
local tex_params = {} local tex_params = {}
local texmeta = getmetatable(tex) local texmeta = getmetatable(tex)
local texmetaoldindex = texmeta.__index local texmetaoldindex = texmeta.__index
@ -15,7 +16,9 @@
function texmeta.__index(t, k) function texmeta.__index(t, k)
local v = tex_params[k] local v = tex_params[k]
if v then if v then
if v.command == dimen_cmd then if v.command == count_cmd then
return tex.count[v.index]
elseif v.command == dimen_cmd then
return tex.dimen[v.index] return tex.dimen[v.index]
end end
else else
@ -25,7 +28,9 @@
function texmeta.__newindex(t, k, v) function texmeta.__newindex(t, k, v)
local p = tex_params[k] local p = tex_params[k]
if p then if p then
if p.command == dimen_cmd then if p.command == count_cmd then
tex.count[p.index] = v
elseif p.command == dimen_cmd then
tex.dimen[p.index] = v tex.dimen[p.index] = v
end end
else else
@ -38,7 +43,9 @@
__index = function(t, k) __index = function(t, k)
local v = pdf_params[k] local v = pdf_params[k]
if v then if v then
if v.command == dimen_cmd then if v.command == count_cmd then
return tex.count[v.index]
elseif v.command == dimen_cmd then
return tex.dimen[v.index] return tex.dimen[v.index]
end end
else else
@ -48,7 +55,9 @@
__newindex = function(t, k, v) __newindex = function(t, k, v)
local p = pdf_params[k] local p = pdf_params[k]
if p then if p then
if p.command == dimen_cmd then if p.command == count_cmd then
tex.count[p.index] = v
elseif p.command == dimen_cmd then
tex.dimen[p.index] = v tex.dimen[p.index] = v
end end
else else
@ -71,6 +80,7 @@
\def\pdfAlloc{% \def\pdfAlloc{%
\internalAlloc{pdf}% \internalAlloc{pdf}%
} }
\texAlloc{count}{suppressfontnotfounderror}{0}
\texAlloc{count}{outputmode}{1} % The "traditional" default would be 0, \texAlloc{count}{outputmode}{1} % The "traditional" default would be 0,
% but we do not actually support that. % but we do not actually support that.
\texAlloc{dimen}{pageheight}{210mm} \texAlloc{dimen}{pageheight}{210mm}
@ -78,7 +88,7 @@
\pdfAlloc{dimen}{horigin}{1in} \pdfAlloc{dimen}{horigin}{1in}
\pdfAlloc{dimen}{vorigin}{1in} \pdfAlloc{dimen}{vorigin}{1in}
\pdfAlloc{count}{majorversion}{1} \pdfAlloc{count}{majorversion}{1}
\pdfAlloc{dimen}{minorversion}{7} \pdfAlloc{count}{minorversion}{7}
\directlua{ \directlua{
lua.prepared_code[\csstring#lua.prepared_code+1] = tex.toks[0] .. "end" lua.prepared_code[\csstring#lua.prepared_code+1] = tex.toks[0] .. "end"
\the\toks0 \the\toks0

View File

@ -13,6 +13,7 @@ function token.luacmd(name, func, ...)
local idx = new_luafunction(name) local idx = new_luafunction(name)
set_lua(name, idx, ...) set_lua(name, idx, ...)
functions[idx] = func functions[idx] = func
return idx
end end
local properties = node.get_properties_table() local properties = node.get_properties_table()
-- setmetatable(node.direct.get_properties_table(), { -- setmetatable(node.direct.get_properties_table(), {
@ -28,7 +29,7 @@ local whatsits = {
[0] = "open", [0] = "open",
"write", "write",
"close", "close",
nil, "special",
nil, nil,
nil, nil,
"save_pos", "save_pos",