summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/lpdf-ini.lua
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2017-10-18 21:34:02 +0200
committerContext Git Mirror Bot <phg42.2a@gmail.com>2017-10-18 21:34:02 +0200
commit4a7fb336e5a59645520c05690efe98c9c7270d37 (patch)
treece8da19ee47ff43c5f44fc720c25e218d89a8ece /tex/context/base/mkiv/lpdf-ini.lua
parentf34b1249e3ad9bcbe34323c6daf0ad3174190649 (diff)
downloadcontext-4a7fb336e5a59645520c05690efe98c9c7270d37.tar.gz
2017-10-18 21:22:00
Diffstat (limited to 'tex/context/base/mkiv/lpdf-ini.lua')
-rw-r--r--tex/context/base/mkiv/lpdf-ini.lua78
1 files changed, 70 insertions, 8 deletions
diff --git a/tex/context/base/mkiv/lpdf-ini.lua b/tex/context/base/mkiv/lpdf-ini.lua
index 520eb7783..1d59175ca 100644
--- a/tex/context/base/mkiv/lpdf-ini.lua
+++ b/tex/context/base/mkiv/lpdf-ini.lua
@@ -68,15 +68,9 @@ local context = context
local pdf = pdf
local factor = number.dimenfactors.bp
-if not pdf.setmajorversion then do
-
- function pdf.setmajorversion () end
- function pdf.getmajorversion () end
-
-end end
-
local pdfsetinfo = pdf.setinfo
local pdfsetcatalog = pdf.setcatalog
+----- pdfsettrailerid = pdf.settrailerid
----- pdfsetnames = pdf.setnames
----- pdfsettrailer = pdf.settrailer
@@ -108,6 +102,8 @@ pdfdisablecommand("setpageattributes")
pdfdisablecommand("setpagesattributes")
pdfdisablecommand("registerannot")
+pdf.disablecommand = pdfdisablecommand
+
local trace_finalizers = false trackers.register("backend.finalizers", function(v) trace_finalizers = v end)
local trace_resources = false trackers.register("backend.resources", function(v) trace_resources = v end)
local trace_objects = false trackers.register("backend.objects", function(v) trace_objects = v end)
@@ -125,6 +121,63 @@ backends.pdf = pdfbackend
lpdf = lpdf or { }
local lpdf = lpdf
+do
+
+ local setmajorversion = pdf.setmajorversion
+ local setminorversion = pdf.setminorversion
+ local getmajorversion = pdf.getmajorversion
+ local getminorversion = pdf.getminorversion
+
+ if not setmajorversion then
+
+ setmajorversion = function() end
+ getmajorversion = function() return 1 end
+
+ pdf.setmajorversion = setmajorversion
+ pdf.getmajorversion = getmajorversion
+
+ end
+
+ function lpdf.setversion(major,minor)
+ setmajorversion(major or 1)
+ setminorversion(minor or 7)
+ end
+
+ function lpdf.getversion(major,minor)
+ return getmajorversion(), getminorversion()
+ end
+
+ lpdf.majorversion = getmajorversion
+ lpdf.minorversion = getminorversion
+
+end
+
+do
+
+ local setcompresslevel = pdf.setcompresslevel
+ local setobjectcompresslevel = pdf.setobjcompresslevel
+ local getcompresslevel = pdf.getcompresslevel
+ local getobjectcompresslevel = pdf.getobjcompresslevel
+
+ local frozen = false
+
+ function lpdf.setcompression(level,objectlevel,freeze)
+ if not frozen then
+ setcompresslevel(level or 3)
+ setobjectcompresslevel(objectlevel or level or 3)
+ frozen = freeze
+ end
+ end
+
+ function lpdf.getcompression()
+ return getcompresslevel(), getobjectcompresslevel()
+ end
+
+ lpdf.compresslevel = getcompresslevel
+ lpdf.objectcompresslevel = getobjectcompresslevel
+
+end
+
local codeinjections = pdfbackend.codeinjections
local nodeinjections = pdfbackend.nodeinjections
@@ -619,9 +672,9 @@ function lpdf.reserveobject(name)
return r
end
+-- lpdf.reserveobject = pdfreserveobject
-- lpdf.immediateobject = pdfimmediateobject
-- lpdf.deferredobject = pdfdeferredobject
--- lpdf.object = pdfdeferredobject
-- lpdf.referenceobject = pdfreferenceobject
local pagereference = pdf.pageref -- tex.pdfpageref is obsolete
@@ -892,6 +945,15 @@ do
if not environment.initex then
trace_flush("info")
info.Type = nil
+ if lpdf.majorversion() > 1 then
+ for k, v in next, info do
+ if k == "CreationDate" or k == "ModDate" then
+ -- mandate >= 2.0
+ else
+ info[k] = nil
+ end
+ end
+ end
pdfsetinfo(info())
end
end