summaryrefslogtreecommitdiff
path: root/tex/context/base/lpdf-ren.lua
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2012-06-27 16:00:15 +0300
committerMarius <mariausol@gmail.com>2012-06-27 16:00:15 +0300
commiteedd3462bb4e7d16146d00683c3a85d1f74fe1fe (patch)
treecda034b6c4ea2d32a1470bcbdcf2994cfbcbbed1 /tex/context/base/lpdf-ren.lua
parenta27c69e853a8239e21fd53b750e13251c45c9e83 (diff)
downloadcontext-eedd3462bb4e7d16146d00683c3a85d1f74fe1fe.tar.gz
beta 2012.06.27 14:37
Diffstat (limited to 'tex/context/base/lpdf-ren.lua')
-rw-r--r--tex/context/base/lpdf-ren.lua9
1 files changed, 8 insertions, 1 deletions
diff --git a/tex/context/base/lpdf-ren.lua b/tex/context/base/lpdf-ren.lua
index 29b78313f..6ffdf8110 100644
--- a/tex/context/base/lpdf-ren.lua
+++ b/tex/context/base/lpdf-ren.lua
@@ -108,6 +108,7 @@ end
local pdfln, pdfld = { }, { }
local textlayers, hidelayers, videlayers = pdfarray(), pdfarray(), pdfarray()
local pagelayers, pagelayersreference, cache = nil, nil, { }
+local alphabetic = { }
local specifications = { }
local initialized = { }
@@ -152,6 +153,7 @@ local function useviewerlayer(name) -- move up so that we can use it as local
cache[#cache+1] = { dn, dd }
pdfld[tag] = dr
textlayers[#textlayers+1] = nr
+ alphabetic[tag] = nr
if specification.visible == v_start then
videlayers[#videlayers+1] = nr
else
@@ -188,11 +190,16 @@ local function flushtextlayers()
pdfflushobject(ci[1],ci[2])
end
if textlayers and #textlayers > 0 then -- we can group them if needed, like: layout
+ local sortedlayers = { }
+ for k, v in table.sortedhash(alphabetic) do
+ sortedlayers[#sortedlayers+1] = v -- maybe do a proper numeric sort as well
+ end
local d = pdfdictionary {
OCGs = textlayers,
D = pdfdictionary {
Name = "Document",
- Order = (viewerlayers.hasorder and textlayers) or nil,
+ -- Order = (viewerlayers.hasorder and textlayers) or nil,
+ Order = (viewerlayers.hasorder and sortedlayers) or nil,
ON = videlayers,
OFF = hidelayers,
BaseState = pdf_on,